Spent some time over the past week or so developing the BMS ECU. This is the second of three PCBs I'm making for this project. Basically, it handles everything having to do with the battery.
The feature list is:
- 6 CAN busses
- Powertrain CAN (to talk to the inverter and other nodes which will utilize high voltage)
- Pack 1 CAN (for talking to one of the two strings of batteries
- Pack 2 CAN (for talking to the other one)
- Charger 1 CAN (for controlling one charger)
- Charger 2 CAN (for controller the other one)
- Range Extender CAN (Just in case)
- Battery current sensing (for state of charge calculation)
- Contactor control
- Welded contactor detection
- Automatic Precharge
- J1772 (EVSE) Interface for use of public charging stations
- Charge port RGB LED driver
- HV safety interlock loop
- HV isolation monitoring
Individual CAN busses are required for each battery and each charger because each identical item is an identical node and cannot share a bus. Additionally, the chargers and batteries have different speed CAN busses. It makes for a complex product, but it will do the job. Everything will come together and be controlled over the vehicle CAN bus.
The third board I need to design will be the "gateway" ECU. This will be the bridge between the powertrain CAN bus and the rest of the car (gauges, throttle pedal, key switch, etc). The gateway source code will be open source to allow the system to work with other projects in other platforms. It can be a simple Arduino with a CAN shield and a proto shield, or the ECU I will design.
All three ECUs will be based on the Teensy 3.1. I'm really loving this little device!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.