August 30th, 2010
From time to time I receive questions about how to start programming the CM-5/CM-510 with C.
I think it’s necessay to have a working knowledge about:
1. C programming
2. CM-5/CM-510 programming
3. Dynamixel protocol
1. C programming
I think “C Programming for Microcontrollers is a fast and very practical introduction to C and microcontrolers programming, but I’m a not sure if it an easy way to start learning C.If you a want a more structured and deeper introduction to the C programming language, this is a pretty good and free introduction:
C introduction (pdf)
But there are a lot…
C Language Tutorial (html)
How C Programming Works (html)
Several C programming tutorials (html)
and more from Google
2. CM-5/CM-510 programming
From Robotis support website CM-5/CM-510 programming
3. Dynamixel protocol
From Robotis support website Dynamixel actuator
Two others great sources of information are:
Robosavvy Bioloid information wiki
Source code of Stuart&Matt library
I hope it helps
Posted in General, CM-5, CM-510 | No Comments »
June 6th, 2010
I’m creating a little program for the CM-510 that could be used to get sensor values from a PC (or other extern controller) with the standard dynamixel protocol and with :
- the usb2dynamixel and any language you want that supports serial comms or using the Robotis libraries (C, C++, Java, C#, …)
- or the standard serial cable and any language that support serial communications
This program set the CM-510 (with their sensors) as if it were another standard dynamixel itemthat you can query.
Posted in CM-510 | No Comments »
April 28th, 2010
Buscando información en la web de ayuda de Robotis (inglés) sobre mi recién comprado Premium Upgrade (que da mucho más juego del que yo pensaba y que pronto comentaré) me he llevado otra grata sorpresa:
Dynamixel SDK for Linux
¡SDK (Software Development Kit) de Dynamixel (es la familia de servos a la que AX-12+ pertenece) para Linux!
¡Y también para Zigbee! Zigbee SDK for Linux
Posted in General, Linux, CM-510 | No Comments »
December 17th, 2008
Easy programming in the PC with these libraries created by Robotis:
USB2Dynamixel Software v1.01
- Dynamixel Manager.exe : Dynamixel Manager Program Execution File
- Dynamixel SDK(U2D win32).html : Dynamixel Manager Manual
- Examples : Example Source Folder:
- java
- labview
- matlab
- python
- visual basic
- visual c#
- visual c++
By the way, there is the “monitor” command in the “Manage mode” to monitor the data flow …
Not as easy but far easier than from scracth using this great C library from SturatL& Matt
More info here
Posted in CM-5, PC and AX12+ | No Comments »
April 28th, 2008
You should get used to the WinAVR environment, it uses “make”, and a must is to know the AX12+ protocol and the some knowledge about programming ATMega128.
The next few lines are the core to positioning an AX12+ motor with the C programming language:(It requires some communication and interruption initialization functions, below you can download the full example)
gbpParameter[0] = P_GOAL_POSITION_L; //Address of goal
gbpParameter[1] = 0×00; //Writing Data P_GOAL_POSITION_L
gbpParameter[2] = 0×02; //Writing Data P_GOAL_POSITION_H
gbpParameter[3] = 0×00; //Writing Data P_GOAL_SPEED_L
gbpParameter[4] = 0×01; //Writing Data P_GOAL_SPEED_H
bTxPacketLength = TxPacket(bID,INST_WRITE,5);
bRxPacketLength = RxPacket(DEFAULT_RETURN_PACKET_SIZE);
TxPacket uses the global gbpParameter array to receive the parameters, and bID is the AX12+ ID to move.
You should have a working knowledge about the AX12+ protocol explained “AX-12.pdf“, you should have understood the chapter “9. Information for Advanced Users” from the “Bioloid User’s Guide.pdf” (version 1.0, because it’s not included in later versions).
You can download helloworld project for “Programmers Notepad [WinAVR]” (zip). It’s the Robotis example but splitted in 3 files for clearity and modularity:
1.Declarations from Robotis in “robotis.h”
2. The body of the functions in “robotis.c”
3. The most simple example that moves the AX12+ servo with id 15 to position 512, in “helloworld.c”
[Spanish/Español]
Manejar el entorno WinAVR, que a su vez utiliza make, conocer el protocolo de los AX12+ y programación del ATMega128.
Read the rest of this entry »
Posted in CM-5, CM-5. Basics. | 3 Comments »
April 27th, 2008
[Español]
En este blog iré incluyendo todo lo que he aprendido sobre cómo programar Bioloid.
- Conectado a un PC mediante cable serie o USB2Dynamixel. En C, C++, C# y Java
- En C en el propio CM-5.
Además de información no documentada pero incluida en el firmware como Toss mode y Monitor.
[English]
In this blog I will be including everything what I have learned on how programming Bioloid.
- Connected to a PC by means of serial cable or USB2Dynamixel In C, C++, C# and Java
- In C on the CM-5 Besides information not documented but included in the firmware like Toss mode and Monitor.
Posted in General | No Comments »