The precharge circuit runs entirely based on hardware (i.e. no firmware is required).
Fig 1. Pre-Charge HV Sch - HV line for pre-charging
...
- Fundamental gates (AND, OR, NOT, etc.)
- SR Latches (go to the datasheet for logic diagram and truth table)
Fig 5. Pre-Charge Logic Sch - Optoisolator and MC Contact Driver Contactor Fig Fig 6. Motor Interface Pcb - Optoisolator (U5) Fig 7. Pre-Charge HV Sch - Pre-charge switch off
The first IC on the left of figure 5 is an optoisolator (or optocoupler) used to interface between the HV and LV sides of the board. You can see this in figure 6, the optoisolator spans across a gap where the HV side (top) is isolated from the LV side (bottom). Following the latch previously mentioned, when ISO_LATCH_OUT outputs a logic high, the MOSFET (basically a switch) is closed connecting the cathode (CAT) pin to ground. This connects the circuit from the anode (AN) completing the circuit and powering the GaAsP LED inside the IC. When this happens, the Vo will output a logic high and close the MOSFET (switch) to the contactor driver. This signals the relay connecting HV directly to the motor controllers to close.
Figure 7 shows the port for another output of ISO_LATCH_OUT taken from the SR latch. This controls the 2 N-channel MOSFETS in the HV circuit which in turn controls the P-channel MOSFETs connecting the pre-charge resistors to HV. When ISO_LATCH_OUT outputs a logic high, the first N-channel closes, which opens the second N-channel. This closes the paired P-channel MOSFETs disconnecting HV.