0
\$\begingroup\$

I am triggering a current source for a coil. I made a safety circuit with a bistable multivibrator, which forces the trigger sent to the hardware to have some maximum duration. This is a duty-cycle protection for the coil, to avoid it reaching high temperatures. So, even if the user leaves the trigger on HIGH for too long, the duty-cycle protection box makes sure the hardware does not stay on for that long (I also have a second multivibrator that makes sure cannot turn the coil back on before a certain set time but that's not needed here).

I would like to add a warning light to let the user know that the trigger they sent was ON for too long, and the safety box had to switch it off.

enter image description here

A simple way could be adding an exclusive OR gate that compares the user-trigger and the hardware-trigger, so that the output is HIGH only when the two triggers are different. This HIGH drives an LED which gives me a warning:

enter image description here

Problem: I am guessing the LED will be turned on even during the "propagation delay" interval shown in my first diagram, where the two triggers are different. I know it might be for a split second, but I want to add a D flip flop with a reset button to this circuit so that the LED stays on until the user notices it and pushes the reset button.

How can I only make my circuit "not care" about the difference between the triggers due to the propagation delay?

\$\endgroup\$
1
  • \$\begingroup\$ Your propagation delay is seemingly minuscule in human terms; no one will ever see that false initial light. If you were driving some other logic it might be a concern, but you aren't. So while one could us a synchronous design for this, that seems unlikely. A software solution in a small MCU however seems quite likely. \$\endgroup\$ – Chris Stratton Jan 4 at 1:59
2
\$\begingroup\$

You only want to give a warning if the input trigger is longer that the output trigger, so...

Use the trailing edge of the output trigger to clock a 'D' F/F whose Data input is connected to the input trigger, and take your warning from the F/F's Q output. Waveforms look like this:-

enter image description here

Top 2 traces shows input trigger shorter than output trigger. High to Low Clock occurs when when D is low (circled), so the F/F Q output stays (or goes) low.

Bottom traces show what happens when the input pulse is longer than the output pulse. F/F's Q output (red) goes high when the high D level (circled) is clocked into it.

The 'alarm' output output will remain high until the next pulse, when it will either stay high or go low again depending on the relative pulse widths. This may be good enough for your purposes. If not then use that output to set a latch or clock another F/F which must be manually reset by the user.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks yes this is the most elegant solution with what o have \$\endgroup\$ – SuperCiocia Jan 4 at 2:24
1
\$\begingroup\$

This is why synchronous clocked systems became a thing. You need a circuit that can "wait" for a predetermined amount of time before making a decision. So, you need a reference clock to tell you when the predetermined time has passed.

A synchronous system also has state, which you need to keep the LED on until a button is pressed.

A small microcontroller would be a good, generic solution. You could do all of this with one tiny chip.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.