Results 1 to 5 of 5

Thread: Dynamixel Robotis AX12A - half duplex

  1. Dynamixel Robotis AX12A - half duplex

    Hello to all!

    I came here today with one question.

    I've been working with Dynamixel AX12A motor for few hours upon which I've realised that since it has only one line I need to set up a half duplex UART architecture.

    The truth is I do not need any feedback from AX12A to my controller. Saying that, I want to avoid using RX pin on my controller and I just want for AX12A to listen.

    Is there any way to configure AX to do so and is it possible to avoid having any driver for half bridge UART?

    I would just simply like to send data via TX and that's all.


  2. #2

    Re: Dynamixel Robotis AX12A - half duplex

    Yes, you can set the response level to make it quiet. Check the documentation for register 16 (Status Return Level)

    That being said, it's useful to know that the servo actually is there, for safety and for debugging, so you'll probably want to start reading back data at some point.

    If you don't have a 74HCT125 or similar driver chip, but you have a configurable microprocessor, you may be able to turn off the RX pin while the TX pin is sending, and then turn off the TX pin when waiting for response. Or you may be able to just read and ignore the data you yourself are sending.

    However, there is a danger with what you're suggesting: If the TX pin on your UART keeps driving the line high, and a servo attempts to answer by writing on the line as well, you'll have the AX12A TTL driver chip attempt to drive a low straight into the TX pin driving high. Thus, it would be better to use a tri-state buffer or find some way to turn off the TX pin when you expect to not be driving the pin. Or at least add a resistor of size 50-500 Ohms to reduce the excessive load on the UART. (50 Ohms at a 5V UART is still 100 mA, which is way too much for the safe operation/lifetime of any normal MCU, so more is better.)

    If you're using the Atmega series of chips (used in the Arduino Uno/Mega) then those have good control over turning on/off the TX and RX pins. Thus, you should be able to turn off the TX pin when you expect the servo to be answering, and turn off the RX pin when you are sending yourself, and tie both to the same wire.
    Last edited by jwatte; 01-28-2019 at 08:17 PM.

  3. Re: Dynamixel Robotis AX12A - half duplex

    Hello, jwatte!

    Thanks for replying to my question.

    I have two additional questions if you can clarify for me, please.

    (1) If I decided I only want to use wire as TX, then, following your advice, when configuring AX12A I should write 1 in register 16, which is:
    Return only for the READ command

    This means that unless I tell the AX to talk back to me, AX won't have any transmitting responses when writing commands to it? Is this correct?

    (2) Since I do not have 74HCT125, I was asking this question. I am not using AVR styled MCU, but one from TI, but I think this is not the point. What would happen if I were to use protoboard for example and then wire it up so that RX and TX pins are connected (shorted), and then I send that to AX? Will it influence the connection?


  4. #4

    Re: Dynamixel Robotis AX12A - half duplex

    1. Yes, if you set the register to 1, then there will only be an acknowledgement from the servo for a READ command.

    2. You can tie the TX and RX lines together. That will make the RX line receive anything you send on the TX, which could be reasonably simple to just discard in your code. However, the problem still remains that your TX pin will try to keep the wire high when it's not sending anything, which means that if the servo sends anything back, it will try to drive the line low while your CPU is trying to drive the line high. To avoid burning out the CPU, or the buffer chip in the AX-12A, you'd have to at a minimum tie a resistor to the TX pin of the CPU. I e, you'd have CPU_TX -> resistor -> TTL bus -> AX-12A and CPU_RX. I'd suggest trying a 470 Ohm resistor and see if you can get 1 Mbps communication be reliable. (Using an oscilloscope to check the drive strength / waveform might help.)

    Also, the Dynamixel TTL bus is defined to use 5V signaling. Often, 3V signaling may work, but if your CPU is a 3V CPU, then you may end up having signal quality problems because you're not using a 5V buffer chip. There is also some risk to the CPU by being directly coupled to long wires that can pick up stray inductive interference / EMI. You can probably ignore these risks for prototyping purposes, but it's not sufficient long term if you want to do reliable engineering.

  5. Re: Dynamixel Robotis AX12A - half duplex


    Thanks for the help!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Using Bioloid Dynamixel AX12A for PhantomX
    By ericshi in forum Humanoids, Walkers & Crawlers
    Replies: 3
    Last Post: 09-09-2015, 01:28 PM
  2. Dynamixel AX12A Strange problem
    By richardw347 in forum DYNAMIXEL & Robot Actuators
    Replies: 4
    Last Post: 01-15-2014, 10:31 AM
  3. Question(s) Dynamixel SDK (Robotis)
    By Pocar19 in forum DYNAMIXEL & Robot Actuators
    Replies: 5
    Last Post: 03-02-2012, 09:27 AM
  4. News/Announcement New Robotis Dynamixel Pages
    By Matt in forum Off Topic
    Replies: 0
    Last Post: 01-28-2010, 04:16 PM
  5. Question(s) Half PDA/Half Desktop PC
    By DanTheMan in forum Mechanics / Construction
    Replies: 41
    Last Post: 01-14-2009, 03:29 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts