Torque Vectoring or Traction Control - Twin motors

AC, DC, amps, volts and kilowatt. It's all discussed in here
User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

Hi,
Does anyone have any experience with electronic torque control between two (or more) motors in the one vehicle?

Has anybody tried or know someone that has played around with a picaxe or arduino board to take a single throttle pot input and output to two controller throttle inputs with the ability to adjust change the split between the two controller inputs based on feedback from sensors?

Any other ideas how you take a single throttle pot output together with sensor inputs to adjust motor amps to create a programable traction control system.

Thanks
Wayne

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

Nope to both questions.
Just thinking...

I guess Mitsubishi outlander PHEV contains just that system.
2 emotors,ESC,EBD,TCS,ABS.
Actually 4 emotors would be easier ? No diffs.

Doing a traction control with 2 emotors means the need to access the ABS modulator for lateral torque change.

Oh, I assumed front and rear emotors. Perhaps you mean one to each rear wheel ?

But still on AWD line...
Front to back torque split could be based on firstly a predefined curve for the given acceleration requested along with speed feedback from wheels directing suitable torque portion via emotor torque demand and live adjusting for differences in front / rear wheel speed.

Read wheel speeds (requires 4 counters)
Average front
Average rear
Read accelerator (analogue in) (or digital/CAN bus)
Look up/calc front rear ratio from vehicle design curve (starting point)
If rear speed > front increase front emotor torque 1% (dec rear)
If front speed > rear increase rear emotor torque 1% (dec front)
Output to front emotor torque (analogue out)
Output to rear emotor torque (analogue out)
Loop at >>100Hz

Lateral torque split is probably up to individual control via ABS modulator of wheel brakes to control wheel spin.

Both emotors on rear (or front) axle would be easier. (as would 4 emotors for AWD)

Read left wheel speed (1 counter)
Read right wheel speed (1 counter)
Read accelerator (analogue in)
If left speed > right increase right emotor torque 1% (dec left) (*1)
If right speed > left increase left emotor torque 1% (dec right)
Output left emotor torque (analogue out)
Output right emotor torque (analogue out)
Loop at >>100Hz

And reverse when regenning.

*1 would of course be a full PID calculation to optimise response.

Sorry, I guess none of that helped. Just thinking out loud.
Image
iMiEV MY12     110,230km in pure Electric and loving it !

Tritium_James
Senior Member
Posts: 683
Joined: Wed, 04 Mar 2009, 17:15
Real Name: James Kennedy
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Tritium_James »

Yes, it's quite common in solarcars (one of the areas we sell into) and we have plenty of customers doing electronic differential and traction control. Not sure on the torque vectoring.

If you have a decent motor controller, it's quite simple - for an electronic diff you just command both motor controller to do the same motor current. Motor current is proportional to torque, so both motors do the same torque, and the speed difference around corners takes care of itself. It's literally a perfect diff.

It's a similar deal with the traction control - monitor CAN bus telemetry from the motor controllers for motor speed, and issue appropriate commands (more/less current) to the motor controllers on CAN to sort out the discrepancy.

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

Rather than using analogue outputs to motor controllers for the torque demands, I imagine it's done over CAN or some proprietary/stand-alone digital comms.

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

Yes, I did throw CAN bus in there. But the comms is not the point.
It is the logic of torque distribution that I think Crash is pondering.

My understanding is that you can't just send same current (torque) demand to each motor.
Inner wheel on a corner spins slower and can deliver less torque before traction breaks. That traction break is what you'll get if you ask same torque of each motor. It may work at a conservative power application as a diff (and quite efficiently too) but is not TCS or performance intended.
Image
iMiEV MY12     110,230km in pure Electric and loving it !

Tritium_James
Senior Member
Posts: 683
Joined: Wed, 04 Mar 2009, 17:15
Real Name: James Kennedy
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Tritium_James »

