Telemetry & Body Control Module | Formula UBC SAE | STM32/Raspberry Pi Development Board

by Dmytro Bobkov in Circuits > Electronics

851 Views, 0 Favorites, 0 Comments

Telemetry & Body Control Module | Formula UBC SAE | STM32/Raspberry Pi Development Board

cover.png
2layer.png

This Telemetry & Body Control Module was designed in Altium for the Formula UBC SAE Design team to control the pneumatic system for paddle shifting and DRS, along with providing a new telemetry development platform using a Raspberry Pi A+ and breakout modules to monitor vehicle performance.

The board features:

  • 8 low-side switches for "body control" ie. actuating pneumatic solenoids
  • 12 configurable analog/digital inputs
  • 2 SPI interfaces
  • 4 I2C interfaces
  • 3 UART interfaces
  • CAN transceiver
  • USB-C connection

Configure MCU Pinout

mcu pinout.png
mcu schematic.png

Begin by referring to the STM32 datasheet along with STM32CubeIDE to help configure the pinouts of your microcontroller along with the required accompanying circuitry.

Design Output/Input Circuitry

switch.png
switch channels.png
AD.png

Select components based on your requirements and use indicator LEDs to help troubleshoot where possible.

The body control module output uses Infineon low-sided "HITFET" switches for pneumatics control as there are many different models available in the same package/pinout which is important in the context of the current global chip shortage where one model may go out of stock overnight. These switches feature a built-in gate driver and protection circuitry, and for further protection against inductive loads like solenoids, a flyback diode was added to each channel. Each channel features its own output LED and a pull-down resistor and capacitor at the input to prevent any chance of unintended switching from noise.

The inputs to the body control module are generally digital switches that pull 12V to ground when closed, or low-speed (less than 100V/s) 0 - 5V sensors for inputs like Accelerator Pedal Position. To allow for either kind of input there is an on-board dip-switch to change the voltage divider at each channel to operate from 0 - 5V or 0 - 12V. Before this voltage divider there is a buffer op-amp to ensure a high input impedance so we don't draw current from the sensor that may affect its reading. The op-amp has the added benefit of being able to drive an LED for visual feedback .

For digital input there is also a dip-switch to activate a pull-up resistor to 12V so that the pin sees 12V until a button/switch pulls the pin to ground when the switch is closed (ie. active low switches).

Finally, there is a 3.3V zener diode at the input of the pins to protect against overvoltage.

Design Power Supply Circuitry

supply.png

Select power supplies based on the required maximum voltages and currents for circuits and peripherals.

This module may draw more current when connected to telemetry modules and the Raspberry Pi, therefore the power supply must be able to supply enough current for the expected maximum values from these devices and the on-board circuitry.

Research what is best for your application. Generally, switching converters (a buck converter in this case) are better for delivering more current efficiently, and linear regulators are better for low-ripple applications like analog sensing or MCU power.

Combine Schematics on a Top Level

top.png

It is good practice to make each section of the board its own schematic. A top-level schematic combines all the inputs/outputs from these schematics to show a near overview of the circuit board layout.

This module uses a TE Superseal Autosport header connecting to the wiring harness, along with on-board headers from the communication protocols to telemetry modules (2x20 pin headers) and the Raspberry Pi (40 pin header).

PCB Layout

1.png
2.png
3.png
4.png

PCB layout can be the most tedious (but also fun) part of the design process and there are many rules/guidelines, don't get intimidated because the best way to learn is through experience of doing it and researching online.

For this board there is a 4-layer stackup - meaning that there are signals on the two outside layers and the two inside layers are reserved as power planes and ground planes. Try different layouts and orientations of schematic components to minimize trace lengths and keep components for each section of the board close together. Avoid routing sensitive circuitry like high speed circuitry or analog circuitry next to high current/switching traces that may couple with the noise sensitive traces and introduce noise.

Verify Layout and Create BOM

3d.png

Find someone to review your design with and check for any error in the layout or schematic, once it's fabricated you can't go back. For ease of diagnostics, don't forget about adding test points and LEDs!

Additionally, if you plan to mass-produce your design, you can select your components from the JLCPCB parts library so you can have the board automatically assembled using JLCPCB's pick-and-place assembly process.

Order PCB Using JLCPCB

Screenshot 2022-01-18 134421.png

A big thank you to JLCPCB for sponsoring our design team!

Formula UBC regularly orders various development boards from JLCPCB and we have always received great customer support, amazing prices starting at $2/PCB, and quick turnaround for our orders.

To begin an order from JLCPCB simply upload your exported .zip file of Gerber and NC Drill Files to their online viewer and select the PCB details for the board you designed.