1

I need to build a circuit that changes the output for a certain time when my signal exceeds its range.

I have a kHz-bandwidth signal (incorporating DC) that is part of a control loop and sometimes it goes out of range (+/- 15V). When that happens, I want the output to switch to 0V for a certain amount of time (10 ms to 2 s) and then change back to the actual signal.

What I found so far is a Window Detector circuit that triggers when the signal exceeds the range and a 555 timer circuit which can keep the signal on high for a certain time. I do not, however, know how to switch between the actual signal and 0V when the output from the 555 timer is set to high.

Thanks for everyone's help, I am quite new to designing actual circuits.

Marcus Müller
  • 88,280
  • 5
  • 131
  • 237
ElDoe
  • 11
  • 1
  • can you give us a rough idea of what "a certain amount of time" is (as in: 1 µs? 1000 s?) and what the bandwidth of your signal is? (50 Hz? 10 kHz? Audio? 30 MHz?) – Marcus Müller Jul 13 '20 at 13:25
  • Does your signal have a DC component? (Things get a lot easier if it doesn't) – Marcus Müller Jul 13 '20 at 13:33
  • "certain amount of time" should be something maybe around 0.01s - 2s. Bandwidth of the signal itself is in the kHz regime. The signal controls a piezo actuator, so yes, it has a DC component. Most of the time the signal is modulated to move the piezo, but over time it drifts and then hits the maximum range. – ElDoe Jul 13 '20 at 13:36
  • You can use and analog multiplexer https://en.wikipedia.org/wiki/Multiplexer The output of the 555 can be fed to the address line which selectes either the signal or another input. The other input can be permanently set as 0V. – AJN Jul 13 '20 at 13:55
  • 1
    *Most of the time the signal is modulated to move the piezo, but over time it drifts and then hits the maximum range.* You may be better off solving the original problem than try this ad hoc method. Can you describe the setup in detail with block and circuit diagrams ? – AJN Jul 13 '20 at 13:56
  • For example, if the DC component is not important, you can pass it through a high pass filter. – AJN Jul 13 '20 at 13:58
  • After period of time, when the circuit switches back, is it guaranteed that the signal is within the range ? If not, should the switch back be avoided ? – AJN Jul 13 '20 at 13:59
  • 1
    Seconding AJN; this sounds like a problem better solved at the root. If your signal is drifting, you should look into what's causing it to go out of range instead of just clamping it. It's probably a poorly-tuned control circuit, or just a sign that you need to add some anti-windup code into your controller. – Hearth Jul 13 '20 at 14:12
  • And a drift can be solved with a high-pass filter, much easier than this? – Marcus Müller Jul 13 '20 at 15:24
  • By the way, if you need millisecond accuracy (which I guess?) for a 2 s delay: [Forget about the 555 altogether; can't do that kind of accuracy with it](https://electronics.stackexchange.com/a/486157/64158). – Marcus Müller Jul 13 '20 at 15:26
  • @Hearth if it's "code in a controller": then this sounds like something that should be solved in DSP, too. – Marcus Müller Jul 13 '20 at 15:47
  • 1
    @MarcusMüller That's what I'm guessing it is, anyway. Either straight DSP or a digital control system using one. Retuning the control circuit would also, in this case, be changing the code in the DSP. – Hearth Jul 13 '20 at 15:56
  • 1
    Thanks for all the discussion. You are very right that we should actually fix the root problem which seems to be the windup of the PI Controller. We also realized that what we wanted to do by arbitrarily changing the output to some value might not even help. However, we have a physical, analog PI Controller that was self-built by someone in the past. I'll have to look into how anti-windup could be implemented in such a case. – ElDoe Jul 13 '20 at 16:17
  • @ElDoe I bet a high-pass filter in the feedback with a pretty low cut-off frequency would work. (it would also convert it to a PID controller, which might be desirable anyway! However, if you've got a winding up error, something isn't right about the thing in your PI controller that's supposed to integrate the error, because it should *try* to bring that term to zero. Your controller might have a constant bias in its output that is larger than the amplified error term! – Marcus Müller Jul 13 '20 at 23:35

0 Answers0