PDA

View Full Version : Mixing Dynamixel Servo (4 pin & 3pin) on Arbotix Pro



wiweet
05-04-2015, 12:49 PM
Hi All,
To make my robot more powerfull I'm trying to combine my MX-28AR(RS-485) servos with AX-12(TTL).
Is it possible to use 4 pin Dynamixel(RS-485) and 3 pin Dynamixel (TTL) simultaneously on Arbotix Pro?
Is there any change I could make to do that?

Regards,

wiweet

jwatte
05-04-2015, 01:39 PM
What happens if you just plug both of them in at the same time?
Can you scan them both? It seems like it should work (given the protocol involved.)

wiweet
05-04-2015, 03:52 PM
Well actually, right after posting my question I did try to connect both of the RS-485 and TTL Dynamixel at the same time. My finding is that if the selector jumper for TTL or RS485 on the Arbotix Pro board positioned at TTL we can scan/found both of the RS-485 and TTL Dynamixel, but when it's positioned at 485, only the RS-485 Dynamixel found, not the TTL. Is it the right behavior of the Arbotix Pro, I mean, when the jumper is positioned at TTL we can scan/found both of the RS-485 and the TTL Dynamixel?Is it safe for the Board and the Dynamixel to use TTL mode on the Arbotix Pro to communicate both to RS-485 and TTL Dynamixel?

5905

tician
05-04-2015, 04:03 PM
If you are always getting a response from the MX-28AR, then the RS-485 transceiver would appear to always be active. If so, then the jumper is probably only disabling the RX of the TTL buffers. But if they have all the parts for both buss types already populated and the busses/connectors isolated, why bother with the jumper and just let anything connected be found? Or the single sided swing of the TTL bus is sufficient to trick the MX-28AR RS-485 transceivers, which is probably not great for long term board life.

jwatte
05-04-2015, 09:26 PM
If we had the schematics, we could tell for sure...

wiweet
05-05-2015, 01:01 AM
As far as I know the schematic is posted on https://github.com/Interbotix/ArbotixPro/tree/master/hardware , eventhough it's writen Arbotix Pro V1.1 and the board I had is V1.0, I don't know is there any significant differences between those version.

tician
05-05-2015, 01:24 AM
Yep, RS-485 transceiver is always active and driving the 485_D- signal whenever TTL_DATA is transmitting. If the TTL_DATA signal is sufficiently close to being complementary to the 485_D- signal (i.e. equivalent to the 485_D+ signal), then there is the chance that the voltage difference between DATA and 485_D- are sufficient to be received by the servos. Not sure if the MX-28AR have termination resistors, but they may be playing a role in it working (only supposed to be one on each end of a chain). Not going to be a good thing to continue doing if you want the servos and Arbotix Pro to last long.

Better design would have been to cut the trace connecting the 3-pin comms to the 4-pin comms to keep them completely isolated yet operating on the same UART through their respective transceivers/buffers, just like the CM-700 does.

wiweet
05-05-2015, 04:47 AM
Ok. What if I disconnect the 3rd pin from the 4 pin servo cable and take the 485_D+ directly from the MAX3443 output(pin number 1 of the jumper header/JP6 in this case)?So the 4pin servo is getting the 485_D+ and 485_D- directly from MAX3443.Is it a possible and safer alternative?

vehemens
05-05-2015, 06:05 AM
As far as I know the schematic is posted on https://github.com/Interbotix/ArbotixPro/tree/master/hardware , eventhough it's writen Arbotix Pro V1.1 and the board I had is V1.0, I don't know is there any significant differences between those version.

Any chance you could post the rest of the schematic for those that don't use eagle?

KurtEck
05-05-2015, 09:10 AM
I did create a PDF from the schematic, which I could post, but I am hesitant to do so, without Trossen saying it is OK.
Should be fine as the stuff in the project is shown as open source...

Note: I personally use Diptrace to do any designs that I make for myself, but did purchase a light weight Eagle license (6.3 light) to allow me to do stuff including converting Eagle component libraries into Diptrace libraries.

But before that I installed the Eagle free version as a way to look at designs like this. You can download it from: http://www.cadsoftusa.com/download-eagle/freeware/

