raplin/DPS-1200FB

PSOk and PS Interrupt behavior

Opened this issue · 8 comments

Hi,

I creatd a circuit for controlling two PSU with opti isolator I2C for my rc hobby. I will publish it if I am finished e.g. it actually still works fine. But where I am unsure with DPS1200FB is:

  1. PSOk is digital and not a analog value in with my DPS1200FB. Is that correct? Standby Status is not shown...
  2. PS Interrupt/Alarm/... (Pin 38) is low everytime even on normal operation and indicated an error???

Actually I am thinking that it is a simple implementation of the Common Connector but is this the real normal behavior?

Regards,
Nils

Dunno if you still interested in this, but...
The PSOk might be analog, but the voltage levels between 0V and 3.3V may only appear on fault conditions. Unless you can force those conditions to happen it may only show 0V (stdby) or 3.3V (ok)
Regarding the interrupt signal, it may well be connected to a pin of the PIC MCU, and you may need to clear some register in order for it to go high (meaning no interrupt request)

Hi,

I still got the behavior of the PSOk. It has 3 states officially but only switches in between 0V and 3.1V (weak pullup). So I connected it to a analog input. Actually I created a pcb you can simply put on the PSU to control everything without soldering the connector on the PSU. Did you perhaps know if the I2C lines (27-29) could be pulled up to 5V? I like to set automatically the PSU number for using 2 in serial. So the Arduino also will know if it is the master or slave unit. I am not at home actually to measure which pullup is connected there.

Cheers,
Nils

Hey there,

I suppose the other states of the PSOK pin are meant to signal error conditions. Unless you can safely trigger them you won't be seeing anything but 0V (off) or 3.3V (on and OK). This is my guess.

I can confirm to you that my unit does have the I2C weakly pulled up internally to 5V. Infact, when I tried to read it directly from an Orange Pi (which has IOs at 3.3V) I get lots of garbage from the EEPROM. It seems like the EEPROM's input logic does not really validate things outside the 0.3VCC to 0.7VCC range. This is a classic since 0.7*5V is 3.5V, and you cannot reach that with a 3.3V IO.
It seems like the PIC does not really mind talking to a 3.3V bus, I never got CRC errors or corrupted data from the PIC, it's just the EEPROM that does not like it.
When I was testing with an ADUM1250 I2C isolator, if I connect the side of the PSU to 5V, and the side of the Pi to 3.3V, everything works normally (i.e. no errors from the EEPROM).

Regards,
Joao

Hi Joao,

I am using a 5V arduino nano and also ADUM1250 to get both PSUs used isolated. In that configuration I have also no problems reading the PSUs data. But what is with PIN 27-29 to configure the I2C address? Is this also pulled up to 5V? Have some spare time to change my pcb then and also 3 digital inputs free to use. :-)

Cheers,
Nils

Pins 27-29 are the address LSBs, as @raplin explains.
You can leave all 3 floating if you only have one supply.
In case you have more you must keep them with different addresses otherwise there will be collisions.

Since those IOs are hooked up to both the PIC and the EE, the situation should be the same as with the I2C pins. (i.e. 5V or the EEPROM will complain).

Be ware that, if your Arduino GND reference is shared (i.e. the ADUM1250 sits in between the arduino and the supply) you will need some other isolator for these 3 address selection IOs. You can use simple optocouplers here since the IOs are already pulled up internally.

Every PSU will have its own PCB and communication is done isolated with ADUM1250. So nothing is shared in between.
You can see that PIN 27-29 are pulled down to GND. PSU#1 will not have any resistors mounted (floating) and PSU#2 one pull-down, ...

But I have to read it with digital inputs also. In my opinion using 3 Optocouplers is unnecessary if 5V can be applied there instead of let them floating. So I hope that it is like you mentioned that 5V will be good there.

Sicherheitsschaltung Ladekoffer - V2-1 20200725_Schaltplan.pdf

@NilsRo Do you still plan on publishing this project? I've not seen anyone else in the RC hobby develop a nice way to interface with server PSUs which includes monitoring and control over i2c. I'm imagining this could turn into a really refined solution for charging, including displaying all the PSU parameters on an OLED display, for example.

I finished a circuit in frizing but has issues with power lines. Has to recreate it in eagle and now I hang. 😄 Have to learn eagle myself but still planned that. If you like I can upload the my unfinished V2 version. A very large V1 is running but not nice so I do not plan to publish it.