Comments (5)
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.
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.
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.
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.
(Marking as closed)
from ardyno.
Related Issues (16)
- mDirectionPin==NO_DIR_PORT HOT 1
- Incorrect position reporting and strange reset behavior HOT 19
- Improving library usability and robustness HOT 5
- Mega board cannot communicate with Dynamixel MX28T HOT 4
- listen() ist missing
- Can't communicate with RX-28 after changing baudrate HOT 2
- Can i apply this code to XL430? HOT 1
- Please update description to state this library is for protocol 1 only HOT 1
- cannot upload the program which following the same wire connection HOT 2
- Cannot use DynamixelMotor::speed() function to control the motor speed
- How can I seperate signal wire into two wire?
- AX12a won't respond after changing id HOT 15
- DynamixelInterfaceArduinoImpl.h is not installing using Arduino IDE library manager HOT 1
- Does not work on Arduino due SoftwareSerial.h not found HOT 6
- Controlling different types of servomotors with arduino méga HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ardyno.