Hello, fellow robotics people.
Me and my team just had our 3rd robotics competition and it went really well except for one thing.STALLING.
We have a good working robot that has the ability to pick up a cube and 2 stars at the same time or 4 stars. Now we had tested it before and everything was working perfectly until about 2 days till our last competition which was last Saturday. At the tournament we were doing really good until stalling occurred. We stalled an averaged of 2 times per match and we would turn off our contollers and turn them back on and wait for about 10 sec. At the competition we lowered all the motor speeds by 30-40%. This did help especially after alliance selections. But we were still a little worried about this stalling issue since at our school we have a similar robot to ours that is about twice as heavy and uses compound gearing did not stall as it had full power. This week we have begun to work on pneumatics for our lift and claw so we don’t use motors.
Plz let me know if anyone thinks of a better solution to these problems and if pneumatics will have a good impact
A little more about my teams’ robot(s)
12 motors used Tank drivetrain 6 motors on the lift 6-bar lift Claw with 2 motors
Abilities- 1cube & 2 stars at same time 3 stars at once NO strain or stripping of gears occurring
12 motors used X-Drive 6-bar lift 2 pneumatics Dumper
Abilities- 1cube & 3 stars at same time 5 stars at once NO stripping of gears or strain on motors
Which ever component (drive train or lift) stalled, try to reduce the load on the motors. Maybe the gearing for the motors are maybe too high and the motors cant handle the load. You guys can try swapping to new motors as well. Also, try checking that all the wiring is good and that non of the wires are cut and that they are all plugged in correctly. If your drive train is stalling, try to add sprockets and chains (for a tank drive) because if one motor is stalling the other motors will also share the load and help, this way it prevents or at least reduces stalling.
Hope this helps.
You can also use Slew Rate code on the drive to take error out of the hands of the driver. A motors PTC’s trips due to overheating when you jam the joysticks forward and back, very rapidly.
We were having a similar problem at our competition. Everything worked until we played a match every now and then. In our case it seems like it could have been connection issues between the battery and cortex. Make sure you don’t have those connection issues and make sure the battery is good also.
how are your y splitters setup? if you have 2 motors going into one port, then it will theoretically stall 2 times faster than a single motor. we had a similar problem and this was my solution. I apologize in advance for my horrible MS paint skills.
This is not true at all, a motor stalls from the PTC tripping, which comes from load and electrical energy not being able to convert to mechanical energy, rather converting to heat energy.
@legomstr1 my apologies, i meant to refer to the power cut that occurs if the motors trip the power surge protection. i found that many people fail to differentiate between the two. But yes, you are correct, the PTC is tripped when there is too much load.
Here is an example of what your wires should look like to avoid tripping the internal circuit breakers
That only gets you to 10 motors. 12 motors requires a Y cable some place.
@Techno gave some spot on advice. @1530RoboWarriors gave some good advice too to use slew rate. Helps on the edge conditions, but if you are asking for too much from the poor little motors then you are still up a creek.
This bit of code from @jpearman on implementing slew rate is all over our many of club’s robots. You only then need to start the task and reference the motor via motorReq instead of motor. The slew rate task takes it from there.
The only changes I suggest are going to a 20ms task delay and we’ve gotten away with steps of 15 to be slightly more aggressive per time slice. This sends it to 0.75 PWM steps per millisecond versus his default of 0.66.
#define MOTOR_DEFAULT_SLEW_RATE 15
#define MOTOR_TASK_DELAY 20
You can also use the @jpearman smart motor library and put in the LED lights to see when the current and temperature is too high. It requires a bit of recoding of your program but good to do as an experiment on the side. That library will flash some LED’s when it thinks the temperature has gotten too high for your motor and preventively limits it. Then you will know it is overworking the motors versus a wire short (wire shorts can be very hard to find, but start with sharp corners or cut edges of metal).
Is it a problem with your vex net?
Vexnet drops are a bit different as the light patterns go all blinky on you in the connection sequence. Motor PTC resets don’t interrupt the Vexnet light.
You quoted me saying this, I never did…
I think he was referring to the first post, which the quote came from
Some things you can try:
- Power Expander
- BLACK VexNet key(It has faster pairing)
- Getting a new 9V Battery
- Try having a higher torque gear ratio for the robot with an X-Drive
- Maybe have a code for slower acceleration for the drives?
- For the 6-bar and the dumper, try attaching more rubber bands to the other side so it removes more or the excessive weight… NOTE: The CORTEX can stall if it’s giving out too much power