That's true to an extent - the inner wheel is less torque in hard driving, since it begins to lift off the road during cornering. But unlike a normal diff, where lifting a wheel means that the one still on the road gets no torque (or less torque, if you have a limited-slip diff), this doesn't happen with an 'electronic' diff.

Each wheel is still getting full torque - this might make the inside wheel spin, but it hasn't stopped you from still getting full torque down to the road on the outside wheel.

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

Of course. But the idea is not to spin a wheel (unless that was your intent !)
You are suggesting an electromechanical limited slip diff. A slippy version of a Detroit locker you might say.
But electronic diff with traction control it is not by a long shot and I think that the full on TCS is what Crash is pondering.
iMiEV MY12     110,230km in pure Electric and loving it !

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

Thanks for all the great discussion. I'm comfortable that the natural characteristics of motors will allow sufficient variation in rotation speed for cornering as per Tritium James comments.
The application in question is a rwd car with belt drive to each wheel to eliminate the diff and gearbox.

The reason for wanting traction control is two fold. Firstly one of the main limiting factors for a performance car is the small patch of rubber that comes in contact with the road. A tyre provides optimum grip at a particular slip angle (or slip ratio). ICE cars car a fairly crude system to provide traction control, thus expert drivers typically turn them off to extract maximum performance. Electric motors provide an opportunity to provide a much more sophisticated traction control system and essentially dial in the torque (amps) with precision. Second is with limited energy storage capacity, don't want to be wasting any energy.

Can you please elaborate what is a CAN bus? I have an engineering background but not electrical.

AC motor, sounds like you are well on the way to setting up the parameters for the program, but you are allowing for a lot more variables than I would start with - I would start by keeping it simple and focus on slip angles by calculating difference in rotation speed between front and rear to start with.

thanks
Wayne



User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

controller area network (just a comms system that has taken of for vehicles) Easily implemented even in hardware inside micros like the Silicon Labs F060.

Start with a quick wiki intro
wiki intro to CAN

Ah yes, traction control by modulating emotor torque and no application of brakes.

BTW, I'm not certain that the greatest ever Stig driver would out perform a good TCS. It is probably more honest to call the TCS switch the 'fun button' if gratuatus wheel spin is your definition of fun. Image
I recall early ABS that folk claimed to be able to out brake. It is simply false with modern systems, even to the point where F1 runs it.

James may be able to tell us the slew rate for torque demand that the wavescuplters will respond to. This would be important to a live TCS system. Update response rate would need to be 100/sec for 10% changes and 10/sec for full torque 0-100% changes..... at a guess.

Image
iMiEV MY12     110,230km in pure Electric and loving it !

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

acmotor wrote:James may be able to tell us the slew rate for torque demand that the wavescuplters will respond to. This would be important to a live TCS system. Update response rate would need to be 100/sec for 10% changes and 10/sec for full torque 0-100% changes..... at a guess.


I'm not sure what sort of input filtering the wavesculpter uses, but FOC should be able to respond to changes in torque demand in the order of a few tens of mS.

User avatar
Jeff Owen
Groupie
Posts: 157
Joined: Thu, 13 Nov 2008, 15:53
Real Name: Jeff Owen
Location: Brisbane

Torque Vectoring or Traction Control - Twin motors

Post by Jeff Owen »

acmotor wrote: I recall early ABS that folk claimed to be able to out brake. It is simply false with modern systems, even to the point where F1 runs it.
From F1 regulations:

11.5 Brake pressure modulation:
11.5.1 No braking system may be designed to prevent wheels from locking when the driver applies pressure to the brake pedal.

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

Yep. looks like they ruled it out 'coz it was so effective. Image
A bit like turbos.

Don't tell me your are a Stig ? Image
iMiEV MY12     110,230km in pure Electric and loving it !

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

Fun doesn't need wheel spin. Going far too fast into a corner and letting the traction control do its magic while watching your passenger reach for the grab rail is a recent pleasure but I'm sure is just a taste for what is possible with the precision of electric control. Watch https://www.youtube.com/watch?feature=p ... Elqf-FCMs8#! (Merc SLS electric) to see it in action.

