OVMS and the Tesla Roadster Charge Time Predictor

Updated April 14, 2014 to add section on charging efficiency.

Charging an electric vehicle is pretty easy: just like my cell phone, I plug it in when I get home and it's fully charged in the morning. It doesn't matter how long it takes because I'm not waiting for it to finish; the car just charges up and waits for me.

That's pretty much the whole story for local driving, but I like driving electric so much I prefer to do longer trips electrically rather than burning gas. On those longer trips, it can be helpful to know how long a charge will take. To help figure out charge times in our Roadster, I did a study in 2010 on how charge rates and energy efficiency vary with available power and published a blog with the results. That blog has a table that shows charge rates for various charge rates from 120V/12A up to 240V/70A.

Charge Rate Ideal Miles
per Hour
Current Tapering Begins At:
Std % Std IM Range % Range IM
120V - 12A 3.3
120V - 16A 5.1
240V - 16A 13 93 179 82 205
240V - 24A 20 94 180 82 205
240V - 32A 28 93 178 82 207
240V - 40A 36 93 178 81 204
240V - 48A 42 91 174 80 201
240V - 70A 61 84 161 75 188

That charge rate table is handy, but it has some limitations:

  • It's a pain to load up the web page and do the math.
  • It covers the full range of charging options from the lowest to highest power rates, but it doesn't cover every possible rate, e.g. lots of sites are on 208V circuits instead of 240V.
  • It's specific to our car and the moderate temperatures in our garage.

The situation also gets more complex as the charge gets near the top and the car starts tapering the charge rate to pamper the battery pack, so calculating the charge time to full is more complicated than just looking at the available power. The graph below from the original study shows how the charge rate tapers down from various power levels.

Finally, since the Roadster has an active thermal management system that cools (or heats) the pack to keep the battery temperature in the best range, and that system uses power, the charge rate also depends on temperature, something my original study didn't address at all.

To build a more complete charge time predictor, I'd need to get charge data across a wide range of power levels and ambient temperatures, develop a charge tapering profile to use for calculating time-to-full, and I'd need to do this for each of the Roadster's three charging modes. This would require capturing a giant amount of charge data, which would need to come from Roadsters in different climates since the temperature in our Pacific Northwest garage doesn't vary much.

Open Vehicle Monitoring System

The Open Vehicle Monitoring System (OVMS) is an open source hardware and software project created by Mark Webb-Johnson, based in part on earlier work done by Scott Swazey who created the Tesla Tattler. OVMS consists of a $130 device that plugs into the car to both collect information and send commands. The device can interact with the driver via SMS messages and/or relay through a web server which communicates with smartphone apps. Since initial deployment on the Roadster, OVMS has been expanded to support other vehicles, all through volunteer support from vehicle owners.

Because the device sends data to a server and that data is stored (for a limited time period), there was a vast amount of charge data accumulated ready to be studied. Mark was kind enough to get me an anonymized capture of that data, 179 MB of data from 126 devices. The data is stripped of all identifying information, so I can't tell anything about the car or owner: no location or even VIN number. I can't tell if a given car is an early Roadster 1.5 in southern California, or a late 2.5 in Norway. What I get is records about every 10 minutes while the car is charging that tells me the time, SOC %, ideal miles, charge mode, charge voltage and amperage, various temperature readings, and the odometer.

Analyzing Charge Rates

I was able to extract data on just over 7,000 usable charging sessions. The graph below shows the available kW vs. temperature for each session. If you don't speak Celsius, 0°C is 32°F and 40°C is 104°F. Temperatures that are much above 40°C are probably due to situations where the Roadster ambient temperature sensor is sitting in direct sunlight on a hot day.

You can see clusters around common charge rates. The two lowest groups are at 1.44 kW (120V/12A) and 1.92 kW (120V/16A), and there are big groups around 7 kW (240V/30A) and 9.6 kW (240V/40A).

I wrote code to march through the data, identify records that correspond to each charge session, calculate the charge rate for the portion of each charge where the car is drawing the maximum allowed current for a steady power level, and note where tapering begins. I then sliced the data to see how temperature affects the charge rate at a given charge level. For example, the graph below shows the steady power charge rate (in ideal miles per kWh) vs. the average ambient temperature sensor reading for all of the charge sessions between 6.8 and 7.2 kW.

The data shows a slight downward trend in charge rate with increasing temperature, which is reflected by the downward slope of the best-fit straight line approximation to the data. There is, however, a lot of variation in the data. Other factors (battery temperature, enclosed or open-air charging, battery pack starting temperature, etc.) have more effect on the charge rate than what can be predicted by knowing the average ambient temperature sensor reading during the charge, so the model can't predict differences in charge times from those external factors.

