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

Help!! broken AX-12

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
15 postsPage 1 of 1
15 postsPage 1 of 1

Help!! broken AX-12

Post by Ess » Sat Sep 26, 2009 11:37 pm

Post by Ess
Sat Sep 26, 2009 11:37 pm

I was working with my bot and suddenly it made a wrong movement and it hit and make torque, i heard three "clicks".

After some test i realized that the AX-12 was positioning incorrectly about 5º.

I think that the gears have been forced.

Someone knows how i can fix it?? HELP ME!!!!!




:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
I was working with my bot and suddenly it made a wrong movement and it hit and make torque, i heard three "clicks".

After some test i realized that the AX-12 was positioning incorrectly about 5º.

I think that the gears have been forced.

Someone knows how i can fix it?? HELP ME!!!!!




:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by Bullit » Sun Sep 27, 2009 12:47 am

Post by Bullit
Sun Sep 27, 2009 12:47 am

Sounds like you have stripped a gear. You will likely need a new gear set.
The best way to tell is power off the servo for a little while and then rotate the servo horn by hand. If you feel it get stuck or click when its in one position then the gear is broken.
Sounds like you have stripped a gear. You will likely need a new gear set.
The best way to tell is power off the servo for a little while and then rotate the servo horn by hand. If you feel it get stuck or click when its in one position then the gear is broken.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by Ess » Sun Sep 27, 2009 7:48 am

Post by Ess
Sun Sep 27, 2009 7:48 am

I think the gear is ok.

Before posting it i tried what you said, in all range the movement, the sound and the feel it´s ok. So i think that it affects to the potentiometer encoder, like the gear sliped with another one.

I dont know how the AX-12 looks like inside. Anyone have photos or know about how easy is to open and change the gears???
I think the gear is ok.

Before posting it i tried what you said, in all range the movement, the sound and the feel it´s ok. So i think that it affects to the potentiometer encoder, like the gear sliped with another one.

I dont know how the AX-12 looks like inside. Anyone have photos or know about how easy is to open and change the gears???
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by Ess » Sun Sep 27, 2009 8:51 am

Post by Ess
Sun Sep 27, 2009 8:51 am

After checking again, now the AX-12 is positioning ok.

But i have a great problem. I´m working with c programming, and while the robot arm is working, suddenly in some AX-12 it lose all torque and all ligths of the CM-5 are on.

I´m working with this arm for the last 2 months an never happend, but now it happens quite often.

someone have any idea??

Thanks!!!
After checking again, now the AX-12 is positioning ok.

But i have a great problem. I´m working with c programming, and while the robot arm is working, suddenly in some AX-12 it lose all torque and all ligths of the CM-5 are on.

I´m working with this arm for the last 2 months an never happend, but now it happens quite often.

someone have any idea??

Thanks!!!
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by Suicidal.Banana » Sun Sep 27, 2009 1:14 pm

Post by Suicidal.Banana
Sun Sep 27, 2009 1:14 pm

Might be related to the 'c programming', i dont know if you use any of the public bioloid librarys/templates or that you have made your own, but recentlly i read about one that it sometimes just randomly moves servos. (sadlly i forgot wich it was)
So, wich lib do you use?
Might be related to the 'c programming', i dont know if you use any of the public bioloid librarys/templates or that you have made your own, but recentlly i read about one that it sometimes just randomly moves servos. (sadlly i forgot wich it was)
So, wich lib do you use?
Suicidal.Banana
Savvy Roboteer
Savvy Roboteer
Posts: 78
Joined: Tue Jun 16, 2009 12:54 pm

Post by Ess » Sun Sep 27, 2009 4:41 pm

Post by Ess
Sun Sep 27, 2009 4:41 pm

I start with the example.c of robotis and the HaViMo´s example.

I think that the problem is with a function that waits till all AX-12 are stopped. I don´t remenber if i modify it, but now quite often it crash.

I´m working now with it, this is how it looks like:
Code: Select all
void esperaquieto(void)
{
TxDString("\r\n");   
  for(bCount = 1; bCount < 0x07; bCount++)
   {
      while(1)
            {
               gbpParameter[0] = P_MOVING; //direccion del bit de movimiento
               gbpParameter[1] = 1; //longitud de lectura
               bTxPacketLength = TxPacket(bCount,INST_READ,2);
               bRxPacketLength = RxPacket(DEFAULT_RETURN_PACKET_SIZE+gbpParameter[1]);
               if(bRxPacketLength == DEFAULT_RETURN_PACKET_SIZE+gbpParameter[1])
               {
                  if(gbpRxBuffer[5] == 1)
                  {
                  TxDString("\r\n AX-12 moving, id: ");   TxD8Hex(bCount);            
               
                  }   
                  else
                     {
                        TxDString("\r\n AX-12 stopped,break            ");TxD8Hex(bCount);   
                        break;   
               
                     }   
               }
            TxDString("\r\n loop                         ");   
            }
   TxDString("\r\n Next AX-12                          ");         
   }
   TxDString("\r\n End                          ");
}



Excuse my bad english!! :oops: :oops: :oops:
I start with the example.c of robotis and the HaViMo´s example.

I think that the problem is with a function that waits till all AX-12 are stopped. I don´t remenber if i modify it, but now quite often it crash.

