Bird
Raised Fist0
EV Technologyknowledge~10 mins

State of Health (SOH) monitoring in EV Technology - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to read the battery voltage for SOH calculation.

EV Technology
voltage = read_sensor([1])
Drag options to blanks, or click blank then click option'
Abattery_voltage_sensor
Btemperature_sensor
Ccurrent_sensor
Dspeed_sensor
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing a sensor that measures current or temperature instead of voltage.
2fill in blank
medium

Complete the code to calculate SOH percentage from capacity values.

EV Technology
soh = ([1] / nominal_capacity) * 100
Drag options to blanks, or click blank then click option'
Avoltage
Bnominal_capacity
Ccurrent_capacity
Dtemperature
Attempts:
3 left
💡 Hint
Common Mistakes
Using nominal capacity instead of current capacity in the numerator.
3fill in blank
hard

Fix the error in the SOH update function by completing the missing keyword.

EV Technology
def update_soh([1]):
Drag options to blanks, or click blank then click option'
Aself
Bbattery
Ccapacity
Dvoltage
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting 'self' causes errors when accessing instance data.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps cell IDs to their SOH values above 80%.

EV Technology
healthy_cells = {cell_id: [1] for cell_id, [2] in cell_data.items() if soh > 80}
Drag options to blanks, or click blank then click option'
Asoh
Bsoh_value
Dcapacity
Attempts:
3 left
💡 Hint
Common Mistakes
Using inconsistent variable names for unpacking and value.
5fill in blank
hard

Fill all three blanks to filter and map battery cells with SOH below 50%, returning their IDs and SOH.

EV Technology
low_soh_cells = [1](cell_id: [2] for cell_id, [3] in cells.items() if soh < 50)
Drag options to blanks, or click blank then click option'
Adict
Bsoh
Dcapacity
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong function instead of dict(), or mismatching variable names.

Practice

(1/5)
1. What does State of Health (SOH) monitoring primarily measure in electric vehicle batteries?
easy
A. The current speed of the vehicle
B. The remaining battery capacity compared to when it was new
C. The temperature inside the battery pack
D. The total distance the vehicle has traveled

Solution

  1. Step 1: Understand SOH definition

    SOH measures how much battery capacity remains compared to its original capacity.
  2. Step 2: Differentiate from other metrics

    Speed, temperature, and distance are unrelated to SOH's main purpose.
  3. Final Answer:

    The remaining battery capacity compared to when it was new -> Option B
  4. Quick Check:

    SOH = Remaining capacity % [OK]
Hint: SOH = battery health as percentage of original capacity [OK]
Common Mistakes:
  • Confusing SOH with vehicle speed
  • Mixing SOH with battery temperature
  • Thinking SOH measures distance traveled
2. Which of the following is the correct way to represent SOH as a percentage in a monitoring script?
easy
A. soh = (battery_capacity / original_capacity) * 100
B. soh = battery_capacity / original_capacity
C. soh = battery_capacity - original_capacity
D. soh = battery_capacity + original_capacity

Solution

  1. Step 1: Calculate SOH as a percentage

    SOH is the ratio of current to original capacity multiplied by 100 to get a percentage.
  2. Step 2: Check formula correctness

    Only soh = (battery_capacity / original_capacity) * 100 correctly multiplies the ratio by 100 to express percentage.
  3. Final Answer:

    soh = (battery_capacity / original_capacity) * 100 -> Option A
  4. Quick Check:

    Percentage = ratio * 100 [OK]
Hint: Multiply ratio by 100 to get percentage [OK]
Common Mistakes:
  • Forgetting to multiply by 100
  • Using subtraction instead of division
  • Adding capacities instead of dividing
3. Given the following code snippet, what will be the output?
original_capacity = 100
battery_capacity = 85
soh = (battery_capacity / original_capacity) * 100
print(f"SOH: {soh:.1f}%")
medium
A. SOH: 85.0%
B. SOH: 0.85%
C. SOH: 100.0%
D. SOH: 185.0%

Solution

  1. Step 1: Calculate SOH value

    85 divided by 100 equals 0.85, multiplied by 100 equals 85.0.
  2. Step 2: Format output string

    The print statement formats SOH to one decimal place, showing '85.0%'.
  3. Final Answer:

    SOH: 85.0% -> Option A
  4. Quick Check:

    0.85 * 100 = 85.0 [OK]
Hint: Divide then multiply by 100 for percentage output [OK]
Common Mistakes:
  • Misreading decimal as percent
  • Adding capacities instead of dividing
  • Ignoring formatting precision
4. Identify the error in this SOH calculation code snippet:
original_capacity = 100
battery_capacity = 90
soh = battery_capacity / original_capacity * 100
print("SOH is " + soh + "%")
medium
A. Missing parentheses around division
B. Incorrect formula for SOH calculation
C. Using print without parentheses
D. Type error when concatenating string and float

Solution

  1. Step 1: Analyze SOH calculation

    The formula is correct; division and multiplication order is fine without extra parentheses.
  2. Step 2: Check print statement

    Concatenating string and float without conversion causes a TypeError.
  3. Final Answer:

    Type error when concatenating string and float -> Option D
  4. Quick Check:

    Convert float to string before concatenation [OK]
Hint: Convert numbers to strings before concatenation [OK]
Common Mistakes:
  • Assuming formula is wrong
  • Ignoring type conversion in print
  • Thinking print syntax is incorrect
5. You want to alert the maintenance team if SOH drops below 70%. Which code snippet correctly implements this check?
soh = 65
if soh < 70:
    print("Alert: Battery SOH is low!")
else:
    print("Battery SOH is healthy.")
hard
A. The code alerts when SOH is above 70%
B. The code alerts only when SOH is exactly 70%
C. The code correctly alerts when SOH is below 70%
D. The code has syntax errors and won't run

Solution

  1. Step 1: Understand the condition

    The if statement checks if SOH is less than 70, which is true for 65.
  2. Step 2: Verify output behavior

    Since 65 < 70, it prints the alert message correctly.
  3. Final Answer:

    The code correctly alerts when SOH is below 70% -> Option C
  4. Quick Check:

    soh < 70 triggers alert [OK]
Hint: Use < 70 to check low SOH alert [OK]
Common Mistakes:
  • Using <= instead of < causing off-by-one
  • Confusing alert condition direction
  • Assuming syntax error due to < symbol
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard