Servo control on Ubuntu 12.04 LTS on BeagleBoard-XM

Hi,
I have been looking for information on the Internet, in this forum, but have not found anything …

I need to control a servo. I’m under Ubuntu 12.04 on a BeagleBoard. Any help please?

Everything I’ve found talks about Angstrom, whose files and directories are organized differently than Ubuntu. If anyone knows of a module for Ubuntu, I appreciate …

Thanks!

Hello I use the expansion board www.TinCanTools.com
It’s contains an Arduino and I control with serial port

2012/10/23 luismi morales <luismi.morales@gmail.com>

Easiest method would be using the PWM outputs on the BeagleBone to drive the servos via a servo controller board. You can’t use the software GPIO on the BeagleBone for this, the Linux kernel introduces too much jitter and latency. You could also look at using the BeagleBone PRU with the GPIO pins.

Easiest method would be using the PWM outputs on the BeagleBone to drive the
servos via a servo controller board. You can't use the software GPIO on the
BeagleBone for this, the Linux kernel introduces too much jitter and
latency.

Actually, you can. You can take a look at this blog post
http://veter-project.blogspot.de/2012/04/precise-pwms-with-gpio-using-xenomai.html
and related discussion here:
http://comments.gmane.org/gmane.linux.real-time.xenomai.users/14026.
The corresponding sources are available here
https://github.com/andreynech/rtdm-pwm .
The version with timers is good enough to keep servo stable without
shaking. I am currently working on more clean version of this driver
using gpio library, but this at github could serve as a starting point
if you want to try it yourself.

Regards,
Andrey.

For pruss you can also try this: https://github.com/pomarek/sw_pwm
Its not the final version but it works:)
When I find some more time I'll push a little newer version
(additional 4 relay control lines - to allow enabling/disabling groups
of servo)
This is a kernel module so you need to compile it with your kernel source.

NOTE: It was tested only on two versions of kernel - very old and very
very old:) (I don't remember the numbers)

Best regards
/\/\arek Porwisz

Sorry, I didn't notice it is XM, not bone:)