I’m making lots of progress on my robotic control boards, but I’ve run in to an interesting problem, and I’m wondering if there are best practices or approaches that I should consider using.
In my robot, I have 8 independent and identical motor/sensor control modules that communicate over CAN-FD. These modules each have their own complete power management systems, including separate batteries and a battery management system with powerpath set up for the currents required to drive everything. I want to run power wires alongside the CAN-FD path, so that I can have a single high-power charging port. I’ve designed the hardware to allow the boards to communicate over the CAN-FD bus, decide which boards can draw how many amps, and then they’ll begin charging. The power propagates through terminal blocks at a max of 40V 3A (BMS limit), and the CAN-FD propagates through RJ10 connectors with its own independent 5V power for the isolated side of the transceivers.
The challenge is this: the boards are almost fully isolated from one another right now, thanks to the galvanically isolated CAN-FD transceivers. I want to isolate the long power distribution rails from the boards, to reduce EMI due to the long wire connected to all the grounds, and to protect from destructive transients.
I’ve considered a couple topologies for this power distribution tier:
- Directly connect the high power to the PCB and include 40V TVS diodes and chokes at each board’s input. (allows for charging when fully discharged and allows for charge sharing via OTG reverse mode from the battery in emergencies)
- Use a DPST relay with flyback diode protection to physically isolate the power bus (requires some battery power to start charging; OTG reverse mode wastes even more power; physically large)
- Use 24VAC on the power rails and a transformer for isolation (physically large; cannot use OTG reverse mode power sharing; not sure whether simply rectified AC is compatible with the charging IC’s input)
- I don’t think I can use MOSFETs instead of a relay–wouldn’t those suffer the same ESD/transient risks, being a CMOS device?
Are there other approaches or pros/cons that I should consider?