PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zusatzzeug für RP6



iAZ
13.12.2008, 15:02
Hallo,
Ich habe mir vor ca. einem halben jahr den RP6 gekauft. Anfangs habe ich n bissl mit dem was ausprobiert, aber jetzt liegt er im Schrank seit einigen Monaten und ich weiß ncht was ich mit ihm machen soll.
An sich kann er ja nichts besonderes außer fahren^^ und sensor-dingsen.
Ich bin kompletter Roboter-Anfänger und habe davon 0 Ahnung.
Ich möchte mit dem Roboter z.B. einen Gegenstand suchen und einsammeln. Kann jemand erklären wie das geht, was ich dafür brauche. (Erstmal reicht es wenn er wo ranstößt "greifer" ausfährt und den Gegenstand versucht zu greifen)
Oder weiß jemand was besser für Anfänger, wie mich, besser geeignet ist. Ich möchte auch nicht viel Geld dafür ausgeben.
und nochmal:
Ich bin kompletter Roboter-Anfänger und habe davon 0 Ahnung. :(
Danke iAZ

radbruch
13.12.2008, 15:55
Gib mal "rp6 AND greifer" in der Suchfunktion (https://www.roboternetz.de/phpBB2/search.php) ein.

iAZ
13.12.2008, 17:05
Ach ja:
Ich hab einige motoren zu Hause. Damit könnt ich auch schon was machen. Aber wie muss ich die Anschließen und Programmieren (0Ahnung). (Die Motoren haben 2 Anschlüsse + & -)

iAZ
14.12.2008, 16:10
Also ich hab es geschafft den Rp6 autonom zu steuern.
Kann mir jemand sagen wie ich die Motoren (einfache Getriebe aus spielzeug-Kran, keine Servos) an die Erweiterungsplatine anschließen kann (z.B. um nen leichten Feger zum Staubwischen zu bewegen^^) ???
DANKE
iAZ

Dirk
14.12.2008, 18:16
Hallo iAZ,

Also ich hab es geschafft den Rp6 autonom zu steuern.
Glückwunsch, das ging ja schnell (Vor 1/2 Jahr gekauft und dann monatelang im Schrank, und jetzt fährt er schon autonom herum: Das finde ich 'mal richtig Klasse!)
Über die Ansteuerung von Motoren gibt es viel zu lesen hier im Forum. Einfach z.B. unter "Motortreiber" suchen, oder auch die Wiki durchforsten:
https://www.roboternetz.de/wissen/index.php/Getriebemotoren_Ansteuerung

Gruß Dirk

iAZ
15.12.2008, 16:28
Hi also muss ich mir noch ein Controller-Bord kaufen oder selber bauen??? geht das nicht mit den Bordmitteln???

aircode
16.12.2008, 10:52
Hi,

ich bin eigentlich auch noch ein Anfänger, aber ich kann dir sagen, dass wenn du was ansteuern willst (Motorbetrieben), die einfachste Möglichkeit wäre, einen Servo zu verwenden. Die kosten nicht mal € 5,- und du kannst diese mit den Boardmitteln, die du ja schon hast relativ simpel ansteuern... Hab ich auch schon gemacht.

+5V/GND und einen Steuerleitung....

Bei einem normalen Motor brauchst du ja eine Umschalteinheit, welche die Drehrichtung bestimmt... z.B. ne H-Brücke... wie die aussieht, siehst du im Blockschaltbild deines RP6 (auf der CD Doku)...

Also, wenn du nicht viel Geld ausgeben willst und du noch Anfänger bist, dann kann ich dir nur einen Servo empfehlen - so hast du am schnellsten einen netten Erfolg.

MfG Aircode

ikarus_177
16.12.2008, 11:59
Hi,

ich hab mich in früherer Zeit mit dem Vorgänger RP5 auseinandergesetzt, der ja sehr viel leistungsschwächer ist als der RP6.

Ich hab ein RN-Control Board auf den Roboter "gesetzt", welches 2 Servos ansteuert, die dafür da waren, zusätzliche Sensoren (US/IR) zu schwenken, und sich so ein Bild der Umwelt zu machen (ein Video gibt es auch: http://ires.roboterbastler.de/?Videos unten).

Von den Ausgaben ein wenig höher, als es du wahrscheinlich anlegen möchtest (ca. 60€), es muss aber nicht das fertige RN-Control sein, du kannst dir auch ein Board mit einem ATMega selbst löten, das kostet dich dann wahrscheinlich keine 5€...


Viele Grüße

Dirk
16.12.2008, 15:44
Hallo iAZ,

für eine Motoransteuerung könnte auch die Mini-H-Brücke helfen:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=90

Gruß Dirk

aircode
16.12.2008, 18:53
Hallo,

die Lösung mit der H-Brücke laut Dirk gefällt mir auch. Hab zwar immo keine Verwendung dafür - muss ich mir aber merken...

Wisst ihr, gibt's den VNH3SP30 nicht auch in DIP Bauweise. Die Schaltung der H-Brücke ist ja nicht sehr aufwendig und leicht zu realisieren.
Wenn, dann würde ich mir die Schaltung selber auf dem Erweiterungsboard des RP6 zusammenlöten. In DIP Bauweise wäre das sicherlich noch einfacher...

MfG
Aircode

PS: Beim googlen nix gefunden...

iAZ
17.12.2008, 13:20
Naja ich hab mir 2 Servos bestellt (weil man eben die ohne Umwege anstöpseln kann, und die billiger sind).
Wo man die Stromzufuhr anschließt hab ich herrausgefunden(GND & VDD(5V) oder +UB(Batteriespannung)) aber wo sind die Steuerleitungen beim RP6 bzw. wie sind sie gekennzeichnet?

Dirk
17.12.2008, 16:10
Hallo iAZ,

Wo man die Stromzufuhr anschließt hab ich herrausgefunden(GND & VDD(5V) oder +UB(Batteriespannung)) aber wo sind die Steuerleitungen beim RP6 bzw. wie sind sie gekennzeichnet?
Du solltest unbedingt ein bißchen mehr lesen und dich umsehen.

Als Wichtigstes wäre da die RP6 Anleitung, die schon viele Fragen beantwortet. Die solltest du komplett lesen.

Dann gibt es in der Wiki sehr viele Informationen zum Anschluß von Servos an uCs.

Und es gibt hier im Forum Tabellen, die die freien Ports (also Anschlüsse, an denen du z.B. Servos anschließen kannst) enthalten:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=32677

... und einen ganzen langen Thread, der sich nur mit der Servoansteuerung auf dem RP6 beschäftigt. Da sind mehrere lauffähige Programme enthalten:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=34407


Viel Erfolg

Dirk

iAZ
20.12.2008, 19:16
Hi,
mit dem lesen stimmt.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=34407
Was da stand habe ich erst verstanden als ich den Servo in der Hand hatte^^
Mein erster Versuch war, dass der Servo bis zum anschlag in die eine richtung und sich dann zurück bewegt.
Lösung:
1. Orangenes Kabel mit einem Schraubenzieher aus dem JBL-Stecker entfernen
2. Den JBL Stecker in den XBUS 1 stecken (PIN 1 &3) und das Orangene Kabel in Pin 12 (siehe Foto im Anhang)
3. Beispiel Programm (das hier (https://www.roboternetz.de/phpBB2/viewtopic.php?p=318650#318650)) abändern zu

#include "RP6RobotBaseLib.h" // The RP6 Robot Base Library.
// Defines:
#define SERVO_OUT SDA // PINC1 XBUS Pin 12

// Servo movement limits (depending on servo type):
#define LEFT_TOUCH 1//550 // Left servo touch
#define RIGHT_TOUCH 254 // Right servo touch [max. 255]
#define PULSE_ADJUST 4
#define PULSE_REPETITION 19 // Pulse repetition frequency
//Variablen
int richtung=0; //0=rechts; 1=links
int speed=5;
/************************************************** ***************************/
// Functions:

/**
* INIT SERVO
*
* Call this once before using the servo task.
*
*/
void initSERVO(void)
{
DDRC |= SERVO_OUT; // SERVO_OUT -> OUTPUT
PORTC &= ~SERVO_OUT; // SERVO_OUT -> LO
startStopwatch1(); // Needed for 20ms pulse repetition
}
void pulseSERVO(uint8_t position)
{
cli();
PORTC |= SERVO_OUT; // SERVO_OUT -> HI (pulse start)
delayCycles(LEFT_TOUCH);
while (position--) {
delayCycles(PULSE_ADJUST);
}
PORTC &= ~SERVO_OUT; // SERVO_OUT -> LO (pulse end)
sei();
}
void task_SERVO(void)
{static uint8_t pos;
if (getStopwatch1() > PULSE_REPETITION) { // Pulse every ~20ms
if(richtung==0) pos=pos+speed;
else pos=pos-speed;
if (pos > RIGHT_TOUCH) {richtung = 1;} //nach links drechen
if (pos < LEFT_TOUCH) {richtung = 0;} //nach rechts drehen

pulseSERVO(pos);
setStopwatch1(0);
}
}

/************************************************** ***************************/
// Main function - The program starts here:

int main(void)
{
initRobotBase();
powerON();//anschalten
startStopwatch1();

setLEDs(0b111111); // Turn all LEDs on
mSleep(500); // delay 500ms
setLEDs(0b000000); // All LEDs off

initSERVO();

while(true)
{
task_SERVO();
task_RP6System();
}
return 0;
}



4. make, upload, start und es funktioniert^^
[flash width=425 height=344 loop=false:8343ff0d7a]http://www.youtube.com/v/2WauIi-pWx0&hl=de&fs=1[/flash:8343ff0d7a]

PS: sorry für schlechte bildquali hatte keine Lust meine DSLR (http://de.wikipedia.org/wiki/Dslr) raus zu holen. ging mit der IXUS 70 schneller^^

radbruch
20.12.2008, 19:38
Herzlichen Glückwunsch zum ersten Erfolg :)

Ich hatte mir mal einen praktischen Adapter für den XBUS gebastelt:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=322579#322579

Wenn man den Servostecker umbaut indem man + und - vertauscht kann man die Servos auch in ADC0/1 (mit eingelöteten Steckleisten) stecken.

Gruß

mic

iAZ
20.12.2008, 20:06
mal ne Frage: mein Code wird für mich langsam undurchsichtig (vor allem wenn noch was dazu kommt. wie kann ich die funktionen in andere Dateien auslagern (z.B. die ganzen Servo-dingens in ne servo.h ??? habs vergessen :(

Dirk
20.12.2008, 20:27
wie kann ich die funktionen in andere Dateien auslagern
Na, einfach die Funktionen in eine z.B. servo.c auslagern und die Definitionen dazu in eine servo.h

Die kann man dann in andere Projekte includen.

Gruß Dirk

iAZ
21.12.2008, 10:55
Hi
thx hab anführungszeichen vergessen ;)
Gruß AZ

iAZ
22.12.2008, 14:23
Hi
hab aus fun mal meinen Robo in nen Staubwedel verwandelt:
http://azapps.az.funpic.de/wordpress/2008/12/21/rp6-als-staubwedel/
PS: Seite nur vorübergehend unter dieser Domain und am Design arbeite ich auch noch ;)

Dirk
22.12.2008, 15:11
Joo, schön.

Sieht doch lustig aus! O:)
(... und macht dabei noch sauber!!!)

Gruß Dirk

KingArthur
07.01.2009, 10:01
gute idee muss man sagen
und jetzt muss er nur noch die treppe runter gehen können dann wäre es perfekt
mfg Arthur