PDA

View Full Version : Electronics Question: how to prevent from frying my board



__Tango
17 January 2014, 0203
Hey folks,

this should probably go on an newbie electronics forum as this really isn't elmoto specific...but anyway here goes. My traction pack is 120VDC, I have an arduino and a hall sensor that needs 8VDC with very little current draw (100-200mA). I was previously using a Vicor DC-DC to convert the 120VDC to 24VDC (that powered my kelly controller on an isolated circuit), and then used a buck power converter chip (TI LM2825-ADJ) to get it to 8VDC.

I've changed my controller to a sevcon so i don't have the 24V DC-DC anymore, and the controller runs off of the traction pack and is NOT isolated. I want to be able to do 2 things:

* use a TL783 voltage regulator to convert the 120VDC to 8VDC to power the arduino and hall sensor.
* use a simple voltage divider to read the battery voltage on one of the arduino analog IO pins (0-5V).

I get the basic concepts on how to do this, but are there protective components i should put in the system so if there's a voltage spike of some sort, it doesn't fry anything. I was planning on putting a 1A fast acting fuse on the 120VDC input. I'm not sure about anything else.

Thanks.

Hugues
17 January 2014, 0416
Hey

I'm not responding to your question but...
Why you don't use a dc-dc converter anymore ?

__Tango
17 January 2014, 1008
Hey

I'm not responding to your question but...
Why you don't use a dc-dc converter anymore ?

