raplin / DPS-1200FB

Python code to read status from the DPS-1200FB power supply
MIT License
125 stars 33 forks source link

i2c isolator #1

Closed karatektus closed 6 years ago

karatektus commented 6 years ago

Hey.

I'm currently adapting this to an Arduino, which is working just fine. link But now i want to see Data from two PSUs which doesnt work. Im not sure how to use I2C isolators. Am I guessing correct if I say, that I need two of those: link I imagine i would need to connect the i2c of one psu to one side of the chip and the arduino to the other?

raplin commented 6 years ago

You're using two psu's in series, one with the ground floated I assume? (Or are you using two separate PSU's not in series - I assume not)

So there's two things to take care of; you've got to put one of the psu's on a different I2C address, which is easy (there's 3 pins on the edge connector to set it)

If series PSUs, you've got to sort out the electrical issue between the high-side floated PSU and your arduino. Simplest is to use something like this https://datasheets.maximintegrated.com/en/ds/MAX14937.pdf which just requires a 5v supply on each side. The "low" (arduino) side should be obvious. The high side of the chip just goes to the floating DPS; you'll need 5v on the high side too so I'd just use a small 5v regulator (anything will do) off the high side DPS 12v output.

The chip you linked to also looks fine for the job, whatever's easiest & cheapest.

It should be pretty obvious; the chip provides complete isolation between its two halves.

BTW in passing I suggest you use PTC fuses (i.e. self-resetting thermal fuses) generously on everything except the main high-power output (i.e. whatever wiring goes to your arduino) ; with power supplies like the DSP1200 if you short something accidentally you end up with molten metal very quickly

Good luck!

On Sat, Nov 11, 2017 at 7:13 AM, Paul Lützner notifications@github.com wrote:

Hey.

I'm currently adapting this to an Arduino, which is working just fine. https://photos.app.goo.gl/3MRQFpz7j4nG9bWs2 http://link But now i want to see Data from two PSUs which doesnt work. Im not sure how to use I2C isolators. Am I guessing correct if I say, that I need two of those: http://www.analog.com/media/en/technical-documentation/ data-sheets/ADUM1250_1251.pdf http://link I imagine i would need to connect the i2c of one psu to one side of the chip and the arduino to the other?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/raplin/DPS-1200FB/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/ADTKSFwTe24qoWmde8ndbY1B_EsI6ANEks5s1bmZgaJpZM4QahTm .

karatektus commented 6 years ago

Sorry for the crude drawing but i should wire it like this and dont put PSU2 on the same side of the isolator as psu1? link Also, just btw: I am not actually using a DPS1200 but a DPS460

raplin commented 6 years ago

yes that looks good. Change the i2c address on one PSU of course.

BTW when running them in series (with an active load) be careful not to let one PSU shut down while the other keeps running. This effectively drives the output circuitry of the shut down unit in reverse, and kills it. I put a (fairly large, e.g. 20A) diode across the output of each PSU (i.e. so normally it does nothing but if reversed it allows current to flow through it, completing the circuit formed by the other PSU) to avoid this being fatal to the PSU.

On Mon, Nov 13, 2017 at 11:07 AM, Paul Lützner notifications@github.com wrote:

Sorry for the crude drawing but i should wire it like this and dont put PSU2 on the same side of the isolator as psu1? link https://photos.app.goo.gl/rgiZtA3awNKW8Pe73

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/raplin/DPS-1200FB/issues/1#issuecomment-344023954, or mute the thread https://github.com/notifications/unsubscribe-auth/ADTKSOKlXbx6G3YJc_njsyeDogs4IiWrks5s2JNrgaJpZM4QahTm .

karatektus commented 6 years ago

Ah thanks thats a good point. something like this should do?link

raplin commented 6 years ago

yes that will do it. For reference; Note this is an emergency measure; what happened to me was I was running two DSP1200FB's in series with an iCharger 406, charging, and one psu shut down for some reason and never worked again. My guess is that the iCharger saw the drop from 24v to 12v and of course just started drawing more current, which reverse-biased the output end of the shut down charger and fried it (as you'd expect). Ideally you would implement sensing on your ardunio to make both supplies shut down immediately if one stops working, but the diode is a quick workaround; if you're drawing tens of amps the diode will overheat so you should (also) have your charger set to stop charging if supply much less than 24v

On Tue, Nov 14, 2017 at 2:31 AM, Paul Lützner notifications@github.com wrote:

Ah thanks thats a good point. something like this should do?link https://www2.mouser.com/ProductDetail/ON-Semiconductor/RD2006FR-H/?qs=sGAEpiMZZMtoHjESLttvklwC7HxaElpzRSrhNeMIlu8%3d

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/raplin/DPS-1200FB/issues/1#issuecomment-344214868, or mute the thread https://github.com/notifications/unsubscribe-auth/ADTKSJ_lZTrCD62cQ3W9j3dLLlbAbo1Pks5s2WvngaJpZM4QahTm .

karatektus commented 6 years ago

that should be pretty easy to implement. i was thinking about some mosfets to implement a softpowerswitch for the outputs anyway.

ts7622 commented 5 years ago

Would you mind sharing your Arduino code? Ive got a lot of trouble getting it to work and havent touched this project for a couple of months because its not fun without any progress. Sorry for abusing this thread for my needs ...