retriggerable monostable 555 circuit with strictly enforced timing

Thread Starter

jimco

Joined Nov 29, 2011
4
Hello,

I am volunteering at a local children's science center to help them create a new exhibit. It will consist of a number of devices that are "solar powered" (really light-actuated). One of the devices will be a pneumatic rocket, similar to what is described in this article of Make Magazine . Ours will be actuated by shining a light on a solar cell instead of with a hand-held switch. Also, we have a mechanism where the rocket launches, and falls back onto the launch tube for re-launch.

A simple way to accomplish this would be to connect a solar cell across the input of a relay, and use the relay to switch power to the solenoid valve. Ideally, you would shine a light on the cell, the valve would open, and you would remove the light as soon as the rocket exits the launch tube. The rocket would fly up, and fall back onto the launch tube. More likely, children will keep the light on the cell, keeping the valve open, wasting air pressure, and preventing the rocket from engaging with the launch tube.

My first thought was to create a mechanism where the rocket itself closed a switch, which would enable activation. However, it may be difficult to make this reliable.

Then I thought I could just create a timer circuit with an "on" time corresponding to the time it takes for the rocket to exit the launch tube (say 1 second) and an "off" time corresponding to the time it takes from launch till the rocket is back on the tube (say 10 seconds).

So I merged the extended duty cycle astable 555 circuit and the reset input circuit, with the reset input connected to the output of a comparator, which detects an increase in light on the solar cell. This would work perfectly if the user kept the light on the cell. The problem is if they shine light on the cell for a brief period of time, take it off, and then shine it on the cell again. The valve would be re-activated each time, and the "on" and "off" times set by the 555 would not be enforced.

So I looked at the trigger circuit. This enforces the "on" and "off" time, but it forces the user to remove and reapply the light to re-trigger. And, the user could re-trigger before the "off" time has passed.

So I'm a bit stumped, and I'm hoping someone here will be able to help. Here are the parameters:
  • strict "on" and "off" time is enforced (roughly 1 second and 10 seconds respectively)
  • if the user keeps the light on the cell, it will act like an astable, and keep launching the rocket
  • if the user removes and reapplies the light before the "on" and "off" time has passed, nothing will happen.
  • if the user removes and reapplies the light after "on" and "off" time has passed, the rocket will launch.
  • use few new components if possible

I have attached my working schematic.

Thanks in advance,
Jim
 

Attachments

Mr. Mho

Joined Jun 15, 2009
15
Jim,

I think you can get the trigger function you want by simply adding an integrator between the comparator output and 555 reset... add a series diode from the comparator output to the 555's Reset, so the comparator can only pull RESET high. Add a capacitor and resistor (in parallel) from RESET to GND. The comp/diode will charge the cap and start a cycle. When the light is removed, the cap will discharge slowly through the resistor. You'll need a discharge time of about 5 seconds, so a cap of 4.7uF and an R of 1Meg should be about right. Select a CMOS 555 - the input current on the RESET pin needs to be very low - a bipolar 555 may not work. Don't use a Schottky diode - their reverse leakage current may be too high - a 1N4148 should be fine. If you need to make sure that the 1 second cycle is never short, add another diode from the 555 out to the RESET pin, so RESET is forced high when the 555 output is high. If you add the 2nd diode, the discharge time MUST be less than the 10 second off time, or the 555 will never stop cycling. Good luck!

Mr. Mho
 

Thread Starter

jimco

Joined Nov 29, 2011
4
Mr. Mho,

Thank you so much for your help!

I ran some simulations of the circuit modifications you presented (see page 1 of circuits.pdf). It worked well, except in the case where the light stimulus was removed shortly before another launch cycle was set to begin. In this case, the desired behavior would be that the launch would not occur (since the light was removed); however, the integrating capacitor doesn't discharge fast enough to pull RESET low, and the launch does occur.

This got me thinking about what really needs to happen. The start of another launch coincides with the TRIGGER input falling below 1/3 of Vcc. So to get the desired effect, TRIGGER should be set to the voltage across the timing capacitor when the light is on; and it should be set to > 1/3 Vcc when the light is off.

The modification I came up with that seems to work is to place an NPN transistor with the base connected to the output of the comparator, the collector connected to Vcc, and the emitter connected to the TRIGGER input. This sets TRIGGER to about Vcc when the output of the compartor is high. I also added a diode from the positive side of the timing capacitor to the TRIGGER input. This sets TRIGGER to the voltage across the capacitor when the output of the comparator is low. The final change is to reverse the comparator inputs, since the NPN transistor inverts the logic. See page 2 of circuits.pdf for the schematic.

I simulated this, and it seems to do everything I need it to.

If anyone sees something I missed or has any other feedback, I would be happy to hear it.

Thanks!
 

Attachments

Mr. Mho

Joined Jun 15, 2009
15
Jim,

I think you've got a good solution... controlling the TRIGGER pin directly. However, I don't see a path that pulls TRIGGER low. Is the circuit drawn right? Look at the TRIGGER node in your SPICE simulation - when THRESHOLD goes low (DISCHARGE ON), what does TRIGGER do?

Mr. Mho
 

Thread Starter

jimco

Joined Nov 29, 2011
4
In the simulation, the TRIGGER node follows the THRESHOLD node except when the BJT is conducting, where it goes to about 11.5V.

However, when I built the circuit, it wasn't working right until I added a high value resistor at the TRIGGER node. I wasn't sure why this was needed. Do you think it's needed to pull the TRIGGER low?

I also got rid of the BJT, since the comparator has an open-collector output; and I added a diode from the output of the comparator to TRIGGER.
 

Mr. Mho

Joined Jun 15, 2009
15
Jim,

If you're using a bipolar 555, the TRIGGER pin goes to the base of a PNP that tends to pull TRIGGER high. If your SPICE model was for a CMOS 555, the leakage current of the diode might have been able to pull TRIGGER low. With either type of 555 (bipolar or CMOS), it's risky to count on the diode leakage to pull TRIGGER low, so a high value resistor from TRIGGER to GND is a good idea.

Mr. Mho
 
Top