FixTheRobot Explore Robotics / Systems Engineering / Engineering Guides / Module 03

Engineering Guides · Module 03

Electrical protection and thermal management

Protect the wire first, the converter second and the load third. Heat is the loss times the thermal resistance.

  • Intermediate
  • Module 03: Actuators, Motors, Electrical & Power Integration
  • Written for ROS 2 Jazzy where ROS 2 is used
  • Sources checked 2026-11-05

Assumptions: Numbers in the examples are illustrative and the code is executed by the site’s tests. Type and characteristic summaries are general engineering knowledge; always confirm values on the datasheet of the part you use.

1. Engineering problem

Faults are certain over a robot’s life: shorts, reversed connectors, stalled motors, blocked fans. Protection limits the damage; thermal design keeps normal operation below component limits.

2. When is this needed?

  • During the electrical design.
  • When a motor or converter runs hot.
  • Before field operation.

3. Selection and design decisions

Common protections: fuse or circuit breaker at the source, reverse-polarity protection, inrush limiting for large capacitors, over- and under-voltage cutoff in the BMS, a hardware emergency stop that removes motor power independent of software, and temperature sensing.

Overview
ProtectionProtects against
Main fuse near the batteryShort circuit in the harness
Branch fusesA fault on one branch
Reverse polarity (diode, MOSFET, keyed connector)Wrong battery connection
Pre-charge or inrush limiterContact welding and sparks on connection
BMS cut-offCell over- and under-voltage, over-current
Hardware emergency stopHazardous motion: removes drive power without software
Temperature sensingOverheating of motors, drivers and batteries

4. Advantages and disadvantages

  • Fuse speed and rating: too small blows on start-up; too large does not protect the wire.
  • Passive cooling is silent and sealed; fans move more heat and add dust ingress and a failure point.
  • Derating keeps parts cooler and lengthens life at a cost in size.

5. Requirements and constraints

  • Fuse current rating below the wire rating; voltage rating above the pack voltage.
  • The emergency stop does not depend on the main computer.
  • Every part stays below its datasheet maximum temperature at the highest ambient in the ODD.

6. Architecture

battery ─▶ main fuse ─▶ contactor / e-stop ─▶ branch fuses ─▶ loads
temperature sensors ─▶ controller ─▶ derate or stop

7. Implementation

  1. List the faults to survive (short, reverse connection, stall, blocked cooling).
  2. Place the protection near the source of each branch.
  3. Estimate the loss in each part and the steady temperature: ΔT = P × Rth (thermal resistance from the datasheet).
  4. Estimate motor winding temperature from the resistance rise if you can measure it (below).
  5. Test: trip each protection on purpose in a safe setup and confirm the robot reaches a safe state.
alpha = 0.00393
def winding_temp(r_cold, t_cold, r_hot):
    return (r_hot / r_cold - 1) / alpha + t_cold
print(f"winding temperature: {winding_temp(0.50, 20.0, 0.62):.1f} C")
rth, p = 4.0, 12.0
print(f"steady rise with {rth} K/W and {p} W: {rth * p:.0f} K, at 30 C ambient -> {30 + rth * p:.0f} C")

Printed (checked by the site’s tests):

winding temperature: 81.1 C
steady rise with 4.0 K/W and 12.0 W: 48 K, at 30 C ambient -> 78 C

Reading it: copper’s resistance rises about 0.393 % per °C (a standard handbook temperature coefficient, 0.00393 per °C, not sourced from a document here). A winding that measured 0.50 Ω at 20 °C and 0.62 Ω now is at about 81 °C. A part with 4 K/W thermal resistance dissipating 12 W rises 48 K, so it reaches 78 °C in a 30 °C ambient. Values are illustrative.

8. Real examples

  • AMR: main fuse at the battery, BMS cut-off, a hardware e-stop contactor in series with the motor drivers, and a thermistor on each motor.

9. Failure scenarios

  • E-stop implemented only in software.
  • A fuse with a voltage rating below the pack voltage failed to clear a short.
  • Thermal estimate done at 20 °C ambient for a robot used at 40 °C.

10. Troubleshooting

  1. If a fuse blows, find the fault before replacing it.
  2. If the motor is hot, compare the winding temperature estimate with the datasheet limit.
  3. If a fan fails, check the thermal margin without it.

11. Validation

  • The example prints the values above (executed by the site tests).
  • Each protection was triggered in test and the robot reached a safe state.
  • Steady temperatures are below limits at the highest ambient in the ODD.

12. Engineering checklist

13. Further references

  • Datasheets of the fuses, converters, motors and batteries (voltage rating, thermal resistance, maximum temperature). Machine safety requirements for the e-stop depend on the applicable standard for your robot and are not covered here.

Related on FixTheRobot