Video summary

Embedded Systems and Design & Development - Feb 19, 2026 | Morning | VisionAstraa EV Academy

Main summary

Key takeaways

Technology

Summary — Embedded systems design for a Battery Thermal Management System (BTMS)

Session: VisionAstraa EV Academy — Feb 19, 2026 (morning)

Goal / client requirements

  • Maintain battery-cell temperature in the operational “Goldilocks” range: 15°C to 35°C.
  • If battery temperature > 80°C, isolate the battery from charger/load to prevent thermal runaway.
  • If ambient/pack temperature < 5°C on cold start, enable a heater until the pack reaches ~15°C before operation.

System architecture (high level)

  • Temperature sensing (NTC thermistor) → ADC on microcontroller → control logic (MCU) → actuator(s).
  • Actuators:
    • Compressor motor (circulant coolant) controlled via power electronics using PWM.
    • Heater and isolation relays for protective actions triggered by temperature thresholds.
  • Cooling approach: active convection by circulating coolant (compressor speed controls coolant flow rate).

Hardware components & topology

  • Sensor
    • NTC thermistor mounted near the hottest spot (center of pack) to design for worst-case temperature.
    • Signal conditioning (filtering, voltage scaling) recommended between thermistor and ADC.
  • MCU
    • Arduino Uno / ATmega328 (ADC: 10-bit resolution).
    • ADC: 10 bits → 0–1023 counts. Typical counts-per-volt: ~204.6 counts/V (0–1023 over 0–5 V).
    • Example ADC pin in demo: A3.
    • PWM pins available: six on UNO; example PWM used: digital pin 3.
    • Serial debug: baud 9600.
  • Motor & power electronics
    • DC motor used in simulation to represent coolant compressor (simplified).
    • N-channel MOSFET as a low-side switch (gate ← PWM from MCU; drain ← motor; source ← ground).
    • Freewheeling (flyback) diode placed antiparallel across the motor for inductive protection.
    • Motor power supply separate from MCU supply (demo used a 9 V battery).
    • PWM technique: control motor speed by duty-cycle modulation; Arduino analogWrite range 0–255 maps to 0–100% duty.
  • Topology notes
    • Keep motor power separate from MCU supply where applicable.
    • Include signal filtering to avoid noisy ADC readings.

Control logic & mapping

  • Temperature-to-actuation mapping (example mapping used in session):
    • ≤ 15°C → no coolant circulation (motor off).
    • ≈ 20°C → small coolant flow (~20% motor speed).
    • ≈ 25°C → moderate flow (~50%).
    • ≥ 35°C → full speed (100% duty).
  • Protective logic
    • If temperature > 80°C → open isolation relays (cut charge/discharge).
    • If temperature < 5°C on startup → enable heater until pack reaches ≈ 15°C.
  • Sensor characterization and conversion
    • Plot temperature (x) vs sensor voltage (y) and fit a linear relation y = m·x + c; invert to compute temperature from measured voltage.
    • Map ADC counts → voltage → temperature:
      • ADC_count → voltage using counts-per-volt → temperature via inverted linear equation.
  • Integrated control loop (conceptual)
    • Read ADC → compute temperature → determine PWM duty (or heater/isolation actions) → write PWM (0–255) to MOSFET → motor/compressor speed changes.

Software / simulation workflow (tutorial-style)

Tools shown: Tinkercad (circuit simulation & component slider), Serial Monitor, simulated multimeter.

Typical steps demonstrated:

  1. Place MCU and temperature sensor in Tinkercad; wire VCC/GND/analog output to ADC pin.
  2. Write basic Arduino code: configure pins, initialize Serial at 9600, use analogRead(A3), Serial.print raw ADC values.
  3. Characterize sensor extremes with the Tinkercad slider and record voltages/ADC counts (examples given below).
  4. Add motor, MOSFET, freewheeling diode and separate power source; connect MOSFET gate to PWM pin.
  5. Implement PWM control with analogWrite(pin, value) where value ∈ [0,255] maps to duty cycle ∈ [0%,100%].
  6. Test motor speed changes during simulation; debug with serial output and multimeter.
  7. Combine sensor reading and PWM mapping into the final control loop (read ADC → convert to temperature → choose duty → analogWrite).

Important practical points / best practices

  • Place temperature sensors at the worst-case/hottest location (center of pack).
  • Always include a flyback/freewheeling diode across inductive loads (motors) to protect MOSFETs.
  • Use datasheets and example code; experimentally characterize sensors if the datasheet is unavailable.
  • Debug incrementally: validate sensor reading first, motor control separately, then integrate (bottom-up testing).
  • Keep power supplies separate for motors and the MCU where applicable.
  • Use signal conditioning and filtering on ADC inputs to reduce noise.
  • Document mapping functions and thresholds; test edge cases thoroughly.

Numerical / implementation snippets

  • MCU ADC: 10-bit (0–1023).
  • Example sensor voltages observed in simulation:
    • ≈ 0.1 V at -40°C
    • ≈ 1.75 V at 125°C
  • Example linear fit form: y (voltage, V) = m·T(°C) + c. (Instructor worked through deriving m and c from sensor endpoints.)
    • Example values used in the demo: m ≈ 0.01 V/°C and c ≈ 5 — verify against actual datasheet before use.
  • ADC to voltage scaling: ~204.6 counts per volt (0–1023 over 0–5 V).
  • PWM write range: 0 → 0% duty, 255 → 100% duty.
  • Serial baud used: 9600.

Example conversion sequence (conceptual)

  • ADC_count → voltage:
    • voltage = ADC_count / (counts_per_volt)
  • voltage → temperature:
    • temperature = (voltage - c) / m
  • temperature → PWM duty:
    • map temperature to a 0–255 analogWrite value according to the chosen temperature-to-actuation mapping.

(Verify m and c against the actual thermistor datasheet or by experimental characterization.)

Tools & resources mentioned

  • Tinkercad (circuit simulation with component slider).
  • qext.in (instructor shared source code; code retrieval via code RQBG).
  • Simulated multimeter and Serial Monitor for validation.
  • ATmega328/Arduino Uno example code and datasheets.

Project & process notes

  • Recommended workflow: follow system-level spec → decompose into subtasks → assign → implement and test subtasks → integrate.
  • Bottom-up testing and incremental validation emphasized.
  • This session is part of a knowledge-transfer series; upcoming topics include battery charging methods (CC, CV, float voltage, etc.).

Source: Instructor from VisionAstraa EV Academy (session host). No individual name provided in the subtitles.

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video