BigMouse, 1/100th sec is less than a kHz, so shouldn't this be easy to achieve with basic off the shelf hardware?
100km/h in may car gives a wheel speed of 15 rotations per second. At a response rate of 1/100th sec, this equates to adjusting the input torque 6.7 times per rotation. Can't see the Stig bettering that.

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

Crash wrote:BigMouse, 1/100th sec is less than a kHz, so shouldn't this be easy to achieve with basic off the shelf hardware?
100km/h in may car gives a wheel speed of 15 rotations per second. At a response rate of 1/100th sec, this equates to adjusting the input torque 6.7 times per rotation. Can't see the Stig bettering that.
The response time will also depend on where the signal is coming from (analog or CAN), any input filtering on an analog input signal (or the data transfer and repetition rate in the case of CAN or other digital comms), the frequency at which the input is sampled (my controller uses DMA for serial data stream), and digital filtering in the software, etc. The "tens of milliseconds" torque response is the time it takes from a change of the torque setpoint to when the desired torque is reached. This is governed by the FOC current control loop and loop frequency.

Regardless, the torque demand input to a controller can be designed to minimse the response time and I would expect better than 20Hz (50mS) bandwidth to be comfortably achievable.

I'm sure James can give more detail on the wavesculpter's capabilities.

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

I'm impressed there is this sort of knowledge out there offered so freely. In a few years time when auto companies need this expertise and you are working for them, you might not be allowed to offer free advice. Do the current products have the ability to control dual motors based on inputs from various sources including throttle and wheel sensor? I assume I would need one tritium 200 per motor to enable torque control of each motor independently. It seems to offer a much better solution, but it also appears to be a lot more expensive than a basic micorprocessor system to control inputs to two motor controllers.

Do Mercedes use a can bus control system in their electric sls?

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

Crash wrote: I'm impressed there is this sort of knowledge out there offered so freely. In a few years time when auto companies need this expertise and you are working for them, you might not be allowed to offer free advice. Do the current products have the ability to control dual motors based on inputs from various sources including throttle and wheel sensor? I assume I would need one tritium 200 per motor to enable torque control of each motor independently. It seems to offer a much better solution, but it also appears to be a lot more expensive than a basic micorprocessor system to control inputs to two motor controllers.

Do Mercedes use a can bus control system in their electric sls?


There's a ton of great information on this forum. It helps that EVs are a shared passion for us.

Tritium's "driver control" thing might be capable of being programmed to work like this. I'm not sure. The controller I'm developing certainly could, but I'm not building that feature in to it quite yet. It would just be a matter of a firmware update.

You are correct about needing a controller per motor.

As for the Mercedes, I have no idea. I would expect some digital comms, though I imagine it'd be a dedicated bus.

User avatar
Johny
Senior Member
Posts: 3731
Joined: Mon, 23 Jun 2008, 16:26
Real Name: John Wright
Location: Melbourne
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Johny »

BigMouse wrote:As for the Mercedes, I have no idea. I would expect some digital comms, though I imagine it'd be a dedicated bus.
From a blogger:
"When I first bought the CLK350 I was impressed with the technology that went into the car. I normally purchase a service/repair manual with a new car and this car was no exception. After digging into the manual and reading the electrical schematics, I learned that car has no fewer then 4 bus networks and communicates with most of the functions of the auto, such as the a/v system, windows, door locks, etc. Everything including the engine control, brakes, windows, audio system, etc is connected. The networks are 2 CAN busses running at 1 mps and 83kbps, called the CAN-A and CAN-B, respectively, a LIN Bus and a fiber optic network."

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

The iMiEV runs a CAN bus and a LIN bus (local interconnect network). The latter being for general housekeeping, Lights, mirrors, alarms switches etc. The LIN bridges to the CAN via the ETACS-ECU. The LIN being a lower speed bus.
The CAN at 1Mb/s handles all the dynamics info (emotor, charger, BMS).
The SRS system appears stand alone with its own ECU for the 6 airbags and 2 seat belt pretentioners fed by 5 impact sensors.
Sidetrack. Image

