Summary
For the 2023/24 season, I was responsible for designing a centralized “Vehicle Controller” to consolidate many of the power, telemetry, and protection systems around the previous vehicle. This helped to simplify the vehicle electrical and firmware architectures. The main design goals of the Vehicle Controller PCB were:
- Intelligently distribute up-to 500 Watts of Low Voltage system power to several loads
- Enable live wireless telemetry for the first time in the team’s history
- Actively monitor for a wide range of electrical faults to accelerate fixes
- Provide an accessible electrical interface for debugging vehicle firmware
- Simplify vehicle wire harnessing by routing wires between sub-harnesses on-board
Vehicle Controller v1.0 PCBA, 3D View in Altium Designer
2023/24 Vehicle “Quadruna” at Competition in Formula SAE Michigan Electric
High-Level Schematic Design
Schematic design started from the high-level goals that were defined at the start of the project. A basic block diagram was drawn to show high-level circuit abstractions and connections in order to start developing an understanding of the technical requirements to implement the design goals. Over the course of the schematic design, the top level schematic was designed based on the initial block diagram in order to capture the high-level details of the design and act as an schematic interconnect between individual circuits and the off-board components such as wire harness connectors and radio modules.
Top level schematic in Altium Designer
Power Distribution and Monitoring
A Formula SAE Electric car has multiple electrical elements scattered around the vehicle to account for a variety of sub-systems such as sensors, cooling, driver interface, high-voltage battery management, and more. At the start of the project, I estimated a worst case load of 500 Watts through our entire 24 Volt vehicle architecture, which would require segmentation of loads to reduce power failure propagation between sub-systems and reduce current transients on system power-on. Segmentation of the low voltage electrical system was done by using multiple high-side load switches on the Vehicle Controller to control separate sub-systems. Each load switch was controlled by a central STM32H7 microcontroller and had diagnostic and fault handling features such as current monitoring, short and open load detection, and over-current protection. These design features allowed for accurate monitoring and protection of several electrical loads, as well as load power sequencing on power-on to reduce the current transient requirements on the low voltage vehicle supply.
Dual channel high side load switch schematic, instantiated multiple times
Supply voltage and current monitoring was also implemented to indicate supply faults such as under-voltage or over-current. This was done using voltage sensing op-amp buffer circuits to map a 24 Volt range to a 3.3 Volt range that would be compatible by our microcontroller, and hall-effect current sense IC’s which were also connected to the microcontroller ADC peripherals. In addition to supply fault detection, these circuits allowed for firmware detection of supply presence, such as when the vehicle was plugged into an external wall outlet power adapter for different power management profiles.
Power supply voltage sensing circuit and ORing diode supply select circuit schematic
PCB Layout
The layout for the Vehicle Controller was a time consuming process due to the large amount of components and the physical layout and routing considerations associated with them. A 4-layer PCB stack-up was chosen for the following layer functions:
- (Sig/PWR) Routing high-speed/impedance-controlled signals over a uniform ground plane
- (GND) Uniform ground plane for low impedance return paths for top layer
- (GND/PWR) Wide polygons for high-current conduction with segmented ground pours
- (Sig/PWR) Routing low-speed signals and additional power
A 6-layer stack-up could have been justifiable in terms of design complexity, but the associated costs from our PCB vendor were much higher when compared to the chosen 4-layer design.
Microcontroller Fanout
Based on our microcontroller hardware peripheral and compute power needs, we chose to use the STM32H7 microcontroller in an LQFP-100 (100 pin) package. This constituted a large jump in the fanout complexity since the design utilized 90% of the pins and considering the team’s previous largest package of LQFP-64 (64 pin). Some of the major obstacles to routing included power rail decoupling capacitors, which were placed approximately 1mm away from pins around the package to reduce supply voltage ripple under current transients. An external high-precision crystal oscillator used to keep accurate CAN bus timing and boost internal clock speeds also obstructed a large portion of the pins. The general approach to solving the problem of routing was to do physical layout planning during the schematic stage of the design. Approximate physical locations of connectors and circuits in relation to the microcontroller were sketched out before making connections to the microcontroller schematic page so that pins could be intelligently selected based on their use and physical proximity. The STM32CubeMX software was then used to provide a graphical interface for selecting pin-outs while seeing their physical locations on the microcontroller package.
Top layer microcontroller fanout