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.
- Uses same functions as Arduino Servo library
- Supports up to 12 servos, depending on the image
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
It is recommended you update your board to one of the latest images to use the Servo XB. The XLR8Servo library version 2.0.0 and up is compatible with boards package 1.9.0 and later. For older board packages and the XLR8 Legacy image use XLR8Servo library version 1.1.0.