Cerebellum Motor/Servo Controller

XCore Project reviews, ideas, videos and proposals.
User avatar
mikef
Member
Posts: 15
Joined: Sun Dec 13, 2009 3:17 am

Cerebellum Motor/Servo Controller

Post by mikef »

Version: 1
Status: Under development
License: GPL

The Cerebellum motor controller is designed for motion control of larger robots. It is designed to control 2 motors for differential drive. This controller is designed to be interfaced to robots who use a laptop/netbook as their primary brain. The controller takes input through a USB serial connection, and then does path planning and interpolation to move the robot to the desired location. The cerebellum includes two 30A motor drivers, quadrature feedback, Dynamixel bus headers, and a USB connection to send commands through.
I originally prototyped the Cerebellum using an AVR ATMEGA644P, but it required external quadrature decoders for high-count devices. I'm currently prototyping on an XC-2 as that's what I have, but I have a Sparkfun board on the way. Will eventually have a custom PCB, to contain 64-lqfp XMOS chip, the motor drivers, an FTDI serial->usb converter, and headers for I/O and servos.
The attached image is of REX, my largest robot. REX will be getting a major upgrade when his AVR-powered Cerebellum is upgraded to an XMOS powered one.
Images:


User avatar
jason
XCore Expert
Posts: 577
Joined: Tue Sep 08, 2009 5:15 pm

Post by jason »

REX certainly has character! Great build. How long does he last on battery?
User avatar
mikef
Member
Posts: 15
Joined: Sun Dec 13, 2009 3:17 am

Post by mikef »

He has a 17AH 12V battery, the netbook runs off it's own battery currently -- and that's been the limiting factor. The netbook lasts about 3 hours, the 12V battery still has plenty of juice left (even when testing lots of movement)

-Fergs
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am

Post by infiniteimprobability »

Looks interesting. What type of motors are you using for the wheels? I'm interested in the motor drive and PWM generation.

How are you finding the XS1-L1 for real time control?