GithubHelp home page GithubHelp logo

Comments (5)

descampsa avatar descampsa commented on June 18, 2024

If you have tried the speed example, it is possible that you have changed the communication baudrate of the servo.
Can you try with 9600 or 57600 as baudrate, instead of 1000000?
Also, since you use the hardware serial with no buffer, make sure that you create the interface exactly like this:
HardwareDynamixelInterface interface(Serial);

And yes, the examples are clearly not as good as they should be, i will fix that as soon as i find some time.

It is normal that you have to disconnect the comm to the PC, since there is only one hardware uart on the Uno, the only way to communicate with the motors and the PC simultaneously is to use a software serial, but then you are seriously limited in baudrate.

from ardyno.

eecharlie avatar eecharlie commented on June 18, 2024

Thanks, and sorry for the delay.

I've just tried using your updated led example. FYI, the const baudrate is not passed as a parameter to interface.begin(). I am using the hardware serial without buffer option:
// Use this for hardware serial without tristate buffer
HardwareDynamixelInterface interface(Serial);

It's still not working. I've tried baudrates of 9600, 57600, and 1000000. I'm using a Sparkfun Redboard, with a 9V AC adapter supply, and I can see that the red power LEDs on the Dynamixels (I have 2 chained) are lighting up when they first turn on.

One odd thing I notice: each time the example code writes to the bus, there is an activity burst on the Arduino RX LED, but only if the USB cable is plugged in. It does not happen when running only from AC adapter power.

from ardyno.

descampsa avatar descampsa commented on June 18, 2024

FYI, the const baudrate is not passed as a parameter to interface.begin().

oops, yes, you are right, thanks for reporting that.

there is an activity burst on the Arduino RX LED, but only if the USB cable is plugged in. It does not happen when running only from AC adapter power.

The RX/TX led are controlled by the usb controller, so it is normal that they don't blink when the usb cable is not plugged in.
It is really the RX LED that blink? It should be the TX LED (at least on the Uno)

It's still not working. I've tried baudrates of 9600, 57600, and 1000000. I'm using a Sparkfun Redboard, with a 9V AC adapter supply, and I can see that the red power LEDs on the Dynamixels (I have 2 chained) are lighting up when they first turn on.

Ok, not sure what the problem is, then.
The most likely problem is a different baudrate between the motor and arduino, since you have used the old test_speed example. If you remember using different baudrates that 9600, 57600 and 1000000, try those.

Also, 9V is on the low side of the voltage range, and with the reverse protection diode in the Arduino, the actual motor voltage is probably below 8.5V. I doubt this is really the problem, since the motor LED blink once when you connect them, but if you have a 12V power supply, could you try it to be sure?

To be sure, you can also check your oscilloscope results (if you have a dso with uart decode), it should be :
0xff 0xff 0xfe 0x04 0x03 0x19 0x01 0xe0
and
0xff 0xff 0xfe 0x04 0x03 0x19 0x00 0xe1
alternatively.

If nothing else work, there is a way to reset the motor to their original config with the bootloader, it is described here : #5 (comment)
Ask me if there is anything unclear with the process.
After that, the motors ID will be reset to 1, but you can change them back with the changeId function.

from ardyno.

eecharlie avatar eecharlie commented on June 18, 2024

Thank you! The bootloader reset process worked, and now the LED example is working for me. Here is a fairly clean .ino file if you want to add it as an example/utility to your repo.

arduino-dynamixel-recovery.ino.txt

from ardyno.

eecharlie avatar eecharlie commented on June 18, 2024

(Marking as closed)

from ardyno.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.