[It’s the new full throttle]
After a few rides of the Zero I became interested in how the throttle mapping works. There are two switches on the dashboard to select 25 or 50mph top speed and “low/high torque”. Regardless of the setting, the throttle response seemed quite aggressive and tricky to control at low speeds. I suppose this is partly the reality of having a 15kW electric motor in a relatively light vehicle, but it felt like there was more going on than that.
Zero updated the dashboard soon after the bike came out, and I got the old one, so I started by taking it apart.

Oh no. It has software.

On the other side of this thick multi-layer board, a Microchip dsPIC. Quite a high end MCU for running a LED bargraph voltmeter. And it didn’t even run the voltmeter: that was a completely separate analog board made by 4QD.
I dusted off my ancient Tektronix 222A (with no battery π ) and hooked the two probes up to the throttle pot and the motor controller’s throttle input.

The bottom trace shows the throttle pot voltage, going more negative as it opens. The top shows the voltage output to the motor controller. Some kind of low-pass filtering is obviously going on: I whack the throttle open as fast as possible, but the voltage to the controller’s throttle input rises more slowly.
I repeated this experiment for the 4 combinations of switch settings. Luckily, the bike didn’t care if I disconnected the throttle input from the controller, so I was able to do this without the rear wheel spinning frantically on the stand.




There are a few interesting observations here:
The 25mph mode just cuts the throttle demand voltage in half. Now in a modern EV powertrain, the throttle demand maps to torque. And cutting the available torque in half doesn’t halve the top speed. The reduction in speed would depend on grade, terrain, rider weight and so on.
When I rode it, I also noticed the acceleration from a standstill was just as aggressive in 25mph mode, but it suddenly dropped off around 25mph.
From this we can conclude that the controller is working in a voltage mode where the throttle demand just sets PWM duty cycle and motor voltage directly. This seems an odd way of doing things, though obviously it would make the controller design somewhat easier for Alltrax.
We can also see that the “low/high torque” switch doesn’t directly control torque either. It changes the time constant of the low-pass filter.
This does kind of influence motor torque if you squint at it. Newton’s law says that force equals mass times acceleration. If we take this into the rotational domain, and then into the electrical domain through a permanent magnet DC motor, we get that torque is proportional to the rate of change of motor voltage. The faster the motor voltage ramps up, the more current will flow, the more torque will be generated and the harder the bike will accelerate.
This is only true when considering inertial forces though, which is to say accelerating on flat ground. Regardless of the setting of the torque switch, the full torque is available for climbing steady grades.
So overall I think the Zero would be more rideable if it had a real motor current feedback loop that allowed the powertrain to operate in torque mode. I stand by my earlier description of it as a “giant demented cordless drill” because the direct mapping of throttle position to PWM duty is exactly how a cordless drill trigger works too. π
The motor controller must have an internal current limit that overrides the throttle demand, but exploring that is for another post…
Leave a Reply