Simplest trigger regulation?

Thread Starter

tlewick1

Joined Dec 3, 2016
26
Is there a simpler way to do this?:

A sensor (IR break sensor) powers a solenoid. However, once the sensor is triggered, there needs to be enough power delivered to the solenoid to allow for a full stroke — additionally, once triggered, wait a certain amount so that the solenoid doesn’t activate too frequently. The only solution I can think of is to write code on an Arduino.

Seems like there’s probably an analog way to do this, but I wouldn’t know how or if it’s any simpler.
 
Last edited:

Papabravo

Joined Feb 24, 2006
21,159
Is there a simpler way to do this?:

A sensor (IR break sensor) powers a solenoid. However, once the sensor is triggered, there needs to be enough power delivered to the solenoid to allow for a full stroke — additionally, once triggered, wait a certain amount so that the solenoid doesn’t activate too frequently. The only solution I can think of is to write code on an Arduino.

Seems like there’s probably an analog way to do this, but I wouldn’t know how or if it’s any simpler.
Edge-Triggered One Shot
 

AnalogKid

Joined Aug 1, 2013
10,986
Voltage to run the control circuit?

Voltage / Current / power of the solenoid?

"wait a certain amount" - how long?

What you are describing is retriggerable monostable, also known as a frequency discriminator or missing pulse detector. Is the "full stroke" a fixed length of time no matter how frequently or infrequently the circuit is triggered? If so, then you need two monostables, one for the fixed stroke time and one for the lockout time when retriggering is disabled.

ak
 

Thread Starter

tlewick1

Joined Dec 3, 2016
26
Specifically a 555 one-shot with suitable input trigger conditioning should work.

How long is "too frequently"?
Too frequently would be more than one output for every 5 seconds roughly. The concept is similar to a hands-free paper towel dispenser.
 

AnalogKid

Joined Aug 1, 2013
10,986
Solenoid current / power / coil resistance?
The concept is similar to a hands-free paper towel dispenser.
So re-triggerable is not what you want. This sounds like two monostables, or one monostable with two separate timed outputs:

1. one to power the solenoid for a fixed amount of time no matter how long the sensor is in the triggered state

2. one to inhibit the monostable input so there is a fixed time period after the solenoid is de-energized before it is re-energized.

Two 555's can do this, but I'm not a fan of them in this type of circuit. I'll whip up something this evening.

ak
 

Reloadron

Joined Jan 15, 2015
7,501
Is there a simpler way to do this?:

A sensor (IR break sensor) powers a solenoid. However, once the sensor is triggered, there needs to be enough power delivered to the solenoid to allow for a full stroke — additionally, once triggered, wait a certain amount so that the solenoid doesn’t activate too frequently. The only solution I can think of is to write code on an Arduino.

Seems like there’s probably an analog way to do this, but I wouldn’t know how or if it’s any simpler.
Will an Arduino work? Yes but it would seem severe overkill.

Seems all you want is an On Pulse for a given period of time when a trigger signal is received. There are plenty of analog discreet component solutions including those built around the 555 but there are also other solutions built around micro-controllers other than an Arduino like the Uno or Mega.

You fail to mention the solenoid current or voltage?

Personally I would likely opt for some signal conditioning and trigger a simple common small uC like an ATtiny 85 little 8 pin dip chip which can be programmed with the free Arduino IDE. You are only looking at about a $2.00 USD chip and a few dollars for a programming board. Condition your trigger on an input pin, use an output pin to drive a MOSFET which powers your solenoid for whatever period you want. You are looking at a few lines of code, literally not much to it.

You can also take a discreet component analog path with a few components. Pretty much a matter of looking at a few solutions and figuring out what works for you.

Ron
 
Last edited:

AnalogKid

Joined Aug 1, 2013
10,986
Current / power of the solenoid?
Also ...

What is the signal out of the sensor? Open-collector transistor? Logic gate output?

What is the signal direction? IOW, is the "trigger signal" from the sensor (that initiates power to the solenoid) low-to-high or high-to-low?

ak
 

Thread Starter

tlewick1

Joined Dec 3, 2016
26
Also ...

What is the signal out of the sensor? Open-collector transistor? Logic gate output?

What is the signal direction? IOW, is the "trigger signal" from the sensor (that initiates power to the solenoid) low-to-high or high-to-low?

ak
If I use the sensor that I have— it’s an open collector. (Just grabbing from the electronics pile, I have an Adafruit IR breakbeam.

I can’t find the current for the solenoid. It’s
uxcell a14092600ux0438 Open Frame Actuator Linear Mini Push Pull Solenoid Electromagnet, DC 4.5V, 40 g/2 mm.
 

AnalogKid

Joined Aug 1, 2013
10,986
Here is a first pass at a circuit. It looks like a lot, but note two things: a) three of the four gates act as simple inverters; b) one AC132 has fewer pins than two 555's.

U2 is standing in for the Beambreak parts. The output collector goes high when the beam is broken. This signal is inverted and triggers the lockout monostable (U1B, U1C) that prevents re-triggering for 5 seconds. The lockout monostable triggers the solenoid monostable (R2-C2-U1D). This is actually a pulse differentiator with a loooong time constant. As long as R2 always is smaller than R1, the solenoid will be de-activated before the lockout period ends.

UPDATE: more circuit notes.

Because of the large timing capacitors, I like the AC series of CMOS gates for this. An AC gate has an exceptionally "beefy" output stage capable of sourcing and sinking over 24 mA. That is enough to reset C1 and C2 in about 6 milliseconds. That seems short enough to me, compared to the time it takes to insert your hand into the beam and then remove it. Even if you are trying to be fast, 6 ms is not much time. Still, you cah shorten the reset times for the two timing circuits by decreasing C1 and C2, and increasing R1 and R2.

