07-23-2009, 10:43 AM
|
#2071 (permalink)
|
PaulH
Join Date: Feb 2008
Location: Maricopa, AZ (sort of. Actually outside of town)
Posts: 3,832
Thanks: 1,362
Thanked 1,202 Times in 765 Posts
|
ya, it would have been good to measure pack voltage to know when to close the main contactor. I never added that little detail. Well heck! Next version! hehe.
|
|
|
Today
|
|
|
Other popular topics in this forum...
|
|
|
07-23-2009, 11:10 AM
|
#2072 (permalink)
|
EcoModding Lurker
Join Date: Aug 2008
Location: Calgary, AB
Posts: 21
Thanks: 1
Thanked 1 Time in 1 Post
|
Does the rate of decay of the motor current depend on rpm? We could experiment, (well you could) drive a set speed, then turn off the pwm while having the current sensor infinitely loop, logging the results. Repeat for different speeds.
We know the rate of rise of the motor current does depend on rpm. If we have enough time to run 2 adc conversions while the pwm is on, then you can just compare the two.
That's a much easier experiment to run. Try always having 2 sequential current reads, and see if the decay depends on speed.
Last edited by dlaing; 07-23-2009 at 11:18 AM..
|
|
|
07-23-2009, 11:24 AM
|
#2073 (permalink)
|
PaulH
Join Date: Feb 2008
Location: Maricopa, AZ (sort of. Actually outside of town)
Posts: 3,832
Thanks: 1,362
Thanked 1,202 Times in 765 Posts
|
dlaing, you are really smart! Every stinking time you open your fingers (mouth), something really awesome comes out! I think you are right! I love this sort of stuff! I want to do that! Once we have a bunch of datapoints, we can search for some sort of function. I'm sure it would vary from motor to motor, but that's OK!
I'm working out the details right now... Let's see. Crap! My laptop doesn't have a battery!
But I could set a software timer for maybe 30 seconds or so. that would give me time to get to a given speed. then, BAM CUT PWM. I like it!
|
|
|
07-23-2009, 11:32 AM
|
#2074 (permalink)
|
EcoModding Lurker
Join Date: Aug 2008
Location: Calgary, AB
Posts: 21
Thanks: 1
Thanked 1 Time in 1 Post
|
I'd try the double current check test first, easier to implement and hopefully just as accurate.
|
|
|
07-23-2009, 01:07 PM
|
#2075 (permalink)
|
EcoModding Lurker
Join Date: Apr 2009
Location: Maine
Posts: 26
Thanks: 0
Thanked 1 Time in 1 Post
|
Quote:
Originally Posted by MPaulHolmes
I don't think the problem is lack of resolution. The problem is that it's perfectly fine (according to the throttle-power scenario) at zero rpm for the current to go to 500 if the duty is very small, since all that matters is the product of current and duty. There would be no reason in the throttle proportional to power scenario to keep one extreme from happening when the other is the opposite (huge current, tiny pwmDuty or tiny current, huge pwmDuty for tiny throttle). It wouldn't know to make current smaller, since the product would be small.
|
Yes I think I see your point now, and I am realizing that what we perceive as power is not the same as the actual power being delivered. what we perceive as power is really just thrust or the torque applied at the drive wheels; so motor torque / gear ratio / final drive ratio. Real power is exactly what your equation is, so at 0 or low RPM you are getting all torque to reach the requested power level and you get that kick in the ass as soon as you step on the throttle even lightly, then the torque drops off rapidly once the motor starts turning and generating back EMF.
I don't know if you have logged your current / PWM with this formula, but I doubt that you were actually getting 500 A at PWM of 1 other wise all of your other formulas would also have low throttle problems as well.; as I was saying before if your PWM is already at 1 then your program will be unable to get the current any lower, so the problem must be in the handling of that PWM value. as you stated at low RPM the power can remain low even with high amperage so with a low throttle setting you may initially get a PWM of 1, but because the the formula calculates this as not enough power it quickly increases PWM to get that power, and current goes excessive. you may even be getting oscillations depending on the reaction times of the code and hardware.
In short I think that you are correct that throttle = power is not the correct method, but I am writing all of this because I think that the hyperbola graph I showed you is still relevant applied to PWM, but use it with your formula for throttle = current instead of throttle = power. this will give your program better ability to control the current at low RPM.
|
|
|
07-23-2009, 04:14 PM
|
#2076 (permalink)
|
Joe
Join Date: Feb 2009
Location: phx
Posts: 260
Thanks: 0
Thanked 48 Times in 38 Posts
|
Quote:
Originally Posted by MPaulHolmes
power = current*pwmDuty.
But the problem is, 500 amps * 0.01v = 5 watts, and 0.01 amp * 500v = 5watt.
When the rpm is 0, the motor is almost a short circuit. So, to allow very very small pwm (very low power) still allows for big current. I don't see how throttle = power allows for control of current at near 0 rpm.
|
Hm, it was a neat idea though. could it be that the throttle => power is just too sensitive? I mean, at low duty cycle and low motor amps, there is a small amount of power - but if the input from the pedal can't go that low, or even a small press of the pedal demands a much higher power, it's not gonna work. maybe the throttle input just needs to be scaled down? I guess you'd run the risk of not having higher power...
anyway, was a fun thing to try.
|
|
|
07-23-2009, 05:48 PM
|
#2077 (permalink)
|
EcoModding Apprentice
Join Date: Sep 2008
Location: Upstate NY
Posts: 190
Thanks: 0
Thanked 5 Times in 3 Posts
|
I'm not great with all the details with all the controllers spec, only what I've retained from reading this thread. But is there any reason why tracking the RPM's hasn't been integrated into the controller? It seems that it might solve some/most of the current control issues, and later on be used for more advanced features (like traction control).
Just my two cents! Good luck guys!
__________________
http://benw385.vox.com/
'Blog' on the open source electric motorcycle project.
Please come visit and comment!
|
|
|
07-23-2009, 06:13 PM
|
#2078 (permalink)
|
PaulH
Join Date: Feb 2008
Location: Maricopa, AZ (sort of. Actually outside of town)
Posts: 3,832
Thanks: 1,362
Thanked 1,202 Times in 765 Posts
|
tracking rpm should be integrated into it. Abso-freakin-lutely. That would be awesome. I have the part. I have the magnets.
|
|
|
07-23-2009, 08:58 PM
|
#2079 (permalink)
|
EcoModding Apprentice
Join Date: May 2009
Location: Australia
Posts: 109
Thanks: 0
Thanked 2 Times in 2 Posts
|
Paul,
What would happen if you set the minimum PWM duty a little higher?
Maybe the zero speed high current issue is about the motor wanting more power than the code is delivering.
|
|
|
07-23-2009, 11:09 PM
|
#2080 (permalink)
|
PaulH
Join Date: Feb 2008
Location: Maricopa, AZ (sort of. Actually outside of town)
Posts: 3,832
Thanks: 1,362
Thanked 1,202 Times in 765 Posts
|
Hey squiggles! That's a good question! I should try that.
Also, on the EVTech list, they suggested the following. I'm trying to understand it right now:
What if you lower the motor current limit as the PWM duty cycle
raises, but not in such an extreme fashion?
currentCommand = throttle*(constant - pwmDuty)
or
currentCommand = throttle / (pwmDuty + constant)
The second method is basically what you're currently doing, except
with a constant added to pwmDuty to make the low-rpm behavior act
reasonable.
|
|
|
|