30 Channel Servo ControllerSC30 - Single chip serial port servo controller"The enrichment center regrets to inform you that this next test is impossible. Make no attempt to solve it." - GLaDOSThe SC30 is a single board, single micro controller servo controller that can drive up to 30 servos independently. It is designed to power and control the typical RC type of servo found in model planes, cars and boats. The servos are controlled by a user from a host PC or other serial port equipt device. The SC30 device interprets simple text commands (ASCII). Possible Applications:
Current Features:
![]() HardwareThe hardware of the SC30 is based around the PIC18F452 or PIC18F458 micro controller from Microchip. The code can be ported with a little effort to most of the 18 series PICs with a USART. It may even be possible to further increase the number of channels.The following schematic diagram shows the SC30 circuit:
FirmwareThe firmware of the SC30 attempts to provide clean regular pulses to maintain the positions of the servos while simultaneously handling communications with the PC. For the serial version communication with the PC is via a RS232 type serial port (at the moment fixed at 115200 8N1) The firmware checks the PIC USART periodically while generating pulses and queues any arriving commands or data. The queues data is then processed during the 'space' periods of the servo pulses.In order to control 30 servos from a single micro it was necessary to split the servos into two groups, the first 15 are pulsed first and after 2ms the second 15 are pulsed. A timer is used in the background to keep track of the 'space' time and is monitored by the firmware. When the timer indicates that 20ms have passed since the start of the last group one pulses the cycle starts over again. The firmware for the The SC30 device accepts ASCII commands from the PC (e.g. using hyper terminal or cute com) these commands are queued on reception and processed when the micro controller is idle (between pulses). To the user it appears that the commands are processed instantly. The documentataion explains the format of the commands used to control the SC30. More commands will be introduced as features are added. Planned Features:
Project Status:This is a current project.A prototype device is operational, schematics have been drawn up and PCB artwork complete. Further development is continuing. File DownloadsSC30 Documentation - 31-05-2008 Explanations of the commands and features of the device.Version 0.7 (9k) - 31-05-2008 - Initial release (RS232 version only) - please make contact with feature requests or comments! No scripting functions yet. |