10-20-2014, 03:49 PM
|
#1251 (permalink)
|
Permanent Apprentice
Join Date: Jul 2010
Location: norcal oosae
Posts: 523
Thanks: 351
Thanked 314 Times in 215 Posts
|
The unintended accelleration/decelleration problem is a big concern for me.
My CNC machines had a huge red E-stop button that everyone operating them had to instinctively know about. Expensive problems can happen awfully fast. With an automobile, it goes WAY beyond merely expensive.
Regarding decelleration, I would suggest going into some "coast" mode. Let the driver decide whether to hit the brakes or not. Depending on traffic, etc hitting the brakes randomly (and it would seem random to the driver) could cause a huge problem.
For my part, I'm making the resolver output center on 2.5V and range from 0.5V to 4.5V. Anything above/below the range will be an error. The Honeywell throttle position sensors used this method, which I think is very smart. With it, you can easily detect open or short circuits.
Beyond that, I think the brake pedal or the e-brake lever could act as an intuitive override (E-stop button), just in case all the safety logic Paul built into this fails for some reason.
Paul - it's not that I don't trust your work - you're doing a great job with all of this. The problem is weird unforeseen stuff can happen, and it's bit many automakers already.
- E*clipse
|
|
|
Today
|
|
|
Other popular topics in this forum...
|
|
|
10-20-2014, 04:05 PM
|
#1252 (permalink)
|
Permanent Apprentice
Join Date: Jul 2010
Location: norcal oosae
Posts: 523
Thanks: 351
Thanked 314 Times in 215 Posts
|
Quote:
Originally Posted by Cyruscosmo
|
Thank you very much for the link. They have all sorts of cool stuff - the sort of stuff you see on professional - products, but can't find anywhere.
- E*clipse
|
|
|
10-20-2014, 05:30 PM
|
#1253 (permalink)
|
EcoModding Apprentice
Join Date: Nov 2012
Location: East Midlands
Posts: 180
Thanks: 13
Thanked 81 Times in 52 Posts
|
Quote:
Originally Posted by e*clipse
The unintended accelleration/decelleration problem is a big concern for me.
My CNC machines had a huge red E-stop button that everyone operating them had to instinctively know about. Expensive problems can happen awfully fast. With an automobile, it goes WAY beyond merely expensive.
Regarding decelleration, I would suggest going into some "coast" mode. Let the driver decide whether to hit the brakes or not. Depending on traffic, etc hitting the brakes randomly (and it would seem random to the driver) could cause a huge problem.
|
Bare in mind this is not Paul's inverter we're talking about, I'm just sharing my own testing, on my setup, and ideas to implement this stuff.
I have brake override feature activated and that triggers an hardware buffer to cut down power. Same with an over current. In fact I am working on the replacement of the mechanical contactor with an IGBT, which should cut power much faster in case of a problem. Effectively I am leaving the fuses as a last resource. They are expensive and testing shows they don't blow instantaneously.
The issue I found with my REV3 inverter was when the car was starting to move, while the encoder is going very slowly but the motor is magnetically saturated, for example while parking. The car at times jumps forward. This happened about half a dozen of times over the course of the last two years, when the weather is very wet, for example after or during a significant rain. Luckily the motor is not operating in closed loop anymore, so hitting the brakes hard is enough to stop it. REV4 should not have such issues, due to a number of changes (different design altogether) but it I may still suffer erratic operation due to data corruption and I haven't found a variable I could use for redundancy. I trust no design is completely free from this issue.
Quote:
Originally Posted by e*clipse
For my part, I'm making the resolver output center on 2.5V and range from 0.5V to 4.5V. Anything above/below the range will be an error. The Honeywell throttle position sensors used this method, which I think is very smart. With it, you can easily detect open or short circuits.
|
Beyond that, I think the brake pedal or the e-brake lever could act as an intuitive override (E-stop button), just in case all the safety logic Paul built into this fails for some reason.[/QUOTE]
I'm not sure what is that you are using? Throttle? I use that method for the throttle, as manufacturers use. The throttle sits between 0.5 and 4.5V and anything below or above will trow an error. In addition, as mentioned, pressing both the brake and the throttle will shutdown the whole thing. This is done by external logic.
|
|
|
The Following User Says Thank You to cts_casemod For This Useful Post:
|
|
10-20-2014, 10:24 PM
|
#1254 (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
|
I was also thinking of entering coast mode rather than command zero current. I cant work on it for a couple days, bit when I get a chance, I'll try out entering coast mode after 0.0075sec of no ticks after nonzero rpm. aka, I'll unplug the encoder at 3000rpm, which will cause a hardware fault, turning off all 6 igbts.
Last edited by MPaulHolmes; 10-20-2014 at 10:32 PM..
|
|
|
The Following 2 Users Say Thank You to MPaulHolmes For This Useful Post:
|
|
10-21-2014, 09:01 AM
|
#1255 (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
|
cts_casemod, "the motor is magnetically saturated while turning slowly." I'm using IdRef = IqRef, so very little throttle has a very small field, and very small quadrature component, which I am hoping won't lead to saturation. what control scheme does your controller use with respect to throttle commands? does throttle command speed?
|
|
|
The Following User Says Thank You to MPaulHolmes For This Useful Post:
|
|
10-21-2014, 09:41 AM
|
#1256 (permalink)
|
EcoModding Apprentice
Join Date: Nov 2012
Location: East Midlands
Posts: 180
Thanks: 13
Thanked 81 Times in 52 Posts
|
Quote:
Originally Posted by MPaulHolmes
cts_casemod, "the motor is magnetically saturated while turning slowly." I'm using IdRef = IqRef, so very little throttle has a very small field, and very small quadrature component, which I am hoping won't lead to saturation. what control scheme does your controller use with respect to throttle commands? does throttle command speed?
|
My last controller used a method derived from the V/Hz topology to achieve closed loop torque control.
The amplitude was set according to the rotor frequency and the slip was changed to produce torque, so even tough I wasn't commanding full torque there was "full voltage" (as per V/Hz law) across the stator, generating losses if the motor was not fully loaded.
The new design is a hybrid. It can calculate the current slip and adjust both amplitude and stator frequency to achieve a given flux/torque, so it provides better control and higher efficiency.
I also added a speed ramp, such that in the event of a encoder fault, the maximum acceleration can be limited. The ramp is controlled by a few things:
Maximum allowable acceleration/deceleration rate;
Maximum current reached (this is different for Regen/Acc.)
Battery voltage below limit or BMS LVC warning
Battery voltage too high or BMS HVC warning
|
|
|
The Following 2 Users Say Thank You to cts_casemod For This Useful Post:
|
|
10-23-2014, 09:33 PM
|
#1257 (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
|
I found out why it was halting. It was dividing by zero occasionally. Therw was also a bug in the space vector modulation. I think everything is working now. some fine tuning is needed though.
here's a sensorless FOC test. it was on accident though. haha
sensorless field oriented control on accident: http://youtu.be/nzueg7hna4A
heres another video. cable disconnectAC controller encoder cable disconnect test: http://youtu.be/IXwcVGtFIGc
Last edited by MPaulHolmes; 10-23-2014 at 11:13 PM..
|
|
|
The Following 2 Users Say Thank You to MPaulHolmes For This Useful Post:
|
|
10-24-2014, 11:17 AM
|
#1258 (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
|
Here's a video showing the battery amp measurement by the controller. It kept track of the largest negative current. Id and Iq Max were set to 5 amps this time, so the regen was bigger.
id iq max of 5amp:
id iq max of 5amp - YouTube
|
|
|
The Following User Says Thank You to MPaulHolmes For This Useful Post:
|
|
10-24-2014, 05:45 PM
|
#1259 (permalink)
|
EcoModding Lurker
Join Date: Jun 2009
Location: Seattle, Wa
Posts: 71
Thanks: 7
Thanked 31 Times in 26 Posts
|
Hey Paul
So how will the regen be activated? Is it a certain proportion of the throttle range or another control mechanism all together?
I was thinking along the lines of mounting a trigger on the shift handle. Not a switch per say but something variable for a little regen or a lot.
Cyruscosmo
|
|
|
10-24-2014, 07:32 PM
|
#1260 (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
|
At the moment, I'm using a hall effect throttle, where the middle 15% is "zero", and clockwise rotoates the motor one way, and counter clockwise rotates it the other way. It regens whenever you turn the throttle the opposite way that it wants to turn. In real life I think we'll use a variable pressure switch on the brake or something. Then, if you press the brake, it regens, and you slow down. Once it reaches the max regen that you program, if you push harder, then the regular old brake kicks in. That's the idea at least. I have no way of testing it at the moment. I guess I could rig a brake pedal or something. It's just that my motor has no "whatever that's called" when it's really heavy, and hard to slow down. I cranked the regen up to 10 amps this morning, and the motor post went from about 1500RPM to 0RPM in about 0.01 second, like it hit a brick wall. Not exactly what we are shooting for in real life.
|
|
|
The Following User Says Thank You to MPaulHolmes For This Useful Post:
|
|
|