Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • The data sources for the telemetry system are:

    1. The system CAN bus of the car

    2. A GPS module attached to the raspberry pi running the telemetry system

    At a minimum, the things that should be logged via telemetry are:

    • Battery stats (voltage, temps, state of charge, estimate of distance remaining)

    • Relay states (MCI, BMS HV, BMS ground, solar, charger) → need to ask what these are

      • kind of like a light switch: when you switch it on, the module turns on

      • safeties

      • BMS - battery management system

        • thing that monitors the battery packs

    • Solar stats (voltages, temperatures, other)

    • Power consumption (unsure on this, potentially able to pull data from power distribution)

    • Charging (current, voltage, time-to-full, etc.) → what else is in the etc lol

    • GPS data (initial condition + offset) → starting position, then how much you’ve travelled from there

    • Velocity/Speed (unsure on this)

    • Warnings in case something goes terribly wrong

  • DBC file – gives list of all the available messages that could be sent

  • All the data that telemetry will read

  • Go through this to get full list of technical requirements

  • pay special attention to the CAN messages

Glossary of Terms

  • GUI: Graphical User Interface

  • ETL: Extract, Transform, Load – data processing, loading it into something where you can read it

  • RAW: appears to be an image file format. Not sure if this refers to a data file format

  • AFE: Active Front End – some electrical thing. Likely not relevant

  • SOC: State Of Charge – the level of charge of an electric battery relative to its capacity

    • Basically, 0% (drained battery) to 100% (fully charged)

  • Discharge/bleeder resistor: discharges the electric charge stored in the capacitors when the equipment is turned off, for safety reasons

  • Bus (electrical): a big connector (often a bar – “busbar”) where any number of loads are connected in parallel

...

List of Technical Questions for Avery

  • Explain what battery modules are, and their architecture

  • What prevented Solar Sense from working? Was there any warning?

  • Go through table and explain stuff

List of Recruitment Questions for Avery

  • Is it one person who’s devoted to using the telemetry dashboard, or multiple?

  • What roles on firmware use the telemetry dashboard?

    • Will they be doing different things with telemetry? If so, what?

  • Who do you recommend we talk to?

  • Do you know anyone who used the MSXII dashboard?

Leads to speak to for MSXIV

  • Hardware – James Lin

  • Firmware – Ryan Dancy, Mitchell Osler

  • Strategy – Emma Wai

MSXII

  • Aaron Tan

  • Taiping

List of User Questions

  • When something goes wrong with the car, what’s the first thing you look at?

  • What data would be most catastrophic to miss?

  • Are there any indicators that tell you something is going wrong?

  • What data do you look at the most often?

  • What data is looked at the least often?

  • Do you have a process or checklist that you do when checking telemetry data? Tell me each step.

  • When you manually calculate data, can you tell me how you do it?

    • Use excel? By hand?

    • Do you throw out outliers?

  • What information do you need to find in order to calculate data?

  • How large of a dataset do you need to view?

    • All the data from the last x months?

    • X number of data points?

  • How do you separate datasets?

  • What datasets do you view at the same time? Is it important to be able to view them at the same time?

...

Title

User Story

Importance

Notes

Readable Summary

The overview GUI should be legible in full screen, with all the data above the fold.

Must Have

This is critical, since all the important information should be distilled into a form where they are available at a quick glance.

  • We need to ask what data they want in the overview GUI and how they want it to be displayed

  • “above the fold” implies scrolling. Would they rather the data be on one big screen and scrolling, or a tab/menu system with multiple screens?

Data Logging

All data should be logged to a database

Must Have

This is probably going to take some careful thought into table design in order to partition the tables correctly.

  • Need to figure out how they want to partition the tables

  • How to give them flexibility to organize tables?

  • you can query the data you want from the tables

    • can search for specific messages, timestamps

    • sort tables

  • they’re in datamode DB

Most of this will be for strategy purposes during the race, which will probably operate on a week's worth of data at most (realistically probably just the previous day). I can see the data being used for ad-hoc queries after the race, in order to explore various characteristics of our design.

I think this has lower priority than getting the GUI complete, as we can always log to a file and then perform ETL afterwards.

RAW data mode

