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

AX-12 Settings

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
22 postsPage 2 of 21, 2
22 postsPage 2 of 21, 2

Post by JonHylands » Tue Jan 23, 2007 5:14 pm

Post by JonHylands
Tue Jan 23, 2007 5:14 pm

Well, yes its easy to have an ATmega128 talk to both the AX-12 and the DX-117, but they aren't running on the same bus, I can pretty much guarantee that. The two bus protocols are electrically incompatible.

- Jon
Well, yes its easy to have an ATmega128 talk to both the AX-12 and the DX-117, but they aren't running on the same bus, I can pretty much guarantee that. The two bus protocols are electrically incompatible.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Bullit » Tue Jan 23, 2007 7:31 pm

Post by Bullit
Tue Jan 23, 2007 7:31 pm

Although Robotis hasn't published schematics of the CM2+ I would think that electrically they are not on the same bus but the CM2+ is likely to see the DX and AX bus as the same bus. I think its likely that the exact same tx, rx and dir pins are used to different driver chips. The CAN bus would be altogether different of course.
Although Robotis hasn't published schematics of the CM2+ I would think that electrically they are not on the same bus but the CM2+ is likely to see the DX and AX bus as the same bus. I think its likely that the exact same tx, rx and dir pins are used to different driver chips. The CAN bus would be altogether different of course.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by JonHylands » Tue Jan 23, 2007 8:09 pm

Post by JonHylands
Tue Jan 23, 2007 8:09 pm

The poster who brought this up in the first place said this:

Currently I am planning on sharing a single communication bus so I don't have to worry about which servo I want to replace.


That was what I was saying woudn't work...

- Jon
The poster who brought this up in the first place said this:

Currently I am planning on sharing a single communication bus so I don't have to worry about which servo I want to replace.


That was what I was saying woudn't work...

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by lnielsen » Wed Jan 24, 2007 2:56 am

Post by lnielsen
Wed Jan 24, 2007 2:56 am

The protocol is identical (half-duplex, asynchronous, 8 bit, 1 stop bit and no parity). The difference is in the physical signaling (RS-485 vs. TTL). With the propeller chip I need to convert their 3.3volt signaling to 5 volt for the TTL. I expect to use open collector line drivers to "OR" the data received from either the Rs-485 or 5 Volt line driver. As far as the microprocessor is concerned, it will be a single two pin interface (data in/out, and direction)

I see no reason to deal with the complexity of the CAN interface since the DX-117 should meet all of my needs and as you say that is a totally different beast.

On the servo power side, the AX-12 is specified for 7-12 volts while the DX-117 is specified for 12-16 volts. I have not worked out the power supply yet but I expect I will use two LiPo 2-cell battery packs. They will operate in parallel for the AX-12 (7.4 volts)and in series for the DX-117 (14.8 volts)

I can't wait to get started on this but I got a few things to finish around the house first.
The protocol is identical (half-duplex, asynchronous, 8 bit, 1 stop bit and no parity). The difference is in the physical signaling (RS-485 vs. TTL). With the propeller chip I need to convert their 3.3volt signaling to 5 volt for the TTL. I expect to use open collector line drivers to "OR" the data received from either the Rs-485 or 5 Volt line driver. As far as the microprocessor is concerned, it will be a single two pin interface (data in/out, and direction)

I see no reason to deal with the complexity of the CAN interface since the DX-117 should meet all of my needs and as you say that is a totally different beast.

On the servo power side, the AX-12 is specified for 7-12 volts while the DX-117 is specified for 12-16 volts. I have not worked out the power supply yet but I expect I will use two LiPo 2-cell battery packs. They will operate in parallel for the AX-12 (7.4 volts)and in series for the DX-117 (14.8 volts)

I can't wait to get started on this but I got a few things to finish around the house first.
lnielsen
Robot Builder
Robot Builder
User avatar
Posts: 15
Joined: Thu Jan 18, 2007 1:00 am
Location: Arlington Heights, Illinois

