by jonkster » Sun Jan 07, 2007 11:42 pm
by jonkster
Sun Jan 07, 2007 11:42 pm
Hi Alex
if you are going to use the CM-5 to directly control the ax-12's (rather than use the motion editor etc) you are going to have to program the CM-5 at a reasonably low level anyway. Problem with the CM-5 in this role however is the lack of access to any of the AT-Mega128 ports meaning not much option for other sensors.
Options then are to either develop a device that communicates with the CM-5 using same protocol over the 3 wire bus (like the AX-S1 but with options to add your own sensors) or to use another board.
I started developing a AX-S1 like replacement but quickly ended up deciding it would give me more control to replace the CM-5 (doesn't mean developing an AX-S1 replacement is not worth trying just I went another way). Think others are pursuing this though.
I am now using a MAVRIC IIB board (ATMega128 based)
http://www.bdmicro.com/ and a simple circuit to drive the 3 wire bus (as per the AX-12 manual). I have ditched the C code in the AX-12 manual and have written my own communication routines but the stuff given in the manual does work fine. When I am happier with my stuff may post it here. (I am writing it to run under FreeRTOS
http://www.freertos.org which adds a level of complexity.)
Don't know much about the USB Phidgets you mention but don't think you need that much electronic knowledge to interface most high speed processors to the AX-12's. Use the circuit given in the manual (2 simple chips and you could build it on some veroboard - maybe cost a couple of dollars all up).
If you are proficient in programming C# then the actual programming won't be too much of a hurdle. Probably biggest learning curve may be understanding the operation of the microprocessor and it's programming environment. Perhaps here running something like a mini-atx board
may be less of a learning curve as you could run a development environment you are more familiar with.
The one thing I would suggest though is to get a CM-5 anyway. Reasons:
1. you can verify the servo's are working
2. you can experiment with communication protocol
3. you can change baud rates on AX-12's and change flash values (can do this with another processor but you will have to get it talking to AX-12's before you can do this). I am now using 1Mb same as CM-5 but did use lower rates when using a slower processor and when tracking down a communication problem.
4. you can use it to communicate to your development system using the correct protocol - I found this invaluable when getting my device talking properly
hope this helps
cheers
Jon
Hi Alex
if you are going to use the CM-5 to directly control the ax-12's (rather than use the motion editor etc) you are going to have to program the CM-5 at a reasonably low level anyway. Problem with the CM-5 in this role however is the lack of access to any of the AT-Mega128 ports meaning not much option for other sensors.
Options then are to either develop a device that communicates with the CM-5 using same protocol over the 3 wire bus (like the AX-S1 but with options to add your own sensors) or to use another board.
I started developing a AX-S1 like replacement but quickly ended up deciding it would give me more control to replace the CM-5 (doesn't mean developing an AX-S1 replacement is not worth trying just I went another way). Think others are pursuing this though.
I am now using a MAVRIC IIB board (ATMega128 based)
http://www.bdmicro.com/ and a simple circuit to drive the 3 wire bus (as per the AX-12 manual). I have ditched the C code in the AX-12 manual and have written my own communication routines but the stuff given in the manual does work fine. When I am happier with my stuff may post it here. (I am writing it to run under FreeRTOS
http://www.freertos.org which adds a level of complexity.)
Don't know much about the USB Phidgets you mention but don't think you need that much electronic knowledge to interface most high speed processors to the AX-12's. Use the circuit given in the manual (2 simple chips and you could build it on some veroboard - maybe cost a couple of dollars all up).
If you are proficient in programming C# then the actual programming won't be too much of a hurdle. Probably biggest learning curve may be understanding the operation of the microprocessor and it's programming environment. Perhaps here running something like a mini-atx board
may be less of a learning curve as you could run a development environment you are more familiar with.
The one thing I would suggest though is to get a CM-5 anyway. Reasons:
1. you can verify the servo's are working
2. you can experiment with communication protocol
3. you can change baud rates on AX-12's and change flash values (can do this with another processor but you will have to get it talking to AX-12's before you can do this). I am now using 1Mb same as CM-5 but did use lower rates when using a slower processor and when tracking down a communication problem.
4. you can use it to communicate to your development system using the correct protocol - I found this invaluable when getting my device talking properly
hope this helps
cheers
Jon