Monday, September 23, 2013

Toronto Maker Faire and New Products

A big thanks to everyone that visited us at the Toronto Maker Faire.  We enjoyed meeting everyone.

Our table at the Toronto Maker Faire

At the Maker Faire, we also brought out a few new products.  First we have our Encoder 5132 - a Quadrature encoder that is pin compatible with the US Digital E4P -  http://www.usdigital.com/products/encoders/incremental/rotary/kit/E4P.  We had originally intended to use the E4P in our robot designs, but a few months ago we tried to order some more E4P's and noticed the following:


The E4P is not recommended for new product development!  Yikes!  So that revelation led us to design and build the Encoder 5132, making sure that it was a pin for pin replacement for the E4P.  You can see more specifications of our encoder at http://exadler.myshopify.com/products/encoder-5132.  The good news is that we are making it for sale for everyone at a much cheaper price than the E4P ($25 vs $40 -- see http://www.andymark.com/product-p/am-0174.htm), and we're throwing in the cable.  The bad news is that it actually takes me a long time to lathe the shaft needed for the Encoder 5132, as I needed to get the tolerances under 0.5mm.  However, now I have an excuse to CNC convert my lathe!!

Quadrature Encoder 5132
For those of you who are unfamiliar with quadrature encoders, they are basically rotation sensors that can tell you how many rotations/degrees the shaft has turned.  They put out a signal on two wires like this:
Signals from quardature encoder with the shaft rotating clockwise
Each pulse is basically one degree of turn.  The reason for having two signals (A and B) is so that you can tell whether the shaft is turning clockwise or counter clockwise by observing which signal is rising first.  Our DMCC Mk.6 board has two Quadrature Encoder inputs that take the signals and count how many degrees the shaft has rotated.  So, with a simple 'C' library call to our DMCC Library you can get the exact position (well, to 1 degree) the shaft has turned, or even the velocity of the shaft.

// -------------------------- 
// Quadrature Encoder Interface (QEI) functions 
// -------------------------- 

// getQEI - Gets the QEI for the desired motor 
//     Prints an error if QEI for motor is not received 
// Parameters:
//     fd - connection to the board (value returned from DMCCstart) 
//     motor - motor number desired 
// Returns: QEI for given motor 
//     always returns 0 if an error occurs 
unsigned int getQEI(int fd, unsigned int motor); 

// getQEIVel - Gets the QEI velocity for the desired motor 
//     Prints an error if QEI velocity for motor is not received 
// Parameters: 
//     fd - connection to the board (value returned from DMCCstart) 
//     motor - motor number desired 
// Returns: QEI velocity for given motor 
//     always returns 0 if an error occurs 
int getQEIVel(int fd, unsigned int motor);


After we got the encoder replacement working, we needed something to showcase at the Toronto Maker Faire, so we built Orbit the robot! (also avaliable in kit form).

Orbit Robot
The top plate, bottom plate, large gears, and small gears are all Laser cut from 1/8" acrylic.  The white vertical pieces are CNC milled Delrin plastic, and the rest of the mechanical parts and motor is from Vex Robotics.  We added in a Beaglebone Black and our DMCC Mk.6 Dual Motor Controller Cape, and voila! - Instant Robot.

We had sold our assembled Orbit Robot on the first day of the show, so we were scrambling to quickly build another demo robot.  It was a lot harder to build when we realized we forgot to bring the proper screwdriver (small phillips) to the show!

Building a new Orbit Robot at the Toronto Maker Faire