- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: SR1 V5.1 Gelenkarmroboter

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Beiträge
    21

    SR1 V5.1 Gelenkarmroboter

    Anzeige

    Powerstation Test
    Das ist mein Erster Roboter : SR1 V5.1 (Servomotor Roboter 1 Version 5.1)


    NEU jetzt mit Videos:
    http://www.youtube.com/user/YellowSR1


    Hier ein Auszug aus einem "ALTEN" Programm:

    10 '
    20 KEY OFF
    30 CLS
    40 '
    50 OPEN "COM1:9600,N,8,1,CS,DS" AS #1 'Aufsetzen RS-232

    100 ' Grundstellung
    101 'Achse 0
    105 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(0);CHR$(5);
    106 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(0);CHR$(15);
    107 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(0);CHR$(72);
    108 'Achse 1
    115 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(1);CHR$(31);
    116 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(1);CHR$(15);
    117 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(1);CHR$(70);
    118 'Achse 2
    125 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(2);CHR$(31);
    126 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(2);CHR$(15);
    127 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(2);CHR$(110);
    128 'Achse 3
    135 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(3);CHR$(31);
    136 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(3);CHR$(15);
    137 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(3);CHR$(10;
    138 'Achse 4
    145 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(4);CHR$(31);
    146 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(4);CHR$(15);
    147 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(4);CHR$(65);
    148 'Achse 5
    155 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(5);CHR$(31);
    156 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(5);CHR$(15);
    157 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(5);CHR$(85);

    199 IN$ = INKEY$:IF IN$ = "" THEN 199 'Abfrage Tastatur
    200 ' Vorposition Greifer offen Bauteil 1
    201 'Achse 0
    205 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(0);CHR$(5);
    206 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(0);CHR$(15);
    207 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(0);CHR$(57);
    211 'Achse 1
    215 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(1);CHR$(31);
    216 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(1);CHR$(15);
    217 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(1);CHR$(79);
    221 'Achse 2
    225 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(2);CHR$(31);
    226 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(2);CHR$(15);
    227 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(2);CHR$(10);
    231 'Achse 3
    235 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(3);CHR$(31);
    236 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(3);CHR$(15);
    237 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(3);CHR$(90);
    238 'Achse 4
    245 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(4);CHR$(31);
    246 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(4);CHR$(15);
    247 PRINT #1,CHR$(12;CHR$(1);CHR$(2);CHR$(4);CHR$(65);

    299 IN$ = INKEY$:IF IN$ = "" THEN 299 'Abfrage Tastatur
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken forummag_1.jpg   forumsr1classic1.jpg   forumlappy.jpg  

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2006
    Beiträge
    7
    Hi
    ich würde die Werte für die Servos nicht direkt ausgeben, sondern über ein Schleife und nach jedem Befehl eine Pause einlegen.
    mfg Charly

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Wait? wo im Programm ist ein Wait Befehl? Was für einen Wait
    Befehl? Was ist das für ein Basic mit Zeilen NR.?

    Code:
     bitte in  code xyz
    Einfügen, wenn vor dem Schreiben
    auf Vorschau geschaltet wird kann man das sehen.

    Gruß Richard

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Beiträge
    21
    Hallo,
    danke für eure Antworten!

    @charly2006: wie mache ich das? ich hatte mir das selber alles angeeignet quasi von über all nen schnipsel genommen und es hatte funktioniert !
    hättest du nen programmauszug damit ich weiss womit ich es "zu tun" habe?

    @richard: es gibt den wait befehl nicht im programm da ich es leider nicht geschafft habe ihn zu integrieren, deshalb diese zeile mit ->

    Code:
     199 IN$ = INKEY$:IF IN$ = "" THEN 199 'Abfrage Tastatur
    @alle: ich verwende den servo microcontroller von Robotikhardware + gw basic ![/code]

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Beiträge
    21

    PS:

    ich bin auch im besitz eines Bascom AVR-Basic Entwicklungsumgebung und Compiler war mir damals etwas umständlich und fand das gw basic einfacher und bin dabei geblieben... war das eventuell ein fehler?
    und lassen sich die Servos auch damit steuern?
    auch in verschiedenen geschwindigkeiten und voreingestellten winkeln?

    vielen dank

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Ich kenne jetzt nicht den Befehlssatz von GW-Basic.
    Als wait Ersatz könnte ich mir einen Timer IRQ vorstellen.
    Mit Servos habe ich noch nichts gemacht, würde
    das wenn selbst gestrickt, aber über PWM versuchen. Alle 20 ms
    ein 3 (?) ms Takt mit entsprechenden Puls/Pausen Verhältnis.
    Der Winkel wird ja durch das Puls/Pausenverhältnis eingestellt.

    Sollte zumindest Theoretisch klappen?

    Gruß Richard

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2006
    Beiträge
    7
    Also, wenn ich dich richtig verstanden habe benutzt du eine Servo Platien von RN um die Servos anzusteuern.

    Deine Routine :299 IN$ = INKEY$:IF IN$ = "" THEN 299 'Abfrage Tastatur
    ist im Prinzip eine Wait anweisung. Hier wird solange gewartet bis du eine Taste drückst.

    Ich meine du mußt zwischen jedem

    105 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(0);CHR$(5) '<- kein Semikolon, das sonst kein Zeilenende gesendt wird.

    eine Warteschleife legen.
    z.B.
    106 for i = 1 to 1000
    107 next i

    oder


    10 '
    20 KEY OFF
    30 CLS
    40 '
    50 OPEN "COM1:9600,N,8,1,CS,DS" AS #1 'Aufsetzen RS-232

    100 ' Grundstellung
    101 'Achse 0

    105 PRINT #1,CHR$(12;CHR$(1);CHR$(0);CHR$(0);CHR$(5)
    106 Gosub 10000
    107 PRINT #1,CHR$(12;CHR$(1);CHR$(1);CHR$(0);CHR$(15)


    10000 for i = 1 to 1000
    10001 next i
    10002 return

    Auserdem mußt das Semikolon am Ende des Printbefehls weglassen. !!!

    Pobier das mal aus. der Wert der For-Next Schleif habe ich willkürlich gewählt, hier muß man noch mal ein bisschen Experimatieren

    mfg Charly

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von .:Sebastian:.
    Registriert seit
    07.01.2006
    Ort
    Arkon I
    Beiträge
    203
    Moin Moin

    Wie mein Vorposter schon sagt, du musst das über eine schleife lösen.

    Ich hab selber vor 8 oder 9 Jahren das letzte mal was mit GW-Basic gemacht (war meine erste Programmiersprache, hatte extra nen Rechner mit DOS damals).
    Allerdings hab ich immernoch die Bücher im Regal. (z.B. GW-Basic Taschenführer von DataBecker)

    Mit dem weit Befehl wirst du nicht weit kommen, weil der nicht im Sinne von Wait <Zeit> gedacht ist.
    Ordentlich heißt der in GW Basic WAIT <Port>,<Maske1>,<Maske2>.
    Mit Port ist dabei ein Register gemeint, z.b. 0x378 für das Datenregister vom Parallelport.
    Die Register kann man mit INP lesen und mit OUT schreiben.
    Wait ließt das Register solange bis Wert XOR Maske1 AND Maske2 ungleich 0 wird.
    (Das steht im Buch und deckt sich mit meinem Wissenstand.)

    Also einfach mal mit einer forschleife spiele oder in einer While-schleife
    die immer wieder die Systemzeit abfragen und ne Differenz bilden, wenn du x Sekunden warten willst.
    Was aber für eine Übertragungspause etwas lang ist.

    Abschließend würde ich dir noch empfehlen längerfristig auf eine andre Sprache umzusteigen, GW-Basic ist fast genauso alt wie ich und es wird der Tag kommen, an dem der Compiler nicht mehr einfach so unter dem neusten Windows läuft.

    Viele Grüße
    Sebastian

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Beiträge
    21
    DANKE an euch!!!

    Leider hat es nicht funktioniert...egal was ich probiert habe !

    @Sebastian: kannst du eventuell ein Beispiel anhand meiner Programme schreiben? Dann kann ich mir vorstellen, wie du das meinst. Im Moment sitze ich davor, wie ein Frosch an einem zugefrorenem Fluss

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2006
    Beiträge
    7
    Hallo kannst du noch mal deinen Quellcode posten, damit ich mir das Ansehen kann.
    mfg Charly

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad