April 12, 2009

Motor Control

The control of the motors will use the Arduino board. It will collect pulses from the two motor controller to determine the current speed of the motors and it will send a pulse width modulated signal to the controllers to set the desired speed. The figure below shows the main components needed to control one motor. A single Arduino board will be used for both motors that communicates with the main computer using USB.



There are a number of things that will need to be solved to get this to work properly.

  • The SPEED OUT signal must trigger an interrupt on the Arduino so that the pulses can be collected.
  • The PWM output must probably be filtered to work as a speed control signal. This output has a frequency of approximately 490 Hz and the pulse width can be adjusted in 256 steps.
  • The USB must be set up to receive commands from the main computer and to send odometry information to it.
  • The code for a local PID controller must be written for the Arduino and it must be tested how interacts with the regulator in the speed controller.

0 comments:

Post a Comment