Crash, good to hear you are into real performance and handling.
AWD of course offers an even greater scope for active motor control.
Rest assured though that the technology is well developed (though always improving) within the big automakers.
e.g.
"The AUDI R8 E-tron is powered by four motors – two on the front and two in the rear axles that each connect to their respective wheel by the use of a small shaft. By using the four motor setup this R8 delivers 313 hp and 4,500 Nm (3,319 lb-ft) of torque. It is capable of accelerating from 0 to 62 mph in 4.8 seconds. The true four-wheel drive system allows the Audi to become a full fledged Quattro car. The system is capable of delivering balanced power to the front and rear wheels, but prefers to give 70% to the rear and 30% to the front wheels when conditions are right. By having four completely separate motors the onboard computer is also able to make the smallest adjustments to power outputs so that understeer and oversteer can be corrected." Image
iMiEV MY12     110,230km in pure Electric and loving it !

User avatar
acmotor
Senior Member
Posts: 3604
Joined: Thu, 26 Apr 2007, 03:30
Real Name: Tuarn
Location: Perth,Australia

Torque Vectoring or Traction Control - Twin motors

Post by acmotor »

Still sidetracked....
The iMiEV contains a 3rd bus known as K-LINE that operates as a backup for the CAN bus between the EV-ECU, BMU and MCU (battery management unit, Motor control unit). Control will switch to the K-LINE in the event of minor collision or errors with the wider area CAN so vehicle can still be driven with limited function by the look of it. I guess this is a direction Mercedes has gone with comms busses... redundancy / backup.
iMiEV MY12     110,230km in pure Electric and loving it !

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

So it seems fairly established that the big car makers use CAN bus with other secondary and independent bus systems to control the numerous systems in a modern car and Tritium has developed a sophisticated system along these same lines. However if you were looking to develop a very simple system purely to manage the torque output of two or four motors in an EV based on a few inputs such as throttle, wheel rotation and vehicle speed is a CAN bus the simplest system? Is it possible to develop without a high level of electronic engineering skills and without designing and building new motor controllers.
I have looked at the robotics industry and there is a wide variety of grassroots developers that need to interface computer programs with motor controls in this space and it seems that the Ardino, picaxe etc is a popular approach. I also get the impression that this approach would be a lot more accessible to someone who isn't an electronics specialist and would be alot easier to develop programs for as there is already a lot of open source code for motor controls and a wide community of support where as car makers aren't exactly looking to make it easy for the public to hack their systems. While this approach seems to serve the grassroots robotics movement well, does it scale up to a person transporting wheeled robot (car)? and are there any traps (such as ramp up and ramp down algorithms built into motor controllers) when using large motor controllers rather than servo motors or tiny bldc controllers?
I guess the motivation is that the electric motor potentially offers a lot more straight forward way of controlling and programing the power source for a car than the systems found in an ICE car. Modern vehicle systems can be reprogrammed easily in some cases where there is an enthusiast community that has developed tools to do so (eg engine remapping software for WRX and EVO cars) but what do you do if you want to control a couple of off the shelf electric motors using standard controllers?



User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

Crash wrote:if you were looking to develop a very simple system purely to manage the torque output of two or four motors in an EV based on a few inputs such as throttle, wheel rotation and vehicle speed is a CAN bus the simplest system?
Such a system will never be simple. It's a multiple input, multiple output control problem and needs to be performed in real time. The complexity of implementing such a system isn't in the electronics, it's in the firmware. To do it properly, it's not just a matter of splitting the signal from one throttle pedal to 2 or 4 controllers. You'd need accelerometers, yaw sensors, wheel speed sensors, steering angle sensor, and the throttle input. There's probably others. I imagine production vehicles also use suspension travel sensors, tyre pressure monitoring, and many other really fancy things to make torque vectoring an effective feature.

