Dual Axis Solar Panel Tracker / Controller Part 4

DUAL_MC_PCB_1

I finally received the PCB for this design.  And in general it turned out okay.  There were a couple of shortcoming in my design that will force me to to re-spin the PCB, so it’ll be a while before I can finish everything up.  But having the PCB gives me the ability to debug my firmware and test the overall concept for this solar panel tracker.

[Read more…]

Dual Axis Solar Panel Tracker / Controller Part 3

DUAL_MC_1_SST

I’ve been working on a solar panel tracker/controller as an R&D project (previous blog entries part 1 and part 2).  I was able to finish the circuit board design a couple of weeks ago.  I want to panelize it with some other projects so I haven’t shipped it off yet.

[Read more…]

Dual Axis Solar Panel Controller / Tracker Part 2

SST_SMT

Last week I discussed my latest project, an accelerometer based dual axis solar tracker (that blog is here).  When starting a project its easy to get lost in the details.  For example, this project has a whole host of possible control functions and interfaces.  I’ve always found it useful to start my work on the schematic and hardware.  So that’s what I did.

Since this is an R&D project I decided to use some components I haven’t used before.  This design will control a 24VDC brushed motor, and a 12VDC brushed motor.  I’m going to use two St Microelectronics PN:  VNH3SP30-E.  They’re rated for 40V and 30A (although there’s no way they can handle 30A without melting off the PCB).  One feature I like about these controllers is that they only need a single PWM channel for proportional control.  Two other digital channels are used to provide direction.  Here’s a section of the schematic that shows the connections between a PIC16F1789 and two of the motor controllers (click the image for a better view).

image

In the end, this control system will be used to control our dual axis controller that uses a worm gear for horizontal movement, and a linear actuator for vertical movement.  Here’s a photo of the assembly in front of the old college text books we could never bring ourselves to throw away.  Both the worm gear and linear actual came with feedback.  The worm gear was very expensive and has an encoder on the motor.  the linear actuator was pretty cheap and came with a potentiometer that failed in about a month.  That was one catalyst for attempting that has the position feedback on the control board via an accelerometer.

dual_axis_panel

So for this first run at this design I generated a schematic (here’s a PDF), bill-of-materials (and another PDF), and a circuit board layout.

The circuit board ended up being about 2.5” x 3.5”.  Here’s what the top copper layer looks like.  The 6 dots on the upper and lower right-hand side of the board are for mounting automotive style blade fuses.

TOP
Finally, I ran though the list of components I selected to see if any were not able to operate over the industrial temperature range of –40C to 85C (or -40F to 185F).

Here is the column from my bill-of-materials.

TEMP_COLUMN

There are a couple of interesting findings.  First, I have an 8MHz oscillator on the design that has the smallest range of operation (-20C to 70C).  I’m actually going to use the internal oscillator available in the microcontroller, and I don’t see clock timing to be an incredibly important issue in this design.  I added the oscillator part to the schematic as kind of a back-up plan but don’t plan on using it.  So I’ll ignore that problem for now.

The next lowest temp. range part is the PDV-P7002, a photocell I will be using to detect daylight.  For a part like this, whose resistance changes with light, I would guess that it goes “out-of-specification” outside of its operating range.  I doubt it quits working.  I’ll have to research that some more, but since I’m using the photocell as a yes/no type input I can accommodate a wide resistance variance.

That leaves me with some ceramic caps that don’t meet my operating temperature range, and I can certainly select a similar part with an extended temperature range, so I’m probably good there.

I guess there was one other issue.  The small metal buttons I have on this design (E-Switch parts) had no temperature rating.  I thought that was interesting.  These are not the kind of buttons you would use in an outdoor design, but no temperature rating?

And now for a sanity check.  Am I really going to run this design between –40C and 85C.  Nope.  This is R&D, it’ll spend its life in my office.  If this were a consulting contract we would design for this temperature but suggest our clients place test fixtures in the intended environment to collect operating data and/or make use of a temperature chamber for extended temperature testing.

That’s as far as I was able to get this week.  I’ll try to take some time over Christmas break to order the circuit board.  I need to panelize it with some other designs so it doesn’t cost an arm and a leg.  Hopefully I can begin writing code in January.

Dual Axis Solar Panel Controller / Tracker

dual_axis_controller

I enjoyed the disco bike light project I recently completed.  For that project I took a design idea and ran it through a process similar to what we do for clients that hire us for electronic engineering services.  That process made writing about the design a little more structured and I ended up with something I could test and use.

I’m going to do that again, but this time with a dual axis solar tracker controller/tracker.

[Read more…]

Motion Mind 3 Software Update

image

I just got back from vacation, and that left me with some tech-support catch up to do.  I had a customer ask about some of our PID tuning software for the Motion Mind 3 motion control module which is pretty out of date.

[Read more…]

Phase Drive a DC Motor

Phase_Drive_HBRIDGE

During the design of various motor control systems I’ve run into a few ICs that allow for a peculiar drive method.  I’ve seen it referred to as phase drive and direction drive.  I’ve never implemented it in a product that’s been produced, but lately I have decided to give it a shot.  The traditional method I’ve used for driving a DC motor in a closed-loop application is, simply stated, to drive it forward or reverse.  At a direction change the drive signal is typically small.  This is particularly true if you implement step limits on the PWM signals change from update-to-update.  Doing it this way reduces inductive voltage spikes from high speed reversals, saving your circuit from from death and destruction.

[Read more…]

PID Motor Control with an Arduino

pid_firstbot

PID motor control with an Arduino can be accomplished using simple firmware.  In this example we use our Firstbot Arduino-Compatible controller to implement a PID based position controller using analog feedback and a potentiometer for control.  This is similar in operation to a hobby servo, but the potentiometer provides the control signal instead of a pulse from a receiver (and of course you are using a motor, not an RC servo).

[Read more…]

Arduino Motor Position Controller

image


An Arduino motor position controller can be built using an Arduino Uno and our Motion Mind 3 motor controller.  This example describes how to interface an Arduino Uno with a Motion Mind 3 to create a closed loop motor position controller.   This example and the associated code can be downloaded from our web site as Application Note 1008 (AN1008).

[Read more…]

Arduino Compatible Robot Controller 2

image

We’re getting pretty close to finishing up the Arduino compatible robot controller design.  We’ve completed the design, re-design, prototype, re-prototype, assembly, and initial testing (those “re-’s” are not always required).

[Read more…]

Velocity control with the Synaptron Micro

I spent a couple of days adding velocity control to our Synaptron Micro motion controller.  I should probably be more clear.  The product already has the ability to use the velocity measurement from a quadrature encoder as a feedback source.  Meaning you can operate a motor at a PID controlled velocity.  What you couldn’t do was operate as a position controller with a velocity limit applied to the movement.  Okay you could already do that too, but the methods were a little “complicated”.  The desire for a less complicated velocity control method  came about when working on the articulated robot wheel.   Laziness, the mother of invention.

For those not familiar with the Synaptron Micro the product is configured by modifying internal register settings.  For some applications, such as analog control of position, you only need to configure the device once.  For other modes such as serial control of position it is assumed you have a controller that is continuously in contact with the Synaptron Micro motion controller.

The video above shows the results of the velocity control that was added, while the remainder of this blog entry covers other methods of controlling motor speed during movement.  Here are the four ways you can now control a motor’s velocity while moving to a position…
[Read more…]