There should be a way for someone to view the raw messages if the visualization is not working (or doesn't provide that information).

Should Have

There must be a way to view the raw data (aka "Console Mode")

  • Plaintext scroll of data, essentially, (esp if the GUI breaks)

In CAN system, each device will send messages in binary

DynamoDB converts the 1s and 0s into actual readable data

  • Check RAW data to see if the data transferred properly

Speedometer reading

The GUI should display the speed

Must Have

We should have the option to switch between km/h and miles/h

Cruise control setting

The GUI should display the currently set cruise control target

Must Have

Average speed over interval

The GUI should have the option of displaying the average speed over an interval (say 15 minutes)

Should Have

I found this extremely useful during ASC 2018, when choosing our cruising speed during the hilly parts.

It's not critical for telemetry, but it is pretty important for strategy. I found that typically, we would end up averaging slower than our target speed by 10-15 kmph, due to the variation in road grades.

Battery pack module stats visualization

The GUI should display the battery pack module stats (voltage, temperature) in a visualization of the pack.

If there is room on the main tab to display this, that would be ideal, otherwise it can go in a separate tab.

Should Have

Personally, I would like to see something like what Kentucky or Delft has implemented. Especially with our pack layout being split into a master/slave box, I think having the telemetry GUI representation reflect that layout would be really nice.

I propose that we colour code the cells (like Kentucky), and then make the individual battery modules smaller (like Delft).

This physical layout visualization isn't critical for telemetry/strategy, but it helped me understand hardware faults (on the AFE) as well as which areas of the pack required additional attention. I got around this during ASC 2018 with a separate spreadsheet that I marked out the pack layout in, which I would cross-reference against my data readings. It can also help visualize the temperature distribution inside the pack. 

Total Pack Voltage

The GUI should display the total pack voltage

Must Have

This allows us to spot check SOC calculations and perform power calculations

  • gives the sum of all the individual cells on the battery pack

  • make sure battery pack is operating at a good voltage

    • if drawing too much current, voltage falls

    • if one thing draws too much current that affects how well other components work

Battery pack module voltage

Assumption: module is a set of cells, battery pack is the collection of modules

Battery pack module temperature

  • to make sure the battery doesn’t explode

    • just like how your computer has a fan

    • alert

Maximum module voltage

The minimum/maximum module voltages are used to determine how unmatched modules affect our capacity when charging/discharging (the minimum module affects our capacity when discharging, and the maximum module affects our capacity when charging). 

  • some modules may have higher voltages than others (unmatched) – slightly off – DOUBLE CHECK this definition

Minimum module voltage

The GUI should display the minimum module voltage.

Must Have

Average module voltage

During ASC 2018, I manually calculated this as the average discounting any outliers (ie. module inputs exhibiting hardware faults, unbalanced modules).

  • isn’t the point of having this to know if something’s off? (ie to find a dead module)

  • outliers should be included?

  • ask people

Battery pack current

Must Have

If the current is too high, something’s off

  • ie something is shorted

Discharge resistors enabled

At FSGP/ASC 2018, there were some concerns as to whether or not the AFE could handle enabling more than 1 bleed resistor per AFE, given we had observed that the board would heat up a significant amount. A new board revision is supposed to fix this, but we should follow up with this requirement when that is completed.

This would also allow provide us with an interface to remotely enable bleed resistors.

This can probably go underneath a separate tab that isn't the Main Dashboard.

Motor Controller Temperature

The GUI should display the motor controller temperature

Must Have

  • make sure it doesn’t overheat

Motor Controller Status Flags

The motor controller gives us the following error flags:

  • Hardware Overcurrent

  • Software Overcurrent

  • DC bus Overvoltage

  • Bad motor position hall sequence

  • Watchdog reset

  • Config read error

  • 15 V rail voltage lockout

And the following limit flags (which determine what control loop is limiting output):

  • Bridge PWM

  • Motor Current

  • Velocity

  • Bus Current

  • Bus Voltage Upper Limit

  • Bus Voltage Lower Limit

  • Heatsink Temperature

Having this would have been critical for ASC 2018, where we dealt with a lot of issues with our motor controllers.

Motor Controller Bus Measurement

The GUI should display the motor controller bus current and bus voltage.

  • Motor controller turns the wheels, controls speed

Motor Controller Velocity Measurement

Motor Controller Phase Current Measurement

Motor phase current used for the 3 phase BLDC motors

  • Motor controller receives AC

Motor Voltage Vector Measurement

Motor Current Vector Measurement

Motor BackEMF Measurement / Prediction

  • Can use voltage generated by a spinning motor to infer the speed of the motor's rotation, for use in better controlling the motor in specific ways

  • Need to ask what they’re using this data for

15 V & 1.65 V Voltage Rail Measurement 

2.5V & 1.2V Voltage Rail Measurement

Fan Speed Measurement

Sink & Motor Temperature Measurement

Air In & CPU Temperature Measurement

Air Out & Cap Temperature Measurement

Odometer & Bus AmpHours Measurement

This is really useful in order to correlate telemetry data with road data.

Solar Sense (MPPT) input

Since we didn't have solar sense working at ASC 2018, we resorted to measuring the current entering the pack from the BMS (by coasting).

This would be useful because:

  1. It allows us to verify that the array is connected

  2. View the energy output from the array