Difference between revisions of "MotionSystem"
(→Introduction) |
(→R/C Servo) |
||
Line 57: | Line 57: | ||
A description (in French) of such R/C servo can be found at [http://fribotte.free.fr/bdtech/pic/pic_et_servo.html http://fribotte.free.fr]. R/C servo needs a pulse-width modulated (PWM) signal to manage his angular position. This signal looks like this: | A description (in French) of such R/C servo can be found at [http://fribotte.free.fr/bdtech/pic/pic_et_servo.html http://fribotte.free.fr]. R/C servo needs a pulse-width modulated (PWM) signal to manage his angular position. This signal looks like this: | ||
[[Image:Servos-signal.jpg|800px|center|R/C Servo PWM Signal]] | [[Image:Servos-signal.jpg|800px|center|R/C Servo PWM Signal]] | ||
+ | Basically, it is possible to generate this signal with a GPIO pin controlled by kernel code. But this solution has | ||
===Hardware Board=== | ===Hardware Board=== |
Revision as of 11:34, 12 June 2009
Contents
Project Description
The application field of this project is robotic.
The goal of this project is to provide a R/C Servos Controller to manage R/C by different ways, and a motion measurement system via accelerometers.
The project is composed by different componants:
- A hardware board on which are plugged R/C servos, accelerometers and ADC multiplexers.
- A FPGA firmware which manages R/C servo at low level (Already written, thanks to Sonzerro and Fabien Marteau).
- A Linux Kernel Driver which manages the FPGA Firware, the ADC multiplexers and ADC Max1027.
- A user space daemon which manages the driver and listen on TCP port to accept remote commands from the network.
- A user desktop application which sends commands to the daemon.
Texte italique
Participating Armadeus members
- Yvan ROCH
Project data
Introduction
Overall original objectives of the project have not been reached. The following functionality are not implemented:
- The accelerometers and ADC multiplexers are under development (hardware, driver and user application).
- The board is available in schematic form. No PCB layout.
The following functionality are implemented:
- A FPGA firmware which manages R/C servo at low level.
- A Linux Kernel Driver which manages the FPGA Firware.
- A user space daemon which manages the driver and listen on TCP port to accept remote commands from the network.
- A user desktop application which sends commands to the daemon.
Project Files
All the necessary files are available in an archive under the following URL: Project Files
Hardware Board
The board contains the logic and voltage level adaptation to drive the R/C servos. As already said, the is no PCB layout.
The schematic is available in the file...
The schematic was design with Eagle available at the following URL: Eagle
FPGA Firmware
Linux Kernel Driver
User Space Daemon
User GUI Application
How to use the project
Introduction
The main goal of this project is to develop a system to manage motion on robotic platform. Finally only the subsystem that manages R/C servos is achieved. The MotionSystem can manage up to 32 R/C servos. R/C servos are a good solution to the moving issue on a small robotic platform. Hobbyist robotic platform like Lynxmotion Robots (http://www.lynxmotion.com) use many R/C servos.
R/C Servo
A description (in French) of such R/C servo can be found at http://fribotte.free.fr. R/C servo needs a pulse-width modulated (PWM) signal to manage his angular position. This signal looks like this:
Basically, it is possible to generate this signal with a GPIO pin controlled by kernel code. But this solution has