The saga of the dual axis solar panel controller continues. As an R&D project I couldn’t put a lot of time into this design this week. Here is what I did get accomplished.
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.
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).
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.
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.
Here is the column from my bill-of-materials.
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.
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.
In a previous post, I started rambling on about the basic design of a scaled solar tracker we were building as a demonstration. The Google Sketchup design ended up something like this…
Since mechanical fabrication is not our specialty, we cheated a bit and printed scaled “cut-outs” of various pieces to cut and drill. Using SketchUp to do this saved quite a bit of time determining hole and edge layout during fabrication.
Here is a picture of the slewing drive used to rotate the panels.
A while back, we were looking for a way of of demonstrating the capabilities of our new line of Synaptron motor controllers, and came up with the idea of building a scaled version of a solar tracker. The two motors controlling azimuth and elevation would be controlled by a pair of Synaptron Micros.
After a bit of research, we decided to use a small slewing drive from Kinematics for rotation and a linear actuator from Firgelli Automation to adjust the tilt of the panels. Slewing drives, and more specifically, slewing bearings are really interesting, as they are able to withstand large loads in both a radial and axial direction. Much larger versions are used on cranes and excavators.
Next, we used Google SketchUp to come up with a basic drawing of the head unit. Here’s a pic of the original design, sans the linear actuator.
The bottom unit is the slewing drive and is able to turn the entire mechanism, as well as stand up to heavy winds and torque loads.
The linear actuator (not shown) will connect at the end of the two arms and be able to adjust the top mounting bracket between 0 and 90 degrees.
Of course then we had to actually build it… More on that later.
Friday and Saturday we attended the Robotics and Microcontroller Expo put on by Parallax. They did a great job, especially considering the rain we had on Friday. Parallax had tours of their business, demonstrations of the various robotics systems they sell, and even had a soldering class for kids. Our company took the opportunity to speak with all of the enthusiasts who build robots that showed up. We also tried to engage young people by showing them both our products and the instruments we use to design them (oscilloscopes, waveform generators, etc). The robot pictured above was built by a group of students who were high-school aged.
It is a first pass demo to get our feet wet in this area. We needed to hone-in our mechanical design abilities (we will have a few blog posts on that coming up) and I needed to use with the Synaptron Micro in a full-sized demo. I was able to get the previous rat’s nest prototype into an enclosure with a rudimentary user interface. There were some last minute snafus – there always are – made the more nerve-wracking because of the deadline pressure. However, we now have a functioning demo, that expo guests can “drive”.
For the demo, you can drive the rotation and the lift of the solar panels in either analog mode (controlled directly with the Synaptron micros) or in serial mode (communication coming from an Arduino Uno). The user is able to use the analog mode with the two silver-dialed potentiometers shown on the box. For serial mode, the keypad is used. The LCD and and LED combinations show the user what mode and what condition the solar panel is in. All in all a pretty straight-forward approach to show-casing the Synaptron Micro’s capabilities.
So why is the demo “kinda” done? As mentioned previously, this was just to get our feet wet. Now that we see it can be done, we want to kick the demo up a notch. Already we know that we want:
- – A custom PCB
- – A better case to display the Synaptron Micros while in operation
- – An integrated power supply
- – Better connections to the two motors
- – Actual solar tracking (by date, location, and sensors)
- – Absolute position tracking for the rotation, not just relative
- – A bigger/better display to show off what is actually happening
- – Professional looking graphics
We will also get some good feedback from the attendees of the the expo, so we should be able to add to the starter list. Keep an eye out for more changes down the road. See you at the expo.
This weekend we will be at the Parallax Robot Expo. While Lon has already got a bunch of cool robot demos together, we will also be showcasing a big internal R&D project we have been working on: a solar tracker. We have the first pass mechanics done and I am responsible for the control electronics for the system. For the demo, we will not be actually tracking the sun, instead a user will be able to “drive” the tracker using either dials or a keypad interface. The cool thing about the initial electronics prototyping is that all of the “hard” stuff (motor control, user interface, etc) was made relatively easy with off the shelf components.
The rotation of the tracker is driven by a slew-drive motor from Kinematics Manufacturing. The tilt of the tracker is driven with a linear actuator from Firgelli Automations. The slewing drive runs at +24V and the linear actuator runs at +12V. Because they are both highly geared they take less than 1A to move a large load. The slew drive has quadrature encoder feedback, while the linear actuator has an analog potentiometer feedback. With these basic requirements in hand I could start fleshing out the design.
Each of the motors can be controlled with a Synaptron micro single-axis motor controller. The Synaptron micro has the power capability to drive the motors and functionality to interface directly to the different feedback mechanisms. To make a demo, I needed an interface and some brains for the system. For the brains I used an Arduino Uno; for the display a 2X16 serial display from Parallax; and a MEMKEY for user input. To interface the Synaptron micros to the Arduino I used a Synaptron Micro Test Board for one and a Synaptron Micro Arduino Shield (AN2009).
From there, I was able to wire everything together in a big rat’s nest, as shown in the picture. I wrote some code to control everything and now have a basic demo with all of the components shaken out. For the show, I will put everything in a box to clean it up and make it a bit more robust.
The next steps for the actual Solar Tracker are to specify the actual desired operation, move everything to a custom PCB, and write the real tracking software. More on this in the next few weeks and months.