haha. yeah, good question. The short version is I'm wondering if it's possible (and what i'd need to do) to power the device with a $3 (USD) chip vs. a $120 DC-DC.

The long story is that it started with me rebuilding my canbus logger by getting it to talk to the sevon vs. the kelly controller. I'm currently running the arduino and friends from the 24V that the controller spits out to run the Sevcon "ClearView" display tool. Then there's a buck power conversion chip that converts the 24V to 8V that I run the arduino and hall sensor off of. The sevcon 24V circuit only supports something like 50 or 100mA, and i'm worried about pulling too much current. I'm also temporarily running a ClearView as well as my arduino and sometimes the arduino or ClearView resets while riding, and i think this may be due to too much power draw.

As with any other coding or building project, i've had some serious feature creep too...I've upgraded the LCD to one with a keypad so i could build a menu system. I added a WiFly (WiFi) card so it can upload data remotely, i'm learning Eagle and building a custom arduino PCB/shield to make all the components fit cleanly and designed and 3d printed a custom box to hold all of the components. I figured since i'm doing all of this, why not also add the ability to measure the pack voltage using a simple voltage divider. Since now this means i'll have pack voltage coming into the box (or near the box) why not just try to do the power conversion to 8V directly.

even if i don't power the whole setup with the pack voltage, I still want to try to add the voltage divider to measure pack voltage, so my original question about protection circuitry still holds... :)

Nuts & Volts
17 January 2014, 1345
My thinking is that if you have an isolated 12V (DC/DC or 12V battery) then you should be ok. I would then fuse the resistor circuit somewhere between the HV tap and then another fuse between the resistor tap (middle of the resistors) and the Arduino pin. This will protect again HV being shorted (if both resistors fail) and keep HV off of the Arduino? I'm not sure a fuse will be fast enough. The fuse across the HV should protect things if a short were to occur and your batteries won't care about the short for the 1sec it may see it.

After googling for awhile I don't see any good way of measuring the HV with full isolation cheaply. Is there anyway to isolate the 0-5V output of the voltage divider without affecting the signal? Makes sure the Arduino board is always safe, but still leaves potential for a HV short which is less likely to damage anything? And you maintain full isolation between 12V and HV.

Just throwing **** at the fan haha

podolefsky
17 January 2014, 1526
One possibility would be to use an optoisolator as a voltage-controlled resistor. Elithion has an example of using one to take the 0-5V signal from their BMS to control a 0-5V throttle input. Not that different from what you want to do. Main problem is they're not that linear - the resistors Elithion spec get you close, but not perfect. You'd need to create a lookup table to convert output values to actual voltage readings.

http://lithiumate.elithion.com/php/curtis_inverter.php


H11F1M optoisolaor datasheet:

https://www.fairchildsemi.com/ds/H1/H11F3M.pdf


Otherwise, you could go to a lower value fuse, which will be more sensitive. If your voltage divider is 5k, then with 120V you have <0.03A. I think you can find regular size fuses as low at 0.125A.

ARC EV Racing
17 January 2014, 1554
For measuring the pack voltage via the adc you'll need to have a common reference, so direct measurement won't work if your arduino is isolated. Using an opto as an isolated voltage controlled resistor is interesting though.

I've experimented with HV linear regulators in this application and my advice is to wear eye protection. Those things go off like a bomb when you stress them with too much voltage or inrush. At 120v you're pretty close to the 125v max of the reg so shrapnel is a possibility.

You could use an NTC thermistor for inrush protection but you it won't protect your circuit if you power cycle quickly, it has to cool down to do its job next time power is applied.

Sent from my AZ210A using Tapatalk

frodus
18 January 2014, 1242
What I've done on a project, is only isolated the RS232 that I wanted to use, and kept everything else with ref to pack negative. Just make sure you aren't somehow linking the 12V isolated side to the HV pack somehow. A small fuse should help to make sure you don't pull much current through the voltage sense, but you should be mostly ok.

__Tango
18 January 2014, 1530
For measuring the pack voltage via the adc you'll need to have a common reference, so direct measurement won't work if your arduino is isolated.

Can you explain more?

Nuts & Volts
18 January 2014, 1616
Can you explain more?

**I think** if your Arduino (ADC) is powered by an isolated (from HV pack) source then the measurement voltage is simply floating. You need a common reference (pack ground needs to be tied to Arduino ground) so that the Arduino actually sees the 0-5V and not just a floating voltage. Hope that makes sense.

ARC EV Racing
19 January 2014, 0155
**I think** if your Arduino (ADC) is powered by an isolated (from HV pack) source then the measurement voltage is simply floating. You need a common reference (pack ground needs to be tied to Arduino ground) so that the Arduino actually sees the 0-5V and not just a floating voltage. Hope that makes sense.

Yep that's what I was getting at. Actually I probably shouldn't have used reference when talking ADCs, that's what scales the bit count. You need your grounds to be common as N&V said.

Sent from my AZ210A using Tapatalk

__Tango
19 January 2014, 0324
Thanks both of you for that explanation. I've heard that said a couple of times but have never really gotten it until just now. Seems simple enough now that I understand, but it just Would*Not*Sink*in*to*my*THICK*skull! :)

frodus
19 January 2014, 1203
Whats wrong with having no isolation on the arduino side? In other words, what are you wanting to isolate the arduino FROM?

Why not just isolate the communication?

Nuts & Volts
19 January 2014, 1711
Whats wrong with having no isolation on the arduino side? In other words, what are you wanting to isolate the arduino FROM?

Why not just isolate the communication?

Personally I think I'm just stuck in the whole the frame is 12V GND so don't tie 12V GND to HV GND, etc. Or I'm simply an idiot :D

I think I still want the rest of my 12V system isolated. So I'd just get a 12V to 12V isolated converter to power the Arduino. Then tie the Arduino GND to HV GND to read pack voltage. That seems like the cheapest/simplest way to do it to me.

How do you go about isolating the comm lines? Opto-isolators?

podolefsky
19 January 2014, 1744
I just came across these in a search. Kind of what I was describing with the optoisolator, only linear and made specifically for isolated voltage sensing.

http://www.avagotech.com/pages/en/optocouplers_plastic/plastic_miniature_isolation_amplifier/acpl-c870/

There are other ones out there. Just search "isolation amplifier".

Nuts & Volts
19 January 2014, 1916
I just came across these in a search. Kind of what I was describing with the optoisolator, only linear and made specifically for isolated voltage sensing.

http://www.avagotech.com/pages/en/optocouplers_plastic/plastic_miniature_isolation_amplifier/acpl-c870/

There are other ones out there. Just search "isolation amplifier".

Nice Find and only $5.35 at Mouser! So you would still use a voltage divider circuit with this right?

podolefsky
19 January 2014, 1933
Nice Find and only $5.35 at Mouser! So you would still use a voltage divider circuit with this right?

Yeah, I think they're 2V input. Have to look at the datasheet (I just glanced over it).

Nuts & Volts
19 January 2014, 1935
Yeah, I think they're 2V input. Have to look at the datasheet (I just glance over it).

Yep just looked at the eval board design guide and you just connect the HV and then select you're resistors for the voltage divider for a 2V output into the chip. Pretty much does exactly what Tango's interested in. Nice work Noah!!!

Sent from my SCH-I605 using Tapatalk

__Tango
20 January 2014, 1048
Personally I think I'm just stuck in the whole the frame is 12V GND so don't tie 12V GND to HV GND, etc. Or I'm simply an idiot :D

I think I still want the rest of my 12V system isolated. So I'd just get a 12V to 12V isolated converter to power the Arduino. Then tie the Arduino GND to HV GND to read pack voltage. That seems like the cheapest/simplest way to do it to me.

How do you go about isolating the comm lines? Opto-isolators?

This is assuming you power your arduino from the 12V line. There's nothing to say that you have to do that. I'm running the arduino off of a 24V line that comes off of the controller (that's shares ground with the HV side, not the 12V side). If the inline conversion from HV to 8V doesn't work for me, i'll use a second DC-DC (again with shared ground to the HV).