- Robotic Plant 0 – Introduction
- Robotic Plant 1 – Solar Engine Design
- Robotic Plant 2 – Gallery
- Robotic Plant 3 – Final Report
- Robotic Plant 4 – Followup (Gallery)
- Robotic Plant 5 – Really Final Report
This is the final report I submitted for the contest, followed by some of my own thoughts.
[Edit 12/29/2010: The deadline has been extended, and I've been able to successfully complete the project. Look here for the really final report:
This project is a solar-engine-based “roboplant”, that remains dormant with its blossom retracted until its solar panels have absorbed enough light for the plant to grow and bloom, at which point the stem is extended and the blossom opens. It is based around a Miller Solar Engine circuit, in which the solar panels charge a bank of supercapacitors monitored by a voltage detector. When the voltage detector determines the voltage across the capacitors has reached the desired level, it turns on a MOSFET that is hooked up to power a load of some kind. In this case, the load is a motor designed to extend the plant’s stem.
Note that, by the contest deadline, I hadn’t gotten it to work completely. See the Challenges and Improvements sections for details.
URL and Photos
Bill of Materials
|C1||10uF 16V capacitor||1||Digikey|
|C2-C3||10F 2.5V capacitor||2||SparkFun|
|R1-R2||100K ohm resistor||2||Digikey|
|IC1||Microchip TC74VC3002EZB 3.0V voltage detector (TO-92)||1||Digikey|
|Q1||2N7000 Enhancement Mode N-channel MOSFET||1||Digikey|
|G2-G6||SolarBotics solar panel SCC2433B||5||SolarBotics|
|-||hookup wire||several feet||ebay|
|-||terminal blocks||a bunch||ebay|
|-||8″ diameter brown fabric||1||my wife’s scrap box|
|-||8″ diameter cardboard||1||an old box|
|-||sturdy string for stem extender||1 ft.||my junk drawer|
|-||sturdy thread for blossom||2 ft.||my wife’s scrap box|
|-||Meccano erector set with motor and gears||1||my childhood|
|-||white drinking straw, with red stripe||1||a movie theatre|
|-||nicely colored magazine page, for the blossom||1||The Economist|
With no microcontroller involved, I couldn’t have any software challenges, but as it turns out, electrical and mechanical challenges more than made up for it. I spent a lot of time early on trying to get my articulated furling and unfurling stem (depicted in the initial design concept). However, none of my piddly toy motors running at 3V (or even 4.5V, or 6V) could muster enough oomph to fully extend it. Part of the problem was the way the articulation and tension on the string was structured, since the first part to pull tight and be extended was the very end, by the time it had unfurled it had to haul the entire length of the arm up. So, I redesigned it with a vertically rising stem, hidden when retracted in the base of the flower pot.
The next trick was controlling the extension of the stem, since I don’t have a servo, and was using a dumb toy motor. I had tried using a set of batteries and having the stem pull a switch to turn itself off once it reached its fully-extended height, but I couldn’t find any switches that the motor was strong enough to pull. In retrospect, I might have just put on a loose jumper or something that would hold a connection but would be easy to remove, but I ran out of time and have not been able to implement it yet. Anyway, since I had to rely on the charge stored in the solar engine instead of the batteries, I was ultimately relying on the motor to expend all available energy in the capacitors (until the voltage dropped and the voltage monitor switched it off) and cease operating that way.
My early experiments made me think this would work, when free running without any gear load, the motor was quite capable of running 10 – 15 seconds from when the solar engine was triggered. Unfortunately, as I learned, an encumbered motor behaves very differently. When the gear was engaged, and the engine triggered, the motor would give a little “ungh”, and try to turn, while the voltage dropped below the threshold, but the gears, and therefore string, and stem, failed to move, even when I reduced the extraneous load (friction, blossom, etc) as much as possible. At this point, I don’t know whether it’s just a lack of current available due to the resistance of the MOSFET, or a lack of total current available from the capacitors that’s preventing the motor from driving the load. I have never used a MOSFET before, so I guess I have a lot to learn about selecting the right one for the job.
Going by the datasheet, it looks like the 2N7000 has a max continuous drain current of 280mA, and an Drain-Source On-Resistance of between 1.8 and 5.3 ohms at Vgs=4.5V. Since our Vgs=3.0v, I would expect it to be a bit greater. I should probably do more current analysis while the engine is running, and see what’s limiting it. Maybe a MOSFET that can handle more current would do it, or maybe I need one with a lower Rds(on) at a lower Vgs (e.g, 3.0V). Maybe I need a power source that provide plenty of current, and a better way to turn it off once the stem has fully extended.
As I mentioned in the design discussion, it might be good to have a flyback diode to protect the system from voltage spikes from the motor (though I really don’t know how to determine that at this point). Even better would be a full H-bridge, and a few buttons to allow me to momentarily reverse the motor, to reset the stem and retract the blossom without pulling everything apart and doing it by hand.
I had wanted to integrate some kind of LED or other indicator driven by the capacitors, maybe incorporated into the blossom.
Finally, I would have liked some more analysis of the performance of the supercapacitors, to see what kind of self-discharge and charge-up times could be expected, so I could tell the recipient of the plant when it might be good to pay extra attention to it. Some kind of buzzer or other audible warning that a bloom is about to occur would be nice, too, especially if it were a more spectacular bloom than the one I have planned.