The Magic Box!


I’m Gabe Casciato, member of the STORM Robotics team, and hardware lead for the PWM Generator (AKA the “”black box””).  The PWM Generator was designed to provide a way for roboticists to interface with the Victor 884, Black/Gray Jaguar, and hopefully, Talon speed controllers.  The Generator runs independently of any FIRST hardware (no cRIO required!), and features support for adjustable speed control and limit switches.

All of the speed controllers use PWM (Pulse-Width-Modulation) as an input, and output a high-current signal suitable for driving a large motor.  PWM is used to dictate the velocity of the output signal.  The input looks like a square wave, where the length (width) of the “”positive”” portion of the square wave decides whether the motor will go forwards, backwards, or not move at all.  

      Go back:  -___-___-___-___
Do nothing:  –__–__–__   
Go forward:  —_—_—__

The Generator uses a PIC16F690 microcontroller to create the PWM signal, and the custom-designed PCB provides input headers for PWM cables.  Currently, there are two firmware options for the PIC: a 4-channel PWM generator written in C, and a 1-channel program written in Assembly, that uses the PIC’s built-in hardware PWM.

In retrospect, the Generator has been utilized extensively during robot protyping.  However, this year, there are several pre-made options for easily prototyping robots.  Specifically, the RobotOpen Control Shield for Arduino has the same features of our generator (but with even more I/O options), supports joystick control, and  uses the open-source Arduino platform.  However, the knowledge and experience the  team gained while developing our platform is something that cannot be bought.

-Gabe Casciato

Leave a Reply