Monday, September 16, 2013

The Need for Speed

The other day I enjoyed my first trip in the HOV lane!  Here in AZ if you have a 100% alternative fuel vehicle you get access to the carpool lane even if it's just you in the car.  To make it better, it was a Friday afternoon during rush hour, so I got to zip past all the suckers in the regular lanes while they were all going 25.  Oh yeah and I've achieved a new max speed of 72 mph.

There's a guy at work who converted a Ford Fiesta to be electric about 20 years ago.  But due to his max speed and acceleration limitations, it was nicknamed the "Siesta."  Over the time it's taken to build my car, I've been teased with the need for a similar nickname for my car, but I've been able to show that's unnecessary.  And speaking of acceleration, I've been getting the itch for a little more recently.

WARNING: The rest of this post is getting a little nerdy (okay, a lot nerdy).  If you don't like math, this might be your cue to punch out early!  I've had a few new inquiries about how this works, so it seems worthwhile to go over all this.  I hope it helps some of you out there!

During the initial testing phase I settled on a few current settings that I've yet to change.  The controller has 3 parallel IGBTs rated for 400 amps each.  Without having to reprogram the controller, I can change the max current up to 833 amps in 8 increments.  I limited the controller to output a max of about 417 amps to all but eliminate the possibility that an imbalance in the load sharing could blow one up.  I also limited the battery current to 166 amps for no real reason.  Since the car works just fine like this, I didn't want to mess with things until I got the car registered to avoid a situation where I'd have to make that 48 mile trip to downtown Phoenix on a minimum amount of testing since if something broke, I probably wouldn't have it fixed until after the 30 temporary plate had expired.  Now I've got no more excuses.

According to the specs, going from 400 to 500 amps at the motor will increase the motor torque from 67 to 100 ft-lb.  That's a 50% increase in acceleration!

Now, the way it works, just increasing the motor current will improve torque at low rpm, but once you reach a certain motor speed.  The controller adjusts the % of time the switches are turned on (duty cycle) to control the amount of current going to the motor.  But the motor requires a certain amount of voltage to go a specific speed.  According to the chart, at 72v and 400 amps the motor will spin at 2400 rpm, whereas at 500 amps it will only spin 2150 rpm.  Furthermore, at 72 volts and 400 amps to the motor, my 230 volt pack will be supplying approximately 125 amps.  At 500 amps to the motor, the batteries are supplying 155 amps.  The controller allows the motor to produce a constant torque (corresponding with the motor current) until the duty cycle is 100% or the max battery amps have been reached.  Since I've set the controller to limit battery current to 166 amps, the rpm at which the motor torque will drop off will be quite a bit lower when the motor current is bumped up.  To compensate, I'll probably need to increase the allowable battery current.

At 166 amps, the battery pack voltage sags to 215v and provides 35690 Watts.  At 400 motor amps, this is 90 volts.  To figure out the associated motor speed, you look at the chart and see 400 amps lines up with 2400 rpm at 72 volts.  The speed constant is supposed to be linear with voltage, so the max rpm I should currently get at 67 ft-lb torque is 90 / 72 x 2400 = 3000 rpm.  So this means that the motor torque will be constant up to 3000 rpm, and above that the torque will start to drop off.  In vehicle speed, that's 16 mph in 1st gear.  Do the same thing at 500 amps and you'll see the torque starts dropping off at about 2100 rpm or 11 mph.

In order to get the torque to be constant (flat) up to 3000 rpm again, I need to increase the max battery current.  Here's how I figure how much.  According to the chart, at 500 amps and 72 volts, the speed is about 2100 rpm.  3000 / 2100 x 72 = 103 volts.  103 volts x 500 amps = 51429 Watts.  51429 W / 207 volts = 248 amps (I had to do a little iteration to figure out 248 amps causes the pack voltage to drop to about 207 volts).  This is about a 4C peak discharge rate (248 amps / 60 Ah = 4.1C), which should be a piece of cake for these batteries since the datasheets have charts going up to 5C continuously.  But before I do that I'm going to check the torque on all the battery connections.  A loose connection turns into resistance, heat buildup, and a molten battery terminal that's more probably the higher your discharge current goes up.

I've harped on this before, but I love stringed instruments so much I'll do it again!  A lot of people out there want a car with huge acceleration, so they get an 11 inch motor (more torque per amp than my 9 inch motor), a 1000 amp controller, and 100 volts worth of 180 Ah batteries.  You will get lots of torque this way, but not for very long, resulting in a disappointed EV owner who's scratching their head.  The same math I showed above applies here, except it gets worse with a bigger motor because the motor.

If you look at the datasheet for the Warp 11 motor, at 500 amps and 72 volts the motor is turning about 1300 rpm.  If the controller is at 100% duty cycle (100 volts at the motor and batteries), the motor will spin 100 / 72 x 1300 = 1800 rpm at 500 amps.  In my car, that's only 9 mph.  Making some assumptions your torque vs. speed will look something like this:
0~5 mph - max torque (0~1000 rpm)  actual torque at 1000 amps ???
9 mph - 165 ft-lb (1800 rpm)
12 mph - 75 ft-lb (2300 rpm)
15 mph - 50 ft-lb (2850 rpm)
20 mph - 24 ft-lb (3800 rpm)

