I was wondering if there was any to increase the power of a motor when it has a hard time moving. For example, we want our claw to go at a certain speed, but is there a way to increase the power only when it is lifting an object, and detect that by reading a value. Is the only way to make this work to increase the motor power in general?
I think detecting voltage spikes could help determine when to apply more power.
I think I’m no computer science expert sadly
so a motor’s power spikes when lifting a heavy object? So i would just read that value, and compare it to the power when raising the arm normally?
U could use rubber bands
You can also compare motor velocities and create a loop that maintains the motor’s velocity under load.
search “velocity control” and several posts will come up. Most of them are for flywheels but they can be adapted for lifts and claws.
The current is what spikes under load so you could detect high loads on the motor by reading the current value.
This should automatically happen, since you are probably using the internal PIDs, which will increase power when they need to to attempt to maintain a certain velocity.
Yep, for V5 motor, commanded by RPM speed (or percent), the controller inside does what it takes to fulfill the command, within the hard limits of max allowed torque (2.1Nm for red cartridge) and temperature (about half the torque over 55C).
Say you’re commanding it to do 50rpm and detect a stall: commanding it to increase the speed to 100rpm at that point would make no difference, the controller is already pushing at the maximum 2.1Nm.