NyBorad V0_2
WriteInstict.ino was uploaded as V0_1 (my mystake) but everything passed well
- Instincts are loaded
- MPU is calibrated
- Joints are callibrated (bcs the wiring schema is for V0_1 was used) and saved
I took out batteries and left my cat for the night.
On a next day I wrote done Nybble.ino (still as V0_1) but IR didnt work
So I again took out batteries and left my cat for the night at a rest postion.
On a 3rd day I put a full charged non-protected batteries and power on my cat
- A non-stop buzz come from the board after power-on
- The blue led and the green led are constantly on
- if FTDI is pluged (yes, GND to GND) into the board before power on - the PWD and REN leds are constantly on
I see /dev/ttyUSB0 under my Ubuntu, port speed 57600 but cant upload any sketch nor any bootloader now
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
when you upload, is the battery still powering the board? The meowing and the numbers(287, 265...) is the low voltage alarm.
I am making a Nybble with V0_2. Calibration went well. WriteInstinct.ino uploaded successfully, and I could control Nybble by Arduino IDE. It could trot and crawl and sit.
Then I uploaded the Nybble.ino. Arduino IDE claimed it uploaded successfully, and then Nybble started meowing repeatedly. It only stopped when I pulled the upload chip off.
The jerky motion relates to a lot of factors. Inertia of leg, sensor noise and motion planning. The potentiometer is bypassed when the jumper connects battery directly.
Hi Rongzhong,
Thank you for the feedback. Yes it made all the difference. All basic movements are now working, although somewhat jerky in the movements.
I have the servo voltage set to 5.5V. Will I get a more smooth movement with a higher voltage.
Best regards D L
Hi All
Following on from the discussions above on the difference between servo usage in Nyboard_V02, I have re-connected all servos as recommended above. Updated WrtieInstincts.ino and entered ‘Y’ for all the prompts. I re-calibrated, save the calibration and verified it on a second run through.
I uploaded Nybbe.ino. The initial load servo movements finished and Nybble meowed. -- All good!. As soon as I attempt any operation, I get unexpected results:
unexpected - Half way though the operation KFR and KHL will rotate fully and lock up
- Head Pad will spin through 180 degrees
- other variations of unexpected servo movements.
- Nybble becomes unresponsive
I re-upload WrtieInstincts.ino and the calibration looks ok.
Looking for the any suggestion that can point me where to look.
Thanks and regards
D L
The issues is successfully solved
FTDI issue - it was because the shipped FTDI died. As I wrote before - after power on the RX led don't blink shortly but is constantly on.
I have bought a new one named FT232 (microusb port) and I can upload sketchs again :)
"zzzz" issue - I think my last uploaded sketch crashed for some reason (Li wrote about it early)
After uploading TestLed.ino all is fine - my cat is a Cat again, not a Bee :)
Tomorrow I will upload WrtieInstincts.ino again for recalibration after the crash.
I'm a complete newbie to robotics, but Nybble was to be my introduction. I've assembled Nybble but I can't get Arduino IDE to recognize the 20Mhz processor. It recognizes the other Arduino Pro or Pro mini processors in the avr/bootloaders/atmega folder but not the ATmega328_20MHz.hex file for Nybble. I've confirmed that the boards.txt file in the avr folder is the one being used, but I can' figure out why the 20MHz processor isn't being recognized by Arduino. Any suggestion?
The physical connection for two versions are all the same. What changed are the mapping from the PWM number to joint index. The mapping is handled automatically in OpenCat.h by changing the board version definition in Instinct.h.
I'm using your drawing method to show the corrected connections.
Thank you Rongzhong,
I uploaded WriteInstinct.ino, selected Y to all options resetting the Joint calibration, Updating Instincts and re-calibrating the MPU. I then entered c to enter callibrate mode. The nybble set the servo to calibrate position (and were out as expected).
Then staring with the HEAD PAN connected to servo 0; I entered c0,10 to see where it moves to; to my surprise the FL Knee moved. It seems the servo mapping is different?.
Any suggestions on what to do next?
Best regards
DL
I have further observations regarding this issue I hope someone may provide some further insight into. Like Pavel above I completed calibration using WriteInstict.ino but had NyBoard_V0_1 instead of NyBoard_V0_2 in Instinct.h.
All calibrations appeared to be look correct in WriteInstinct.ino, but later I got the 'cry' buzz when I loaded Nybble.ino.
After realised the mistake, I set NyBoard_V0_2 in Instinct.h, re-complied and uploaded Nybble.ino but had significant issues from that point on.
- All calibrations appeared to be out and looked like it needed a complete re-calibration
- Using c<servo> <offset angle> was selecting the incorrect servos. Eg Knees were now 0,1,2 3, Shoulders 4,5,6,7 and the remainder were 12,13,14 instead of the mapping in the instruction manual.
- m<servo> <angle> e.g. m0 10 cause many servos to operate and then tripped a servo overload
One last comment is that as per the guide, I have set the servo voltage to 5.5V. Any thoughts on what is going on here would be most welcome.
Should I reload WriteInstict.ino and re-calibrate using the altered servo numbers or is something else wrong here?
Best regards
DL
PS I put togther my view of how the servos and joints were attached in the attached image.
Hi,
I saw exactly the same thing when my serial port hung. To help with linux serial issue, try these:
1. The USB driver may be hung and needs resetting. You can reboot, or use these commands to unload/reload the drivers:
# - start here-
# Check what is happening in the log file
sudo tail -f /var/log/messages &
# See which devices is using usbserial. Should just be ftdi
sudo lsmod | grep usbserial
# Unload ftdi and usbserial drivers, then reload them
sudo modprobe -r ftdi_sio
sudo modprobe -r usbserial
sudo modprobe usbserial
# Check
sudo lsmod | grep usbserial
# - end here-
2. Unplug the Ftdi adapter from the nyboad and put on the ftdi adapter a jumper between TX and RD . This creates a loopback. Use a serial port program (minicom (tty) or cutecom (gui)) and see what you type on the keyboard does get loopbacked to the screen. If this happens you can be assured the linux ftdi/usb drivers are working. (Don't forget to remove the jumper when the test is done).
Good luck
D L
I have the permition for a dialup group.
And I tryed to run IDE as a root - it has any permition because is a super user for Linux.
I suspect FTDI doesn't bcs a problem with the board
What does the boadr sound mean ? "zz pause zz pause zzzz pause zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...."
You just reminded me one thing. On linux machine you may need to add permission to serial port. It's not simply run "sudo".
Section 4.2.6: You will need to give the serial port permission. Please go to this link and follow the instructions: https://playground.arduino.cc/Linux/All/#Permission
Thank you, but it all seems like not my case
I know about the lower power signal "moew - moew - moew" - I had it when start Nybble.ino for the first time.
But batteries' output is 8 volts now so it's not the "meow" case.
After powering on the sound is "zz pause zz pause zzzz pause zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...."
The reset switch stop the "zzzzz" but after releasing it the sound is strarting again "zz-zz-zzzz-zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.....
May be it is not a Cat but a Bee ? :)))
It is look like a problem with the board (or a board booting/starting) or with a uploaded sketch.
But I cant't upload a new sketch (LED-test again for example) or burn the new bootloader (see my first post)
FTDI: I was trying
- check settings "no line feed" and "57000 bauds"
- change USB cables
- change USB ports
- replug FTDI
- restart IDE (many times under different conditions)
- use IDE as root (superuser for Ubuntu)
- test with a miltimetr all "long legs" of the UART port between soldering points of the NyBoard and the UART socket - all is fine - no breaks, no shortcuts
"WriteInstict.ino was uploaded as V0_1" is exactly the cause for the continuous beeping. There's a low voltage alarm in the loop, and the two versions have different voltage factors. So the threshold for V0_1 is too high for V0_2. You can change the V0_1 to V0_2 in Instinct.h and reupload WriteInstinct.h, enter ‘Y’ for all the prompts and then upload Nybble.ino. It should fix the continuous beeping.
The failed uploading problem is usually the failure in opening the serial port. The failed connection could happen in the middle of bad physical connection of pins, disrupted initialization of ports, over current protection, etc. It can usually fixed by restarting the Arduino IDE or the computer. Also remember to check Tools->Port to select the serial port after you reconnect the uploader.