Sunday, October 9, 2011

Hey Infinia! Use modular mirrors!

You gotta love Infinia’s PowerDish. Solar thermal generating instant residential spec A/C. It is a better-sized version of the SES attempt at Sandia. And as someone from Detroit, I love their interest in leveraging the manufacturing expertise there.

But they should consider modular mirrors. Check the specs on the PowerDish: 1900lbs with a 4.7m/15’ diameter mirror (call it 16m2 or 175ft2). That’s big. I’m betting the installed cost of the dish sans motor is a lot more than $1600 ($100/ m2). Plus, if it breaks, it’s off line, whereas with 20 modular mirrors, if one breaks, it goes off line and you’ve only lost 5% of your light collection capacity.

Mirror curvature (and wind shear) could be addressed with modular heliostats. Ignoring a 1m2 hole in the middle of your parabola, you’d have 8 1m2 identical parabolic-slice mirrors in your first ring and 16 1m2 mirrors in your second ring. You only need two mirror shapes. Injection molded curved plastic with PVD reflective coatings anyone? Include a few holes to reduce wind strain.

And let’s face it, that engine is designed for household use (1φ, 240V A/C). What you really want is for 1,000,000 homeowners to buy it and install it at their house. Is the hesitation releasing the IP into the wild before you’ve scaled?

Longer term, it just makes more sense to decouple the light collection from the power conversion. The power conversion component is where the value is added. Light collection should be a commodity. A monolithic design which ties these functions together reduces the chance that the power conversion part will be a success. And I hope Infinia is a resounding success.

Thursday, October 6, 2011

V 2.5, catching up



The base: this new base sets the relations between the rods within the cinderblock and concrete instead of using angle irons that rest on top of the cinderblock. To make it, pre-cut holes in the pieces of wood above and below the cinderblock. Fit tubes into the holes for the shafts that the threaded rods move through, and wedge in the 1/2” rod which provides the main mirror support. Then, pour concrete around all of it and put the wood piece on top to help set positions as the concrete dries. The result is the two shafts are firmly held in position relative to the center support. This version used metal tubing for the shafts, but I think that tubing can be eliminated. PROs: cheap, sturdy, no custom parts; solid shaft path; wood creates a platform for motor mounting and simplifies prototyping. CON: the points may end up too close to each other and require too much force from itty bitty motors. If need be, there are larger CMU’s (concrete masonry blocks) but the one’s I’m using are extremely common and cheap.

Manufacturability: the new base is easier to make. There is a template which can be laid on to pieces of wood so you can pre-drill holes for the shafts and motors. Having a standard piece allows the rods to be fixed in place before concrete is poured and keeps them plumb and square. The wood provides a platform for mounting motors and other items. Later the wood platform could be plastic but for now wood makes it easier for others to play with the design if they wish.

Other: threaded rods are up-ticked to 3/8” to make the whole thing more sturdy. The way the motor interfaces to the platform and spur gear is simpler. I’m using store-bought clevis & pushrod pairs but this whole linkage (including the interface to the mirror) still needs improvement. My current thinking is to use a saddle joint for the weight bearing point which would allow movement in two axis but not rotation, but this is still a challenge.

Electronics: I’ll do a separate post when ready but briefly… Current approach is to put a motor controller at each ‘stat. Also, I’m driving the motors with 9V supply to make their work at the easier end of their power range so they are less stressed (motor failure is an area of worry) and also to combat voltage drop. Connections between the Arduino and each stat will be by Ethernet type cable because it’s fairly standard. Also, it’s mass produced and fairly cheap.

Saturday, July 9, 2011

SketchUp: wrong tool for the job


I've been trying to improve the center mount so that it prevents rotation. The plan was to add a raised tab to the ball, then fit that tab into a slotted socket (constraining rotational movement down to one axis) then fit that slotted socket into another slotted socket (which would add one more axis of motion). The result was supposed to be movement in two axis without rotation.

