Paso 3: La alegría de comunicación UART
A diferencia de otros servos, el Dynamixel no responde a las señales PWM, pero un protocolo un poco más complicado de instrucciones para leer y escribir en su memoria. Esta comunicación pasa por un puerto de half-duplex UART, usando sólo un cable para enviar y recibir.
Lo que esto significa es que necesitamos para construir un pequeño circuito que convierte la full-duplex en half-duplex, si queremos usar un Raspberry Pi un Arduino (u otro microcontrolador con una interfaz en serie full-duplex) para controlar estos motores.
El AX-12 manual de 2006 recomienda este circuito:
Básicamente es un sistema buffer tri-estado para arbitrar el bus; se asegura que cuando el controlador está transmitiendo, el autobús no está conectado al pin Rx, y que cuando está esperando para recibir, no es ser conducido por el pin Tx.
En lugar de utilizar un 74HC126 y un 74HC04, usé un 74LS241 (como recomendados aquí), porque ya tiene la capacidad incorporada de permitir que la mitad de sus reservas con señales de alto y la otra mitad con una señal baja.
El esquema del circuito que terminé usando, y un sencillo diseño de PCB están en 123D.circuits.