we are pretty new to the world of Dynamixels and
facing some beginner-problems.
(Our setting: Dynamixel AX-12A, Arduino IDE and the OpenCM9.04-A Board without the Exp.Board on Windows 10)
SOFTWARE / ARDUINO IDE
On the one hand, we are facing some issues in terms of software. Uploading sketches to the board, from the OpenCM IDE works fine. Since it is stated in the e-manual, that it is recommended to use Arduino IDE we are trying to control the board from Arduino and that’s where the problem occurs.
We followed all steps from the manual:
- Installing Arduino 1.6.5 or newer (1.8.5 in our case)
- Installing the drivers (should be fine, since OpenCM-IDE works)
- Installing the Board via the Board Manager (newest version)
- Putting this specific link in the preferences.
Arduino shows the board, examples, libraries etc. but when we try to upload a simple sketch (OpenCM Led-blink, or even an empty void setup/void loop sketch), the code compiles but doesn’t upload (it uploads forever and ultimately says that there occurred an error while uploading, without being any more specific) – just to clarify: the exact same codes could be easily uploaded via OpenCM IDE.
*We are using the AVRISP mkII Programmer (default) to upload via Arduino.
On the hardware-side we are not 100% confident, about how to power the board/motors. We already studied the manual and looked at several tutorials, but we couldn’t really find answers for our questions (so probably we are even facing some very banal problems
Probably Robotis will answer with better information, but here is what I have typically have done.
With the 904A you can solder in the AX/MX connectors so you can directly plug in your servos. For Power, I have used the Trossen Robotics Powered HUB:
you simply plug in your battery or Wall wart, and then using a servo
extension cable you connect the hub to your board and it will power the
board plus the servos.
I have also built my own Hub which I have not done much with yet:
is like the Trossen one except I added an TL320 connector to it, so I
could use a standard 904C board and simply use an XL320 cable to connect
my hub to the 904C. Note: the empty part is for a screw terminal
connector which I have not populated yet.
your pictures, it looks like you are trying to use real simple male
jumper wires which will not carry very much current. Doubt it could
handle a servo...
The open CM manual (http://support.robotis.com/en/product/controller/opencm9.04.htm) shows a couple ways to hook up directly.
can use the + - pins on the longer edge of the board. It shows hooking
up the battery (or sufficient wall wart) to both of the + and -.
where on the C board are double two pin connectors for their power
supply, you can connect to the two outer pins of the 4. If you look at
the bottom of the board you will see a large + and - on these which is
where you would connect up to. The two inner pins are used to jumper
their two batteries in series to get up to voltage...
Hope that helps.
Note: to Robotis - Today was the first time I noticed the ability to do comments like above. However I had no idea that @Mathias added a comment as the number of replies and the like did not change. Wonder if there is some way to flag threads with new comments in a similar way you flag ones with new responses.
I am using the Arduino IDE the way they mention in the different places like: https://github.com/ROBOTIS-GIT/OpenCM9.04/wiki/Arduino_Setup_Windows and http://emanual.robotis.com/docs/en/parts/controller/opencm904/
Note: the Arduino IDE has worked fine on the few different 904C boards I have as well as a 904A board that I added headers to. BUT it does not want to reprogram an older 904B board that I had sitting around for maybe a year or two...
The Robotis Open CM will program this older board. I wondered if maybe Robotis had changed the firmware (boot loader) in later boards to make it work with their Arduino toolset. If so I have wondered if I could update the boot loader on this board as well. Probably requires a programmer. I do have a ST-Link/V2 USB Programmer with an adapter board, which I am guessing would probably work.
..... Therefore, we would be happy
to clarify the setup, in order to not ruin the board or the motors.
As mentioned above, we are using the OpenCM9.04-A Board and we would like to control Dynamixel AX-12A Servos.
As we have seen in many tutorials and also in the manual, most people seem to use batteries – would you recommend using batteries?
For now, we are using a standard 12V Adaptor with one positive and one negative wire, as an external power-supply.
We are not sure if it is better to connect these wires to the ++-- pins on the board or if we should use the battery pins (in one tutorial, it was mentioned not to use the battery pins, the manual shows how to do it, but it is not clearly visible on the picture how to connect).
In both cases, how should we connect our 2 wires to the 4 pins given?
Also, is it necessary to solder to power switch to the board, for any of the 2 options?
We would be very greatful, if somebody has some suggestions!
Thanks in advance!
Thanks again Kurt!
Yes we followed the arduino setup/installation but it keeps giving an error.
I tried differend versions of Arduino as well as different versions of the board (boardmanager). And I put this link in preferences:
Upload method: OpenCM Bootloader
Programmer: AVRISP mkII
Does this match with the settings you have? And which Version of Arduino and Board are you using?
One more thing, I tried to upload an empty sketch through arduino (1.8.5) on MAC OS now and it doesn't work either.
This error occurs:
Unable to connect to bootloader
stm32ld ver 1.0.1
OpenCM Download Ver 1.0.4 2015.06.16
Fail to connect OpenCM
> apparently, there's other people with the exact same error..
Hello, you guys did so much work while I was sleeping.
And I apologize for the inconvenient features in this forum(such as rearranging replies and not being able to tag other people or threads), but we're considering to migrate to real Forum like discourse.
Mathias, since your bootloader in OpenCM9.04 is not recognized, you can try downloading the sketch in Recovery Mode.
When you are using power source(11.1V 3S1P Li-Po is recommended) for Dynamixel other than XL-320, it is recommended to use ++-- pin as shown in the Connecting Power.
FYI, OpenCM9.04 bootloader has not been changed at all.
If you are planning to use several Dynamixel on OpenCM9.04, please consider using OpenCM 485 EXP board.
FYI, OpenCM9.04 bootloader has not been changed at all.
Thought I would mention, that I did open a issue on github.. https://github.com/ROBOTIS-GIT/OpenCM9.04/issues/20
Up in the issue, I showed a set of programs (one for Arduino IDE and the other for OpenCM IDE), that dumps out the start of the bootloader, as well as the 96 bit serial number data.
I verified that two newer 904A boards matched, but the older 904B board was very different.
Also mentioned that I found a Sketch that someone wrote that updated the default bootloader with a version that makes it compatible with Maple setup.
Note: I tried posting more of the data here, but forum kept giving an error when I hit the Reply Write button.