Charger Interface Board
Status | Schematic |
Owner | @Shuopu Wang |
|---|---|
Approver | @Ravi Shah @Jacob Guidry |
Due date | Oct 13, 2025 |
GitHub | |
BOM |
|
Due Dates:
Schematic - 9/27/25
Layout - 10/4/25
Rev. A Ordered - 10/13/25
Firmware/Testing - 11/1/25
Description/Purpose
We are using the Elcon HK-MF-108-32 charger to quickly charge the car’s main battery pack during drive/test days. This interface board handles CAN communication between the battery and charger, along with powering the BPS and displaying telemetry data.
Requirements
Boost converter (12->24v) for low voltage output of the Elcon charger to power the BPS. Should have power protection (reverse polarity, overvoltage, overcurrent, etc.) on both the input and output side of converter. And a fuse cause lakslay :D
Uses a LeaderSOM for MCU and CAN circuitry
2 CAN buses - CarCAN and Elcon, to separate the charger bus from the BPS (LSOM has 2 buses you can use)
Display to view BPS and charger telemetry (voltage, charge current, SoC)
Send/receive all charger CAN messages as defined in Elcon protocol
Display voltage of highest/lowest module, Elcon current reading, BPS current reading, avg pack temp, highest module temp, any faults. Ideally easy to see in sunlight.
LED indicators for high-voltage active, fault, etc. Buzzer/sound indication for when charging is complete or something is blowing up…
E-stop button to halt charging and trip BPS when pressed
Application Note
Context
Location of the board:
Connection List
# | Name | Type | Ideal Voltage |
|---|---|---|---|
J1 |
|
|
|
J2 |
|
|
|
J3 |
|
|
|
J4 |
|
|
|
J5 |
|
|
|
Main
Schematics
Overall Schematic:
12V-24V Boost Converter:
RPP/OV:
SPI Display:
LEDs:
Layout
Github link: Github
Image:
PCB:
3D Model:
Firmware
Drivers
High-Level (Block Diagram)
RevA Testing Process/Reflections:
Overall Design Feedback:
RPP wont work since the inverse current flowing through the Z1 and Z2 diode, creating another a current path, shorting the circuit
Remove Z1 and Z2 diode on v2 of board
Overvoltage protection will work
As long as power <1 Watt
Diode needs to be WAY above the OV threshold
Fuse Voltage threshold for 24V circuit: 31.50V
Overvoltage setting on IC: 30.319V
Fuse Voltage threshold for 12V circuit: 15.75V
Overvoltage setting on IC: 14.91V
Remove R13 from Vin to VS on the 12V RPP chip or change to 0 ohms jumper because it never turns the IC fully on
Add test points for every single IC pin, that way I can bridge stuff together and for easier testing
Esp the BOOST CONVERTER FAHHHH FUHHH
VCAP to VS voltage must be greater than the undervoltage lockout voltage (6.5V) for the RPP/OV IC to turn on
MOSFET never fully powered on in the 12V RPP circuit
Add throughole test points to solder wires and test at the same time, easier to isolate the circuit
Add a 12V input test point after the 12V RPP/OV circuit to manually input 12V to test 24V output easier
Design Changes for RevB:
ADD:
Proximity Pilot Pin Control Pilot Pin
Status LEDs to mount onto the faceplate
Constraints:
LED Hole Diameters/Color
Operating Voltage (12V-24V)
REMOVE:
TBD
Soldering Issues:
4.7uH inductor footprint sizing affects soldering capacitors and other components
Add test points for the pads under the inductor
Choose a bigger boost converter, the current boost converter has the possibility of shorts underneath it, easier solder pins.
Make sure to add testing points for each of the pins
Hard to debug before the boost converter because of lack of test points
Hard to debug because the continuity points are hard to remove such as the SMD boost converter
Add more images to cover up blank space
NMOS possibile short + trace blown (Validated, trace is NOT blown)
Check for resistance between components and high points
Use power calculator based on output voltage to have max current
Power resistors put it on the board
Testing:
SPI Display: success ✅
3.3V @ 1mA, drawing 0.180 watts
Boost converter status:
v1 Testing: success ✅
Cause of prev failure: unable to read 12V from RPP/OV circuit
v2 Testing: failed ❌
something is clamping output voltage
12V RPP status: failed ❌
Cause of failure: Zener diode at the input
12V OV status: success ✅
OV threshold @ 14.84V
24V RPP status: failed ❌
Cause of failure: Zener diode at the input
24V OV status @ 1mA, OV activated @ 28.4: success ✅
12V: success
16V: success
18V: success
26V: success
28V: success
28.4V: success
28.5V: failed
28.6V: failed
29V: failed
Firmware Plan:
/App
main.c
system_clock.c // SystemClock_Config()
board_pins.h // all pin/AF defines for THIS PCB
common.h/.c // fault bitmap, shared types, helpers, error_handler()
/Drivers
display_spi.h/.c // SPI driver & reset pin for display
estop.h/.c // E-STOP input
leds.h/.c // 4 Status LEDs (GPIO)
buzzer.h/.c // PWM
can_car.h/.c // CarCAN specifics
can_elcon.h/.c // Elcon protocol
/App
task_display.h/.c // render telemetry onto display
task_led_buzzer.h/.c // blinks/tones from events and test PWM of buzzer
task_can_rx.h/.c // both buses, Rx parse -> queues
task_can_tx.h/.c // periodic Tx (requests/heartbeats)
task_ESTOP.h/.c // E-STOP handling
task_telemetry.h/.c // aggregates latest values for display/LEDs
Circuit Components
Description (Customer #) | Qty | P/N |
12v-24v Boost Regulator | 1 | TPS613771RYHR |
Capacitor 0.1uF 0603 | 7 | MLASH168SB7104KTNA01 |
Capacitor 0.22uF 0603 | 2 | MSASU168SB7224KTNB25 |
Capacitor 0.47uF 0603 | 1 | 0603B474K500CT |
Capacitor 10uF 0805 | 5 | GRM21BR61H106KE43K |
Capacitor 15pF 0603 | 1 | 0603N150J250CT |
Capacitor 1uF 0603 | 7 | MLASU168SB5105KTNA01 |
Capacitor 2.2uF 0805 | 3 | MCJCT21GCB7225MTPA1J |
Capacitor 2200pF 0603 | 1 | GCJ188R71E222KA01D |
Capacitor 22uF 0805 | 5 | GRM21BR61E226ME44L |
Capacitor 4.7uF 0805 | 3 | 08055D475KAT4A |
Connector 1x2 Nanofit | 2 | 1053091202 |
Connector 1x4 Nanofit | 2 | 105309-1304 |
Connector 2x5 Nanofit | 2 | SFH11-PBPC-D05-ST-BK |
Diode Zener 15V | 1 | SMAF4744A-TP |
Diode Zener 30V | 1 | SMAF4751A-TP |
Diodes LED 0603 RED | 4 | LS Q976.01-N1Q2-1 |
Diodes Schottky 20V 3A | 2 | SK32A-LTP |
Fuse Holder 0.63 | 1 | 3568 |
Inductor 4.7uH | 1 | XGL4020-472MEC |
LCD Display 3V | 1 | NHD-C12832A1Z-FSB-FBW-3V3 |
LeaderSOM | 1 |
|
NMOS PSMN8R5-40MSDX | 3 | PSMN8R5-40MSDX |
Resistor 0k 0603 | 1 | CRCW06030000Z0EE |
Resistor 1.5M 0603 | 1 | CRCW06031M50JNTA |
Resistor 100k 0603 | 2 | CRCW0603100KFKEE |
Resistor 10k 0603 | 3 | CRCW060310K0FKEI |
Resistor 1k 0603 | 1 | CRCW06031K00FKEI |
Resistor 29.4k 0603 | 1 | CRCW060329K4FKEAC |
Resistor 4.3k 0603 | 2 | CRCW06034K30FKEA |
Resistor 47k 0603 | 1 | CRCW060347K0FKECC |
Resistor 590 0603 | 4 | CRCW0603590RFKEA |
Resistor 64.9k 0603 | 1 | CRCW060364K9FKEA |
Resistor 80.6k 0603 | 1 | CRCW060380K6FKEA |
RPP Controller | 2 | LM74502HDDFR |