Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

AX-12's and RX-64's on the same communications string.

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
46 postsPage 3 of 41, 2, 3, 4
46 postsPage 3 of 41, 2, 3, 4

Post by arekku » Wed Oct 14, 2009 1:27 pm

Post by arekku
Wed Oct 14, 2009 1:27 pm

Damn I'm stupid, but I finally figured out how to do it.
See schematic below.

Image
Damn I'm stupid, but I finally figured out how to do it.
See schematic below.

Image
arekku
Robot Builder
Robot Builder
Posts: 17
Joined: Tue Sep 22, 2009 1:20 pm

Post by i-Bot » Wed Oct 14, 2009 2:40 pm

Post by i-Bot
Wed Oct 14, 2009 2:40 pm

Looks good.

I checked the datasheet and the MAX481 gives a high output when rx enabled and inputs are open, so that is OK.

A pullup on the AX bus will ensure the correct state there when rx enabled.

If you use a pair of diodes for the and gate, then you can replace R4 on the CM5 with one diode, then just add the MAX481 and another diode at its rx output. Existing AXbus circuit stays the same.

btw. Maxim are good for samples on their website.
Looks good.

I checked the datasheet and the MAX481 gives a high output when rx enabled and inputs are open, so that is OK.

A pullup on the AX bus will ensure the correct state there when rx enabled.

If you use a pair of diodes for the and gate, then you can replace R4 on the CM5 with one diode, then just add the MAX481 and another diode at its rx output. Existing AXbus circuit stays the same.

btw. Maxim are good for samples on their website.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sap1975 » Wed Oct 14, 2009 4:29 pm

Post by sap1975
Wed Oct 14, 2009 4:29 pm

Hi Guys

Now im no electronics engineer but i believe i know just enough to be annoying. :)
My thought on this was to ”just” add another node to the existing communications network avoiding the totem pole and double driver on the same line issue all together. The only problem with doing so was that i needed “intelligent” direction control as pointed out to me here in the thread. That exists in the CM5 just waiting to be tapped into.

Arekku. By no means do you seem stupid to me. In fact quite the opposite. But without going all Yoda on you my philosophy is to try to use whatever systems are already available instead of fighting it and in turn reinvent the wheel.

I-Bot. I hope this clears it up for you and if not feel free to fire away.

Btw. That goes for all of you. Especially if you find i made a mistake. Big or small doesn’t matter.

And so without further ado here’s the schematic.
Technically i should at least have a pull-up resistor between RO/DI and VDD but for now at least it works just great.

Image

And thanks again for all the great input.
Cheers
/Stig.
Hi Guys

Now im no electronics engineer but i believe i know just enough to be annoying. :)
My thought on this was to ”just” add another node to the existing communications network avoiding the totem pole and double driver on the same line issue all together. The only problem with doing so was that i needed “intelligent” direction control as pointed out to me here in the thread. That exists in the CM5 just waiting to be tapped into.

Arekku. By no means do you seem stupid to me. In fact quite the opposite. But without going all Yoda on you my philosophy is to try to use whatever systems are already available instead of fighting it and in turn reinvent the wheel.

I-Bot. I hope this clears it up for you and if not feel free to fire away.

Btw. That goes for all of you. Especially if you find i made a mistake. Big or small doesn’t matter.

And so without further ado here’s the schematic.
Technically i should at least have a pull-up resistor between RO/DI and VDD but for now at least it works just great.

Image

And thanks again for all the great input.
Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by i-Bot » Wed Oct 14, 2009 5:19 pm

Post by i-Bot
Wed Oct 14, 2009 5:19 pm

Did you try reading from the AX12 servo ? In this case the MAX485 is trying to pull the AXbus high, while the AX12 is trying to pull it low. The Max485 has totem pole outputs. A diode should resolve this.
Did you try reading from the AX12 servo ? In this case the MAX485 is trying to pull the AXbus high, while the AX12 is trying to pull it low. The Max485 has totem pole outputs. A diode should resolve this.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sap1975 » Wed Oct 14, 2009 6:01 pm

Post by sap1975
Wed Oct 14, 2009 6:01 pm

