On Sat, 18 Apr 2020 04:03:27 -0700 (PDT), in
gmane.comp.hardware.beagleboard.user "'Tobias Bocanegra' via BeagleBoard"
>As far as I understand, it is controlled via half-duplex uart.
>so, without having to buy the mentioned TTLinker board, I think it needs at
>least 6v on the *V* pin.
The servo needs between 6V and 8.4V to provide power TO the servo(s) on
the chain. That power can come from anywhere, it does not have to be a
Beaglebone pin (and probably can't be -- I don't think any Beaglebone
provides more than 5V).
>but looking at the pinouts , all the UART pins only have 3.3 or 5v.
>Looking at the schematic, I think that the servo pins have regulated 6v.
>so my question:
>- do you think it's possible to create an UART port using the PWM pins?
Only if you bit-bang the entire protocol (IE: treat the PWM as plain
>- or can I take the 6v from a servo pin, and the tx+gnd from the UART DSM?
You need to provide 6+V from some external circuit to power the servo.
The DSM UART appears to be a receive only port.
You biggest concern is that all I/O pins on a Beaglebone are limited to
3.3V (ADC limit is 1.8V), while the servo likely is using 5V signals
(compatible with AVR based Arduino -- the Uno and Mega models). That means
you will have to incorporate some sort of level shifter on the Tx/Rx to
convert between the servo 5V and Beaglebone 3.3V signals.
Furthermore, the servo uses a single signal line for both command (in)
and status (out) -- hence that "TTLink" circuit.
There seems to be an ambiguity in the circuit shown -- they are using
TxD for both the direction control AND the output data; I'm fairly certain
those should be separate signals TxDIR and TxDATA. Setting TxDIR HIGH turns
off the RxData buffer, and after being inverted turns on the TxData output
(which has a 5V pull-up applied). After sending a command to a servo, one
has to pull TxDIR LOW to turn off the TxData output and enable the RxData
input, in order to read the status from the servo.
Note also that the protocol of command/status is NOT defined in those
documents. You will need to download the Arduino specific servo library and
hope that it is in source that you can read...
WARNING! I tried to find it, but I get "website unavailable" when looking
for the download (and that's from FeeTech's own link to the library!).
FYI: Looking at the TTLink shield, you provide the 6+V on the GREEN
connector, and the board then provides 5V and 3.3V power to the Arduino it
is meant to be riding on. "U3" and whatever is next to it are voltage
regulators. The pin rows marked SVG are for regular servos (on pins with
PWM output) and/or sensors (GPIO or Analog pins)
Dennis L Bieber