Continuous rotation Arduino speed

Hello, there!
I am trying to figure out a way to program a continuous rotation Arduino to turn on and through 3 different speeds with the press of a single button (so ON/V1/V2/V3/OFF).
Is that possible with this part?

Finite State Machine, you seek. Good example, is here... colored LEDs it uses...

Servos are moved by changing the width of the PWM.

180 degree servos use a pulse train with 5% to 10% duty cycle at 50 kHz (50,000 pulses per second); 1ms to 2 ms (1000us to 2000us) ON, 19ms to 18ms OFF (18000us to 19000us) over 20ms (20000us)

    _                     _                    x
  _|1|_______________19.0| |___________________x   0 degrees
    ___                   ___                  x
  _|1.5|_____________18.5|   |_________________x  90 degrees
    ____                  ____                 x
  _|2.0 |____________18.0|    |________________x 180 degrees

CONTINUOUS servos use (approximately)

  • 1.5ms/18.5ms pulse to "stop" the servo
  • 1ms/19ms pulse to move counter-clockwise at maximum speed
  • 2ms/18ms pulse to move clockwise at maximum speed

Different speeds of servo movements is achived by sending each step at its desired step delay time.

50 Hz, 50 pulses per second.

1 Like

Are servos "modified for continuous operation" even capable of multiple speeds?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.