High Side Driver Eval Board
For background research on topic of High Side vs Low Side switches see: Low Side vs High Side Drivers
Goals of Project
Currently we have servos and sensors on sub-system PCBs which are powered off the board. There are a number of shortcomings with the current setup:
- Cannot control which one is turned on (all on at once)
- Cannot reset any of them from software
- Cannot sense current and have fault detection
Using HSD should rectify these problems and make the electrical system more robust.
HSD Eval PCB
- Small PCB to test out capabilities of HSD. See altium project: https://github.com/uwrobotics/MarsRover2021-hardware/tree/master/Projects/EvaluationBoards/HIGH_SIDE_DRIVER
- 2 layers, Header for Pins to go to Nucleo and Screw Terminal for outputs to go to Electrical Load
- Learn about FW design for HSD and put infrastructure in place
- See how accurate current sensing is
- Test Fault Detection Capabilities, test various fault conditions
Chip Selection
List of Endpoints in Subsystems
Arm
Endpoint | Voltage | Current (Max) | Current (Steady) |
Servo - SG-90 | 4.8 - 6 V | 800 mA | 100-120 mA |
Gimbal
Endpoint | Voltage | Current (Max) | Current (Steady) |
Servo 1 - HS-1425CR | 4.8 - 6 V | 640 mA | 150 mA |
Servo 2 - HS-422 | 4.8 - 6 V | 800 mA | 150 mA |
Servo 3 - SG-90 | 4.8 - 6 V | 800 mA | 100-120 mA |
Science
Endpoint | Voltage | Current (Max) | Current (Steady) |
Lid Servo - SG-90 | 4.8 - 6 V | 800 mA | 100-120 mA |
Shovel Servo - HS-82MG | 4.8 - 6 V | 1800 mA | 280mA |
STEMMA sensor - STEMMA | 3 - 5 V | 200 mA | Unknown |
PDB
Endpoint | Voltage | Current (Max) | Current (Steady) |
Ultrasonic Sensor (x4) - URM04 | 5 V | Small ~2mA | NA |
Requirements
- Quad channel to be able to use on 3 outputs and have a spare channel for future expansion
- Must have current sensing capability
- Compatible with MCU logic levels
- Handle current limits of endpoints listed
- Prefer to use ST chips as we are sponsored by them
Options
Chip | Comments |
Price: $10 Current Output Max: 29A Manufacturer: ST | -input is 3.0V CMOS -provides a current proportional to load current according to known ratio -over/under voltage and thermal protection -intended to drive resistive or inductive loads with 1 side connected to GnD -if long overload duration occurs, device limits power and thermal shutdown occurs. Also has capability to automatically restart from thermal shutdown and resume operation once fault clears -2 pins per output -Vcc b/t 4.5 and 36V, typ 13V -Current sense range: Vcc - 41 to +Vcc -Supply current roughly 8 mA -Guide for GnD protection network vs reverse battery and guide to protect MCU i/o using resistor -can toggle current sensing -Max detectable current is given by Ilimh (29A), the max current before short circuit trip is 42A |
Price: $4.22 Current Output Max: 8A Manufacturer: ST | -Vcc b/t 4 to 28 V -Compatible with 3V and 5V CMOS outputs -Designed to drive 12V grounded loads -load current limitation, overload limitation via power -overtemp shutdown (can configure if latched or not) -multiplexed analog output pin gives: load current, Vcc voltage and chip temperature. Also detects overload + short circuit to Gnd/Vcc -can toggle current sensing -Added complexity of multiplex, but more information available -Supply current roughly 10 mA -Current monitor uses current mirror to provide a current proportional to load current according to ratio K (specified) → convert this Isense to a Vsense using external resistor -Isense is limited to 10mA (adjust K value based on max expected output current to achieve this) |
Price: $5.54 Current Output Max: 7A Manufacturer: ST | -Similar features as above, current sensing has dedicated pins (no multiplex) -Lower current rating |
Price: $7.35 Current Output Max: 13.5A Manufacturer: ST | -Similar features as above -No multiplex (just current sensing pins) |
Price: $3.53 Current Output Max: 5.6A Manufacturer: Infineon Technologies | -Has current sensing -Current sensing is multiplexed (select channel) -5.6A current limit at low voltages (~5V), closer to 7.5A for room temperature -open load detection when in ON & OFF -short circuit to battery & gnd indication -overtemp protection -stable diagnostic signal during short circuit -stable during undervoltage -reverse polarity protection -secure load turnoff during logic Gnd disconnects for external components |
Price: $3.66 Current Output Max: 800ma (in total) Manufacturer: TI | -Has current sensing via multiplex -short circuit and over temp protection -external adjustable current limiting feature from 250mA to 4 A -open load detection -undervoltage lockout -loss of GnD protection -if all channels are on, max nominal current recommended is 1.35A per channel |
Conclusion
We should select a ST chip because they have the greatest range in terms of output current capabilities with the highest range chip giving up to 29A in current sensing capabilities. This would allow future expansion to other endpoints in the robot that draw larger currents. It is also more convenient to use the ST line as we are sponsored by them and documentation is more readily available.
For testing purposes, the 2nd to highest current range chip can be used in this line of products: VNQ5050AKTR-E. This will be a good compromise between the really high current limit chip which is overkill for our current endpoints and the super low current limit chip which pushes the boundaries of the testing we can do. Unfortunately, this chip ran out of stock, so instead the VNQ5E160AK-E was used which is part of the same family but is a lower max current variant.
Resources for selected chip:
- Datasheet: https://www.st.com/content/ccc/resource/technical/document/datasheet/45/66/8a/19/6b/7c/41/fa/CD00163285.pdf/files/CD00163285.pdf/jcr:content/translations/en.CD00163285.pdf
- User manual: https://www.st.com/content/ccc/resource/technical/document/user_manual/ff/aa/3a/59/7a/25/40/9b/DM00061834.pdf/files/DM00061834.pdf/jcr:content/translations/en.DM00061834.pdf
- Application Note: https://www.st.com/content/ccc/resource/technical/document/application_note/3d/a1/c3/a0/fc/65/46/81/CD00004389.pdf/files/CD00004389.pdf/jcr:content/translations/en.CD00004389.pdf
- MCU (to check I/O requirements for interfacing, see section 6.3.17): https://www.st.com/content/ccc/resource/technical/document/datasheet/65/cb/75/50/53/d6/48/24/DM00141306.pdf/files/DM00141306.pdf/jcr:content/translations/en.DM00141306.pdf
PCB Design
Application Information from Datasheet
- Omit Rprot, not necessary for MCU
- Omit GnD Protection Network not necessary
Rsense Calculation
From the user manual, Rsense is given as:
Rsense = K * Vsense / Iout
- Rsense = resistor used to generate Vsense which gives the MCU a value corresponding to the output current (Ohms law)
- Iout = output current of load which is being monitored
- K = ratio relating Iout to Isense
Thus, from figure 9 it can be seen K is about 465 for low currents (use case for our endpoints). The MCU ADC pins can handle up to 3.3V and we would like to test using the Electronic Load from Midnight Sun up to 5A. This gives:
Rsense = 465 * 3.3V / 5A =~ 307 Ohms. Select 220 Ohm resistor from altium library to use 0603 component (using lower resistance means a voltage lower than 3.3V is the upper limit which is fine)
Firmware
TDB
Findings
TDB