This seemed easy enough to model in SketchUp for printing on the Makerbot, and if it worked, I'd send it off to shapeways. Well SketchUp is really the wrong tool. Whenever you make hemispheres with volume (5mm thick walls) and try to cut notches through it, you get messy messy results. I finally got something to work by downloading this person's work, hand editing out a notch, then making a copy that was 5mm larger all around, and sewing them together to create a closed volume. It works but is really lame. Results below.

So guess I'll try this in Autodesk Inventor which I've completely forgotten how to use. And we're moving in two weeks which should subtract lots of spare time. Oh well. Stiff upper lip and all that.

Thursday, June 9, 2011

Hello hall sensor

Got the Hall Effect Sensor working. This is the code it's using. The other gotcha for me was wiring it up right -- took awhile to see the teeny tiny notations in the specs that tell you the wires are V, Ground and Signal read from left to right with the printing facing up. Feed signal wire into input 2 on the arduino (one of the two available interrupt pins). Also the Arduino sketch wasn't compiling until I put the pin information inside the (setup) section, but I think that's just me not understanding rules for declaring variables and such.

Here's what worked:
void setup()
{
pinMode(2, INPUT); //set the interrupt0 pin2 to input
digitalWrite(2, HIGH); // and enable it's internal pull-up resistor
Serial.begin(9600);
and so on.

This adds some useful options for position control on an otherwise simple gear motor.

Friday, June 3, 2011

Center mount issues and position sensing

Not real progress to post, but a couple things I've been thinking of lately.

First, the center mount needs to be replaced. Much as I love how easy, cheap and sturdy it is, the problem is that a simple ball in socket connection allows rotation (undesirable!) in addition to free movement in the X and Y planes (desirable). Consider when the mirror is parallel to the ground. It can move (by wind or due to the play in the linkages) easily clockwise (or counter) and this puts lots of strain on the threaded rods. I've had them bend and had failures due to this. So I think that center point needs to be re-thought so it can't move except for in the altitude and azimuth axis. In addition I'm going to use purchased, metal clevis yokes with tight fitting push rods to reduce play/slop in the mechanical linkages. Also, I think I'll uptick the threaded rods to 3/8". After having it spend some time outside, it just isn't feeling sturdy enough. The other idea along these lines is to make it into more of a monolithic frame. I submitted a design to shapeways to see about doing this sooner than later, but because they charge by the cubic centimeter, it will cost upwards of $1500 to print. So I'll hold off on that for a bit.

Second, responding to a comment on the last post, I agree that it's very likely I will require additional positional information. Right now I'm leaning toward using some Hall Effect Sensors. These sensors put out a voltage whenever they are close to a magnetic field. This is the omnipolar one I got from Digikey. And here is an excellent write up of how to use interrupts on the arduino to integrate this sensor into a counter. The idea would be to embed a magnet in one arm of the pinion gear and count how many times it has rotated. A count of how many times the gear has rotated, that's a decent proxy for mirror position. There are bipolar sensors but I think they'd be a bit harder to integrate based on the comments section for this part.

Anyway, a short post but just wanted to lob that out there.

Saturday, May 21, 2011

Connecting the Arduino to the heliostat

Four months. Ugh. Progress is always so much slower than hoped or expected. But anyhow… After some busy time at work and home, I’ve spent the last several weeks trying to get the heliostat to be software controlled – leveraging off Gabriel’s excellent work.

First job was getting an RTC going. I used this one from Adafruit, which is functionally equivalent to the one Gabriel describes here. It’s pretty easy to get this working.

The driver took a little more time. I am using very small DC motors because they are the cheapest game in town in terms of $/torque that you can buy new. (Steppers would be great but I just haven’t found them cheap enough). The plan was to use the half bridge circuit referenced in this post last August. That circuit may still be a good idea, but because I have limited experience with electronics, I decided to buy my way out of potential problems with an off-the-shelf motor driver. The L293D is an H-bridge motor driver built into an integrated circuit, it’s the chip at the top of the breadboard in the pic. It’s widely used with the Arduino so there’s lots of support out there. I used this excellent write up from someone at NYU to help figure out how to wire it and for code examples. I bought the L293D for $2.95 from Jameco, it may be cheaper elsewhere. Also the person who did the NYU write up mentioned an alternate chip, the SN754410, which was $1.95. The L293D apparently has “output clamp diodes for inductive transient suppression” which sound useful, but I don’t know if it’s applicable to this application or not. (Here’s a thread on the topic). But even at $3/stat (each chip controls two motors) it’s in line with my current budget to stay <$100/m2, and could likely be reduced. Efficiency and energy consumption when not in use also needs to be addressed.

What’s taken the most time and isn’t done yet for sure is modifying Gabriel’s code. I think I’m very close – it runs how it should based on the serial port messages it’s sending to the computer but I haven’t connected the ‘stat to it yet. I will post the code over at Gabrial’s forum. Right now it has lots of comments and is very messy. It uses the module he wrote for simple gears, modified a bit due to the different geometry of my ‘stat. Also, I took out the shift register part which is required for multiple stats, the module for multiple targets, and lots of the empty code for running additional ‘stats off the same Arduino. If the code works, my next step will be to add back the shift registers and set something up so it can control at least 4 stats. When it’s cleaner, I’ll post here but if you want it now, it will be on his forum.

So many plans, so little time. But, getting it running off code is an important step. I sure hope I can test the code on the 'stat before leaving for some travel on the 24th.

Sunday, January 23, 2011

Linkage Improvements

So here are the results of some attempts to improve the linkages and connection points. First is the center mount which supports the weight of the mirror. The close-up pic below shows the bottom half of a ball-and-socket joint. The four holes have capture nuts below them. There is an acrylic hemisphere (bought from here) stuck in there which will receive the ball. The braces are these. I got them because my first go was using a smaller ball (same as the ones used for the moving points) and the mirror slid off. This is an important connection which needs to keep a 1 meter square, 40+ lb mirror from flying off in wind so the new one uses a bigger ball (with 1/2-13 threads), a beefier connection point, and those braces.

Just to be clear, here's what it looks like with the ball embedded (with a bolt in it) and the second piece attached with two of the four bolts in. That second piece is tiered so it comes down to where the ball is starting to taper in so that you can't pull the ball out of the socket once it's in place. But, the plastic piece itself is not fixed to the wood except by the braces -- that may be required at some point. All the weight is from above so it's fine under normal conditions but if a wind really wanted to pull the mirror up it might not hold as-is. So far though it works well.


So in the pic below, the center mount is now in the background. The pic shows one of the linkages that goes on top of the threaded rods. As you can see, this is also a ball-and-socket joint at the connection point to the mirror. Using the same plastic balls except they're smaller: these have 1/4-20 threads.

Below the ball you see a brass sleeve over the threaded rod, then a wingnut, then another nut holding the wingnut in place. The purpose of these things is to prevent rotation of the whole linkage (it catches on something connected to the socket mount). It's unsatisfactory.
Below that is about 3" of threaded rod with an eyebolt. I wanted to keep the eyebolt 1/4-20 and got them at the local hardware store, so the eyes are large, which is why I'm using the 1/2" nut & bolt to connect to it. That whole bottom part of the linkage is essentially a clevis. It needs to 1) connect to the threaded rod, and 2) allow pivoting in one axis only. Since I have a Makerbot it was just cheaper and more flexible to print one. The functional reason for this is when the mirror is at an angle, the connection point will be a few inches offset from the threaded rod. The trade off for this is I get to use straight threaded rods which are off-the-shelf as opposed to using curved threaded rods which is how some people solve this (including a link to this astronomer's site who does long exposure photography because it's so well done, but I've seen folks on youtube use curved rods for heliostats too). Longer term it would make more sense to do this whole linkage from stock metal or plastic parts.

So this makes some progress from last go: 1) Linkages are better (still not ideal), 2) Support point is now a made piece rather than carpentry (meaning it can be mass produced in plastic -- though it can be pretty easily done with carpentry also), 3) It's got both motors in place now so I can start to play with software more easily. Software-wise, Gabriel Miller has had heliostat tracking working on Arduino for many months so I'll be starting with his code.

When it's satisfactory, I'll post files and assembly instructions. But if there's anyone reading who wants any of them, just comment and I can post 'em.