I have been struggling with getting predictable and smooth operation from the servos and following some calculations, wonder if my problems are because of the choice of 14500 battery in Nybble_v0.2. Problems experience are:
servos turning uncontrollable (SW3 set to BATT solved a lot of this)
servos not completing the instruction
servos struggling to 'walk'
The servos have an operating voltage of 4.8V~ 6.6V. The required amperage is not document well, but there seems to be a community feedback that the peak amperage is 750mA - 1000mA, with a stall current of 2A. Changes in the pulse width to control the servo is +/- 0.5ms (from 1.5ms) each 20ms, meaning there is 1ms/20ms max pulse or a 5% duty cycle for the load.
I have observed that peak currents of between 2.5A and 3.5A being drawn. This is where my question of the suitability of the 14500 Li Ion battery.
I calculated the 14500 battery internal resistance by measuring V(unloaded)= 8.26V, V(rest mode+RP+Ultrasonic)=8.15V and I(rest mode+RP+Ultrasonic)=150mA. Thus R(internal) of the 14500 is (8.28-8.15)/0.150 = 0.73 ohms. At a current of 3A this is 2.2 Volts.
The low voltage threshold I have set is 3.25V per battery = 6.5 V. Nybble will 'meow' at this voltage. I hear Nybble 'meow' in almost all movements, and observe the issues above. Basically, taking into account the voltage drop across the internal resistance of the 14500 at peak current Nybble operates below the low voltage threshold even when the batteries are fully charged, or in simpler terms there may not be sufficient amperage being supplied by the 14500 batteries to drive the eleven servos that Nybble V0.2 implements.
I am looking for suggestions on the approach to fix this.
Bigger batteries (e.g.18650).. will need a 2mm shim at each servo for 8mm needed extra width (18mm -14mm * 2 batteries)
Higher peak current capacity using 14500 LMR batteries (9A peak current)
Capacitance (? up to 0.47F using 11mm button supercap + charge cycle of <15ms )
At the moment Nybble_V0.2 is an excellent research project (thank you Rongzhong), but not useful to me as a platform to experiment with automated functions (explore, self-recharge, follow ball, recognise faces) based on external inputs.
Any other observations or suggestions welcome.