HB-25 and robot arm. Axis drifting.
I have 6 HB-25 on my Scorbot robot arm.
I'm using some simple Arduino joystick programming to control each driver with PWM.
When the drivers have no power the arm axis's are difficult to move manually. The are all brushed dc motors with harmonic gearboxes.
When the drivers are powered the axis's affected by gravity drift down. ( shoulder, elbow, wrist).
The base rotate does not move as gravity has no effect on it.
The joystick program on the Arduino works like its suppose to.
Anybody have any ideas??
Video of arm drifting.
Tha axis moves normally when using the joystick.
When I stop it’s starts to dtift down.
I'm REALLY interested in learning about this robot arm. I haven't seen anything like this.
Is this a brushed motor and actual harmonic drive? Or is it a stepper motors? What is the encoder resolution?
It looks like powder coated cast metal. No?
Do you have encoders on the joints?
It’s Scorbot from a university
Yes all metal dc motors with harmonic drives.
They are on ebay but everyone thinks they are made of gold so they asking alot.
The controller is obsolete.
Yes a/b with index pulse.
Home switches are hard wired into the motors.
I haven't use the HB-25 specifically, but have used other cheaper motor driver board.
There were 4 modes: R rotate, L rotate, Off (open), Off (shorted)
The last two modes made a BIG difference in performance. Off (motor shorted) provides significant braking. Maybe that will help you here?
What driver boards did you use?
just google: L298N You can get a 4-pack of driver boards for $11-$12
I just read the specs they can do 24V 18amps so will probably even work
If you know of any good youtube videos showing what this thing is capable of please post them. Im interested in the top performance this servomotor arm was capable of at those mass and power levels
So it drifts due to gravity but it's not actually losing track of position, right?
IOW, when you grab control in manual jog, the joint angles are still correct?
It sounds to me that it has torque limiting (aka: soft-servo) which enables the joints to be compliant. When not actually being commanded to move, it makes sense to allow only enough current (motor torque) to hold position. Seems like the torque limiting is set too low.
Collaborative robots (aka: Cobots) use this technique (plus sensors) so that they don't need protective cages and can work side-by-side with humans.
I would look at some of the really nice drivers on Aliexpress.
Sorry such a late reply. I've been away from the forum for a few months.
Are you sure the motor is drifting and not the joystick?
IMO the HB-25 is a far superior motor driver than the L298N.
Since you have encoders on the joint, the program should be fighting against any droop from the arm.
Are you sure? Do you have debug information to monitor? It would be good to see what the joystick input value is along with what the encoder feedback is. It would also be helpful to have various parameters from the PID loop. How much error is reported in the position? What are the command pulses sent to the HB-25s?
I just don't see how this is an issue with the HB-25s. It really looks like either the joystick pots are drifting or there's an issue with the control algorithm.
If someone reading this is interested in use the old (and IMO obsolete) L298N, I made a bit of a tutorial on how to use the driver here.
I used a pair of HB-25s to power my Arlo based robot. The robot would consistently drive the exact distance by using the HB-25s along with the quadrature encoders (here's a related post with video). I found it easier to get the robot to travel the exact number of encoder ticks than when attempting to use a MC33926 h-bridge board. The MC33926 is another motor controller which is superior to the L298N. The main thing the L298N has going for it, is it's cheap. The L298N is very inefficient. The chips convert a lot of the power to heat rather than movement in the motor.