I am working on designing and creating a solar powered car for the Solar Car Challenge. The car will have to race from Dallas, TX to Minneapolis, MN in 5 days (~5 hours of driving a day) along back roads. My team is still in the planning/concept generation phase and I'm in charge of designing the solar array. To begin designing, I need to first know how much power the car will consume per hour.

My textbook gives the power consumption of a car as $$ P_{w} = F_{foward}v = (F_{roll}+F_{air})v $$ where $F_{roll} = \mu_{r}mg$ and $F_{air} = (1/2) C_{d}A\rho v^2 $. I'm assuming a rolling resistance coefficient of 0.017, a drag coefficient of 42, and the estimated mass and frontal area of the car are 275 kg and 2.45 m$^2$, respectively. I thought a good way to estimate the minimum required speed $v$ would be to get the elevation of the route (Google Maps with "avoid highways and toll roads" selected) at various points and plug it into the formula above.

Using this elevation finder, I was able to get the elevation at a certain distance for ~27,000 points and export the data into Excel. If I understand correctly, $V(t)$ would be given by $$ V(t) = \frac{\left(\sum _{n=1}^{27298}\sqrt{dx^2+dy^2}\:\right)}{dt} $$

Where $dx$ is a change in horizontal distance, $dy$ is a change in elevation, and $dt$ is change in time. I have the data and I have the equation, but I'm not sure how to convert this into something that Excel can use to get my speed.

Here is the spreadsheet of all the data points.

  • $\begingroup$ If this is an assignment for work or school, giving us the task description/problem statement might be the easiest way to make clear what you're trying to accomplish. $\endgroup$
    – Air
    Oct 15, 2015 at 0:06
  • 1
    $\begingroup$ @Air Sorry about that; I've edited it to include more information. $\endgroup$
    – Sameer
    Oct 15, 2015 at 14:47
  • $\begingroup$ Cd of 0.42 is too high for a well designed vehicle. More like 0.3 should be achievable. | Vertical height energy = mgh and power required = mgh/t. eg a 300 kg vehicle ascending 100m in 1 hour - Power = mgh/t = 300 x 9.8 x 100 /3600 ~= 82 Watts. | Of course you'll have drive train losses and Panel to motor and panel to battery to motor. $\endgroup$ Oct 16, 2015 at 4:54
  • $\begingroup$ the elevation is wrong with google maps. $\endgroup$ May 7, 2017 at 20:45
  • $\begingroup$ @RussellMcMahon A Cd of 0.3 is too high. A typical solar car will have a Cd < 0.08 measured in a wind tunnel. $\endgroup$
    – DLS3141
    Aug 9, 2017 at 13:50

4 Answers 4


Having done this before when I was in college on the solar car team, designing and building cars for Sunrayce '97 and '99, I'll tell you that you're on the right track, but you need to start with a simpler dataset.

Start with analyzing something like a basic grade, something that you can check using hand calculations (they still teach that stuff, right?) then extend it to larger and larger data sets. Similarly you'll need to add terms for efficiencies (Array, battery, driveline, drive) building a more and more complex model as you go. You'll also have to allow for a certain amount of power recovery via regenerative braking and the possibility of coasting.

To start, I noticed that you only have one velocity, $v$, which I take to be the velocity relative to the ground. You can start there, but the aerodynamic terms are relative to the speed at which the air flows over the body of the car. Your model will work, but only for perfectly still air.

I hope that your car's $C_d$ is much lower than 0.42, I recall a target for our team's '99 car of 0.17 in the software analysis (it will be higher in reality, but if it's 0.42, you're doing it wrong.) You should also develop drag coefficients for off axis flows since in the real world the flow over the vehicle body will almost never be on axis.

As your model develops, you'll have to refine it using results of your testing program, which, in part, should serve the needs of developing the inputs for your model based on actual data. If you can, do some wind tunnel modeling, preferably full-scale to get a handles on the aerodynamic loads and how they vary. At the speeds you need to go to be competitive, the bulk of your power will be spent fighting aerodynamic resistance.

There's nothing in school that's quite as satisfying as seeing your car performing as your model predicts, singing down the road at the speed limit on nothing but array power. Your model will never be perfect, but you can get close.

  • $\begingroup$ Yeah, iterative design seems like the way to go, starting with the smaller, more approachable problems and working your way up to the full picture. Especially for a team of students. $\endgroup$
    – Air
    Oct 16, 2015 at 17:15
  • $\begingroup$ Thanks for the comprehensive answer! I realize my $ C_d $ is high for a solar car; I had picked a high value to overengineer in anticipation of having a lower value on the actual car. I see now that this isn't the right way to do it. $\endgroup$
    – Sameer
    Oct 16, 2015 at 21:00
  • $\begingroup$ 0.42 is really really high, maybe akin to a tractor trailer or worse. I suggest starting with something around half of that. $\endgroup$
    – DLS3141
    Oct 16, 2015 at 23:15

I think it's going to be too complicated to calculate from the basics, as you are attempting. You can't assume a constant speed; rolling resistance will depend on the nature of the road surface, the gradient, and how wet the road surface is' and air resistance will depend on wind speed and direction. The uncertainties in your calculation will swamp the realities.

Instead, get a test vehicle out on the road ASAP and monitor its energy consumption in minute detail. Use a GPS logger, altimeter, accelerometer, and detailed engine measurements, to calculate how the car's power consumption varies with speed, gradient, road surface condition, and vehicle mass. Then use that empirical data for your estimate.

