jm_servo8_adv

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Request group membership
By: Jon McPhalen, created: 2013-04-10 | updated: 2013-04-10

 

Servo driver (written in Spin) for one to eight servos. Driver commands one servo at a time to limit load on system created by servo movement, and each servo runs in own 2500us "slot" which means the delay between channel updates is always 20ms, not matter the settings of the other channels.

User may specify number of servos to control (1 to 8) and starting pin (0 to 27) of servo group. Position pulse timing (via .set) is specified in microseconds (600 to 2400), with a speed setting expressed in microseconds change per second of real time (0 for immediate move).

Example: You have a 180 degree servo and you want it to move from one side (600us) to the other (2400us) in 10 seconds; the command becomes:

servo.set(ch, 2_400, 10_000)

Version 2.0 replaces previous (PASM) code. Some updates to your applications may be required, but this version supports all the features of my previous object, plus the addition of speed and movement control.

 

Original File Upload
AttachmentSize
jm_servo8_adv_demo_-_Archive__Date_2011.10.01__Time_05.10.zip11.45 KB