OpenServo.com Forum Index OpenServo.com
Discussion of the OpenServo project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Introduction: Colin MacKenzie

 
Post new topic   Reply to topic    OpenServo.com Forum Index -> Announcements
View previous topic :: View next topic  
Author Message
guru



Joined: 03 Jan 2006
Posts: 128
Location: St Pete Beach, FL

PostPosted: Tue Jan 03, 2006 6:24 pm    Post subject: Introduction: Colin MacKenzie Reply with quote

Hi All,

I am so excited about how much buzz has been going on lately with digital servos. I have been waiting for years for this to catch on.

It was back in 2000 that I first got the idea to change out the innards of an RC servo and replace them with an mcu. At the time I had a lot of experience programming PICs in assembly. It wasnt long before I had my first prototype digital servo implemented on a breadboard.

Unfortunately, the PICs at the time were short on features. I used PIC16F84 because the flash ability would quicken development. Any PIC with more features was unable to fit on the pcb and/or was too expensive. I had to program my own I2C comm module and PWM using bit banging in PIC assembly. There was also no ADC so an external one was used. By the time I added a few servos on the bus and had a lot of I2C chatter my PID loop was choking from lack of cpu cycles and constant interrupts for I2C, PWM and external ADC!

Late in 2002 (??), microchip released the PIC16F873 and after much delay due to thier popularity I managed to get some in. These had all the modules I needed in hardware and then some! I began recoding my servo from scratch. I managed to get two servo working quite well and communicating through my host computer, a pc104+ linux. I had servo control via a /proc interface! There was only one bug that remained elusive, occasionally the servo would become unresponsive. Priorities change, and the servo project was shelved for more than a year.

Along comes Mike Thompson a few months ago. I had given out my code and schematics to a number of people but until now no one actually seemed to produce anything. Mike had replicated the digital servo using an Atmel.

Just this December I figured out my elusive bug was an i2c bus clock sync problem. Using the DIMAX usb controller that Mike Thompson introduced me to quickly solved this issue! Thanks Mike!

All the buzz has gotten me back into my servo design and in the last few weeks I have restructured a lot of my code. I am still working on fine tuning my servo firmware code. I am also tackling the windows host interface side of things for tuning and controlling the servos. Mike and I are cooperating together on our seperate projects to improve each of our designs.

The email address doesnt work on my web site...too much spam. But you can personal message me on this site and I will respond.

Colin
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Tue Jan 03, 2006 6:41 pm    Post subject: Reply with quote

Colin, thanks for dropping by. Your SuperServo project was what inspired me to try to create my own digital servo because it indicated to me that it was at least possible. I'm really looking forward to working with your project as well -- sharing ideas and code.

Between our two servos, at least we can keep both the AVR and PIC fanatics happy :-).

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
guru



Joined: 03 Jan 2006
Posts: 128
Location: St Pete Beach, FL

PostPosted: Tue Apr 08, 2008 3:12 am    Post subject: Reply with quote

FYI: I have finally gotten around to updating my web site. It has a lot more information now. It including a CNC machine I am building, and a lengthy tutorial on creating your own cpu design using verilog and FPGAs.
I also have posted the preliminary schematics and pcb artwork for an FPGA development board I made.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    OpenServo.com Forum Index -> Announcements All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group