Post by JonHylands » Wed Jan 24, 2007 3:54 am

Post by JonHylands
Wed Jan 24, 2007 3:54 am

The RS-485 bus for the DX-117 is a four-wire bus - the data is transmitted over two wires. The data on the AX-12 bus travels on one wire.

How do you plan to reconcile this?

- Jon
The RS-485 bus for the DX-117 is a four-wire bus - the data is transmitted over two wires. The data on the AX-12 bus travels on one wire.

How do you plan to reconcile this?

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Juha » Wed Jan 24, 2007 10:47 am

Post by Juha
Wed Jan 24, 2007 10:47 am

As Jon has been trying to say, the communication with DX vs AX is totally different. With AX one data wire is shared, information travelling there both ways. This is different from RS-485. Some places still have a bit missleading information about the protocol with AX, saying it would use RS-485.

On the original subject: Jon, so did I understand this correctly, depending on the parameters you use your AX-12 either bounces/swings back and forward, or it whines?

With the settings which give you the whining sound, does the servo reach a goal position within the set margins? Or does it stay in the moving status (0x2E = 1)?

If it's still trying to move, just as an idea, you might make a function which checks if the servo hasn't reached it's goal (+-margins) within certain expected time. After this you might have 2 choises.

Just set the goal position = current position. Ofcourse depending on how important it is for you to reach the goal position.

Another thing I was thinking about was if you could actually change slope/margin/punch _while the servo is moving_ (0x2E=1). For example, if you notice that the servo is stuck, increase the punch value. You might get some kind of hint on how much you should increase it from the current load parameter.

But, like I said, this is just an idea, and I haven't tried it myself.
As Jon has been trying to say, the communication with DX vs AX is totally different. With AX one data wire is shared, information travelling there both ways. This is different from RS-485. Some places still have a bit missleading information about the protocol with AX, saying it would use RS-485.

On the original subject: Jon, so did I understand this correctly, depending on the parameters you use your AX-12 either bounces/swings back and forward, or it whines?

With the settings which give you the whining sound, does the servo reach a goal position within the set margins? Or does it stay in the moving status (0x2E = 1)?

If it's still trying to move, just as an idea, you might make a function which checks if the servo hasn't reached it's goal (+-margins) within certain expected time. After this you might have 2 choises.

Just set the goal position = current position. Ofcourse depending on how important it is for you to reach the goal position.

Another thing I was thinking about was if you could actually change slope/margin/punch _while the servo is moving_ (0x2E=1). For example, if you notice that the servo is stuck, increase the punch value. You might get some kind of hint on how much you should increase it from the current load parameter.

But, like I said, this is just an idea, and I haven't tried it myself.
Juha
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 30
Joined: Fri Aug 25, 2006 1:00 am
Location: Helsinki, Finland

Post by JonHylands » Wed Jan 24, 2007 2:26 pm

Post by JonHylands
Wed Jan 24, 2007 2:26 pm

Juha,

The way it was set up, it could reach the goal setting (more or less), but it would whine. If you set the goal position to the current position, it would just drop down a tiny bit and start whining more.

The servo was fine the way it was - the problem is, I'm going to be adding half a kilo worth of stereo cameras to the head, which was going to turn it from minor problem into a huge one.

Fortunately, with the Bioloid kit, you can reconfigure your robot however you like, and it only took about ten minutes to drop that servo from the design...

- Jon
Juha,

The way it was set up, it could reach the goal setting (more or less), but it would whine. If you set the goal position to the current position, it would just drop down a tiny bit and start whining more.

The servo was fine the way it was - the problem is, I'm going to be adding half a kilo worth of stereo cameras to the head, which was going to turn it from minor problem into a huge one.

Fortunately, with the Bioloid kit, you can reconfigure your robot however you like, and it only took about ten minutes to drop that servo from the design...

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Previous
22 postsPage 2 of 21, 2
22 postsPage 2 of 21, 2