Protecting startKIT I2C and 3.3V from 24V surge?

If you have a simple question and just want an answer.
User avatar
aclassifier
Respected Member
Posts: 483
Joined: Wed Apr 25, 2012 8:52 pm

Protecting startKIT I2C and 3.3V from 24V surge?

Post by aclassifier »

I am connecting an Adafruit MCP9808 I2C temperature sensor underneath my aquarium together with heating cable driven by 24V DC, pulsed by the startKIT. I connect SDA and SCL on MCP9808 to X0D23 (J72) and X0D22 (J73). It's powered by the 3V3 output. I2C doesn't need much speed.

Is there any way at all to protect the startKIT processor from a broken heating cable that hits the MCP9808? It would be ok for the MCP9808 to break, but rather not the startKIT.

I have simulated 300 Ohm in series with the SDL and SLC and 300 Ohm in series with the 3.3V, but I don't think it much useful. NXP advices this for SDA and SCL in their UM10204 "I2C-bus specification and user manual". MCP9808 has 10K pull-ups on SDA and SLC. I have not added any zeners. See attached PDF. I'm afraid it's too complex. It's not going to be in a rocket..
2016 09 10 A External I2C protection.pdf
I have already made the layout such that during normal usage there's virtually no probability of any accidental 24V. The heating cable seems sturdy. I do this to monitor the max temp under there of some 50-60 DegC. The cable is 2 x 14 meters to spread out the effect, 2 x 24 W.

I haven't found any max ratings of the Tile 0 IO in the XS1-U16A-128-FB217 Datasheet.

I am tempted to let the connections just go unprotected. But in case there is a simple way?
You do not have the required permissions to view the files attached to this post.


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

Hi aclassifier. My 2 bits (half-a-nibble)...

1) the StartKit is 'only' $20 so you will have to value the cost of replacement vs. cost of additional protection.

2) the length of your I2C wiring is quite long if I understood your explanation correctly. Based on this thought, it will be wise to consider galvanic isolation of the I2C interface. This will allow for you to have a different ground potential on the StartKit as compared to the target remote ground potential. You can achieve this isolation using assorted I2C digital isolators but most are based on separate power supply rails. One for each side of the isolator (StartKit vs. external I2C interface power supply). This component will require 2 power supplies (one could be from the StartKit feed but you will still need another separate 3v3 power rail).

An unique and really nice idea is to consider the Analog I2C isolator which embeds also the isolated power supply inside the same IC component !!

p/n ADM3260

http://www.analog.com/en/products/inter ... t-overview

http://www.analog.com/en/products/inter ... luationkit

There is a demo board available from Analog that would work as-is for your project but is retailing at $100 USD so may wish to consider to wire up your own version after reviewing the ref design schematics and datasheets.

Otherwise, you will have to supply a different power supply at the target node and do keep the ground of your StartKit away from the ground of the remote power supply. That is the premise of the galvanic isolation. Now if your temp sensor gets surged, the temp sensor and the isolator should halt the level of damage.

The following I2C isolator requires 2 separate power supply feeds for proper galvanic isolation:

http://www.tme.eu/en/Document/1360c93dc ... e-1878.pdf
* this demo board should be much lower cost (Digikey ?)

You may certainly consider to use external zeners to protect the power supply voltage but in general, zeners are slow and have a soft knee for the trigger. In our books, by the time the zener triggers to limit the voltage, the damage may already be done to the sensitive equipment. For this reason, recommend to consider to introduce the TL431 comparator ideas.

http://electronics.stackexchange.com/qu ... ener-diode

The use of a zener works well for devices where there is room for a safe higher voltage ceiling before damage will occur.

The first schematic from this webpage should work well enough to protect even the I2C lines:

http://electronics.stackexchange.com/qu ... -i2c-lines

on the isolator. That is, if the I2C external lines get hit by the 24V then this protection circuit should protect the digital isolator from being zapped. There are other similar articles on the net worth reading.

Finally, this note on long cable driving for I2C interface:

http://www.nxp.com/documents/applicatio ... N10658.pdf

Hope this helps.
User avatar
aclassifier
Respected Member
Posts: 483
Joined: Wed Apr 25, 2012 8:52 pm

Post by aclassifier »

mon2

thanks a lot! This was exactly what I was out for, as I thought I had hit a dead end!

The distance of my I2C hasn't worried me a lot, but the cabling has. It will we about half a meter. I have chosen not to use shielded cable. I will not do I2C while I pulse the heating wires. They will be on or off, but not concurrent. I have braided the cables as three: 3.3V and ground as one and SDL and SCL as the two others. I am using connectors from the 719 series from Binder. Very nice.

I have separate zero for I2C and power internally in the control box. I have one internal and one external I2C line, so that I may be able to display external errors in the display, which is driven by the internal.

I did't know about the Serbian company MikroElectronika. I will certainly buy an isolator from them and have a look. Anyhow nice to get to know them!

I had seen the zener-document, but the long cable document (as the others) were new.

I have packed the I2C temp-unit in an open frame (see picture). So it's now 101% protected..

I have reflected this here: http://www.teigfam.net/oyvind/home/tech ... _24v_surge
You do not have the required permissions to view the files attached to this post.