Difference between revisions of "VMS ECU"
(ecu updates) |
m (added pictures) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[https://sites.google.com/pdx.edu/viking-motorsports Viking Motorsports] (VMS) Engine Control Unit (ECU) is the main control board of a custom made electric race car for [http://fsaeonline.com/ Formula SAE]. Its development was supported by [https://www.pdx.edu/cecs/the-beta-project Beta project] and the board was designed, assembled and tested at [https://www.pdx.edu/cecs/home College of Engineering, Portland State University] in 2016. The board runs stock Paparazzi sofware as a base. | [https://sites.google.com/pdx.edu/viking-motorsports Viking Motorsports] (VMS) Engine Control Unit (ECU) is the main control board of a custom made electric race car for [http://fsaeonline.com/ Formula SAE]. Its development was supported by [https://www.pdx.edu/cecs/the-beta-project Beta project] and the board was designed, assembled and tested at [https://www.pdx.edu/cecs/home College of Engineering, Portland State University] in 2016. The board runs stock Paparazzi sofware as a base. | ||
[[File:ECU beta project poster 2017.jpg|500px|thumb|right|ECU beta project poster]] | |||
[[File:Vms_ecu_car.JPG|250px|thumb|right|ECU installed in the race car]] | |||
[[File:Vms_ecu_car2.JPG|250px|thumb|right|ECU and the race car at Portland State University display]] | |||
== Current status == | == Current status == | ||
Line 29: | Line 36: | ||
<gallery widths=200px heights=200px> | <gallery widths=200px heights=200px> | ||
File:ECU_pcb.jpeg|200px|ECU v1.0 PCB | |||
File:ECUv1-0_PCB.jpeg|200px|ECU v1.0 assembled PCB | File:ECUv1-0_PCB.jpeg|200px|ECU v1.0 assembled PCB | ||
File:ECU_v1_test.jpeg|200px|ECU v1.0 during I/O testing | File:ECU_v1_test.jpeg|200px|ECU v1.0 during I/O testing | ||
Line 38: | Line 46: | ||
<gallery widths=200px heights=200px> | <gallery widths=200px heights=200px> | ||
File:Ecu_pinout.png|200px|ECU v1.0 I/O pinout | File:Ecu_pinout.png|200px|ECU v1.0 I/O pinout | ||
File:Ecu_v-1-0_top.png|200px|ECU v1.0 board top-view | |||
</gallery> | </gallery> | ||
Line 158: | Line 167: | ||
== Schematics and | == Schematics and board files == | ||
The ECU is a fairly complex board, as shown in schematics below. The Eagle schematics and board files are on [https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/viking, Github] | |||
<gallery widths=200px heights=200px> | <gallery widths=200px heights=200px> | ||
File:Ecu_schematics_1.png|200px| Power (12V, 5V, 3.3V, 1.8V) | File:Ecu_schematics_1.png|200px|Power (12V, 5V, 3.3V, 1.8V) | ||
File:Ecu_schematics_2.png|200px| MCU, SD card | File:Ecu_schematics_2.png|200px|MCU, SD card | ||
File:Ecu_schematics_3.png|200px| IMU, CAN, Serial, GPS | File:Ecu_schematics_3.png|200px|IMU, CAN, Serial, GPS | ||
File:Ecu_schematics_4.png|200px| Intel Edison | File:Ecu_schematics_4.png|200px|Intel Edison | ||
File:Ecu_schematics_5.png|200px| Digital outputs | File:Ecu_schematics_5.png|200px|Digital outputs | ||
File:Ecu_schematics_6.png|200px| Digital inputs | File:Ecu_schematics_6.png|200px|Digital inputs | ||
File:Ecu_schematics_7.png|200px| Analog inputs | File:Ecu_schematics_7.png|200px|Analog inputs | ||
File:Ecu_schematics_8.png|200px| Analog outputs | File:Ecu_schematics_8.png|200px|Analog outputs | ||
File:Ecu_pinout.png|200px| Deutsch-TM 48-pin header | File:Ecu_pinout.png|200px|Deutsch-TM 48-pin header | ||
</gallery> | </gallery> | ||
== Gerber files == | |||
Also available on [https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/viking, Github]. | |||
== Ordering and assembly == | |||
<img src="https://oshpark.com/assets/badge-5b7ec47045b78aef6eb9d83b3bac6b1920de805e9a0c227658eac6e19a045b9c.png" alt="Order from OSH Park"/> | |||
There is a shared project on [https://oshpark.com/shared_projects/lcWBfZeH OshPark] - $307 for 3 PCBs | |||
There is Digikey BOM for easy ordering [https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/viking here] (some additional parts like the enclosure and the Aspirin IMU have to be ordered separately). |
Latest revision as of 14:12, 14 April 2017
Viking Motorsports (VMS) Engine Control Unit (ECU) is the main control board of a custom made electric race car for Formula SAE. Its development was supported by Beta project and the board was designed, assembled and tested at College of Engineering, Portland State University in 2016. The board runs stock Paparazzi sofware as a base.
Current status
As of February 2016, the hardware is essentially mature (revision 1.0) and it runs Paparazzi (an example airframe configuration is provided). More software development needs to be done in order to comply with Formula SAE rules.
Features
- 4 layer PCB board for better EMI
- Fully waterproof enclosure (IP-65 rated) and 48-pin Deutsch-TM header
- ARM Cortex-M4 168MHz MCU
- Intel Edison as a linux companion computer
- SD card logging on both MCU and Intel Edison
- Wifi & Bluetooth connectivity (Intel Edison)
- 2x insulated CAN bus
- 2x RS232
- 4x Analog input (5V)
- 2x Analog output (5V)
- 2x Digital input (Switch-to-Ground)
- 6x Digital input (Switch-to-Battery)
- 2x High-Side digital output
- 4x Low-side digital output
- 12-24V power input
- 5V power output
- Reverse polarity and overvoltage input protection on all I/O
- AspirinIMU with 3-axis gyro, accel and magnetometer and MS5611 barometer
- Ublox GPS with external antenna
- USB/JTAG for programming/debugging
The board is fully enclosed in a waterproof enclosure, and is intended to be used in harsh and dusty environments, such as automotive racing.
Pinout
Pins Name and Type are specified with respect to the ECU board. Note that the headers are in the order A-C-D-B (left to right, looking at the board from the top - component side). The pinout is designed so the related pins are adjacent in the wiring harness.
Pin # | Name | Type | Description | Color |
---|---|---|---|---|
1 | GND | PWR | For analog sensors | Black |
2 | 5V | PWR | For analog sensors | Yellow |
3 | AIN1 | IO | Analog input 5V | Orange |
4 | GND | PWR | For analog sensors | Black |
5 | 5V | PWR | For analog sensors | Yellow |
6 | AIN2 | IO | Analog input 5V | Orange |
7 | GND | PWR | For analog sensors | Black |
8 | 5V | PWR | For analog sensors | Yellow |
9 | AIN3 | IO | Analog input 5V | Orange |
10 | GND | PWR | For analog sensors | Black |
11 | 5V | PWR | For analog sensors | Yellow |
12 | AIN4 | IO | Analog input 5V | Orange |
Pin # | Name | Type | Description | Color |
---|---|---|---|---|
1 | GND | PWR | For digital inputs | Black |
2 | DIN_STG1 | IO | Switch to ground | Magenta |
3 | GND | PWR | For digital inputs | Black |
4 | DIN_STG2 | IO | Switch to ground | Magenta |
5 | GND | PWR | For power in | Black |
6 | VIN | PWR | 12-24V power in | Red |
7 | DIN_STB1 | IO | Switch to battery | Pink |
8 | DIN_STB2 | IO | Switch to battery | Pink |
9 | DIN_STB3 | IO | Switch to battery | Pink |
10 | DIN_STB4 | IO | Switch to battery | Pink |
11 | DIN_STB5 | IO | Switch to battery | Pink |
12 | DIN_STB6 | IO | Switch to battery | Pink |
Pin # | Name | Type | Description | Color |
---|---|---|---|---|
1 | GND | PWR | For analog outputs | Black |
2 | AOUT1 | IO | Analog output 5V | Light Tan |
3 | GND | PWR | For analog outputs | Black |
4 | AOUT2 | IO | Analog output 5V | Light Tan |
5 | GND | PWR | For high-side drivers | Black |
6 | VOUT | PWR | 12-24V power out (directly connected to VIN) for low-side drivers | Red |
7 | CAN1_H | IO | CAN high | Blue |
8 | CAN1_L | IO | CAN low | Cyan |
9 | GND | PWR | For high-side drivers | Black |
10 | VOUT | PWR | 12-24V power out (directly connected to VIN) for low-side drivers | Red |
11 | CAN2_H | IO | CAN high | Blue |
12 | CAN2_L | IO | CAN low | Cyan |
Pin # | Name | Type | Description | Color |
---|---|---|---|---|
1 | GND | PWR | For RS232 | Black |
2 | SERIAL_IN1 | IO | RS232 input (12V) | Green |
3 | SERIAL_OUT1 | PWR | RS323 output (12V) | Light Green |
4 | GND | PWR | For RS232 | Black |
5 | SERIAL_IN2 | IO | RS232 input (12V) | Green |
6 | SERIAL_OUT2 | PWR | RS323 output (12V) | Light Green |
7 | DOUT_LS1 | IO | Low-side output | Brown |
8 | DOUT_LS2 | IO | Low-side output | Brown |
9 | DOUT_LS3 | IO | Low-side output | Brown |
10 | DOUT_LS4 | IO | Low-side output | Brown |
11 | DOUT_HS1 | IO | High-side output (12V) | White |
11 | DOUT_HS2 | IO | High-side output (12V) | White |
Schematics and board files
The ECU is a fairly complex board, as shown in schematics below. The Eagle schematics and board files are on Github
Gerber files
Also available on Github.
Ordering and assembly
There is a shared project on OshPark - $307 for 3 PCBs
There is Digikey BOM for easy ordering here (some additional parts like the enclosure and the Aspirin IMU have to be ordered separately).