I just checked the winding resistance on a room temperature NEO motor: 4.99 Amps produced 0.75 Volts. 0.15 Ohms from X to Y. This means that each coil is 0.225 Ohms. Just FYI, when I plug X into Y, I get quite a bit of drag torque and some cogging. With 5 Amps going from X to Y the motor holds position quite strongly; more torque than I was able to casually put on the shaft with my fingers.
Running the model, it looks like you might get 1.4 Nm of braking torque at full speed (5800 RPM) and 880 Watts of braking power going into the motor windings. There’s a very good chance that I’m calculating this wrong, though. I’m not 100% sure how to treat the shorted three phase windings. You REALLY don’t want to do that for very long! This braking torque tapers off as the motor speed falls, of course.
Since I can’t leave well enough alone… I took some actual measurements! Sorry, but we are getting close to the limits of my scale, and the hanging scale is waaay below its measurement range.
Torque arm: 200mm
Speed: 575 RPM according to my lathe chart
12.7 grams or 0.12N of load open circuit
204 grams or 1.99N two leads plugged into each other
243 grams or 3.35N all three leads connected via alligator clips
103.6 grams or 1.01N two leads plus a 0.005 Ohm shunt
Reads 16.6 Amps AC
66 Hertz I don’t know if this is right or interference…
Also I don’t know the pole count on a NEO
Open circuit: 0.024 Nm at 575 RPM
Two leads shorted: 0.398 Nm at 575 RPM
Three leads shorted: 0.67 Nm at 575 RPM
Two leads + shunt: 0.2 Nm at 575 RPM
And yet more measurements up to the full speed on my lathe… which isn’t all that fast The way I’m doing it, its not easy to get more than three consistent speeds.
Here’s the drag with no electrical connections at all. Very small torque due to the bearings.
Only shorting two wires together (using the Andersons) delivers less drag than all three shorted (even though its done via test leads). The Spark Max brake mode is all three shorted, so it should be fairly close to this, at least for a cold/slightly warm motor.
And, finally, the exotic testing. I am injecting 0 to 5 Amps between two terminals. I am using a diode and a 3.6 Ohm resistor so that the current doesn’t jump all over the place due to the motor’s generated voltages. Please be aware that this data is of limited accuracy. My smaller scale only measures to 0.1 gram. The largest torque on here varied from 14.7 to 17.3 grams! One takeaway from this is that 5 Amps is really not enough current to get any real braking on this motor. At zero speed there is a noticeable cogging torque if you are turning the shaft by hand, but with any lever arm at all its minor.
Have you considered running the NEO in an active braking configuration? That is, put it in closed loop control and either set the target speed to zero, or the target position to a constant. (These may give different results.)
I would LOVE to do that, but I don’t have the hardware to make it happen! There’s four braking scenarios I’d like to test and have actual quantitative data on:
Spark Max brake mode
Active braking to zero speed
Spark Max brake mode until RPM falls to a setpoint, then active braking to zero speed
Stopping doesn’t seem to be treated right on ILITE, and I’m trying to build my own sheet so I fully understand it before I start tinkering under the hood
Here’s an ILITE simulation of the chassis. Note that the reverse drive section has constant acceleration, where the starting doesn’t. I’m 98% sure that the stopping torque varies with speed the same way that starting does. The distance shown is or 25.2 feet or 7.6 meters.
This isn’t totally apples to apples, but here’s my simulation of the same chassis. I’m not using ABS(accel) and its metric units. I’m seeing the reverse drive acceleration increasing and then flatlining once its current limited. An interesting bit is that (according to my model) the “brake mode” braking torque is actually higher than you can get from reversing the motor! You can see they cross; the green acceleration curve has an automatic switch to whichever is braking harder. The tuned one is me tinkering to see if there is a lower energy stop that’s still pretty quick. The brake mode setting doesn’t use battery power for stopping, which is a pretty significant perk! But, that comes at the cost of much longer braking time/distance because the braking is related to speed.
I would LOVE some of the motor gurus to weigh in here! Even better would be for Rev and Vex to set up and run these cases with their dynamometers and give us a real answer!
I realized that I hadn’t plotted my measured brake torques vs known motor performance and my predicted motor braking! Um, that’s a lot higher than my prediction! Edit: added the two leads shorted data… When I change the resistance that the generated voltage sees from my measured 0.15 Ohm to 0.065 Ohm I can hit the highest data point. My base model of this does not factor in the 3-phase aspect of the whole problem, so its not surprising its off…
Even more nuttiness here… In order to get faster I chucked the NEO shaft in my milling machine. The #1 takeaway was “bigger scale needed”. The two new data points are blue for the SparkMax brake mode and yellow for my crimped 10 AWG shorting plug. Clearly, the resistance in the test leads I was using was seriously skewing my braking results! Need more data…
And then I hooked the Spark-in-a-box tester to my test motor.
OK, first ever real-live two quadrant drive mode data! The NEO was set for 10 Amp current limit. I started the NEO running against the drag of my mill’s spindle, belt, and motor. Keep in mind that this is NOT full load. I don’t have a good way to load this case up accurately and controllably. Using the spindle brake didn’t do it… Once I got that data point, I turned on my spindle VFD and slowly ramped up until the NEO was barely turning forward. Data. Then barely turning backward. Data. THEN, I ramped up till it was running backwards at about the same speed.
I can’t get the REV client to run the motor, so no current data. I need to troubleshoot that!
@GeeTwo Yes, I finally tried it and the SparkMax active braking is quite vigorous! Post 7 has a data point with brake mode.
Today’s quick test came back with a kind of scary answer: the current limit doesn’t seem to be active when the load is overhauling! The first phase of this graph you can see the RPM spools up in the positive direction. I have this set for a 1 Amp current limit, but you can see lots of peaks above it. After it reaches full speed I turn up the VFD on my mill and force the motor to stop (you can see the RPM cross zero) and then run in reverse. You can clearly see the reverse RPM phase has a LOT more than 10 Amp draw; looks like up to 40 Amps! After I hit full reverse I let the motor slow and spool up the right way again, then brake mode stop.
The graph really explains what’s going on in the torque graph in post 17, where the reverse quadrant torque is WELL above the forward quadrant torque. That’s because there’s a lot more current!
As promised, I’ve got hard data on what a Spark Max + NEO actually does when its powered down. Bad news: it doesn’t brake when its not powered! edit HOWEVER, at the end of a match they Spark Max -is- powered, so it will be braking!
First cut: as measured before, the braking torque is significant even very close to zero speed WHEN ITS POWERED. Being connected to USB only does not count as powered.
When power is removed, the braking effect goes away. A very crisp change. Spinning the motor by hand does not generate enough power to re-enable braking.
When I was spinning the motor without power and then turned on the power, there was a delay for boot-up and then I heard a clunk and braking kicked in.
Here’s a video where I apply and remove power while turning the motor:
Inverter circuits include two semiconductor devices in each of their six branches. One is a controlled switch (MOSFET is the type used in low voltage inverters) and the other is a diode, which is uncontrolled. When a PM motor is being back driven, its induced voltage forward biases those diodes so they conduct current back into the DC side of the inverter — if it is connected to a DC source that can accept regeneration power, such as a battery.
When the robot is powered off, the motor drive inverter circuits have nowhere to put regeneration current, so the back driven motor doesn’t resist very much. With the battery connected, that resistance increases significantly. It does not require or respond to control, so enabling or disabling makes no difference.
Yup, that is the key point. That means if you use a ratchet or brake mechanism for a climber, when the robot is disabled at the end of the match and you release the holding mechanism the robot will descend in a nice, controlled manner.
I probably wasn’t as clear as needed in my earlier post. Braking torque developed by a brushless motor while its controller is connected, but disabled, is based entirely on induced voltage – also called back-EMF. That voltage is proportional to speed, so it vanishes when the motor is not turning. That makes the disabled motor a viscous damper (viscous means “proportional to speed”), not a static brake. Short summary: no holding torque at zero speed without some externally applied current. So, no holding torque when the controller is disabled.
One exception to this is the cogging torque, which does not depend on electrical current at all, but is instead developed as magnet poles interact with ferromagnetic teeth of the stator. If the cogging is high enough, and the gear ratio is high enough, it will provide usable holding torque. Some actuators are designed to take advantage of this effect; however, the motors designed for FRC use have relatively small cogging torque. Not as small as those designed for precision motor control (e.g., power steering or semiconductor manufacturing), but small enough that cogging alone won’t generally hold an elevator or climber in place with the robot disabled.
@Richard_Wallace Is there any chance your testing rig still exists and could be used to do a full 4 quadrant check on NEOs? And maybe a sweep of brake mode? Just hoping!
Also, the “near zero speed” torque on a brake mode NEO is surprisingly high. Its not like turning a stepper where you have to overcome the cogging, but they resist you at almost any speed. Some of that may just be the contrast with the non-brake mode; that has super-low resistance!
My test rig still exists but doesn’t have students supporting it now. It also lacks a data acquisition system.
I think @Will_Toth will have better access to test capability, but I will be happy to help if I can. I did send REV some test data back when Neo’s were a new thing, but it was not the full 4Q test you are looking for. My data at that time agreed closely with what a BLDC motor simulation would predict.
I don’t have a NEO550 available, but I do happen to have a CIM on a 48:1 AM CIM Sport gearbox in my living room (project currently in suspense; I’m hoping TTBs bearing mega plate will get it back on track soon). I put my small (75 ft-lb) torque wrench on it, and it turned at something definitely less than 5 ft lb, so time to improvise.
I then put a wrench on it, and placed a can of tomatoes (3300g by my food scale) on edge at various distances along it. The gearbox broke at 13-15cm (I did six trials, but all were in this range), so that’s about 46,000 gg-cm or 3.3ft-lb. This was with the motor leads not connected to anything but air, that is, coast mode.
I then re-read your post, and saw you were looking for brake mode info. I shorted the leads, and the break radius increased to 20-24cm, so about 73,000 gg-cm or 5 1/4 ft-lb. From playing with them over the years, I am certain that the brake mode of a CIM produces well more than twice the torque of coast mode (I’m thinking 5-10x) , so I suspect that most of the coast mode resistance was due to the gearbox itself.