Servo Control
whitelancer
Posts: 23
To whoever can help me,
I am an engineer doing reserach on micro robots that resemble nature. I am using a Javelin Stamp to control five servo motors that need to move to a specific position at a certain time. The Stamp needs to communicate with a servo control and give it six byte commands to move the motors. I was wondering what command would best be suited for the project. Thank you for anyone that can provide help.
Sincerely,
Jon
I am an engineer doing reserach on micro robots that resemble nature. I am using a Javelin Stamp to control five servo motors that need to move to a specific position at a certain time. The Stamp needs to communicate with a servo control and give it six byte commands to move the motors. I was wondering what command would best be suited for the project. Thank you for anyone that can provide help.
Sincerely,
Jon
Comments
Which servo controller?
Apparently you have this info, otherwise how do you know
that the servo commands are six bytes?
If you don't have decided on a servo controller,
there is this one:
http://www.parallax.com/detail.asp?product_id=910-28023
There is already a javelin class for this servo controller.
regards peter
I am using a Pololu Micro Serial Servo Controller seen at the website posted below. Connected are five Pico Servo Motors from the same company. Let me know if you need any more info.
Sincerely,
http://www.pololu.com/products/pololu/0207/
http://www.pololu.com/products/pololu/0207/ssc03a_guide.pdf
and this is quite straightforward and well documented regarding the protocols.
For an example how to setup a class for this controller,
take a look at the psc class (parallax servo controller).
regards peter
Sincerely,
Jon
I have attached programs that I am trying to use to test my Pololu servo controller. They are based on the example programs and I am hoping for help with the details. Thank you.
Sincerely,
Thanks!
(create folder lib/stamp/peripheral/servo/pololu)
Now both files compile
regards peter
I am using the starter kit and trying to send out the data to the servo controller via pin 0, however the controller is not registring that anyting is being recieved. I have checked the connections and believe that it is somthing with the test program. I was hoping someone could check the program that is posted above or if if it is something with my connections.
Thanks!
Now it merely reads the used servo numbers and the green led should flash to identify the servo numbers.
(default servo numbers is 0-7 and the led flashes 1 time, see manual)
The reading is repeated every 3 seconds.
regards peter
I am now trying to check to see if I am reciveing or even sending data correctly. I was hoping that this program would do the trick; however, I am running into some problems. Please let me know if you can help. Thanks again.
Sincerely,
I suggest to stick to 9600, at this baudrate the javelin throughput (about 10kbits/s) equals
the baudrate, meaning the uart buffer is emptied at the same rate as you can fill it.
Did my test program make the led flash as it is supposed to do according to the manual page 8?
If not, try Uart.invert instead of Uart.dontInvert and see if that works.
regards peter
The test program is not making the led flash. I played around with the connections, the baud rate, and anything else I could think of. Do you think that it is a hardware problem with the servo controller?
Sincerely
javelin transmit pin to servo board logic level serial input
javelin gnd to servo board gnd AND power gnd (all gnd's must be tied together)
Do not power the servo board from the javelin vdd pin.
Do you have it setup that way?
regards peter
Sincerely
Connect that power supply to the servo board pins labelled
VIN and GND (left lower corner on picture at page 2 of manual)
Power the javelin using another power supply. Connect that power
supply as instructed in the javelin manual.
Now connect 2 wires from javelin board to servo board.
One wire goes from transmit pin (pin0 in javelin test code)
to the servo board pin labelled Logic level serial input.
The second wire goes from GND at the javelin board to
GND at the servo board.
Then try the test program again. Change the Uart.dontInvert setting if
it does not work.
Edit: just noted there is a seperate servo power connection on the servo board.
So you may power the servo board at VIN connection using the same power supply
as used by the javelin.
regards peter
I needed to connect the gnds to each other and the code was dontInvert. Thank you so much. I really appreciate the time and effort that you spent. Nowhere else is anyone able to provide the support found here. Thank you again.
Sincerely,
Jon
you can test your original program.
regards peter