I´m working now with it, this is how it looks like:
Code: Select all
void esperaquieto(void)
{
TxDString("\r\n");   
  for(bCount = 1; bCount < 0x07; bCount++)
   {
      while(1)
            {
               gbpParameter[0] = P_MOVING; //direccion del bit de movimiento
               gbpParameter[1] = 1; //longitud de lectura
               bTxPacketLength = TxPacket(bCount,INST_READ,2);
               bRxPacketLength = RxPacket(DEFAULT_RETURN_PACKET_SIZE+gbpParameter[1]);
               if(bRxPacketLength == DEFAULT_RETURN_PACKET_SIZE+gbpParameter[1])
               {
                  if(gbpRxBuffer[5] == 1)
                  {
                  TxDString("\r\n AX-12 moving, id: ");   TxD8Hex(bCount);            
               
                  }   
                  else
                     {
                        TxDString("\r\n AX-12 stopped,break            ");TxD8Hex(bCount);   
                        break;   
               
                     }   
               }
            TxDString("\r\n loop                         ");   
            }
   TxDString("\r\n Next AX-12                          ");         
   }
   TxDString("\r\n End                          ");
}



Excuse my bad english!! :oops: :oops: :oops:
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by Ess » Sun Sep 27, 2009 5:27 pm

Post by Ess
Sun Sep 27, 2009 5:27 pm

this are the results:
without error:
Image
Image
Image

Now when error happens:
Image
Image
Image

this is how it works(when it work :? ):
http://dl.getdropbox.com/u/748134/19092009.mp4
this are the results:
without error:
Image
Image
Image

Now when error happens:
Image
Image
Image

this is how it works(when it work :? ):
http://dl.getdropbox.com/u/748134/19092009.mp4
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by StuartL » Mon Sep 28, 2009 7:24 am

Post by StuartL
Mon Sep 28, 2009 7:24 am

You could be stalling on the power supply/battery not being able to supply enough current to run the servos and the CM-5. Try 'optimising' your power distribution throughout the robot. You want to minimise the power supply distance from each and every servo, concentrating on the high torque positions (e.g. at the bottom of the arm) first.
You could be stalling on the power supply/battery not being able to supply enough current to run the servos and the CM-5. Try 'optimising' your power distribution throughout the robot. You want to minimise the power supply distance from each and every servo, concentrating on the high torque positions (e.g. at the bottom of the arm) first.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by Ess » Mon Sep 28, 2009 9:05 am

Post by Ess
Mon Sep 28, 2009 9:05 am

I think that´s right!!!

I´m going to test!!!

Thanks!!!

:D :D :D
I think that´s right!!!

I´m going to test!!!

Thanks!!!

:D :D :D
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by Ess » Mon Sep 28, 2009 9:42 am

Post by Ess
Mon Sep 28, 2009 9:42 am

:evil:

someone has an "wait till all stops" function??

my program blocks in this function :oops: :oops:
:evil:

someone has an "wait till all stops" function??

my program blocks in this function :oops: :oops:
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by arekku » Tue Oct 06, 2009 5:11 pm

Post by arekku
Tue Oct 06, 2009 5:11 pm

Ess wrote::evil:

someone has an "wait till all stops" function??

my program blocks in this function :oops: :oops:


I assume there are nEngines with ID's 1 to nEngines+1

Code: Select all
def wait_all_stops(nEngines):
   for i in range(1,nEngines+1):
      while HasStopped(i) = 0:


The implementation of the HasStopped function is left as an exercise to the reader.
Ess wrote::evil:

someone has an "wait till all stops" function??

my program blocks in this function :oops: :oops:


I assume there are nEngines with ID's 1 to nEngines+1

Code: Select all
def wait_all_stops(nEngines):
   for i in range(1,nEngines+1):
      while HasStopped(i) = 0:


The implementation of the HasStopped function is left as an exercise to the reader.
arekku
Robot Builder
Robot Builder
Posts: 17
Joined: Tue Sep 22, 2009 1:20 pm

Post by Ess » Tue Oct 06, 2009 9:59 pm

Post by Ess
Tue Oct 06, 2009 9:59 pm

The implementation of the HasStopped function is what i need :twisted:
The implementation of the HasStopped function is what i need :twisted:
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm

Post by arekku » Tue Oct 06, 2009 11:43 pm

Post by arekku
Tue Oct 06, 2009 11:43 pm

Sorry stupid of me.

See what you can do with this

Code: Select all
void Wait_All_Stop(int nEng, int tolerance = 16)

   for(int bCount = 1; bCount <nEng> tolerance);

}
Sorry stupid of me.

See what you can do with this

Code: Select all
void Wait_All_Stop(int nEng, int tolerance = 16)

   for(int bCount = 1; bCount <nEng> tolerance);

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

Post by arekku » Mon Oct 12, 2009 10:23 am

Post by arekku
Mon Oct 12, 2009 10:23 am

Did it work?
Did it work?
arekku
Robot Builder
Robot Builder
Posts: 17
Joined: Tue Sep 22, 2009 1:20 pm

Post by Ess » Mon Oct 12, 2009 11:17 am

Post by Ess
Mon Oct 12, 2009 11:17 am

My function worked verifying the registry "Moving", but sometimes it blocks.

I think that is a timming problem whith the comunication, but sadly now i´m a "roboteer without robot".

I was working with the University´s kit of Bioloid.
Now i finish the final Project of my studies of electronic engineer and i have no bioloid to work :cry: :cry: :cry: :cry: :cry: :cry: :cry:

Soon i´ll post the resuts of my work in the forum :wink:

Thanks to all!!!!!
My function worked verifying the registry "Moving", but sometimes it blocks.

I think that is a timming problem whith the comunication, but sadly now i´m a "roboteer without robot".

I was working with the University´s kit of Bioloid.
Now i finish the final Project of my studies of electronic engineer and i have no bioloid to work :cry: :cry: :cry: :cry: :cry: :cry: :cry:

Soon i´ll post the resuts of my work in the forum :wink:

Thanks to all!!!!!
Ess
Robot Builder
Robot Builder
Posts: 21
Joined: Tue Mar 31, 2009 5:19 pm


15 postsPage 1 of 1
15 postsPage 1 of 1