I don't know what the torque of a Warp 11 is at 1000 amps, but you can see how quickly the torque drops off with this type of setup, requiring you to UP shift gears to increase your torque.  Even though the gear ratio is working against you, you need the lower RPM to increase the motor current (which is what gets you the torque).  The only way to beat this is to have a high battery pack voltage to keep your duty cycle from maxing out.  If you have this controller and battery option, you may be better off with a 9 inch motor (or smaller).
Warp 9 with 100v battery pack supply and 1000 amp controller:
0~13 mph - 200 ft-lb (0~2500 rpm) this torque is an estimate
16 mph - 175 ft-lb (3050 rpm)
20 mph - 47 ft-lb (3800 rpm)
31 mph - 17 ft-lb (6000 rpm)

Alright, ENOUGH boring stuff and back to the testing!  I hooked up the laptop and punched in "t-pos-gain 5" and my controller now maxes out to 521 amps to the motor (I'm sure you already knew that because t-pos-gain / 8 x 500^2 / 300 = max current).  Like I mentioned before, that roughly correlates with 100 ft-lb of torque out of the motor, where before I was getting about 67.  Man, does it make a difference!  I can also see how I need to boost the battery current limit.  In about 1 second you can feel the jerk, and for those of you who forgot your days back in Physics 1, the term "jerk" refers to a change in acceleration (wow, I'm feeling nerdier every second here).  So in about a second, my battery current limit is pegged at 166 amps and the acceleration quickly drops off, just as I'd predicted.

I've driven the car around like this for about 25 miles now and so far the controller hasn't blown up.  It's really easy to hit the battery current limit now, so I'm not getting full use out of the 521 amps to the motor.  Since this post is already way too long (man I love talking about math) I'll end this here.  And if you have any questions, please ask!

Sunday, September 8, 2013

Burning Rubber

The other day I proved that my electric car has enough power stored up to spin the tires.  Unfortunately for me, it was a total surprise!  We'll start with a little back story.  Whenever I start moving the car, it tends to bounce forward and backward slightly.  In most geartrains, there is a certain amount of backlash and wind-up that is the cause of this.  At first it seemed a little odd to me, but I've convinced myself it's not because of the controller.  I'm fairly sure the reason a regular car doesn't do this is that the engine is always spinning, and small amounts of friction keep the whole geartrain loaded up.  In the electric car this isn't the case, so when the motor starts moving, it kind of bounces against the load of the vehicle since it momentarily spins up without any load and runs into a brick wall when all the "slack" is taken up.

Okay so enough back story.  The other day I put the car in reverse and am convinced I can keep this bouncing from happening if I ease onto the throttle slow enough.  I'm pushing on the pedal, a little further...a little further...then all of a sudden SKREECH as the tires tear loose! I quickly pull my foot off the pedal and the car stops a split second after it started.

Now at this point I'm worried that I already blew up the controller that took me 3 months to build a short 9 months ago.  The way these controllers work, the unfortunately most common failure mode of the switches is shorted, or full on.  If that happens, that means you get 100% battery power to the motor, which in my case would be 230 volts and likely over 1000 amps.  The switches are likely not rated for this kind of power and they blow up a few seconds after your car tears off into another car in the parking lot.  In my case, either the controller hardware protection, the feedback control system, or my cat-like reflexes limited it to a foot long stripe of rubber in my driveway.

After a little while I determined everything was okay and I drove to work without another hiccup.  Now I'm asking myself why this happened and how do I avoid it in the future.  I actually had this happen one time before a month or so back, but I thought maybe it had to do with the bouncing.  I came up with another idea which turned out to be true, and here it is.

The controller gets a signal from a potentiometer that changes resistance as you push the pedal down.  The controller reads the resistance and equates that to a % throttle input.  There's a dead band at both ends of stroke to account for adjustments in the linkage and a few other things.  At the zero throttle position there is a limit switch.  I use that switch to turn a contactor (big switch) that feeds battery power to the controller on and off.  The purpose of doing this is that if something goes wrong, I can take my foot off the pedal and it will immediately cut off all power to the controller - exactly the scenario I just came across.  Many people eliminate this and would have to fumble around for a manual disconnect to stop the wheels from screeching, but my method is second nature to most drivers.

Now the controller takes that throttle position and uses it to command a certain amount of current to the motor.  If you set it up to control a max of 100 amps, then at 10% throttle position it will adjust the PWM duty cycle to get 10 amps.  The switches turn on and off 16000 times a second and PWM duty cycle is the percentage of time that the switches are turned on.  More crude controllers would make 10% throttle position drive 10% duty cycle, but that causes the car to drive very abnormal compared to a regular car.

So here's the problem.  Remember that limit switch?  Well, I have to push the pedal down a short ways before that switch clicks and completes the high voltage circuit to the controller.  Well, on these two occasions I had eased into the throttle so slowly that I uncovered a problem with how I'd set things up.  The deadband before the current starts to ramp up is not quite big enough, so if done just right, the controller starts trying to drive a certain current before the contactor closes.  My attempt to ease into the throttle really slowly allowed this to happen, and I took so long the duty cycle must have risen higher than it's ever gone.  When the contactor finally clicks, that duty cycle is set until the controller senses the current has gone too high and rolls it back.  Of course, by then the wheels are already in motion.  (ha ha ha...)  Like I said before, luckily there are enough safeties in my system that the burnout only lasted a split second instead of tearing me out into the cul de sac and possibly wrecking the motor or car.  Even more lucky, the IGBTs were tough enough to endure this event unscathed.  And thanks to the design of the controller, after a couple minutes of snooping around I was able to reprogram the end points so the dead band is now big enough to work the way it's supposed to.  Something I should have done when I first set it up!

In other news, I got my cycle analyst back from Canada and am working on putting it back in the car.  While I'm at it I decided to fill in a gaping hole in the dash where there used to be a speaker grill.  Here's the hole in the dash.

And here's the old grill and new cover that'll house some LCD screens and buttons.  Now I just need some flat black paint.