Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Basically their design is split across 2 screens

What's interesting here is the fact that they've implemented Remote Cruise Control. We considered doing something similar to this for Battery Module Discharging, but at FSGP 2018, we passed BPS scrutineering before we could make those changes.

This is their battery tab, which displays the pack status.

Image Added


Detailed Design

The proposed approach was originally inspired after a realization that having a working realtime telemetry system would be really useful for the race. Our previous "telemetry system" involved the driver periodically radioing back sensor data displayed on the vehicle dash to the chase car.

...

The goal is to offload as much work to the more powerful desktop client as possible, so that essentially the telemetry board on the car simply wirelessly streams CAN message data out.

Onboard Telemetry

Storage Requirements

...

Software Requirements

TitleUser StoryImportanceNotes
Data TransmissionThe data should be transmitted to the chase car via the XBeeMust Have

This can probably just be a simple pass-through over UART.

During FSGP/ASC 2018, we implemented Consistent Overhead Byte Stuffing (COBS) in our CAN-UART link, which was shared with our telemetry. I don't think we really had any issues with this.

Data LoggingThe data should be logged to a local SD card/flash drive

...

as well, in a CSV format (or raw CAN message data, as long as we can parse it out)

...

Hardware Requirements

If we are planning on entering WSC (where vehicle interiors have been known to exceed 50C), we should ensure that at minimum, our electronics can operate at 60C. In addition, ideally the power draw is as low as possible.

Desktop Telemetry Client Data

Realtime Data ("Critical" information)

  • Battery pack data
    • Voltage
      • Minimum Cell voltage
      • Maximum Cell voltage
    • Current
    • Temperature
    • State of Charge
  • Motor controller data
    • Voltage
    • Motor Current
    • Motor temperature
  • Maximum Power Point Tracking (MPPT)
    • Array Power
  • Status
    • Current cruise control value
    • Current limits

Energy Consumption Data

  • Driving energy broken into battery kWh
  • charging loss

State of Charge Data

  • Trip start/end SoC
  • Current SoC

GPS/Speed/Positional Data

...

  • Hall-effect sensor is mounted near the rotational path of the magnet
  • As wheel rotates, the south pole of the magnet causes the Hall-effect sensor to generate some voltage
  • An capture/compare timer interrupt fires at each rising/falling edge, and using the circumference of the wheel, estimates the speed
  • We could potentially do something similar if we don't trust the motor controller's RPM readings

...

.

SD Card driverAn SD card driver needs to be written

FatFS bring-upWe should integrate FatFS by providing stubs to the SD card driver

GPS driverA GPS driver needs to be written.Must HaveWe need GPS data in order to determine where we are on the route. This is also useful in correlating where we are on the route.

Hardware Requirements

TitleUser StoryImportanceNotes
Reliable transmission to chase vehicleThe method of transmission must be able to be received from a chase vehicleMust HaveThis should have at least 12 m of range, in case the chase car gets cut off by another car (which actually did happen 3-4 times during ASC 2018).
SD card readerThe hardware should have a SPI interface that allows for a SD cardMust Have
Be able to listen on the system CAN busThe hardware should have a CAN transceiver that allows the board to listen on the system CAN busMust HaveThis is probably going to be covered by the Controller Board.
Operating TemperaturesElectronics must be able to operate at a minimum of 60 CMust Have

Desktop Telemetry Client Requirements

Software Requirements

TitleUser StoryImportanceNotes
Readable SummaryThe 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.

Data LoggingAll data should be logged to a databaseMust Have

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

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.

Speedometer readingThe GUI should display the speedMust HaveWe should have the option to switch between km/h and miles/h
Cruise control settingThe GUI should display the currently set cruise control targetMust Have
Average speed over intervalThe 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.

Total Pack VoltageThe GUI should display the total pack voltageMust HaveThis allows us to spot check SOC calculations and perform power calculations
Battery pack module voltage


Battery pack module temperature


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). 
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).
Battery pack current
Must Have
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 TemperatureThe GUI should display the motor controller temperatureMust HaveThe 
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 MeasurementThe GUI should display the motor controller bus current and bus voltage.

Motor Controller Velocity Measurement


Motor Controller Phase Current Measurement

Motor phase current used for the 3 phase BLDC motors
Motor Voltage Vector Measurement


Motor Current Vector Measurement


Motor BackEMF Measurement / Prediction


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




Energy Consumption Data

  • Driving energy broken into battery kWh
  • charging loss

Transmission to Chase Car

  • CAN network broadcasts messages to the telemetry board
  • Telemetry board wirelessly broadcasts data to the chase car

Data Retention

  • The on-board telemetry system should be capable of storing at least a day's worth of data
  • Data received by the telemetry client should be logged as well, and timestamped

Technology

  • Implement a message parser for received CAN data packets

...