Pittsburgh, PA, USA | info@petoi.com 

© 2018 Petoi LLC

Oct 12

Nybble's leg shakes after deep discharge

6 comments

After a deep discharge one of the legs of the cat started shaking in some positions, so it cannot walk anymore. I cannot calibrate it because of shaking (see video below). Does anyone has the similar problem? Any ideas what is the reason and how to fix it?

 

 

Oct 13Edited: Oct 13

Using testServo I found that couple of servos died. One MG90D doesn't move at all and one MG92B shakes on the center of trajectory. Looks like MG90D is relatively common, but I cannot find MG92B.

In fact two MG90D died. I am in doubt whether the reason is V_S connected to BATT. As the battery voltage is greater than 6.6V (the max operating voltage from MG90D specification, see https://www.towerpro.com.tw/product/mg90d-2/). I have disassembled one and found that the motor itself works well, so it is the electronic inside servo which died. I going to try replacing died servos by MG90S which is simpler to buy.

What was the “deep discharge” event? I’m very curious to record this incident. I have experienced two kinds of servo failures in previous tests. One is gear damage if crashed in accident. The other is the brush in the motor worn out after certain period of use. (In that case the motor won’t rotate by itself). The high voltage may be a problem. However, the voltage on servos will drop when they work at once, because the wires will take some voltage down (the resistance of the circuit is about 0.8 Ohms. When the current is about 3A, the wire will take 2.4V). The servo’s chip can also handle high voltage. Most of failures happens when stall torque happens (servo forced to stop or get stuck from outside)

Oct 13Edited: Oct 13

In fact I cannot tell anything interesting. I gave the remote control to my daughters and they played with Nybble until it started moving abnormally. Only when they asked me to find out what happened I realized that the batteries are discharged. The cumulative voltage were about 5V. I recharged the batteries to 4.2V each but the cat started walking abnormally like backward legs doesn't work properly.

 

I tried to re-calibrate the cat but one of the MG92B were shaking when the backward leg goes to the position which is orthogonal to the bottom (like on video). Only few steps in any direction and the servo works normally. I tried to find out whether it depends on the pin which is used to connect the servo so I exchanged two servos connections and used testServo.ino to check them. I found the servo connected to another pin works abnormally as well so it doesn't depend on Nybble board. But suddenly I found the second servo (MG90D ) doesn't move anymore and at the same time the tail started moving without stopping after cat is turned on.

 

I rewrote the firmware, resetted the calibrations, updated the reflexes and recalibrated MPU and it stopped the tail. I disassembled the died MG90D servo and powered the engine from 3 AA batteries to check that it works. I measured input voltage on the servo PCB and it was about 7.8V. Finally I tried to replace the MG90D on the leg by the MG90D on the tail and found that it doesn't work either. I double checked the pin using a servo from another leg and found that the pin works.

 

A long story but almost no output :-) I am almost sure that the discharge itself didn't kill the servos. But at least shaking of the MG92B started right after the discharge. May be I killed the MG90Ds accidentally moving them when they were powered but I tried not doing this. For me it looks like: I try to do something on the console, the servo starts rotating to the wrong position and stucks, I switch the power off, when I start the Nybble again the servo doesn't work.

 

I am going to switch V_S back to V+, increase voltage to 6V using potentiometer (in fact I didn't realize that it is required reading assembling instructions) and check Nybble replacing the servos.

I have replaced one of the died MG90D on the leg by MG90S. The servo size is almost the same so no work were required. The servo works well, the cat started walking again :-)

 

My experiment with the potentiometer failed I set it to the maximum counter clockwise but the cat freezes after a second. I measured the voltage on the servo and see that it constantly changes.

 

 

The rated current of the chip is 5A. It works for cheap plastic servos. But for metal servos with larger power, if the peak current ever exceeds 5A, the onboard protection will be triggered, causing the output on and off. It’s a point that I hope to improve in future versions.

New Posts
  • With writeinstinct.ino sketch loaded I calibrated joints, updated instincts, and calibrated the MPU6050 with no problems. When entering commands into the serial monitor all positions work and run great; sit, walk, rest and kbalance stands level with head and tail straight. The problem accrues after loading the main Nybble.ino sketch. Nybble works great with the remote control but on the balance command the body of Nybble leans to the right, the tail moves to the right of center and the head tilts down and to the right. The walking goes to the right quite a bit when testing with writeinstinct.ino loaded. The other positions look "true" when sitting, pushups, rest, butt up etc.. Also with Nybble in balance/standing position when pushing and or tilting Nybble to the right or left the right side goes over very easily while the left side has a more notable resistance when pushing over. It falls/leans easier to the right side and never will fall over to the left side. Front and back tilt work good with legs moving into the underbody position. No amount of calibrating the MPU6050 or servo angle adjustment has corrected this behavior. I have calibrated more than several times, even switched servos leg assemblies, looking for a really weak servo(s), to the other side but with no better results. I noticed when running the calibration for the MPU6050 in the serial monitor waiting for the "6 numbers", it has more than once brought up only 5 lines of numbers on the completed MPU test and the test at times took over 25 lines of numbers printed out in the serial monitor before the MPU testing was finished. ( lines of numbers like this; " -1390 2206 999 100 -8 8 " ) Is it possible that the MPU6050 gyro/accelerometer is failing ?? The NyBoard Version is V0_1 mounted servo wires side down with the FTDI connector to the rear of the cat and have been using 2 sets of EBL 14500 fully charge batteries. I have not modified the NyBoard to "Pro Version" as like on the forums. So far its been fun, Thank You for the great kit Rongzhong & Team Members! Any help would be greatly appreciated !
  • Hello, is it possible that i have somehow flipped left/right position on sensor ? When i lean nybble to left it is not trying to compensate but moving even more left. Same for right. Front and back lean work as expected. Second question - is it normal that servo are moving with little delay after each few degree of movement - mean movement is not smooth but with delay intervals in it. Is it by purpose ? Is there any way how to fix / change it ? For example higher quality servos ? thanks
  • Hello, i have an issue with calibration. I have new kit with v2 board, original servos. Batteries are ok, measured and fine but i did try external laboratory power supply as well but without luck. First, i did basic calibration with "c" on serial console and set basic leg angle as on following picture: Them i start to calibrate using command "c8 number" to do fine tuning. Servo 8 and 9 are acting weird, when i send "c8 0" several times ( mean i will send same command over and over ) servo move to random position: This is happening only to servo 8 and 9. Servo 10 and 11 works fine mean command c10 0 will not move servo at all and c10 1 will move it little bit. Multiple same commands are working fine too. Next weird is when i reset serial connection akka restart main board and send command "c" for basic calibration position all legs move to correct position. Any suggestion before i will start some deep debug action ? :) Thanks