Difference between revisions of "MotionSystem"

From ArmadeusWiki
Jump to: navigation, search
(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

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:

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

FPGA Firmware

Linux Kernel Driver

User Space Daemon

User GUI Application

Links