But I don't think it will make that much difference, because your answer is going to be the same, whatever the numbers say:

The vehicle will need to be as light and as aerodynamic as possible, with as much of the upward-facing surface covered in high-efficiency low-weight PV as is possible without compromising vehicle safety. (NB, that should be on the surface of the car, not some PV array roof lifted above the car - think of the aerodynamics!). So you should be thinking about a custom array of cells tiled over the car body, not off-the-shelf PV panels.

That's because insolation at its best is only about $1000W/m^2$, and that's at mid-day. And you won't get PV that's much better than 22% efficient. You're just not going to have much surface area to play with, and you're going to have to squeeze every last joule out.

  • $\begingroup$ Yeah, this makes a lot of sense, thank you. Do you have any recommendations on where to get solar cells? As you can imagine, we're quite limited on budget. $\endgroup$
    – Sameer
    Oct 16, 2015 at 18:27

Not sure if this approach is in the format you need, but it might help. The work required to go uphill by a height $y$ is


where $m$ is mass and $g$ is gravitational acceleration. Assuming mass and gravity are constant, we can differentiate this equation with respect to time to get:

$$\dot{W}=mg \frac{dy}{dt}$$

we can also use the chain rule to rewrite it as

$$\dot{W}=mg \frac{dy}{dx} \frac{dx}{dt}$$

in which $x$ is the horizontal distance traveled. Then, $\frac{dx}{dt}$ is just velocity, so the equation reduces to

$$\dot{W}=mgv \frac{dy}{dx}$$

You already have the data for $\frac{dy}{dx}$, so you can factor out the velocity and insert this equation into your first equation for total power consumption:

$$P_w = (F_{air} + F_{roll} + mg \frac{dy}{dx} ) \cdot v $$

  • $\begingroup$ This sounds right, but what would I use for $ dx/dy $ ? In the equation where I calculated speed I used a summation since it changes so frequently over the 1600 km interval that using just one derivative would be inaccurate. $\endgroup$
    – Sameer
    Oct 15, 2015 at 21:01
  • $\begingroup$ I can't access your Excel data, but I assume you have distance/elevation pairs in the form $(x_1, y_1), (x_2, y_2)$. In that case you can approximate $\frac{dy}{dx}$ with $\frac{\Delta y}{\Delta x}$, where $\Delta y$ can be calculated by $y_2-y_1$ and $\Delta x$ by $x_2-x_1$, etc. $\endgroup$
    – Carlton
    Oct 15, 2015 at 22:20
  • $\begingroup$ But delta Y can be positive or negative depending on if it's an uphill or downhill, no? $\endgroup$
    – Sameer
    Oct 16, 2015 at 19:42
  • 1
    $\begingroup$ The final equation gives the power required at a certain point in time. If you need to compute for a given road path, you can simply watch how this power changes at certain locations of the path. And you can integrate and thus do simulations. Good topic and good approach. $\endgroup$ Oct 17, 2015 at 18:34

The equation you included in your question only considers horizontal distances (x and y). You need to use slope distances (three dimensional distances: x, y and z) as these will be the true distances travelled by the vehicle.

Assuming the distances in your data spreadsheet are slope lengths, sum all the lengths to give the total slope distance between the start and the finish. Divide this by the total amount of time you expect the vehicle to be driven. This will give you the average speed required for every stage of the competition, under ideal conditions.

From the data in the spreadsheet calculate the gradient of each section of road, noting sections of steep gradient. This will probably be the most important information you can derive from the data in your spreadsheet. Try to find continuous sections of road where the gradient is approximately constant and adjust the average speed required for such sections based on road conditions and the road gradient.

When determining the total driving time, make allowances for:

  • Driver exchange – I'm assuming each driver will drive no more than 2 to 2.5 hours before being replaced by a fresh driver.
  • Scheduled maintenance during driving time, if any.
  • Unscheduled maintenance/repairs.
  • Gradient of the road for each leg/stage and its impact on power requirements.
  • Rest periods, if any
  • The affect of weather and the environment: cloud obscuring the Sun, rain, wind, heat, dust.

Other things you'll need to consider are:

  • The affect of wind on the performance of the vehicle, with headwinds and cross winds impeding travel while tail winds would assist travel.
  • The affect of wind on the fatigue of the driver.
  • Condition of the road – potholes, rough patches, etc.
  • Radius of curvature of curves and how they may impact on speed
  • The affect of rail road crossings, such as roughness and the loss of kinetic energy and speed in crossing the tracks. Also, having to wait for trains.
  • The possibility of collision with wild or farm animals.
  • $\begingroup$ The actual driving time is 8 hours; I said 5 accounting for those thing. I'm not entirely sure what you mean by sum all the lengths, do you mean all the dx and dy values? $\endgroup$
    – Sameer
    Oct 16, 2015 at 21:54
  • $\begingroup$ @Sameer: Column D in your spreadsheet is labelled Distance (km). I'm inferring the column contains the distance from that point to the previous point. If that is the case, sum all the values in Column D to get the total distance. $\endgroup$
    – Fred
    Oct 17, 2015 at 1:26
  • $\begingroup$ @Sameer: Stella Lux, the Dutch entrant in this year's World Solar Challenge (starting soon) is street legal in the EU, can carry 4 people & reached a top speed of 90 km/h in time trials. World Solar Challenge $\endgroup$
    – Fred
    Oct 17, 2015 at 12:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.