Current Limiting

The Thrifty Nova provides for the user to define a maximum current, where the motor will not draw any more power once a certain current threshold is crossed on either the stator or supply side.

  • Stator: Uses the total draw of phase a, b, and c from the motor side.

  • Supply: Uses the draw from the supply side

Think about current limits as protective boundaries - kind of like having both a speed limit and a weight limit on a bridge. Your motor controller needs two different types of these limits because of how brushless motors work.

When your motor is running slowly or just starting up, something interesting happens - the windings inside the motor (stator) can actually draw more current than what's coming from your battery. This gets especially important in pushing matches or when your motor is nearly stalled. Imagine your robot is in a head-to-head pushing match - your motors are working super hard but barely moving. In these near-stall conditions, they're pulling tons of current through their windings while hardly drawing anything from the battery. Without both limits in place, you could easily cook your motors without even realizing it. That's why we need both a supply current limit (protecting your battery) and a stator current limit (protecting the motor's insides). This dual protection becomes crucial when you're running at those really low speeds or in tough pushing situations.

For the Neo 550 - since it's one of the smaller motors in the family - you'll want to keep those current limits between 25-30 amps. Yes, your controller might be set to 40 amps by default, but that's too much for these little guys. The full-size Neo motors are different - they can handle brief bursts up to 60 amps, but you'll still want to keep them around 40 amps for normal match use to avoid burning them up.

Examples

To set a limit of 24 amps on stator side.

motor.setMaxCurrent(CurrentType.STATOR, 24);

To set a limit of 60 amps on stator side.

motor.setMaxCurrent(CurrentType.STATOR, 60);

To set a limit of 50 amps on supply side.

motor.setMaxCurrent(CurrentType.SUPPLY, 60);

API Details

Set the max current the motor can draw in amps. Motor speed will be capped to satisfy the max current. Also set the what current reading is used for limiting calculations, between:

setMaxCurrent(CurrentType currentType, double maxCurrent)

Parameters:

  • currentType The current reading used for limiting calculations.

  • maxCurrent The max current.

Last updated