Thund3r
20.04.2010, 19:14
Hallo
Ich möchte ein neues Projekt vorstellen.
Ich habe meinen Asuro mit einem neuen Greifarm ausgestattet der fest am Robo montiert ist und mit dem der Asuro sich auch bewegen kann.
So war der Aufbau geplant:
http://img683.imageshack.us/img683/188/skiz.png
Hier ein paar Fotos der Entstehung:
Auf dieser Halterung wird der Arm später gesetzt. Die Halterung besteht aus einem zurecht geschnittenem Stück Aluminium und 2 langen Schrauben die durch die gebohrten Löcher eingelassen wurden.
Die Halterung wird dann später an den Asuro geschraubt:
http://img687.imageshack.us/img687/3444/spma0110.jpg
2 Servomotoren mit einem Abstand aneinander fixiert:
http://img687.imageshack.us/img687/2652/spma0112.jpg
Die Greifer aus kleinen gesägten Metallschienen:
http://img405.imageshack.us/img405/5831/spma0116.jpg
Greifer werden angebracht und der Greifkopf ist fertig:
http://img88.imageshack.us/img88/1835/spma0118.jpg
Der Mittelteil besteht aus zurechtgeschnittenen Aluminiumschienen so ist der Arm relativ leicht. Zwischen den Schienen sind die Servos passend montiert.
http://img708.imageshack.us/img708/6227/spma0109.jpg
Der Greifkopf wird an den Mittelteil montiert:
http://img227.imageshack.us/img227/5653/spma0119.jpg
Nun werden noch die Kabel etwas geordnet und ein kleiner Schalter zur Regelung der Stromversorgung wird angebracht:
http://img146.imageshack.us/img146/7426/spma0120.jpg
Der Greifarm ist soweit fertig:
http://img706.imageshack.us/img706/2290/spma0121.jpg
http://img690.imageshack.us/img690/6569/spma0122.jpg
Am Ende wird er noch an den Asuro geschraubt:
http://img691.imageshack.us/img691/6217/spma0123.jpg
Hier ein paar kleine Videos des Arms
Video 1: http://www.youtube.com/watch?v=zVLRwRaELbo
Video 2: http://www.youtube.com/watch?v=byIxVQU6Ug0
Hier der Quellcode zum ersten Video (Sehr simpel und noch nicht ausgereift):
by Thund3r
#include "asuro.h"
int main(void)
{
Init();
int z;
int x;
StatusLED(OFF);
while(PollSwitch()<2);
while(1)
{
for(x=0; x<15; x++)
{
Servog1(100);
Servog2(100);
}
pause();pause();
for(x=0; x<18; x++)
{
Servog1(33);
Servog2(180);
}
pause();pause();
for(x=0; x<15; x++)
{
Servoh(90);
Sleep(3); Sleep(3); Sleep(3); Sleep(3);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(33);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(180);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(100);
}
pause();pause();
for(x=0; x<15; x++)
{
Servoh(160);
Sleep(255); Sleep(255); Sleep(255); Sleep(255);
}
pause();pause();
}
while(1);
return 0;
}
void pause(void)
{
int i;
for(i=0;i<100;i++)
Sleep(200);
}
void Servog1(int pos) // Erster Greifer
{
StatusLED(GREEN);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
StatusLED(GREEN);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servog2(int pos) // Zweiter Greifer
{
StatusLED(RED);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
StatusLED(RED);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servoh(int pos) // Hebender Servo
{
FrontLED(ON);
Sleep(pos);
FrontLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
FrontLED(ON);
Sleep(pos);
FrontLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servod(int pos) // Drehender Servo
{
BackLED(ON,ON);
Sleep(pos);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
BackLED(ON,ON);
Sleep(pos);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
Gruß Thund3r
Ich möchte ein neues Projekt vorstellen.
Ich habe meinen Asuro mit einem neuen Greifarm ausgestattet der fest am Robo montiert ist und mit dem der Asuro sich auch bewegen kann.
So war der Aufbau geplant:
http://img683.imageshack.us/img683/188/skiz.png
Hier ein paar Fotos der Entstehung:
Auf dieser Halterung wird der Arm später gesetzt. Die Halterung besteht aus einem zurecht geschnittenem Stück Aluminium und 2 langen Schrauben die durch die gebohrten Löcher eingelassen wurden.
Die Halterung wird dann später an den Asuro geschraubt:
http://img687.imageshack.us/img687/3444/spma0110.jpg
2 Servomotoren mit einem Abstand aneinander fixiert:
http://img687.imageshack.us/img687/2652/spma0112.jpg
Die Greifer aus kleinen gesägten Metallschienen:
http://img405.imageshack.us/img405/5831/spma0116.jpg
Greifer werden angebracht und der Greifkopf ist fertig:
http://img88.imageshack.us/img88/1835/spma0118.jpg
Der Mittelteil besteht aus zurechtgeschnittenen Aluminiumschienen so ist der Arm relativ leicht. Zwischen den Schienen sind die Servos passend montiert.
http://img708.imageshack.us/img708/6227/spma0109.jpg
Der Greifkopf wird an den Mittelteil montiert:
http://img227.imageshack.us/img227/5653/spma0119.jpg
Nun werden noch die Kabel etwas geordnet und ein kleiner Schalter zur Regelung der Stromversorgung wird angebracht:
http://img146.imageshack.us/img146/7426/spma0120.jpg
Der Greifarm ist soweit fertig:
http://img706.imageshack.us/img706/2290/spma0121.jpg
http://img690.imageshack.us/img690/6569/spma0122.jpg
Am Ende wird er noch an den Asuro geschraubt:
http://img691.imageshack.us/img691/6217/spma0123.jpg
Hier ein paar kleine Videos des Arms
Video 1: http://www.youtube.com/watch?v=zVLRwRaELbo
Video 2: http://www.youtube.com/watch?v=byIxVQU6Ug0
Hier der Quellcode zum ersten Video (Sehr simpel und noch nicht ausgereift):
by Thund3r
#include "asuro.h"
int main(void)
{
Init();
int z;
int x;
StatusLED(OFF);
while(PollSwitch()<2);
while(1)
{
for(x=0; x<15; x++)
{
Servog1(100);
Servog2(100);
}
pause();pause();
for(x=0; x<18; x++)
{
Servog1(33);
Servog2(180);
}
pause();pause();
for(x=0; x<15; x++)
{
Servoh(90);
Sleep(3); Sleep(3); Sleep(3); Sleep(3);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(33);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(180);
}
pause();pause();
for(x=0; x<15; x++)
{
Servod(100);
}
pause();pause();
for(x=0; x<15; x++)
{
Servoh(160);
Sleep(255); Sleep(255); Sleep(255); Sleep(255);
}
pause();pause();
}
while(1);
return 0;
}
void pause(void)
{
int i;
for(i=0;i<100;i++)
Sleep(200);
}
void Servog1(int pos) // Erster Greifer
{
StatusLED(GREEN);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
StatusLED(GREEN);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servog2(int pos) // Zweiter Greifer
{
StatusLED(RED);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
StatusLED(RED);
Sleep(pos);
StatusLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servoh(int pos) // Hebender Servo
{
FrontLED(ON);
Sleep(pos);
FrontLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
FrontLED(ON);
Sleep(pos);
FrontLED(OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
void Servod(int pos) // Drehender Servo
{
BackLED(ON,ON);
Sleep(pos);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
BackLED(ON,ON);
Sleep(pos);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
}
Gruß Thund3r