Well... i ran the motion editor which as far as i know reads at least position from the AX-12's as well as the RX-485 and i did about a milion "search" and "scan" operations in the robot terminal. All worked just fine.
Hmm Odd.
I must admit i dont know much about totem-pole outputs (just did a 5 minute catchup on google and quickly determined that it's going to take longer than that) so where exactly do you recon i should put the diode?
I mean i got it up and running we might as well play around with it a bit.

Cheers
/Stig.
Well... i ran the motion editor which as far as i know reads at least position from the AX-12's as well as the RX-485 and i did about a milion "search" and "scan" operations in the robot terminal. All worked just fine.
Hmm Odd.
I must admit i dont know much about totem-pole outputs (just did a 5 minute catchup on google and quickly determined that it's going to take longer than that) so where exactly do you recon i should put the diode?
I mean i got it up and running we might as well play around with it a bit.

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by i-Bot » Wed Oct 14, 2009 6:33 pm

Post by i-Bot
Wed Oct 14, 2009 6:33 pm

I suggest to add the diode between pin 1 of the MAX485 and R1 resistor/ Pin 4 junction. Cathode to pin 1 of the MAX485. The MAX485 can then pull the AX bus low, but not hold it high.
I suggest to add the diode between pin 1 of the MAX485 and R1 resistor/ Pin 4 junction. Cathode to pin 1 of the MAX485. The MAX485 can then pull the AX bus low, but not hold it high.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sap1975 » Wed Oct 14, 2009 6:44 pm

Post by sap1975
Wed Oct 14, 2009 6:44 pm

Thanks mate.
I'm working tonight so i won't be able to try it out until tomorrow but i'll let you know how it turns out. Maybe i should do a couple of scope shots. You know a before and after kinda thing.

Cheers
/Stig.
Thanks mate.
I'm working tonight so i won't be able to try it out until tomorrow but i'll let you know how it turns out. Maybe i should do a couple of scope shots. You know a before and after kinda thing.

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by sap1975 » Thu Oct 15, 2009 6:01 pm

Post by sap1975
Thu Oct 15, 2009 6:01 pm

Hi again

I added the diode as suggested and the end result is pretty much the same. Everything’s still working just fine. And the “signal” line is still high when idle.
Having gone over the schematic of the CM5 again i can see that there’s a pull-up resistor on the TTL AX-12 line so i figure that would explain it.
I took a couple of pictures of the scope before and after. (you’ll have to excuse the quality. Taken on a mobile)

Before
Image

After
Image

Cheers
/Stig.
Hi again

I added the diode as suggested and the end result is pretty much the same. Everything’s still working just fine. And the “signal” line is still high when idle.
Having gone over the schematic of the CM5 again i can see that there’s a pull-up resistor on the TTL AX-12 line so i figure that would explain it.
I took a couple of pictures of the scope before and after. (you’ll have to excuse the quality. Taken on a mobile)

Before
Image

After
Image

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by i-Bot » Thu Oct 15, 2009 10:53 pm

Post by i-Bot
Thu Oct 15, 2009 10:53 pm

Great scope shots !

If I understand the schematic right, this is the message sent from the CM5 as TXen is high. I was more interested in the response when TXen is low. Especially the response from AX12, not RX.
Great scope shots !

If I understand the schematic right, this is the message sent from the CM5 as TXen is high. I was more interested in the response when TXen is low. Especially the response from AX12, not RX.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sap1975 » Fri Oct 16, 2009 9:18 am

Post by sap1975
Fri Oct 16, 2009 9:18 am

Thanks
I'll try to get a "shot" of that this evening and get back to you.
DSO Scopes are great! Even the cheap ones :)

Cheers
/Stig.
Thanks
I'll try to get a "shot" of that this evening and get back to you.
DSO Scopes are great! Even the cheap ones :)

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by sap1975 » Fri Oct 16, 2009 5:12 pm

Post by sap1975
Fri Oct 16, 2009 5:12 pm

Ok so here we are. The setup is as follows:
MAX485 with Diode as per you recommendation.
Only a single AX-12 connected and no RX-64’s.
Measure point 1 = Pin 3 of the TTL connector (AX-12 Line).
Measure point 2 = MAX485 TX-Enable. (for reference)

As usual if you have any comments i would really appreciate them. And if you have anything else you want to check out lets go for it.

Image

Cheers
/Stig.
Ok so here we are. The setup is as follows:
MAX485 with Diode as per you recommendation.
Only a single AX-12 connected and no RX-64’s.
Measure point 1 = Pin 3 of the TTL connector (AX-12 Line).
Measure point 2 = MAX485 TX-Enable. (for reference)

As usual if you have any comments i would really appreciate them. And if you have anything else you want to check out lets go for it.

Image

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by sap1975 » Sat Oct 17, 2009 8:46 am

Post by sap1975
Sat Oct 17, 2009 8:46 am

While i had the scope out and setup i figured i might as well do a shot of the USB2Dynamixel while communicating.

Setup:
One AX-12 connected directly to the USB2Dynamixel.
Measuring point 1 = pin 3 of the TTL line.