Using this data slicing, I was able to build a model that predicts the steady-state charging rate for power levels from 1.4 to 16.8 kW. The model incorporates a reasonable data set from a little below freezing to 40° C (104° F). Beyond that temperature range, there's isn't a lot of supporting data, so the model doesn't cover cases where battery heating is required or where battery cooling is extreme.

Modeling Charge Tapering

To figure out tapering curves, I looked at the onset of tapering for each charge mode. Below is the graph of the standard mode data showing the ideal miles at which tapering begins by charge rate.

Once again, you can see that there's a pretty clear trend, reflected by the best-fit straight line, but there's also a lot of variation. Part of the variation is because different cars have different capacities in their battery packs. A nominal new pack will charge up to about 192 ideal miles in Standard mode, but a more well-traveled pack might only charge up to 170 ideal miles. Those two packs will taper the charge rate differently. To build the tapering profile, I had to allow for differences in the capacity of the cars in the data set and adjust accordingly.

The Charge Time Predictor

Doing this fairly giant amount of data analysis, I was able to build a charge time predictor function that is now incorporated in both OVMS and the Tesla Tattler. As you can see from the variation in the vehicle charging data, it's impossible to be perfect for every car, but the charge time predictor generally hits the mark within 30 minutes or 10% of the charge time. It doesn't do as well in temperatures below freezing or much above 100°F, or when the car is charging in a small, enclosed garage, or if the ambient temperature sensor doesn't reflect the actual air temperature, etc., but for common conditions, it seems to be doing a pretty good job.

In addition to the general variation in the data, there's another issue that affects charge times. Occasionally, the Roadster will charge up to the expected charge level (ideal miles) in about the time I expect, but then keeps going. For example, our Roadster generally charges to about 180 ideal miles in Standard mode, but sometimes it will hit 180 and just keep going, perhaps taking another 30 or 40 minutes to finish, showing a charge level that's wildly implausible, like over 190 ideal miles. Ten minutes after the charge, when the car recomputes the actual energy in the battery based on post-charging data, the charge level will drop back to the expected level. So these exceptionally long charge sessions don't seem to actually put any extra energy into the pack, despite the end-of-charge reading. I suspect the car is leveling the individual brick charge levels. When this happens and makes the charge run late, if I need to leave, I just interrupt the charge and go.

Good for the Driver, the Car, and the Utility

Having a charge time predictor enables a whole new charging feature: the ability to set the end time for a charge. This is important for two reasons.

First, when I'm doing a full range mode charge prior to a long drive, I'd really like the charge to finish shortly before I'm ready to leave. When charged to full, the Roadster runs the coolant pump to keep the battery temperature cool and equalized, which drains power. I'd rather be driving on those electrons for both the added range and energy efficiency.

Second, it's nice for the utility. Since we first got the Roadster, we've used the built-in charge timer to delay charging until off-peak hours. Our utility doesn't have time-of-use (TOU) rates, so we don't get any financial benefit, but it's still the right thing to do. Unfortunately, this creates a problem as we get more EVs on the road. If everyone sets their car to charge at some even hour, like midnight, that creates a surge for the utility. In areas where TOU rates are in effect, you can see this effect in the data collected by the EV Project. Using the charge time predictor with the new OVMS "charge by" feature, I can set the charge to end around a specific time, so the start time varies with how much energy I use driving each day. Since the actual charge time varies from the predicted time, even the end time varies, so there won't be a big instant spike or drop at either end of the charge for vehicles that set a charge end timer. That's good for the grid.

Charging Efficiency

Although not directly related to charge time prediction, the data set also allows for examining how charge rate effects efficiency. Using the model developed for the charge time predictor, the graph below shows how charging efficiency varies with charge rate. Charging efficiency is expressed as Wh per ideal mile, so smaller numbers are better.

This shows that in moderate temperatures, charging efficiency increases with charge rate. There's a huge improvement between 120V/15A (1.44 kW) and 240V/24A (7.68 kW), but after that there's a much more gradual improvement with increasing charge rates.


The charge time predictor for the Tesla Roadster is available in the latest firmware versions of OVMS and the Tesla Tattler and also on the Tesla Roadster Charge Time Predictor page.

About this Entry

This page contains a single entry by Tom Saxton published on December 8, 2013 3:50 PM.

The Hybrid Garage was the previous entry in this blog.

2018 Nissan LEAF Test Drive is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.