What's wrong with my discharging circuit?

Thread Starter

bstdms

Joined Jun 14, 2023
17
Hello,

I have problems with my circuit.

Vth is an exponentially rising then falling waveform, generated from a monostable vibrator square wave passing through RMCM.
A bias was added to Vth so it has maximum and minimum values of 3.3V and 1.6V(the baseline).
I would like to reset Vth to baseline after it reaches the peak faster, rather than waiting for the exponential decay.

Following is the circuit I designed.
My idea is to set the thresholds of the Schimitt trigger to be 1.6V and 3.2V. When Vth reaches 3.2V the Schimitt trigger switches on the MOS and CM dischages through RD. When Vth goes back to the baseline, the Schmitt trigger switches off the MOS and Vth stays in the baseline.
1711699887417.png

I used an opamp to realise the Schmitt trigger with the following circuit.
The parameters are: R1=4.84kΩ, R2=10kΩ, Vref=2.155V, Vp=3.3V, Vn=0V.

1711701347169.png

Following are the real signals I got. The blue curve is Vth, the green curve is the output from the Schmitt trigger, and the red curve is the voltage in the drain terminal(RD= 22kΩ).
1711702429460.png

When I connect the MOS source terminal back to Vth, the circuit started to oscillate. I tried to add a resistor in this path and change the value of RD but it didn't work. The circuit either oscillated or nothing changed to Vth.

The following figure shows the expected result: Vth should return to the baseline faster.
1711702553628.png

My I ask which part did I do wrong? any advice would be appreciated.
 

MrChips

Joined Oct 2, 2009
30,946
Put a diode across RM to discharge CM on the falling edge. The diode points away from CM, i.e. the cathode is towards the monostable.
 

Ian0

Joined Aug 7, 2020
10,035
Rd is too large. You can see the effect it is having by looking at the blue curve between 4.6us and 5.1us, and it's not doing very much.
Also, I would put Rd in the drain circuit of the MOSFET, not the source.
By the way, your circuit does exactly what a 555 timer does, why not use a 555 timer?
The resistors around the op-amp will also be loading the capacitor, so I would suggest you redesign the circuit so that there is no load on the capacitor, or use resistors 10x the value.
 

Thread Starter

bstdms

Joined Jun 14, 2023
17
Put a diode across RM to discharge CM on the falling edge. The diode points away from CM, i.e. the cathode is towards the monostable.
Thank you sir for the solution.
The signal is supposed to be discharged back to its baseline(1.6V) instead of the ground. I connected the diode as you suggested, and the signal returned to the ground. May I ask how can I keep the signal at the baseline after discharging? Thank you.
 

MrAl

Joined Jun 17, 2014
11,566
Thank you sir for the solution.
The signal is supposed to be discharged back to its baseline(1.6V) instead of the ground. I connected the diode as you suggested, and the signal returned to the ground. May I ask how can I keep the signal at the baseline after discharging? Thank you.
You'd have to add a static DC bias to Vth. That might be done with resistors, but you also have to realize that RM can either charge or discharge Vth as well as any added parallel resistor if you also need that.
If the monostable is high, RM will charge the cap (and thus Vth rises). If the monostable is low, RM will discharge the cap even more than the MOSFET and thus bring it down to ground.
If you can count on the monostable being low, then you can bias Vth with another resistor to +Vcc, but you have to make sure the monostable goes low before the Schmitt trigger pulls Vth low.
For example, if +Vcc was 4.8 volts and RM was 10k, then if you connect a 20k resistor to +Vcc and to Vth then after the Schmitt trigger discharges Vth to 1.6 volts, if the monostable goes to 0v then the 10k and 20k resistors will keep Vth at 1.6 volts.
When the monostable goes high, Vth will then begin to charge up again, thus starting the cycle over again.

If the timing was originally set up with a 10k for RM, then you will have to change that when you add the pullup resistor, and the pullup resistor will also have to change. The timing will change from:
TC=RM*C
to:
TC=C*RM*Rpu/(RM+Rpu)

where TC is one time constant of the timing period, and Rpu is the added pullup resistor value.
Since Rpu in that example is related to RM by:
Rpu=2*RM
that means that to keep the same timing as before the new RM (RMnew) will now have to be:
RMnew=1.5*RM
and so Rup would have to change from 20k to 30k (1.5*20=30).
That would maintain the original timing as well as add the bias.
This example was for the circuit with +Vcc=4.8 volts and TC=10k*C and VthLow=1.6 volts.

If the circuit does not discharge fast enough you have to increase the current that the MOSFET can handle, which also means choosing a MOSFET with a lower Rds, and make sure the drive voltage for the gate matches the requirements of the MOSFET also, and a dedicated MOSFET gate driver may be required for super fast discharge. The Schmitt trigger also has to have fast rise and fall times.
 
Last edited:

Thread Starter

bstdms

Joined Jun 14, 2023
17
Thank you very much for the reply!
I am not sure how to make the monostable go low before the Schmitt trigger pulls Vth low. Because the Schmitt trigger is first triggered when Vth reaches a setting value. And Vth only rises up when monostable is high. So I think it is not possible to realize that?
Following is the result I got. The Schmitt trigger does pull Vth down, but since the monostable is still high Vth is recharged again. May I ask how can I eliminate the recharge tail?
1713349386355.png
1713351013983.png
 

MrAl

Joined Jun 17, 2014
11,566
Thank you very much for the reply!
I am not sure how to make the monostable go low before the Schmitt trigger pulls Vth low. Because the Schmitt trigger is first triggered when Vth reaches a setting value. And Vth only rises up when monostable is high. So I think it is not possible to realize that?
Following is the result I got. The Schmitt trigger does pull Vth down, but since the monostable is still high Vth is recharged again. May I ask how can I eliminate the recharge tail?
View attachment 320137
View attachment 320138

Hi,

You would have to have the output of the Schmitt trigger also pull down the output of the monostable. You would only have the monostable released from this condition when it is time to go high again. So the monostable would go high on it's own and also enable it again, while the Schmitt trigger would pull it low and disable it. Perhaps the Schmitt trigger would simply reset the monostable (as well as discharge the cap), but it depends on the actual implementation.
 
Top