Image

I-Bot, what do you make of this and the previous shot?

Cheers
/Stig
While i had the scope out and setup i figured i might as well do a shot of the USB2Dynamixel while communicating.

Setup:
One AX-12 connected directly to the USB2Dynamixel.
Measuring point 1 = pin 3 of the TTL line.

Image

I-Bot, what do you make of this and the previous shot?

Cheers
/Stig
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by i-Bot » Sat Oct 17, 2009 10:40 am

Post by i-Bot
Sat Oct 17, 2009 10:40 am

The last shot looks like an output from the USB2Dynamixel because it has a broadcast address.

Obviously the cables are starting to degrade the edges.

Would be good to see an RS485 servo respond on your setup to check the edges are not too compromised, especially when a few cables are added on AX bus.

Cheers,
Richard
The last shot looks like an output from the USB2Dynamixel because it has a broadcast address.

Obviously the cables are starting to degrade the edges.

Would be good to see an RS485 servo respond on your setup to check the edges are not too compromised, especially when a few cables are added on AX bus.

Cheers,
Richard
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by sap1975 » Sat Oct 17, 2009 11:42 am

Post by sap1975
Sat Oct 17, 2009 11:42 am

Ok so here we are.

Setup: fully loaded :)
Four AX-12’s on the TTL string
Two RX-64’s on the RS485 string
Measure point 1 = TX-enable (for reference)
Measure point 2 = Pin 6 of the MAX485 (one of the diff lines)

CM5----AX12----AX12----AX12----AX12
"""""|
MAX485----RX64 (ID 2)----RX64 (ID 1)

The signal was generated by pinging ID 1 (The RX64 furthest from the MAX485)

Image

You’ll have to excuse me for being a bit thick here but i fail to see how the cable length of the TTL line has any effect on the RS485 string?
Or am i missing something here?

On a more general note id like to hear if you consider this setup a viable way to go?
Now obviously i got it working and it will do just fine for what i need but others might be considering a similar setup.

Cheers
/Stig.
Ok so here we are.

Setup: fully loaded :)
Four AX-12’s on the TTL string
Two RX-64’s on the RS485 string
Measure point 1 = TX-enable (for reference)
Measure point 2 = Pin 6 of the MAX485 (one of the diff lines)

CM5----AX12----AX12----AX12----AX12
"""""|
MAX485----RX64 (ID 2)----RX64 (ID 1)

The signal was generated by pinging ID 1 (The RX64 furthest from the MAX485)

Image

You’ll have to excuse me for being a bit thick here but i fail to see how the cable length of the TTL line has any effect on the RS485 string?
Or am i missing something here?

On a more general note id like to hear if you consider this setup a viable way to go?
Now obviously i got it working and it will do just fine for what i need but others might be considering a similar setup.

Cheers
/Stig.
sap1975
Savvy Roboteer
Savvy Roboteer
Posts: 46
Joined: Sat Aug 08, 2009 11:53 pm

Post by i-Bot » Sat Oct 17, 2009 12:27 pm

Post by i-Bot
Sat Oct 17, 2009 12:27 pm

Sorry, I meant to say monitor the AX bus while the RS485 device is responding.

With the diode we will lose a bit of low voltage drive from the output of the MAX485 and also rely on the AXbus pullup to bring the AXbus high. Additional capacitance on the AX bus will slow the positive going edge.

If this looks OK, then this solution looks good. I see you are working at 1Mbps, so this is worst case.

Many thanks for your help on this, I am not using the RX64, but plan to change from TTL to RS485 on the servos for my large Mitsubishi arm. I designed these to use the Robotis protocol, though they are high power DC servo motors with optic encoder feedback. I am using a new AVR32 controller from RandomMatt and will use your RS485 interface on that for control.
Sorry, I meant to say monitor the AX bus while the RS485 device is responding.

With the diode we will lose a bit of low voltage drive from the output of the MAX485 and also rely on the AXbus pullup to bring the AXbus high. Additional capacitance on the AX bus will slow the positive going edge.

If this looks OK, then this solution looks good. I see you are working at 1Mbps, so this is worst case.

Many thanks for your help on this, I am not using the RX64, but plan to change from TTL to RS485 on the servos for my large Mitsubishi arm. I designed these to use the Robotis protocol, though they are high power DC servo motors with optic encoder feedback. I am using a new AVR32 controller from RandomMatt and will use your RS485 interface on that for control.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

PreviousNext
46 postsPage 3 of 41, 2, 3, 4
46 postsPage 3 of 41, 2, 3, 4