There is probably no easier way than this one-chip-solution to control eight servo channels, esc, or digital outputs via a serial UART.
Fail-safe support and precise servo control: the PiKoder/SSC controls up to eight servos through a serial UART - ideal for RC receivers and IoT applications.
The PiKoder/SSC PRO features an additional I2C bus besides the UART port for the integration into larger systems such as robots.
Serial Servo Controller for RC servos
RC servos are popular because they are low-cost packages that include a motor, gearbox, and control circuitry with feedback, and they are often a compelling choice for projects that include many degrees of freedom, such as robot arms and walking robots.
RC servo controllers are interfaces between a primary controller (such as a PC or a microcontroller such as an Arduino or Raspberry PI) and the many servos, which can become a burden for the primary controller to control directly.
Features to look for in a servo controller include how many servos it can control (including the ability to cascade controllers to increase the number of servos), the resolution and range, the versatility meaning that application parameters can be programmed.
The PiKoder/SSC and the PiKoder/SSC PRO represent two lines of serial servo controllers. Both controllers feature a serial UART interface which is applied for programming and in smaller projects. Two protocolls are available:
- the miniSSC-II protocol which is used frequently and almost became a standard and an
- ASCII Control Interface, a two-way ASCII-protocol which allows you to control and program your SSC with a standard terminal program such as Tera Term or TTY.
For medium to larger size systems with a number of intelligent modules such as a robot the PiKoder/SSC PRO features an I2C bus interface. This allows the main microcontroller to manage a complete network with only two pins.A very simple portocol - similar to miniSSC - provides for controlling the servo channels.
An alternative way of saving pins would be to daisy chain the UART ports. However, a bus such as the I2C provides might be the better choice for several reasons:
- the two-way communication and the conflict resolution is handled by the available bus logic and
- this complete bus logic is implemented in hardware meaning that the performance requirements for communication would be minimal.
By using the I2C bus the programming of the PiKoder/SSC PRO can be done in "in-place" using the UART port. This greatly simplifies the setup of application specific parameters. Additionally, the PiKoder/SSC PRO provides for an "echo"-feature which echos all recieved I2C commands to the UART port for debugging and logging purposes to be copied by a standard terminal program.