Differences between revisions 1 and 2
Revision 1 as of 2010-02-13 18:24:30
Size: 1503
Editor: BobAdamson
Comment:
Revision 2 as of 2010-02-13 22:36:13
Size: 1511
Editor: BobAdamson
Comment: started setting boundary values
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
  * Left:
  * Right:
  * Left:0x35
  * Right:0xF0

The control trimming and centering presents a number of problems for the LURC, as the serial control allows us to push the servos past soft-limits imposed by standard remote control transmitters. This means we need to do sanity checking on values sent, both in the car (on the avr) and on the desktop. The in-car sanity checking should only check if the value is outside the physical capabilities of the servo, while the desktop software should check the values are within 'useful' ranges. As such, the in-car checking does not need to be varied and can be hard-coded in, while the desktop ranges need to be adjustable so that the controls can be trimmed and centered.

The physical capability boundaries for each servo are as follows, given in hex values. Even though the servos are very similar or identical, the values differ due to different timer modes:

  • Servo 0 (webcam tilt)
    • Left:
    • Right:
  • Servo 1 (steering)
    • Left:0x35

    • Right:0xF0

  • Servo 2 (speed control)
    • Lower:
    • Upper:
  • Servo 3: (webcam pan)
    • Left:
    • Right:

The 'useful' values for each servo are subject to change because of adjustments to the car and parts. Here are some one-off values to give an idea of what they should be close to:

  • Servo 0 (webcam tilt)
    • Down:
    • Level:
    • Up:
  • Servo 1 (steering)
    • Left:
    • Center
    • Right:
  • Servo 2 (speed control)
    • Reverse:
    • Stop:
    • Forward:
  • Servo 3: (webcam pan)
    • Left:
    • Right: