I've been spec'd a MID400 in a high voltage A/C power monitor circuit. After receiving the prototype (board is done), I've determined this device is for power on/off application. Problem is I need to detect brown out conditions where service voltage is below an acceptable value. EXAMPLE 240VAC 1/PH application. Anything less than 180VAC needs to trigger an alarm.

MID400 spec sheet states current > 4mA = "Saturated" mode and <.15mA = "Off" mode. Spec sheet also calls out a condition called "unsaturated", which is current between the 4mA and .15mA. Spec sheet states "Under these conditions the device makes an attractive, simple 120Hz clock generator that is free from most of the normal power line transients for many digital applications."

My thinking is to monitor the output of the MID400 via microcontroller analog configuration and increase dropping resistor to create a acceptable voltage range (EX:510kΩ in 240VAC application) thus operating the MID400 in unsaturated mode and use the analog configuration to detect brown out and brown out return.

I have been in contact with MID400 mfg to ask what their design requirements (current threshold) are to attain this "attractive clock generator" feature. They have been of no help. My testing shows no consistency regarding current and 120Hz. Very random results per individual MID400.

I am trying to salvage this project but am nearing the point of restarting. Anyone have any input on MID400 "unsaturated" mode? Experience or suggestions?


enter image description here


Your spec is an RMS Vac voltage threshold which must use a precision Vref and some time duration to trigger a logic level for Brownout. Using an optoisolator by increasing Rin is not a precise method because of wide gain tolerances.

There are many ways to sense Vac {rms,pk,pk-pk,avg} and the easiest is avg. using a conversion from rms to avg. for choosing Vref. This requires conversion of AC to DC avg then subtract or compare with Vref with some LPF to insert a time delay a.k.a. Group Delay of filter.

Does this help you to find existing solutions? Or do you want to create your own design? Or do you need more hints how to implement each step of conversion?

For example full wave bridge is done by the bidirectional IR input diodes with RC filter for DC average then offset with a large Zener = 90% of req’d threshold then choose Rin to Optoisolator and allow diode and R drop for 10% or other more precise methods.

It all depends on your error tolerance design spec for 180Vac rms. Start your question with this.

How can you detect a “brownout” at 180Vac rms for “?” second with ? % error using MID400 IC?

The “Unsaturated range” depends on temperature , input current of IR Vf (1.0~1.2V) vs If and hFE of internal phototransistor ( or Photodiode and Transimpedance Amplifier) near saturation which may have a wide range but not explicitly specified. This is implied by the Turn On and Turn Off values of Vrms vs Rin which you want to be close but are not without a series Zener. This is why an error tolerance is critical and requires a precise tolerance calculation of Vin - Vzt (Zener or TVS bidirectional threshold)

enter image description here

  • \$\begingroup\$ Thank you for the information. I will have to take time to study exactly what you're saying. What I'm getting out of your comment is there is no way to keep existing design by increasing Rin as the gain of the MID400s innards is unpredictable. Which would explain why I am seeing the various MID400 oscillate at different current thresholds. \$\endgroup\$
    – becjasl
    Aug 1 '18 at 20:14
  • \$\begingroup\$ As a side note, and this is pure curiosity driving me to ask this. What are your thoughts on the data sheet saying < 4mA will create a 120hZ clock with no data to design around this function? It confuses me. If I am overlooking something in the datasheet I apologize, I have been through it multiple times. I also verified via the mfg to that the 120hZ below 4mA is a function (I've seen via scope as well). They just do not provide any data regarding this. \$\endgroup\$
    – becjasl
    Aug 1 '18 at 20:16
  • 1
    \$\begingroup\$ It means you get zero crossing pulses of unknown width that decrease to zero at some point whereas you want a DC level with some TBD % tolerance and TBD % hysteresis after some TBD time filter. Using a cap only stores the Vpk not average or rms. This increases the complexity of your spec. and solution with the simplest version as I showed being edge sensitive with the onus on software to process transitions of state or extra hardware. \$\endgroup\$ Aug 1 '18 at 20:57

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.