Because of the relatively high capacitor currents, C3 is larger than the normal 0.1 uF decoupling capacitor.

Q1 should be sized for the solenoid power requirements.

The transition voltages in CMOS Schmitt trigger gates are not tightly controlled. R1 and R2 might be a bit on the small side. For example, R1 might have to increase to something like 150K to produce a 5 sec. lockout period.

ak
Solenoid-Timer-1-c.gif
 
Last edited:

Reloadron

Joined Jan 15, 2015
7,501
Reading the footnotes for the uxcell a14092600ux0438 Open Frame Actuator Linear Mini Push Pull Solenoid Electromagnet, DC 4.5V, 40 g/2 mm they claim it works on anywhere between 4.5 volts and as high as 24 volts but wouldn't go over 12 volts. I would also keep the on-time short. Running the coil on 5 volts should give a coil current of about 685 mA. The coil is not a very high resistance and the longer it's active the hotter it will get based on the applied voltage. The actual current it draws will be a function of the applied voltage. The DC resistance of the coil is about 7.3 Ohms.

The Adafruit break beam sensor is an open collector output so you need a pull up on the output. A 10K will do fine unless you do use a uC which allows for an internal pull up. The sensor out is normally low and goes high when the beam is broken.

What duration did you plan for an On time?

Ron
 

MisterBill2

Joined Jan 23, 2018
18,170
There is indeed a MUCH simpler way to do what was requested. But I have no clue as to the solenoid current or voltage requirements , nor how long it musty be powered for a full stroke. In addition I have no details about what the trigger consists of.
BUT the simple analog way to do this is to have either a relay or a suitable transistor as the triggered switch, and to power the solenoid from a charged capacitor. The capacitor must be charged to a high enough voltage to drive the solenoid, so that will probably be four to five times the rated voltage, if it is a low voltage solenoid, or about 50% more than the rated voltage if it is a mains supplied rating device. The charging circuit will need to be only capable of a much smaller current than will operate the solenoid, so that it will not be able to hold the solenoid operated nor drive it more frequently than desired. The switch might be a power mosfet device with a voltage rating twice the maximum capacitor voltage, and a current rating fairly high. The trigger input will be between the gate and the source, with the solenoid in the drain lead to the capacitor positive side. The gate will normally be pulled down by a high value resistor, but there will also be a capacitor, gate to source, to keep it on longer. And the trigger voltage will be supplied through a diode so that the gate charge will only be pulled down by the resistor.

No values are given because of all of the information I do not have. But there is the simple analog method, 2 capacitors, one mosfet, 2 diodes, and another resistor. Possibly a transformer if a lower voltage solenoid is used.
 

AnalogKid

Joined Aug 1, 2013
10,986
The coil resistance is 7.3 ohms, and the on time is a few seconds. Say 2 seconds as a starting point for operation, and 5 seconds for the lockout period. The only power source is 5.0 V. What size capacitors would it take?

Once the capacitor has discharged through the solenoid, how long will it take to re-charge to give a full activation time when next triggered?

The sensor is an Adafruit beam break system: https://www.adafruit.com/product/2168

The user breaks the beam with a hand to initiate action. The sensor output is an open collector transistor rated for 100 mA. No output voltage compliance is specified, only a pull up resistor to 5 V. In the rest mode the transistor is saturated. When a hand breaks the beam, the transistor goes open-circuit.

ak
 
Last edited:

MisterBill2

Joined Jan 23, 2018
18,170
With the coil resistance already set and the maximum supply voltage already determined the task is much less simple. We can pick the capacitor to deliver one amp for two seconds from a 5 volt starting charge. Or take a good guess and use a 1000 MFD capacitor rated at 24 volts, and give it a try. The recharge will be much more challenging because leaving out the diode to allow the full 5 volts means that current will flow through the resistor as the capacitor voltage drops. So because of the interacting large number of variables it will be faster to find the answers by experimenting.
 

AnalogKid

Joined Aug 1, 2013
10,986
Without a constant-current circuit between the cap and the coil, the coil current at 24 V is 3.3 A, decreasing to 0.5 A at 3.65 V (a reasonable guess at the drop out voltage of a 5 V solenoid). Discharging a 24 V cap down to something below 5 V is almost exactly 86%, or two time constants. Cranking the numbers, this calls for a 137,000 uF cap (0,137 F). This does not seem practical to me.

With a constant discharge current of 0.7 A, the cap size drops to around 68,000 uF. Definitely an improvement, although I don't see where the 24 V is coming from. Also, rated at 25 V (not a good idea) this is a $10 part - way more than all of the parts in #11 combined.

Discharging a 5 V cap to 4.0 V (to keep the math simple) with a constant 0.7 A load would require a 1.37 F cap. Lowering the dropout voltage to 3 V cuts this in half, to 685,000 uF.

ak
 

MisterBill2

Joined Jan 23, 2018
18,170
Driving a solenoid is far from linear. The first instant takes the most current to produce enough force, and then as the armature moves and the gap is reduced the current needed to produce force drops. In addition, in most applcations inertia tends to keep things moving. So the cap does not need to provide full current beyond a very short time.
And also the plan is to have the cap rather much discharged so that the recharge time will prevent triggering it again before the desired delay.All of that achieved with a minimum of parts.
The gate drive time constant is set to keep the FET on for the duration of the solenoid move.
 
Top