Tell me more ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I am allowing the current through a DC motor to flow through a small resistor and measuring the voltage across it. I need to give this analog Voltage to an ADC of micro-controller to do some signal processing on it. My problem is that the Micro-controller runs on an Isolated supply and the voltage to be sensed is on the non Isolated side. I feel that using an analog isolator is not a good solution. One solution to it is using an External ADC on the nonisolated side and digitally isolating the ADC output, but this ADC cannot take negative voltages when motor runs in other direction. Please help.

share|improve this question
2  
"I feel like" is not in the language of the engineer: if you don't know the reason for something you are doing, probably you're doing it wrong – clabacchio May 24 '12 at 6:55
Sorry for my poor English. I meant to say I want to avoid analog isolators for their poor linearity. – Aashish Thite May 24 '12 at 7:55
3  
It's not about poor english, mine is poor too. This is non-technical speaking; you should define your linearity requirements and then compare then to the components you have. – clabacchio May 24 '12 at 7:58
2  
You have "accepted" a part with +/-5% error and 1% linearity across range while rejecting a device with 0.01% linearity. There are more to the specs that just that, but methinks the Hall device liable to exceed your original "poor linearity" objection. – Russell McMahon May 24 '12 at 9:20
Perhaps the issue was with uncompensated optoisolators, which are not able to deliver very good linearity. This would explain his initial reluctance to use them. – W5VO May 24 '12 at 13:26

4 Answers

up vote 5 down vote accepted

While I understand that you are asking about how to use a current-sense resistor to sense current and then transfer the value over an isolation boundary, there are some alternatives to consider before you consider the decision finalized.

(Note that you didn't give any specifications or requirements such as bandwidth, packaging, or current range, so the specific part(s) mentioned may not be suitable, but there is a wide range of parts available that will probably work fine.)

Hall effect current sensors allow isolated sensing of current without the need for any electronics or series resistors on the "hot" side of the circuit. The output can be selected to be suitable for direct connection to your isolated microcontroller. For example, if you had a 3.3V microcontroller, and the current you needed to sense was less than +/- 12.5A, Allegro Microsystems' ACS711 will give you a linear output voltage between 0 and 3.3V, with 0A current centered at 1.65V.

It really is this easy...

To use this with your microcontroller, connect VIout to an ADC pin.

Of course, they make these sensors with different current sensitivities, capabilities, and packages. Digikey is your friend.

share|improve this answer
I feel like if everyone else gives an application circuit you should also. – Kortuk May 24 '12 at 7:18
@Kortuk The circuit is so simple, I didn't think it was necessary (compared to the servo loop needed for a linear optocoupler) – W5VO May 24 '12 at 8:25
Its not fair to expect someone to compare a post with a picture with another post that has no picture on equal ground. :) – Kortuk May 24 '12 at 8:27
[Actual datasheet is at ](allegromicro.com/en/Products/Part_Numbers/0711/0711.pdf) 5% error and 1% linearity and ... – Russell McMahon May 24 '12 at 9:22
1  
@RussellMcMahon They also make them with higher linearity and lower error and higher bandwidth. Granted, you're not going to have the 0.01% linearity at the end of it.... but you don't need a series resistor with the motor, you don't need any 'hot' circuitry (regulators, op-amps, opto-isolators, etc.), and it's easy to use regardless of your motor/driver topology. – W5VO May 24 '12 at 10:08

"I feel that using an analog isolator is not a good solution."

We'd like to help, but my answer is about an analog isolator. What's wrong with them? They're made for this.

The IL300 may be useful:

enter image description here

The IL300 has an excellent 0.01% servo linearity. If you want to power U1 from the motor's power supply, make sure it's properly decoupled.

(Vcc and ground left and right of the optocoupler are obviously different.)

share|improve this answer

(1) Any uC with an ADC of suitable performance. Read value. Send digital data via an optocoupler.


(2) You can buy "linear" opotocouplers that allow replicating a linear voltage across an isolation boundary

For $US2.85 you can get the LOC110 fron IXYS They claim:

  • 0.01% Servo Linearity
  • THD -87dB Typical
  • Wide Bandwidth (>200kHz)
  • Couples Analog and Digital Signals
  • Low Power Consumption
  • 8-Pin Flatpack or DIP Package (PCMCIA Compatible)

The device contains 1 x LED and 2 x matched photodiodes. The pair of photodiodes are used to produce a "servo" such that the two photo diode currents are matched and the input voltage can then be deduced.

Avago provide a much much much better data sheet and app note for their HCNR201 product

In each case, I_PD1 = I_PD2 and follow circuit from there.
They provide additional circuits in the app note including one for bipolar inputs.

As device is current driven via a series resistor and "thinks" in mA terms you will almost certainly have to amplify your motor sense_resistor voltage somewhat. Unlikely to be a problem in the overall order of things.

Avago HCNR201 dual linear opto.jpg

share|improve this answer
Hi Russell, it looks like we have the same solution. Didn't want to steal your answer. I must have been typing mine while you posted yours. The LOC110 seems to be somewhat cheaper than the IL300 that I always use as a reference. – stevenvh May 24 '12 at 6:09
@stevenvh - I did experience a mild bout of deja vu there :-). Olin will prefer my answer #1 :-) – Russell McMahon May 24 '12 at 6:44

I faced the very same problem in 1978 for a 48V @ 1A DC motor with remote control and Current feedback over a custom telemetry design. ( now called SCADA) I had designed a 1MBps telemetry link and needed an analog current monitor about a 300m away using the digital telemetry channel from a Reactor power Bldg to the Control Bldg.

My Specs:

  • 1% error full scale
  • 1% linearity
  • 1000 Hz sample rate.
  • 1Amp nominal DC on motor with 10mΩ shunt
  • 10Amp stall. if Eddy current probe got stuck at max power in middle of U tube.
  • Response time to sense over current and stop motor driver 20 ms.

Available:

  • A few status bits on a 1Mbps data telemetry on a frame rate of 1 kHz.
  • 6800 MCU to send control commands back at 100Kbps rate.

My Design Choice:

  • 0.1% resolution tach circuit pulse rate control by current
  • using pulse rate control and one shot. to telemetry
    • 0.1% = 1 pps
    • 1% = 10 pps
    • 10% = 100 pps
    • 100% = 1000 pps = 10A full scale

Instead of ADC , I used tach concept like car...

  • where RPM => variable pulse rate 1shot ==> accumulated charge on voltage meter
  • except here motor current - amplified and controlled pulse rate with wide range VCO & one shot.
  • Pulse was transmitted as 1 status bit with 800 Bytes of other data in every frme, sync mode.
  • Receiver restored Tach pulses and simple integrator circuit display motor current on an edge type linear analog meter.
  • Setpoint for stall condition was automatically detected and responded within ms to stop motor within 5mS.

Now maybe your design to use a similar Tach circuit with Opto-Couplers instead of a telemetry on coax. Tach designs can be made simple for not depends on accuracy.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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