I have assembled my Nybble following the instructions, but I've reached a problem after calibration. It seems like the servos are not behaving correctly, sometimes even spinning 360 degrees around. I have uploaded a video of how it behaves when I alternate between the commands c and d.
top of page
bottom of page
see post: Partially alive ... it might help here, too.
Just a quick follow up on this: I bought some new batteries and they arrived yesterday, and now I have a cat! It seems to have been an issue with the batteries, but with the new ones the calibration went smoothly and I got the cat to sit and stand and wave. Walking is a bit of a problem still, will look into that.
Thanks for your help and recommendations!
It shouldn't be a problem even if you tune the potentiometer to the lowest, especially that you are not putting load on the servos yet. Have you uploaded writeInstinct.ino, saved the constants and calibrated the MPU6050?
Try to use this board diagnose sketch to check the board's servo driver. Monitor the voltage over the servos power line if you have a multimeter.
Your previous servos have a stopper on the shaft. I've seen such structure on those plastic 9g servos. For Nybble's servos, there's no stopper. Reasons I guess, are:
1. The servo can generate much larger torque. Putting a hard stopper in its way may damage the gear system. I have some more expensive servos and they don't have the stopper either.
2. The manufacture has an alternative model that can rotate 360 continuously to drive wheels. They may prefer to use the same hardware.
Thank you for the quick and good explanation. I am using two batteries which are brand new, so they should have more than 3.5V. I have adjusted the potentiometer but it's very difficult to adjust it once it has been mounted to the frame. It's also recommended in the assembly instructions that the potentiometer be left at the lowest value, which I guess would lead to this issue? It would be nice if the instructions would mention when and how to adjust the potentiometer to the correct value.
One question: why can the servos rotate all the way around? I'm not an expert on servos, but the ones that I have used before are not able to do that, which would prevent this kind of problem, I think?
Suppose the arm is pointing at A. The servo receives a target position B and should travel through the intermediate (green) path on the arc. But if B moves faster than the servo's angular speed, and gets over the inferior arc, the servo will prefer to take the shorter (red) path.
This could happen in several cases and can be tricky:
1. First of all, you have to power the board with external power supply. Otherwise the servos will be powered through USB and will certainly malfunction. Observe the LED eyes of the cat on NyBoard. In your video, I can see the blue light for logic chip, but can't see the yellow light for servos's power.
2. The battery itself is running low (< 3.5V each).
3. The voltage on the servo after the step down circuit is too low so that the rotation speed will slow down.
4. The voltage on the servo after the step down circuit is too high so that every servo will draw more current. The battery's voltage would drop when all servos rotate at once, as the total current will be larger than the battery's discharging rate. Again the speed of the servo will slow down.
5. If the voltage drops below critical threshold, the PWM signal sent by the controller may be distorted.
Different brand of batteries have different discharging abilities. Try to tune the potentiometer to find a sweet spot. In the worst case, you can reconfigure the board to make the most out of your battery, without wasting any power in the step down circuit.