Thursday, 8 August 2019

power - Implementing a voltage sensor with voltage dividing resistors


I am implementing a power storage system. The voltage of the storage device must be sensed in order to direct current to and from the storage device.


The storage device voltage will vary between 0 and 60 volts, and the system's current will be up to 60 A. The micro-controller operates at 3.3 V.


To map 0 to 60 volts onto 0 to 3.3 volts: 60 V x 10 kΩ / (10 kΩ + 170 kΩ) = 3.33 volts


The current through the resistors is 0.333 mA. (Corrected from original 3.33)



Would this work as expected. Is there something I am neglecting?



Answer



Your system will work but there are a few of things you need to be mindful of.




  1. You are dividing the 60V to the max that the micro can handle. This means if the storage device is ever over 60V you will be presenting too high a voltage to the micro and your ADC will not be able to detect it. You would be better to use something like 10/190 so you present 3V at 60V so you can allow 10% overshoot on the 60V. The numbers also are easier to work with.




  2. As WhatRoughBeast pointed out, the divider will always drain some current from the source, be that only about 333uA. You may want to consider adding some form of switching circuit so you only attach the divider to the 60V when required.





  3. If you are using 1% resistors, the possible measurement error through the divider is +-2%. That may or may not be a problem for your application, however it is a problem if you use 10/170 since +2% will make the presented voltage over the magic 3.3V.




  4. Most micros these days have the option to use a stable internal voltage reference for the ADC instead of the rail voltage. If yours does (you did not specify the micro) you should scale the divider to use that level instead, again with that 10% overhead. That will remove errors caused by whatever the 3.3V supply is doing and get you more temperature stability.




  5. Adding some small capacitance to the division point will also help make the system less sensitive to noise, both ambient, and on the 60V rail. There is a balance here though, do not make it too large or your sample time needs to extend to cope with the slower step response time.





  6. You should also consider splitting the top resistor to make it two in series. This will provide you with a little extra isolation from the 60V, split the power dissipated, and remove the potential of a single fault short in the resistor blowing up the micro. A little extra protection would not hurt either.




  7. Finally, this design is high impedance. That means it is affected by the input impedance of the ADC. Using a voltage follower buffer between the divider and the ADC is prudent.




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...