If you just want to control 4 motor controllers from 1 throttle, that's probably easily done with CAN and a microcontroller or tritium's DCU. This would get you AWD, even adjustable torque split. If you want to do it per-wheel in an adaptive way, it's a huge can of worms that only Mercedes Benz seems to have figured out at this point. I doubt an arduino or picaxe would but up to it. You'd probably need an ARM controller or DSC.

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

There was a guy from New Zealand that figured it out, at least for one electric motor in an electric powered Arial Atom.

I agree it could be pretty complex if you want a full vehicle stability control system. To manage control of a vehicle in slides with yaw, suspension control, tyre pressure, accelerometers, rotation sensors etc, but am not looking to keep up with Mercedes, rather use them for inspiration. A basic system that is looking just at traction control does't need to have all that complexity. It would take the rotation of a wheel, compare it to the ground speed and reduce the torque (amps) if a certain slip angle was exceeded. If I can't do it with electronics, I will be doing it with two mechanically liked throttle pots and a mechanical adjustment system. I would think the electronic system should be a much better way to go and keeping it really simple is the starting point.



User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by BigMouse »

Crash wrote:A basic system that is looking just at traction control does't need to have all that complexity. It would take the rotation of a wheel, compare it to the ground speed and reduce the torque (amps) if a certain slip angle was exceeded. If I can't do it with electronics, I will be doing it with two mechanically liked throttle pots and a mechanical adjustment system. I would think the electronic system should be a much better way to go and keeping it really simple is the starting point.
Where would you get your ground speed reference? You can't get wheels speed and ground speed from the same sensor obviously. You could try to get ground speed from a non-driven wheel, but the steering angle can introduce a significant error and would need to be known. You may be able to calculate ground speed by dead-reckoning from an accelerometer. They're pretty precise these days and you could "calibrate" it to zero each time you stop, or based on wheel speed whenever the speed hasn't changed for more than a certain amount of time (so you can be confident there is no slip).

A mechanical linkage with two throttle pots wouldn't get you anything more than a split signal from a single throttle.

I have a basic idea for "launch control" where the angular acceleration rate is limited to a value just below that which would coincide with the limit of traction in first gear on dry pavement. Of course, that's only effective in first gear on dry pavement ;-)

User avatar
Crash
Groupie
Posts: 61
Joined: Mon, 05 Mar 2012, 16:45
Real Name: Wayne Prangnell
Location: Margaret River
Contact:

Torque Vectoring or Traction Control - Twin motors

Post by Crash »

Sensors are simple, only need to monitor wheel speed of the wheels. Logic for controlling power input is based on a) comparing the speed of each wheel and b) if wheel acceleration exceeds a preset maximum which is the maximum possible acceleration for the vehicle in ideal conditions.

a) would probably be sufficient in most situations, even in a 4wd car you are only going to get one or two wheels spinning, you simply won't have the power to keep all 4 wheels spinning unless its really slippery and then b) would avoid any sudden wheel spin when hitting a slippery patch.

I think this would also be fine for launch control. Accelerometers could be problematic being affected by vibrations, although I guess it woudn't be hard to apply a smoothing calculation.

The beauty of a EV is once you have the motor controllers hooked up to a programable motor driver that accepts a few sensor inputs, it should be easy to experiment with different inputs and control logic and the motor can also apply a controlled braking force, thus separating the traction control braking function from the mechanical brakes.


User avatar
Adverse Effects
Senior Member
Posts: 1097
Joined: Sat, 01 Jan 2011, 03:30
Real Name: Adverse Effects
Location: Brisbane

Torque Vectoring or Traction Control - Twin motors

Post by Adverse Effects »

wouldn't it be a matter of monitoring the speed of all 4 wheels and then setting limits that the 2 driven wheels can be over / under the averaged speed of the 2 non driven wheels and adjust the power / regen to an acceptable level

then you just add in a over ride switch on the throttle peddle so it you punch it to the floor it will over ride the limiting so you can still have some fun if wanted

Post Reply