Control Freaks

Hi There,

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:

simulink_model_overview

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

Our very fancy, touchscreen, oscilloscope that can decode CAN messages
Our very fancy, touchscreen, oscilloscope that can generate and decode CAN messages
PCAN adapter (replaced by RS-485 shield), Arduino with CAN-BUS shield
PCAN adapter (replaced by RS-485 shield), Arduino with CAN-BUS shield
Connection to the console port on the controller
Connection to the console port on the controller
CAN signals generated by the scope received by the controller!
CAN signals generated by the scope received by the controller!

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!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s