Failing to achieve acceleration due to current dropoff

Currently my team and I are trying to achieve better acceleration on our neos and we have not been able to get them to accelerate faster. Does anyone know of ways to increase the acceleration. We have set the open and closed loop ramp rate to 0. We have raised the current limit to 70 but the neos still do not achieve the acceleration we would expect.

. The image is our rpm and current logged using data logger. It reaches max speed in a second but it should be able to in less than a second. The current also drops off faster than we would have expected. It reaches a peak and then something appears to pull it back and then it reaches a normal dropoff curve. Does anyone know why the current does this. When testing on blocks it is able to achieve a max speed in half a second.

how are you controlling them? duty cycle? velocity? voltage? current?

I assume the NEOs you’re talking about are in the drivetrain based on the blocks comment? If so, what are the gearing, wheel size, wheel type, and weight of your drivetrain. Do you have a link to your code?

If you’re using the KOP gearing (or a drivetrain with the same free speed) and your robot weighs around 70 pounds, this graph is about what I’d expect. The motors accelerate faster on blocks than on the ground because when they are on the ground they are limited by the traction of the wheels with the ground. The slip current and acceleration in the graph aligns with calculated values obtained from reasonable parameters: Drivetrain Simulator - AMB Robotics Calculator

The only way to increase acceleration would be to increase your wheel’s coefficient of friction with the ground, likely by changing wheels to a different type.

Under this hypothesis, the reason for the non-steady decrease in current would have something to do changes in the frictional force. Maybe the shift from static to dynamic friction or something to do with the robot bucking or the COF decreasing once the wheels slip.

Edit: Thinking about it more, the last case seems most likely. You may be basically inducing wheelspin when you start the acceleration, decreasing traction. Someone more knowledgeable can probably explain this better. In that case, you would need to implement traction control, or for a more attainable solution perhaps lower the current limit to just below your slip current.

It is not possible to get more acceleration without a hardware change. The roll-off you are seeing is motor saturation combined with motor dynamics, in which as a motor gains RPM, it also generates more backemf which reduces the amount of current it can pull and therefore it’s acceleration.

@Alex_Y I believe they are talking about the sudden dropoff from 40A to 25A not the more gradual decrease afterwards.

Thank you so much for helping me. Yes the NEOs I am referencing are in the drive train. The weight of our robot is around 50 lbs. The wheel diameter is 6 in. I cannot remember the gearing, or wheel type off the top of my head but I can find that on Monday. Here is our code: GitHub - FRC4926/CrescendoMain. My mentor had run some calculations and he had told me he was expecting it to accelerate faster than this. Also I had forgot to add this in the original post but we were receiving the same weird current drop with the robot on blocks.

. On the graph for it on the blocks it has a very sudden drop then it spikes back up again only to sharply fall. We thought it might have something to do with the spark max controlling the current to reach the desired speed. I can attempt to reduce slippage on Monday however I hadn’t noticed any in our tests but maybe I was not paying enough attention.

Yes I was referencing the sudden drop in Amps. We do not know why the robot was doing this and we were hoping that we could reduce or remove it to increase the acceleration. The sudden doesn’t look like the normal drop off in current that you would get in a motor so we were hoping we could fix it.

We are controlling them using arcade drive with the differential drive class which I believe controls the velocity. We are setting it to one with a joystick so it should go max speed. Here is our code if you want more information: GitHub - FRC4926/CrescendoMain

Do you understand how DC motors work? This is what happens when the back-EMF decreases the voltage across the coils. It’s totally normal and unavoidable.

I basically think you are wrong to expect this. Can you elaborate the basis on which you believe the behavior to be unusual?

2 Likes

I understand that the current will naturally decrease as the motor goes. I was just talking with my mentor and he had thought that the very sudden drop from 40 Amps to 25 Amps didn’t look like the natural fall off of a motor and that something else was holding it back. We may be wrong in our assumption though and you may be right that the sudden drop is merely from the back-EMF. I think we might have to accept this as unavoidable.

I would have to ask my mentor as I am mainly going off of his word. I can ask him on Tuesday as that is when he will next be in the shop. I do not know what his calculations were to say it should have accelerated faster. I also am not very familiar with the drop off curves of currents for motors. I am mainly just trusting my mentor when he said the drop from 40 Amps to 25 amps didn’t look like the normal drop off and it looked like something in the controller was pulling it down there. Thank you so much for helping me. I think we may just have to accept this acceleration. Also we expect it was above 40 amps but the refresh rate of the datalogger looks to be somewhere around 100 hertz so it was probably missed in the middle of it. We think this might be true as some of our other logs had max amps well above 40 and the current limit was set to 70.

i’d suggest taking slow motion video of the wheels, to validate the wheel spin hypothesis. it’s not unusual for the sequence to be a period of spinning followed by “hooking up” with the carpet. the spinning period would have lower current than the hooked-up period.

1 Like

You should also plot the battery voltage, and the applied output.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.