Skip to content
Noah Erickson edited this page Apr 11, 2015 · 12 revisions

Solution

The final design will consist of a small black box with the following attributes:

  • Contains the microcontroller
  • Houses the display screen
  • Has a plug for power and CAN connectivity
  • Is waterproof and robust against racecar conditions
  • Is small as possible based on screen size constraints

The final design will consist of a designed printed circuit board that contains:

  • The ATSAM3X Microcontroller
  • CAN Transceivers
  • Power supply (voltage regulators, capacitors)
  • Terminal for programming
  • Terminals for power and CAN connectivity

Block Diagram

Interactions

  • The power supply will deliver power to both the LCD display and the microcontroller.
  • The display will present the GUI to the driver.
  • The microcontroller will gather information from the CAN bus via the CAN transceivers.
  • The microcontroller will interpret CAN data and send values to the display unit.

Hardware

Mainboard

The mainboard will be designed to house the microcontroller, power supply and other necessary components for their functionality. The final mainboard will be a printed circuit board.

Microcontroller

The microcontroller will be the brains of the digital dash. It will acquire messages sent across the CAN bus and decide what information is needed to be displayed on the dash. The microcontroller will connect to the CAN bus and the display. The microcontroller used will be an ATSAM3X. The ATSAM3X is a 32-bit, 84-MHz microcontroller that will operate quick enough to handle the messages being transmitted on the CAN bus. The ATSAM3X is also the microcontroller found in the Arduino Due, which is planned to be used on the electric vehicle. The microcontroller will be located on the mainboard.

CAN Transceiver

The CAN transceiver that will be used is a MCP2551. The MCP2551 interprets signals from the CAN bus and converts them into signals the CAN controllers on the Arduino Due can use. The electric vehicle has two CAN buses, one from the PM100 motor controller, and one from the battery management system (BMS). These CAN buses have different baud rates and cannot be simply connected to each other. Therefore, we will need two MCP2551s to connect each of the Arduino Due's CAN controllers to their respective bus. The MCP2551 comes in either a through hole or surface mount package. The CAN transceiver will be located on the mainboard.

Power Supply

The power supply will deliver power to the display and the microcontroller. The power supply will draw power from the 12V rail that is supplying the VCU and will be stepped down through voltage regulators to 5V. There will be plenty of bypass capacitors in order to reduce voltage spikes seen across the components. The power supply will be located on the mainboard.

Voltage Regulator

The voltage regulator that will be used is an LM7805 or a variation of it. The voltage regulator has an input that ranges from a steady 6-12V and an output of 5V. The device comes in either a through hole or surface mount package. The voltage regulator will be located on the mainboard.

Display

The display will visually output the information that is passed to it from the microcontroller. It will be capable of displaying color and will be visible in direct sunlight. The display must be large enough to see from the drivers viewpoint but also small enough to fit on the dash. The display will be a 4D Systems’ uLCD-35DT-AR. A polarizing shield will be placed over the screen to ensure that it can be read in sunlight.

Software

Microcontroller

The microcontroller will handle all the logic behind determining what to do with the input CAN data. The microcontroller will gather data from the two CAN buses, process the incoming data, and then send the processed data to the screen over TTL serial. The screen has its own graphics processor to handle the graphical heavy lifting. The following is an example of how to send data to the screen:

`WriteObject();

Arduino Due CAN Library

We are using the Arduino Due CAN library from collin80 on Github to recieve CAN messages. The library supports both polling and interrupt methods of handling CAN messages. Our project will be using an interrupt driven method.

GUI Design

The graphical user interface (GUI) will be the selling point of the digital dashboard that the customer will interact with and remember. It will be the visual output on the display and will be as simple as possible. The GUI will use a black background to minimize clutter and will have three large icons indicating BMS status, IMD status, and system temperatures. The battery voltage will be displayed in a simple manner with blocks dedicated to percentages of battery life.

Prototyping

The Arduino Due conveniently contains the majority of the components needed to create the proposed final design. The Viking Motorsports team is working on moving all their electrical systems over to use an Arduino Due. The digital dash team is planning on using an Arduino Due to prototype the digital dash mainboard. The final design will not contain the Arduino Due due to size constraints. The ATSAM3X microcontroller is the brains of the Arduino Due which will allow all of our prototype code translate over to the final product.