Embedded Hybrid Controller team here! We’ve been having a blast configuring the main controller for the car, messing around with data communication, and learning about Simulink.
Just so you know this year we’re building a parallel hybrid where the motor and internal combustion engine (ICE) drive the rear axle. This has led us down a long and windy path of torque splitting, torque vs. speed control, and other hybrid vehicle control algorithms. We’re still diggin into it but here’s a quick view of our initial attempt at simulating the powertrain:
This is a top level diagram and we’re working at getting all the different components such as the engine and motor working in unison. We have a mentor at MathWorks that is teaching us to use Simulink and model hybrid vehicles. Shout out to Wit! Thanks!
On the hardware front we have made considerable process! By that I mean all the hardware is chosen and working! We’ve got a very fancy oscilloscope that can decode CAN messages to help us debug and we’re using an Arduino Mega with a CAN-BUS and RS-485 shield to transmit CAN messages from the motor controller, engine control unit (ECU), and battery management system (BMS) to our controller. So far we are not hooked up to the actual components but we are testing our hardware by generating CAN signals from the scope and sending those out. The controller itself is from SunEdison and has a Freescale iMX286 processor and can act as a Wi-Fi host. Here’s a few pictures to make this description a little more clear
So we do have communication between devices that send CAN messages (ECU, motor controller, and BMS in theory) and the controller, but what good is data if you can’t share it!?
Part of our project is to display data (engine RPM, engine temperature, battery state of charge, etc.) in real time to help diagnose performance issues. To do this we will activate the controller as a Wi-Fi host and display the data on a web app we are building. This is to be developed in the winter, for right now we’re a bit tied up with creating and validating test procedures for the hardware.
We’ve done a lot of work but there is a lot more to do! We’ll update you again soon!