CAN NETWORK
Steering InterfaceμController Module
Display InterfaceμController Module
Motor InterfaceμController Module
Driver Inputs
Signal Controller
Sensor Inputs
Vehicle Controls
Motor ControllerDriver Display
Wireless Modem
Battery ProtectCircuit
|Helio |Link Ltd.
•Functionally arrange components into 3 nodesNode #1: Motor Controller ModuleNode #2: Driver Display ModuleNode #3: Steering Column Module
•Connect the nodes using CAN technology•Develop common hardware at each nodeBased around the Freescale HCS12 CPUFlexible, to serve all I/O needs at each node
•Use CodeWarrior to develop software to control all of the network’s functionsSerial communicationsAnalog to Digital ConversionCAN interfaceLCD Driver DisplayInterrupt driven inputGeneral Purpose I/O
Auburn’s Solar Car Racing Team approached the Electrical Engineering department with a request for a networked system of microcontrollers to replace their current vehicle’s wiring harness to resolve these issues:
•Excess weight associated with the current harness•Reliability issues with the quantity of wires•Difficulty in modifying the electronics configuration•Driver safety issues resulting from component failures
Team |Helio|Link Is: |Mike Cornelison |Beau Eckerman |David Last |Aaron Steiner |Luke Stewart |Brian Whitehouse
• Increased communication among the three sections of the car
• Reduced weight• Increased reliability• Added level of safety• Easily reconfigurable / expanded
•Maximum power draw: 12W (1A @12VDC)•Minimize weight added to the vehicle•Keep development and production costs low•Replace all system I/O and communication with the CAN•Make functionally ubiquitous to driver and chase vehicle•Ensure safety of driver in case of network failures
•Developed a architecture capable of interconnecting all vehicle sub-systems•Designed custom node hardware for the CAN physical layer (not built)Powerful HC9S12 microcontrollerTwo CAN interfacesTwo RS-232 interfacesLCD controllerMixed signal input/output
•Coded control software to implement all I/O functions & serial communicationsCAN messaging and priority assignmentRS-232 control and pass-through capableADCLCD display controllerInterrupt driven user interfaceGPIO
Main FunctionMain Function
MotorController
Node
DisplayNode
SteeringControls
Node
MainFunction
Initialize CANMessaging
InitializeInput/Output Pins
InitializeLCD Display
InitializeSerial Interface
Clear Display
Read Throttle On/Off
Read MotorController Direction(Forward/Reverse)
Read MotorController On/Off
Display Current Speed
Display Desired Speed
Display CruiseControl On/Off
Display Trip Odometer
Display Throttle Position
Display Throttle On/Off
Display Up-Time Clock
Display MotorController On/Off
Display Motor Controller Direction (Forward/Reverse)
Display MPH/KPH
Transmit ThrottleOn/Off Over CAN
Transmit MotorController Direction
Over CAN
Transmit MotorController On/Off
Over CAN
Transmit SerialOver CAN
MPH/KPH PushButton Toggle
Receive CAN Messages
Receive Serial TrafficFrom Wireless Modem
Interrupts
InitializeSerial Interface
Initialize MotorController ForSerial Control
Initialize CANMessaging
Set Motor ControllerOn/Off
Set Motor ControllerMode
(Torque/Cruise)
Set Motor Direction(Forward/Reverse)
Set DesiredMotor Current
Set Target Speed
Read Page 1 Data
Transmit Serial TrafficOver CAN
Send Serial TrafficTo Motor Controller
Transmit SpeedOver CAN
Receive CAN Messages
Receive Serial TrafficFrom Motor Controller
Interrupts
MainFunction
Initialize CANMessaging
InitializeAnalog-to-Digital
Converter
InitializeInput/Output
Pins
Read Throttle Potentiometer
Send ThrottlePosition Over
CAN
Send CruiseControl Status
Over CAN
Send DesiredSpeed Over
CAN
MainFunction
Cruise Control On/Off
Cruise Control Increment
Cruise Control Decrement
Receive CAN Messages
Interrupts
•Displays vehicle information to the driver such as speed and throttle position•Features motor ignition, trip odometer, MPH/KPH toggle, and time-of-operation clock•Receives data from chase vehicle via RS-232 serial connection to wireless modem
•Allows driver to control throttle and braking using a potentiometer•Provides cruise control with increment/decrement controls•Sends throttle and cruise control information over CAN to motor controller and display
Freescale HC9S12DG128 Microcontroller:•16-bit HCS12 CPU•128kB Flash EEPROM, 8kB RAM, 2kB EEPROM•2x SCI, 3x CAN 2.0 A & B (1Mb/sec), I2C•2 8-channel, 10-bit ADCs•PWM, Enhanced Capture Timer•29 GPIO Lines•Low power operation modes
Panasonic PCA82C250N CAN Transceiver:•High speed (1Mb/s) transceiver module•Handles arbitration, packet formation
Texas Instruments MAX202 RS-232 Transceiver:• Dual RS-232 level converters and line drivers
ON Semiconductor MC34164 μC Supervisor:•Under-voltage & power-on reset sensing
64-pin Header:•Driver Display Interface•8-Channel ADC Connection•9 Interrupt Capable Inputs•8 Enhanced Capture Timers•22 GPIO
6-Pin ISP Connection:•Breaks out the ISP & In-system debug module
Network & Power Connector:•2-Wire CAN network interface•+12VDC Power in
|Helio |Link Ltd.
•Exchanges data with motor controller via RS-232 serial communication•Sends serial data from motor controller over CAN to display and steering node•Sends CAN data to motor controller over serial connection
μC
CAN0CAN4
RS-232RS-232
GPIO
Network
Wireless Modem
•Motor Ctrlr. Enable•Throttle Enable•Direction Toggle•Mph/kph Toggle•Odometer Reset
Push Buttons
Interrupts
Driver Display
μC
CAN0CAN4
RS-232RS-232
GPIOADC
Network
Motor Controller
•To turn signal & brake light controller
•Battery Current•Backup Battery Voltage•Solar Array Current
μC
CAN0CAN4
RS-232RS-232
GPIOADC
Network
Batter ProtectionCircuit
•Acceleration•REGEN
Push Buttons
Interrupts
•Cruise Control Set•Cruise Control Up•Cruise Control Down•Left Blinker•Right Blinker