pimvanpelt / apc7920

Retrofit an ESP32 into APC 7920 PDU
12 stars 9 forks source link

Sense ground change. #1

Open camprr opened 3 years ago

camprr commented 3 years ago

Pim,

interested in looking at this as I have a broken apc7920. Did you manage to make the modification needed to the PCB to sense the voltage correctly as you state in the Readme? Thanks for any response.

Robert

pimvanpelt commented 3 years ago

Hoi Robert, thanks for reaching out. The interposer board posted does work but I did not pursue the project further. It turns out the ESP32 ADC cannot sample as fast as I was lead to believe when reading its I2S peripheral documentation, and then the project fell by the wayside.

On Wed, Feb 17, 2021 at 9:55 PM Robert Campbell notifications@github.com wrote:

Pim,

interested in looking at this as I have a broken apc7920. Did you manage to make the modification needed to the PCB to sense the voltage correctly as you state in the Readme? Thanks for any response.

Robert

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/pimvanpelt/apc7920/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDRSPJFQZNRNFPSGY265F3S7QUM5ANCNFSM4XZCALNA .

-- Pim van Pelt pim@ipng.nl PBVP1-RIPE - http://www.ipng.nl/

camprr commented 3 years ago

Good to know, thanks for getting back to me on that! Maybe I'll 'just' make the switching work then. Have a broken 7920 here that I'd like to get working again. Otherwise is would just be a simple 'hotwire' from the jumper to the pin you mention, right?

pimvanpelt commented 3 years ago

Making the switching part works is trivial - there's an I2C speaking 8574 GPIO expander on the relay board which has all of its pins (address and clock / data) exposed on the header. This chip speaks 3.3V and drives the relays. I wrote a driver for it here: https://github.com/mongoose-os-libs/pcf857x-i2c

You can connect your I2C master directly to those SDL/SDA pins and tie ADDR0,ADDR1,ADDR2 to ground (or any other combination), and then switch the relays by writing a byte to the latch. All up, the Mongoose OS code should be possible with less than 100 lines of code this way.

On Mon, Feb 22, 2021 at 10:06 AM Robert Campbell notifications@github.com wrote:

Good to know, thanks for getting back to me on that! Maybe I'll 'just' make the switching work then. Have a broken 7920 here that I'd like to get working again. Otherwise is would just be a simple 'hotwire' from the jumper to the pin you mention, right?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pimvanpelt/apc7920/issues/1#issuecomment-783216840, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACDRSPJZWY2ERCRSQ3TS7Q3TAINBHANCNFSM4XZCALNA .

-- Pim van Pelt pim@ipng.nl PBVP1-RIPE - http://www.ipng.nl/

DanMan32 commented 1 year ago

I too came across this project, looking for a way to revive an ap7932 which is a 24P 120V 30A managed PDU. The processor board just failed yesterday which is a board piggybacked to the display/interface board. I suspect the buck converter on the processor board failed, one of the tiny chips near the capacitors/inductor gets rather hot. I was hating to have to dispose of the PDU just because of the processor board having failed. I figured there was some sort of controlling interface to the relay/outlet boards, your information provided a lot of what I would need to be able to control the outlets. Any idea what the designation of header pins between the processor board and display/interface board might be?

I hope the I2C and address selector lines from the relay boards go directly to the header pins to the processor board, that would make interfacing with the relay boards from a microcontroller SO much easier than having to source those tiny ribbon cable headers.

DanMan32 commented 1 year ago

Since you're using an external ADC, I'm surprised you have issues interfacing with the ESP32 to read the current. Or was that comment about the ESP32 sample rate being too slow before you added the ADC IC?