All Servos are shaking

Just tried a Pololu Maestro servo controller hooked up to one leg. Using the Pololu Maestro Control Centre (an analogue of PoMoCo) to control the servers independently exhibits none of the peripheral shaking in the other servos.

Next to test is an Arduino sketch using the servo library on the Servotor32 instead of the Servotor32 firmware. That should narrow the behaviour down to either the firmware or the controller itself.

Having a lot of fun with this. Great platform.

I’ve been looking into this, and I think it relates to how the chip handles USB. The USB interrupt driver is over-riding the interrupt that handles servo movement, so whenever it receives a new command, it messus up the the timing for a very short time on all of the servos. I’m looking at triggering the timing for the servos in a different manner that isn’t dependent on it hitting every single 10uS interrupt, like say by looking at the counted increase of another timer.

Thanks, Joseph. So since the Bluetooth module uses the rx/tx pins for serial communication rather than USB, does Hexy under Bluetooth control not exhibit this behaviour?

Excuse the Neub question, I’ve just got Hexy up and running under USB control and haven’t got Bluetooth working quite yet.

Hello,

“The USB interrupt driver is over-riding the interrupt that handles servo movement” can declare this behavior. but now i will continue to write my own servo routine. my first tests are running good, all 32 servo outputs can be moved individually. next step is to integrate it in c and so you can write your leg movement in c. still having much fun with it :slight_smile:

Greetings, Arcanix

Arcanix, are you writing your new servo routines within the Servotor32 firmware? Or are you writing new Arduino sketches, or using some other cross-compiler?

Hello Hellboy,

i do not use the Servotor32 firmware or Arduino sketches.
i´m writing the assembler-code in atmel studio 6. this code is compiled to a hex file. this hex file, you can upload with a programmer (actually i do have an original atmle programmer, my old clone doesn´t work any more with atmel studio 6) direct into the atmega32u4.

Therefor you can not use the usb-cable to the hexy any more (i deleted the bootloader and bootsection). you have to plug the programmer direct in the middle of the Servotor32 board (there is a 2*3 pins ISP connector).

Greetings, Arcanix

So I take it this means you can’t send serial commands to it, correct?

Hello roboalchemist ,

you are right. actually i can´t send commands to the hexy, but this is ok for me. this may declare that my servos are not shaking. after finishing the routine i will try to spend him som “life”, so that he can “see” whats arround him and will not run against walls. my goal ist to let hexy walk arround without being commanded by someone.

Greetings, Arcanix