Repository navigation
Braking
The motor is always rotating in the same direction, whether speeding-up or slowing-down. In a three phase motor two of the phases are driven while the third is generating back EMF. So both the back EMF (when measured at the Remora supply lines) and the voltage at the hand-controller output are always positive.
When accelerating or running at constant speed, electrical power has to be supplied to the motor to provide positive torque to overcome the mechanical load, therefore current flows out of the hand-controller.
But, when braking (ignoring drag brake for the moment) the direction of torque has to be reversed to slow the motor (mechanical load). As torque is a function of current, this means that the direction of current flow now has to be into the hand-controller. Commonly, this current is dumped into a brake resistor to absorb the kinetic energy of the car.
Drag braking works in a different way, it shorts all three motor phases together (the "amount of short" may be controlled by adjusting the duty cycle percentage) and the kinetic energy is now dissipated in the motor, not in an external brake resistor.
When the car’s speed reduces, back emf reduces so current in the controller's brake resistor also reduces. As the current reduces, the braking torque, which primarily depends on current, also reduces.
This leads to heavy braking initially which then tapers off, allowing the car to roll into a corner with reducing braking, resulting in a natural feel.
For braking to be effective there has to be somewhere for the current to go or else the car will just coast. Controllers with an anti-brake circuit are usually designed to provide current to the motor and not to receive current from it. Therefore, if the anti-brake circuit cannot sink current no braking will occur. Few or no controllers can properly sink current. It's possible to make a simple modification to test this capability by putting one or two diodes in series with the brake resistor. The resistor will sink the current and the diodes will provide an offset voltage to keep Remora alive. A more sophisticated circuit could be designed, but the diode idea would demonstrate its effects.
The voltage at the Remora should be higher than the hand-controller voltage, so that current flows from Remora to the controller and the Remora is kept alive. There are voltage drops in the track wiring and braid that effectively increase the controller voltage.
During accelerating or running at constant speed the back EMF is lower than the supply voltage, so it plays no part in keeping the Remora alive, it is just used for sensing the motor position to maintain synchronisation. But during braking, back EMF can keep the Remora alive for a while as the MOSFET output bridge acts like a 3-phase rectifier feeding power back to the Remora supply rail. See the two wave forms below.

Picture: The Remora internal supply voltage: 2V/division, 200ms/division NO motor connected. Note: The supply drops quickly in 13ms from 12V to about 1V because there is no back EMF.

Picture: The Remora internal supply voltage: 2V/division, 200ms/division WITH unloaded motor connected. Note: The supply now takes nearly 1 second to drop from 12V to just over 1V. The discontinuity at about 1V is at the point where the Remora stops working. If a braking resistor had been connected, the back EMF would still try to keep Remora alive but the supply rail voltage would drop much more quickly.
Drag brake, or any other firmware feature, needs power to Remora. Once the Remora is running from about 1.2VDC it will continue to operate down to about 1.16VDC. Therefore to use this feature there should be at least 1.2V to the Remora.
To experience drag brake on the bench, just try connecting all three motor phases together and spinning the motor by hand, then try with the three phases separated.
If it is enabled and setup correctly in the firmware by setting the PWM using “duty_drag”, drag brake comes into effect when the voltage supplied to Remora is low (< ANALOG_MIN), which would normally mean at low motor/car speed. Note: The ANALOG_MIN value is now a settable parameter so if you want to try different values of ANALOG_MIN you'll need to use the WiFi Link to change the parameter. If you find values that work for you - please tell us all on the Discord channel. Ideally you should choose something with an ANALOG_MIN slightly above the voltage at which the Remora turns off, namely: 1.16V, therefore try 1.4V or a setting of analog_min=252 (180 x 1.4 = 252)
One of the reasons for using a boost converter in the Remora circuit was to keep the Remora alive at a low supply voltage in an attempt to keep it working during braking into and around a corner and trying to avoid a restart procedure and a subsequent stutter in the car. This makes a case for having ANALOG_MIN set to more or less match the minimum operating voltage of the Remora (just less than 1.2V), especially if drag brake is not used.
Trying to program braking performance with firmware settings makes it difficult to tune the braking, especially if track conditions change or a different lane needs slightly adjusted values. And this is practically impossible without being able to send a signal wirelessly to the Remora. Practically and philosophically - adjustments should be made on the hand-controller.
A hand-controller could be designed to control both voltage and current in to and out of the controller, and to rapidly invoke drag brake by dropping the voltage faster than the motor can react, if it were decided that those characteristics were desirable. This would be similar to how a racing car is ideally controlled under braking - at a specific corner's chosen braking point, the brakes are applied firmly and smoothly to transfer weight to the front of the car and slow the car down, then the brakes are lightly maintained (trail braking) until the car reaches the corner apex, at which point the throttle is applied while smoothly coming off the brakes.
Is there a brushless hand-controller that needs to be made to enable this behaviour?
The process would need to start with a clear definition of what’s needed, and maybe some trial add-ons to an existing controller to test out concepts.
The default timing advance of 16 works well for most motors. The effect of increasing the timing is to reduce torque and increase rpm for a given voltage and vice versa.
It might be worth trying different timing advance settings to find out if it makes any difference to braking. Current is flowing in the opposite direction during braking, therefore braking might be improved by decreasing the timing for better braking performance to the slight detriment of rpm. If this does have a useful effect perhaps the firmware could dynamically adjust the timing by increasing the timing to a specific maximum value on acceleration and constant speed, and retarding the timing on braking - perhaps retarding the timing advance to a negative value.
Here's a plot of how this might work. 
Copyright © 2025. All rights reserved Adrian Blakey