I got my Bittle assembled and seemingly connected properly, but when I enter calibration mode using the remote, all the servos firm up except for the left elbow which is allowing manual rotation. I can’t get that joint to move with any keypad buttons. I’m not sure how to find out whether there’s a hardware problem requiring a new board or if it’s a software configuration. I’ve tried running the servo tests from the IDE, and I can’t get that one servo it to activate, but I don’t get any error messages saying there’s something wrong. Any ideas? Further troubleshooting steps?
Update: going through the calibration routine in WriteInstinct, I'm not getting any activity for the FL Elbow. I was looking through the OpenCat.h file which the docs suggest has the PWM info for the servo mapping, but it just wasn't clear. I was thinking I could move the PWM to another header and redefine the mapping, but I'm just missing something in the code to make this move.
Hi, were you ever able to resolve this issue? I ran into the same problem. I swapped the PWM headers. my array now looks like this:
byte pwm_pin[] = {12, 11, 4, 3, 15, 10, 5, 2, 14, 9, 6, 1, 13, 8, 7, 0 };
It solved the soft-servo problem. But during skill execution, the left-elbow does not seem to be receiving any commands. It remains in the same position the whole time. I wonder if @Plugh was correct when he asked:
"Do I have to remap it everywhere in the instincts and movements."
@Rongzhong Li - do you know what we're missing here?
Yes, you can swap 13 and 15 in the array. Ensure you activate the correct Board version and upload the revised code following the instructions. I recommend you use the 2.0 branch of OpenCat. It's more stable and easier to configure.
If it proves to be a hardware issue and can be fixed by swapping the pins, we will send you a half refund for the NyBoard.
Hi, do you have a video to show the servo's connection and movement? If you swap the pins of the dead servo and the active servo, how do they behave?
As to the code, in OpenCat.h, there's an array for the pin mapping. It means the 1st joint (head pan) is connected to the PWM pin 12, the 9th joint (FL shoulder) is connected to the PWM pin 14, and the 13th joint (FL elbow) is connected to the PWM pin 15, and so on.