Differences between revisions 10 and 11
Revision 10 as of 2010-02-15 12:42:43
Size: 1962
Editor: BobAdamson
Comment: layout
Revision 11 as of 2010-02-16 11:35:49
Size: 1965
Editor: LyndonWhite
Comment: chaned numbering on servo's to match numbering in code 1=1A 2=1B,3=2
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * Servo 1 (steering)  * Servo 1A (steering)
Line 13: Line 13:
 * Servo 2 (speed control)  * Servo 2B (speed control)
Line 16: Line 16:
 * Servo 3: (webcam pan)  * Servo 2: (webcam pan)
Line 25: Line 25:
 * Servo 1 (steering)  * Servo 1A (steering)
Line 29: Line 29:
 * Servo 2 (speed control) - note lower values are faster. Also, these boundaries will never change because it's an electronic controller.  * Servo 1B (speed control) - note lower values are faster. Also, these boundaries will never change because it's an electronic controller.
Line 34: Line 34:
 * Servo 3: (webcam pan)  * Servo : (webcam pan)

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 1A (steering)
    • Left:0x35

    • Right:0xF0

  • Servo 2B (speed control)
    • Lower:0x33

    • Upper:0xfb

  • Servo 2: (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 1A (steering)
    • Left:0x7b

    • Center: 0x92
    • Right:0xb3

  • Servo 1B (speed control) - note lower values are faster. Also, these boundaries will never change because it's an electronic controller.
    • Reverse:0xb8

    • Neutral Range:0x98 to 0x9c

    • Stop: to stop, simply send a signal for the opposite direction, braking strength is variable. You can always go forward from reverse, but to reverse you have to go from neutral with the car stationary (this allows the controller to tell the difference between braking and reversing)
    • Forward:0x79

  • Servo : (webcam pan)
    • Left:
    • Right: