Servo Control XB

Eliminate Servo Jitter from Your Project!

Servo control is a very common function that Arduino boards perform in a lot of projects.  Robots, drones, actuators, and a variety of mechanized motion solutions are driven by servo motors.  Arduino boards can do a good job of controlling servos provided that the number of servos remains low and the microcontroller is not tasked with many other functions.

However, generally speaking, Arduino-based servo control solutions suffer from servo jitter and twitching due to the 8-bit micro not being able to maintain precise timing required on the Pulse-Width-Modulation (PWM) signal that controls the servo.  If the tight timing required to maintain absolute servo position is not met, the servo will jitter between locations until refreshed from the micro.  This can cause significant issues where accurate, stable servo performance is required.

The Servo XB completely eliminates this “jitter”.  By implementing the PWM functionality as a standalone hardware block in the FPGA, perfectly timed signals are continuously supplied to the servos without taxing the microcontroller at all.  Even better, the number of servos being driven can scale up without any additional burden to the board since they are each being controlled by a standalone XB block.

 

Specifications

  • Uses same functions as Arduino Servo library
  • Supports up to 12 servos, depending on the image

The XLR8 Servo XB is very easy to use because all of the functions to control servos are unchanged from the standard Arduino Servo library.  Simply install our XLR8Servo library, include the header file, and you can leave the rest of your sketch completely unchanged!

Required Alorium Technology library:  XLR8Servo

Supported XLR8 Images:

  • 16MHz Standard: Float, Servo, NeoPixel
  • 32MHz Standard: Float, Servo, NeoPixel
  • 16MHz Robotics: Servo, Quad
  • 32MHz Robotics: Servo, Quad