Tuesday 9 January 2018

solenoid - 555 timer in astable mode: How can I achieve longer low output than high?


I'm attempting to make a simplistic solenoid driver circuit using a standard astable 555 timer configuration with a TIP122 NPN transistor. The problem with the current circuit is that the output is typically high and goes low only for short durations. I'd like to invert this but I'm not sure how.


Sloppy 556 Solenoid Driver


Ideally I would like a high output every 1 second that lasts only for 100ms.


Do I just need to change RC values or utilize the 555 differently?



(The schematic shows a 556, which is what I am currently using. The lamp-looking squiggle is the solenoid and I have added a 1N4001 diode across it in reverse bias.)



Answer



Reading more about various 555 timer circuits, I realized I was already using exactly what I needed: a second timer.


I discovered that what worked best for this application, was to use one timer in astable mode to provide the pulses (interval), and the other in monostable mode to provide the one-shot "high". This allowed me to set both the interval and the amount of time that the solenoid is driven from each pulse.


556 dual timer schematic


The values used allowed me to have intervals from about a half-second all the way up to nearly a minute. The drive or "high" time controlled by the monostable timer (R3 and C3) allows for timings between a few milliseconds to a few seconds.


I added R5, a 1K resistor, later to ensure that the interval wouldn't go below a few hundred ms.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...