So, I decided a while back that I need a smarter charger. I want one where I can dynamically lower the output current (pilot signal) remotely based on solar output for my new off-grid system.
Since the HPWC is basically just a J1772 charger, the J1772 protocol is pretty well documented, and there are open source implementations of the J1772 protocol, I figure it would be pretty simple to replace the digital guts of the HPWC, leave the power-related guts (power wiring, contactor, fuses, etc) and just replace the control board with something custom. Additionally, I believe I'll be adding WiFi and/or ethernet capability to the units to integrate them into my home network for monitoring and adjusting. Should be pretty sweet.
I recently purchased a HPWC that had a damaged control PCB in an effort to prototype such a modification. Eventually once I have a board finalized to replace the normal one I will print some up and just replace the boards in my two units that are already in place.
Since the J1772 side of things is pretty well known already, I decided to just jump into figuring out the important stuff like the HPWC front cover's connector that controller the LEDs on the face.
Initially I thought this was just a wire that was used to power a few LEDs. After poking around with it a bit I decided to remove it from the front panel of the damaged unit I have (it's not going to be used really anyway) which meant some permanent plastic surgery to remove it since it is held in by plastic rivet type holders. Turns out there is actually an I2C-based digital LED driver chip on that LED board... the chip is hard to read through the conformal coating, but it appears to be a Texas Instruments TLC59108 LED driver chip.
I spent a few minutes working out the pinout of the 6-pin flat ribbon cable from the board and while untested yet, I think I have it worked out to be:
Looking at the pins of male-pinned connector LED-board side of the cable with the notch upward and using the pin numbering on the original control board makes the left pin #1 and the right pin #6:
1 - +3.3 to 5V VCC (To LED Anodes)
2 - I2C SDA
3 - I2C SCL
4 - +3.3 to 5V VCC (To driver chip VCC)
5 - Red LED active high signal (+3.3 - 5V = on)
6 - GND
(Update 2015-04-08: Verified pinout described above, see post below)
I put a "?" on the 5V because I haven't measured this on a working HPWC yet, but the chip and everything else appears to be 5V compatible. (Edit: see above)
With this I should be able to whip up a test circuit to control this driver chip and make these LEDs behave how I want them too. Unfortunately I don't seem to have the right connector in my stock and I don't want to destroy the one that came with it so I can easily test my board with it later.
My idea would be to make them a little more intelligent in a way similar to a mechanical electric meter. More current, faster LED movement. Less current, slower LED movement. Maybe one steady blinking or some other indication for when the contactor is closed, and probably a "breathing" one for when idle. Should be pretty simple. This driver chip even has on-board per-LED PWM output for dimming.
I'll mess with it more later, just figured I would share this since I hadn't seen any info on this little board posted anywhere as of yet. More updates as I get deeper into this and I'll update or add links in this post with relevant info.
-wk
Since the HPWC is basically just a J1772 charger, the J1772 protocol is pretty well documented, and there are open source implementations of the J1772 protocol, I figure it would be pretty simple to replace the digital guts of the HPWC, leave the power-related guts (power wiring, contactor, fuses, etc) and just replace the control board with something custom. Additionally, I believe I'll be adding WiFi and/or ethernet capability to the units to integrate them into my home network for monitoring and adjusting. Should be pretty sweet.
I recently purchased a HPWC that had a damaged control PCB in an effort to prototype such a modification. Eventually once I have a board finalized to replace the normal one I will print some up and just replace the boards in my two units that are already in place.
Since the J1772 side of things is pretty well known already, I decided to just jump into figuring out the important stuff like the HPWC front cover's connector that controller the LEDs on the face.
Initially I thought this was just a wire that was used to power a few LEDs. After poking around with it a bit I decided to remove it from the front panel of the damaged unit I have (it's not going to be used really anyway) which meant some permanent plastic surgery to remove it since it is held in by plastic rivet type holders. Turns out there is actually an I2C-based digital LED driver chip on that LED board... the chip is hard to read through the conformal coating, but it appears to be a Texas Instruments TLC59108 LED driver chip.
I spent a few minutes working out the pinout of the 6-pin flat ribbon cable from the board and while untested yet, I think I have it worked out to be:
Looking at the pins of male-pinned connector LED-board side of the cable with the notch upward and using the pin numbering on the original control board makes the left pin #1 and the right pin #6:
1 - +3.3 to 5V VCC (To LED Anodes)
2 - I2C SDA
3 - I2C SCL
4 - +3.3 to 5V VCC (To driver chip VCC)
5 - Red LED active high signal (+3.3 - 5V = on)
6 - GND
(Update 2015-04-08: Verified pinout described above, see post below)
I put a "?" on the 5V because I haven't measured this on a working HPWC yet, but the chip and everything else appears to be 5V compatible. (Edit: see above)
With this I should be able to whip up a test circuit to control this driver chip and make these LEDs behave how I want them too. Unfortunately I don't seem to have the right connector in my stock and I don't want to destroy the one that came with it so I can easily test my board with it later.
My idea would be to make them a little more intelligent in a way similar to a mechanical electric meter. More current, faster LED movement. Less current, slower LED movement. Maybe one steady blinking or some other indication for when the contactor is closed, and probably a "breathing" one for when idle. Should be pretty simple. This driver chip even has on-board per-LED PWM output for dimming.
I'll mess with it more later, just figured I would share this since I hadn't seen any info on this little board posted anywhere as of yet. More updates as I get deeper into this and I'll update or add links in this post with relevant info.
-wk
Last edited: