@Rongzhong Li Thank you, Nybble is now partially alive. All optimizations as mentioned in post Root cause analyse on strange FTDI232 / NyBoard behaviour and finally correct type of batterie really helped a lot. Calibration was now working and Nybble became partially alive.
Now there is only one strange behaviour left which is hard to describe. I installed Nybble.ino and I could perform most commands via IR.
But for example in BALANCE mode I detect the board making a beep noise and movement partially interupts, but within a second calibrates back to correct position.
Or in WALK mode the movement is interupted almost every second with a short stop and beep (as cat needs to have a short rest).
Any idea why this happens.
@Mr Robot & Rongzhong Li ; what exactly is function of that "extra capacitor in parallel with C3 (or the power line of any servo)." and how is it working? What type of capacitor did you use?
Great support! It turned out, that a value of 580 works quite good as by now.
NYBBLE IS WALKING!
Many thanks Rongzhong Li !
In the case when servos pull too much current, the voltage will drop. It may cause malfunction as you previously observed with protected batteries.
I added the following watcher at the beginning of every loop. The A0 of Arduino is connected to a voltage divider to monitor the voltage of batteries. If the (relative) voltage drops below a certain threshold, the motion will be paused and Nybble will meow for a while to allow the capacitor C3 to recharge. You can:
Make the value 740 a little smaller as long as you don't see any malfunctioning, or
Add an extra capacitor in parallel with C3 (or the power line of any servo).
to reduce the occurrence of interruption.
void loop() { float voltage = analogRead(BATT); if (voltage < #ifdef NyBoard_V0_1 740 #else 300 #endif ) { //give the cat a break when voltage drops after sprint //adjust the thresholds according to your batteries' voltage //if set too high, Nybble will keep crying. //If too low, Nybble may faint due to temporary voltage drop PTL(voltage);//relative voltage meow(); }
Another benefit of this watcher is that if you forget to turn Nybble off, it will keep meowing when the battery runs out. It will prevent over discharging.