Interface with a Power Isolator(SI8600)

Posted on
  • I purchased: http://www.atlas-scientific.com/_files/_­datasheets/_circuit/pwr-iso.pdf? That power isolator seemed a bit expensive, however, I wanted to experiment with an already made power isolate; sinse I already purchased: http://www.atlas-scientific.com/_files/_­datasheets/_circuit/pH_EZO_datasheet.pdf­? I figured I would purchase the Power Isolator from the same company.

    Anyways, I'm not that technical when it comes to reading datasheets and I would like advice/help on how to properly connect everything up to the Espruino, power iso and the PH sensor(http://www.atlas-scientific.com/_files/_­datasheets/_circuit/pH_EZO_datasheet.pdf­?)

    I already asked a question about what size pull-up resisters to use which are 4.7k. I contacted the manufacturer and asked if there are pull up resisters on the power isolator board and if the 4.7k would interfere with the power isolator. The manufacturer explained to me that there are pullup resisters on the board and the 4.7k might be too high.

    The power isolator requires 5v in and will output 5v. I know the Espruino is 3.3v so I was planning to use a seperate 5v power adapter and a L7805 voltage regulator to provide a cleaner 5v to the power isolator. Will I be required to use a logic converter between the Espruino i2c and the power isolator i2c since the Espruino is 3.3v and power isolator is 5v? I was planning to use: https://www.adafruit.com/products/757 if a logic converter is necessary.

    I need help designing my circuit because I am confused about the pullup resisters. The power isolator and logic converter have 10k pullups and the ph datasheet asks for a 4.7k pullup value for i2c communication. What values of pullups are required and where do I place them in the circuit?

  • Hi, in terms of I2C pullups, 10k or 4.7k will probably work - the board seems to have them on both sides, so you won't need to add any yourself. I2C isn't that sensitive to exactly what value you use anyway.

    The 5v/3.3v isn't really an issue... Espruino can be powered off anything from 3.5-16v because it's got a voltage regulator, and most IO is 5v tolerant. To make sure, just look at http://www.espruino.com/ReferenceESPRUIN­OBOARD and check that the pins you're using don't have 3.3v written by them - none of the I2C pins do, so you shouldn't have to worry very much.

  • Hi @Gordon.
    CODE:

    I2C1.setup({scl:b6, sda:b7});
    
      I2C1.writeTo(0x63, "R,25.3");
      setTimeout(function (e) { getphValue(); }, 1000);
    
    function getphValue() {
      var d = I2C1.readFrom(0x63,7);
      var toChar="";
      var i;
    
      for(i=0; i<d.length; i++) {
        toChar += String.fromCharCode(d[i]);
        //console.log(toChar);
        //console.log("i.length: " + i + " " + "d.length: " + (d.length - 1));
        if(i==(d.length-1)) {
          console.log(toChar);
          toChar="";
          //console.log("toCharVal: " + " " + toChar);
        }
      }
    }
    

    Circuit:

    I removed the 4.7k resisters.

    I have 5.0v wall adapter vcc and gnd hooked up to the IN vcc and gnd on the pwr-iso. OUT from the pwr-iso I have 5v going to the VCC of the ph sensor and GND to the GND of the ph sensor. The power light on the module is on so I know VCC and GND are properly hooked up.

    I have USB from my laptop powering the Espruino board. From B6 of the Espruino to the SCL of the ph sensor and B7 of the Espruino to SDA of the ph sensor.

    This current circuit design produces error:

    >echo(0);
    =undefined
    Uncaught InternalError: Timeout on I2C Write Transmit Mode 2
     at line 8 col 30
      I2C1.writeTo(0x63, "R,25.3");
                                  ^
    in function "onInit" called from line 1 col 8
    onInit();
     
        ^
    

    To test if my PH sensor is working properly, I removed the pwr-iso from the circuit.
    Without pwr-iso circuit design:
    USB from laptop to Espruino USB
    3.3v and GND from Espruino to VCC and GND of ph sensor.
    SDA and SCL from Espruino to SDA and SCL of ph sensor.

    Power light is lit and I can read and write from the ph sensor to the Espruino.

    I have no idea why I get the timeout error when using the pwr-iso. Any ideas?

  • The I2C timeout error is usually because there isn't any communication between the device...

    By the sound of it, you've connected SDA and SCL directly to the sensor (not through pwr-iso?). If so, try connecting the two GND lines on either side of pwr-iso - if the isolator is working correctly it'll be isolating ground, which means that just directly connecting the SDA and SCL won't be enough.

  • I apologize, I should have been more clearer.

    5v wall adapter vcc --> pwr-iso vcc in
    5v wall adapter gnd --> pwr-iso gnd in
    Espruino sda --> pwr-iso in sda
    Espruino scl --> pwr-iso in scl

    Laptop usb --> Espruino usb port
    pwr-iso out sda --> ph sensor sda
    pwr-iso out scl --> ph sensor scl

  • What are your connections for power and ground on the espruino and ph sensor?

  • pwr-iso vcc out --> ph sensor vcc
    pwr-iso gnd out --> ph sensor gnd

    I am using two separate power sources. USB only for the espruino. 5v wall adapter only for the pwr-iso IN. Come to think of it, i probably should tie in the Espruino gnd?

  • The Espruino ground should be connected to the pwr-iso... I'd imagine that won't be helping at all.

  • Will I have a ground loop since I am using two different power sources at two different voltages and share the same gnd?

  • I am now able to read and write to i2c after I hooked up the gnd from the espruino to the pwr-iso .

  • Great - glad it's working!

    As far as ground loops - the ground that comes out of a mains power supply should be (at least partially) isolated from earth/mains neutral, so connecting them together shouldn't be a problem.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Interface with a Power Isolator(SI8600)

Posted by Avatar for d0773d @d0773d

Actions