GithubHelp home page GithubHelp logo

invincibleai / ardyno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from descampsa/ardyno

0.0 1.0 0.0 216 KB

Arduino library for dynamixel servos

License: BSD 2-Clause "Simplified" License

C++ 88.33% Arduino 11.67%

ardyno's Introduction

ardyno

Arduino library for dynamixel servos

This library allows you to control the Robotis servo motors that use a custom half-duplex serial protocol. You can control TTL models directly from Arduino, without any additional hardware, using hardware or software UART. Communication speed up to 1 MBd is supported with hardware serial. The most useful functions (speed, position, wheel/joint mode, ...) are provided via a very simple high level interface (see test_motor example), but other operations can be done using the generic read/write functions (see test_led example).

Installation

Ardyno is available in the Arduino Library Manager, or you can get it directly from github repository if you want last version (may be unstable)

Usage

To control TTL motors, without any additionnal hardware: You can use a 9V or 12V power supply to power the arduino and motors. Connect GND and VIN pins of the arduino to the GND and VCC pins of your dynamixel device, and tx and rx pins of the arduino to the data pin of your dynamixel device (see image here). However, be carrefull that the current you can draw from arduino VIN pin is limited by the protection diode (specified at 1 amp max, for Arduino Uno), so if you use several motors, or put them under a significant load, it is better to connect the power supply separately to the motors. Also note that this is only valid for 5V boards. 3.3V boards may work in practice if they are 5V tolerant, but it is not recommended.

To control TTL/RS485 motors, with an additionnal hardware buffer: See Robotis documentation

Troubleshooting

  • If the servo is configured to answer immediatly to commands, the response packet may come back too fast and be missed by the arduino, and communication may become unstable or even impossible. To fix this, you have to write the value of the "Return Delay Time" register back to its orginal value (register 0x05, value 250).

ardyno's People

Contributors

descampsa avatar sylvaing19 avatar romainreignier avatar eecharlie avatar

Watchers

James Cloos avatar

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.