Summary of "Embedded Systems and Design & Development - Feb 19, 2026 | Morning | VisionAstraa EV Academy"
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:
- Place MCU and temperature sensor in Tinkercad; wire VCC/GND/analog output to ADC pin.
- Write basic Arduino code: configure pins, initialize Serial at 9600, use analogRead(A3), Serial.print raw ADC values.
- Characterize sensor extremes with the Tinkercad slider and record voltages/ADC counts (examples given below).
- Add motor, MOSFET, freewheeling diode and separate power source; connect MOSFET gate to PWM pin.
- Implement PWM control with analogWrite(pin, value) where value ∈ [0,255] maps to duty cycle ∈ [0%,100%].
- Test motor speed changes during simulation; debug with serial output and multimeter.
- 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.
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.
Preparing reprocess...