jwatte
05-05-2015, 11:23 AM
Wow, that's a dangerous configuration! If you turn on RS485 while you have a TTL servo connected, you'll potentially push 12V into the TTL input of the TTL servos.

Even when the switch is at "TTL," the RS485 servos may push high voltage into the TTL bus. I'd want at least a resistor and a low-capacitance Zener across the TTL bus to avoid that problem (resistor between 4P1 and DXL1; Zener across the TTL part of DXL1 and ground.)

The reason reception works anyway is likely that the level translator from the TTL side will pull the AND gate low, so it doesn't matter if the RS485 will detect it or not.

Actually, a better design would have been to push TTL out to TTL, and RS485 out to RS485, and then just use the AND gate for input detection, with no cross-coupling of them. It would be safer, less components, and more robust IMO. (Am I missing something here?)

tician
05-05-2015, 11:44 AM
Actually, a better design would have been to push TTL out to TTL, and RS485 out to RS485, and then just use the AND gate for input detection, with no cross-coupling of them. It would be safer, less components, and more robust IMO. (Am I missing something here?)
Which is basically what the CM-700 has set up. TX goes out to both the RS-485 transceiver and TTL buffers then to their respective connectors with electrically separate dxl busses. RX comes in through RS-485 and TTL buffers to another gate/buffer then on to the microcontroller.

The Arbotix Pro inherited from the CM-730 and not the CM-700. The CM-730 used an either/or selectable version because it could only have one type of connector populated at a time using a single 4-pin footprint for all the connectors (came with 3-pin by default, but can be desoldered to install 4-pin connectors). Having both connectors populated without separating them is not a great idea.

wiweet
05-05-2015, 12:13 PM
Which is basically what the CM-700 has set up. TX goes out to both the RS-485 transceiver and TTL buffers then to their respective connectors with electrically separate dxl busses. RX comes in through RS-485 and TTL buffers to another gate/buffer then on to the microcontroller.

The Arbotix Pro inherited from the CM-730 and not the CM-700. The CM-730 used an either/or selectable version because it could only have one type of connector populated at a time using a single 4-pin footprint for all the connectors (came with 3-pin by default, but can be desoldered to install 4-pin connectors). Having both connectors populated without separating them is not a great idea.

As for your statement

....
Better design would have been to cut the trace connecting the 3-pin comms to the 4-pin comms to keep them completely isolated yet operating on the same UART through their respective transceivers/buffers, just like the CM-700 does., if I do a little modification to the wiring of the 4pin and 3 pin like shown on the picture below, which is cut the trace connecting the 3-pin comms to the 4-pin comms and then connect the 3 pin comms to TTL_DATA directly. (with the jumper selector JP6 shorted between DATA and 485_D+) is safe enough?so the 3 pin only connected to TTL_DATA and never connected to 485_D+. Is this what you mean to isolate the 3-pin comms to the 4-pin comms?

DresnerRobotics
05-05-2015, 03:07 PM
I did create a PDF from the schematic, which I could post, but I am hesitant to do so, without Trossen saying it is OK.
Should be fine as the stuff in the project is shown as open source...

Note: I personally use Diptrace to do any designs that I make for myself, but did purchase a light weight Eagle license (6.3 light) to allow me to do stuff including converting Eagle component libraries into Diptrace libraries.

But before that I installed the Eagle free version as a way to look at designs like this. You can download it from: http://www.cadsoftusa.com/download-eagle/freeware/

I actually thought I had included a PDF of the entire schematic, that was my intention anyway. It's open source under GNU GPL v3 as shown here: https://github.com/Interbotix/ArbotixPro/blob/master/LICENSE So please feel free to do whatever you like with it.

I have a complete redesign of the TTL / RS-485 circuitry in mind. The current design is nearly an identical copy of the CM730 schematic, which certainly leaves some room for improvement.

In it's current form, the design intent is NOT to use both RS-485 and TTL servos simultaneously, which is why we jumpered it in hopes that users would see it as a 'one or the other' type of option. Production boards don't have the 4P headers populated, and we put 'blank plugs' in the Beta board headers to indicate they were not being used in the beta. Keep in mind we're not selling the boards separately yet, so the intended use is only with the AX-12s in the HROS1 Beta kit.

KurtEck
05-05-2015, 04:13 PM
Thanks Andrew,

That is what I assumed.

5913