-         

Ergebnis 1 bis 3 von 3

Thema: Atmega2650 mit Microservoboard

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2007
    Beiträge
    5

    Atmega2650 mit Microservoboard

    Anzeige

    Hi!

    Gleich mal vorweg: Reiner Anfänger!
    Habe mir zusammen mit dem Atmega2560 das Microservoboard besorgt.
    Nun wollte ich das Microservoboard ansteuern und mir dazu die mitgelieferten Vorlagen als Beispiel nehmen.
    Geht aber nicht wirklich, da diese alle auf das RN-Controlboard zugeschnitten sind.
    Nun weiß ich nicht, wie ich die Servos mit dem Printbefehl ansteuern soll, da ich einen anderen Ausgang verwende. Hier mal mein Programm:

    $prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus

    $regfile = "m2560def.dat"
    $hwstack = 82 '80
    $framesize = 68 '64
    $swstack = 68 '44

    $crystal = 16000000 'Quarzfrequenz

    Config Pine.5 = Input 'Ist 1 wenn USB angeschlossen
    USB Alias Pine.5

    Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    Open "com4:" For Binary As #4 'USB Buchse

    Open "COMC.0:9600,8,n,1" For Output As #9

    Dim Servonummer As Byte
    Dim Servodevice As Byte
    Dim Servocommand As Byte
    Dim Servodata1 As Byte

    Do

    Servodevice = 1 'Jedes Servoboard hat eine Device-Nummer
    Servonummer = 7 'Servonummer 0 bis 7
    Servocommand = 2 'Befehl: Setze Position (0 - 127)
    Servodata1 = 127 'Position
    Print #9 , Chr(12 ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonummer) ; Chr(servodata1)

    Wait 100

    Servodevice = 1
    Servonummer = 7
    Servocommand = 2 'Befehl: Setze Position (0 - 127)
    Servodata1 = 0 'Position
    Print #9 , Chr(12 ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonummer) ; Chr(servodata1)

    Wait 100

    Loop

    End

    Nun ist meine Frage, warum ich diese Servos so nicht ansteuern kann?
    Bzw. geht die Ansteuerung dann ganz anders?
    Habe nicht's wirkliches dazu im Netz gefunden.

    Dank und Gruß
    Karli

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Wie genau sieht der Anschluss aus?
    Ist der ATMega2560 auf dem Modul von Robotikhardware.de? So wie's im Programm steht, wird COM4 verwendet, was auf diesem Modul dem USB-Anschluss entspricht. Und das Servoboard läuft aber nicht über USB.
    Du müsstest also nen anderen COM verwenden. Beim ATMega2560-Board gibts ja AFAIK noch den COM3, der ebenfalls als Stiftleiste seitlich nach aussen geführt ist.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.10.2007
    Beiträge
    5
    Danke für die Antwort Jaecko

    Ja, der Atmega2650 ist der von Robotikhardware.de.
    In diesem Falle hab ich das Problem auch schon gefunden gehabt. Ich hatte einfach die Kabel falsch verlötet und das Programm funktioniert so wie es hier steht auf PinC.0.

    Am Anfang wird zwar der USB-Port definiert, aber nicht im Programm verwendet.
    Für das Servoboard ist hierfür folgende Zeile wichtig:
    Open "COMC.0:9600,8,n,1" For Output As #9

    Greetz
    ShangTsung

Berechtigungen

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