My Servo Dynamixel 12-A cant Move

Actuator: Dynamixel AX-12A
Controller: Arduino Uno or Arduino Mega 2560 with Dynamixel Shield

I’m encountering issues with my Dynamixel AX-12A servo. Despite utilizing the Dynamixel shield and correctly connecting it to the TTL pins, the servo remains inactive. I’ve employed the provided example programming for the Dynamixel shield on my Arduino board. Power is being supplied externally, and I’ve attempted various troubleshooting methods found on Google and YouTube. However, none have succeeded in activating the servo, despite following tutorial guidelines.

Moreover, although the program can be uploaded to the board, the servo remains motionless and doesn’t transmit any serial data. Additionally, I’ve noticed that my board feels unusually warm, raising concerns.

Could anyone assist me in resolving these issues? Any guidance or suggestions would be greatly appreciated.
this my sketch
WhatsApp Image 2023-12-06 at 17.27.46

The AX-12A needs 11-12 V to operate but it looks like that you are providing power at 7.4 V?

yeah i have providing the dynamixel power at 12 v too, but the servo cant move

Do you have other Robotis hardware like a CM-530 controller or a U2D2 module?

no, I don’t have one, any suggestions what device i should use for it? or what the next step should I do

I was trying to find a different way to operate the servo than via the Arduino Boards. But if you don’t have those hardware mentioned then we are “stuck”.

its okay, thank you for the help,
my be i would like to buy open rb and 1 dynamixel again. I just dont know why my servo cant be read or moved
WhatsApp Image 2023-12-07 at 14.10.55

You will be better off in the long run to get the DXL Starter Kit

Also I had found that the ping() and scan() functions do not work reliably for me either. Just access the servo directly with Goal Velocity or Goal Position and see. You do know the servo baud rate and ID right?

As for the ID and baud rate, I haven’t found it because the servo can’t be detected yet, but the information from the seller lists the ID and baud rate of the servo.

I see now. In that case try ID=1, and just try different baud rates: ONE at a TIME. Try first at 1 Mbps usually that are the default settings.

“Update: I recently purchased an Open RB and managed to successfully read data from my servo using programs like Dynamixel2Arduino. However, despite being able to read the servo, I’m encountering issues when trying to make it move using programs related to operations or position control. For instance, the servo remains unresponsive when I attempt to execute operations or set specific positions through the Dynamixel2Arduino program.”
WhatsApp Image 2023-12-13 at 11.01.49

Good that you now have the OpenRB-150 which offers more flexible uses.

Let’s try to use the OpenRB-150 as a mini U2D2 that can only go to 1 Mbps max for baud rate. But that is good enough to take care of troubleshooting your AX-12A.

My physical setup is shown below:

IMG_025725

I supplied 12 V to the Terminal Block and the 150’s jumper is set VIN(DXL). My AX-12A happened to be ID=15. My PC sees the 150 as COM11.

I can see that you are using Arduino IDE 2.21. Can you see the “OpenRB-150” example named “usb_to_dynamixel.ino”? If you don’t see it, you may have to read up on this post at the Arduino Forum (Examples missing 2.2.1 - #7 by ptillisch - GIGA R1 - Arduino Forum) or switch back to Arduino IDE 1.8.19. See picture of this sketch below:

USB2DXL_Arduino2

Anyhow, go to Line 30 and change the default argument from 57600 to 1000000 to match with the 1 Mbps baud rate on your AX-12A. You should be able to compile and download this sketch to your OpenRB-150 fine.

Once that done, start Dynamixel Wizard 2 on your PC and go to Options >> Scan and update the appropriate settings for Protocol 1, COM Port, Baud Rates and Range of the DXl IDs.

OptionsScanDW

Then you can go back out to the Main Menu and choose Scan and you should be able to connect to your AX-12A (like mine as shown below).

DW2_Connect_AX-12A

Then you can try different parameters to see if the AX-12A is fully operational. Once you confirm this result, we can then go on to the proper usage of the Dynamixel2Arduino Library.

Also, now that you have the OpenRB-150, you can read the free Kindle Sample of my Arduino book at this link:

https://www.amazon.com/Using-ARDUINO-ROBOTIS-Systems-Ngoc-ebook/dp/B0BPXGQ6YX/

My book uses the Dynamixel2Arduino library directly (not Dynamixel Shield), and there are lots of reference materials in the free sample for the XL-320 and XL-330 used with the OpenRB-150, but unfortunately, the materials on AX-12A with the Mobile Manipulator is not included in the free Kindle sample.

1 Like

thank you for your reply, Is there a lot of code there that I can try to learn?

I do not know how much help you need, my Arduino book does not teach you programming in C, so you will have to pick that skill from somewhere else. But the book itself has lots of code and I practically explain my code line by line. Why don’t you look at the Kindle sample and decide for yourself? Can you actually access the Kindle sample from your computer?

Did you manage to get the sketch usb_to_dynamixel to work with your AX-12 like in my previous post? If this sketch worked for you, you can use the Dynamixel Wizard to change the AX-12’s ID to whatever you need.

1 Like

I’ve tried the USB to Dynamixel program and successfully uploaded it to OpenRB. But when I tried to connect it to the AX-12 using Dyna Wizard, the scanning process failed. I have tried 5v and 12v but it still fails. Any suggestions on how to solve this problem?
WhatsApp Image 2024-01-10 at 13.57.38

This is another reason to read up on the control table of the ax-12 itself which shows that the ax-12 uses protocol 1. And in the picture you posted you were using protocol 2: this would explain why there was no dxl found.
Once in protocol 1 you can also choose for the DXL Wizard to test all baud rates for the first time, just to be thorough.

2 Likes

As @roboteer mentioned, please choose Protocol 1.0 in Option GUI.
In Addition, COM PORT is a pre-emptive device.
According to the image you posted, Wizard2.0 failed to access COM16 port.
please check if COM16 is available and another device is using COM16 or not.

Thank you so much for your reply. Now, my OpenRB can read AX-12, but I’m unsure where I can change the ID of one of my servos. Any guidance on this?
Screenshot 2024-01-11 172207
Screenshot 2024-01-11 174256
Screenshot 2024-01-11 175303

1 Like

The DXL Wizard reported your AX12 as “unknown” so you need to recover its firmware first. Click on the icon named Recovery and follow the instructions there. If this procedure works out then you should see the screen shown for my ax-12 in my previous post that is the right Panel should show all kinds of parameters that you can adjust

1 Like

thank you so much for your reply, but right now i had new problem. why my dyna wizard just can scan with protocol 2