-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: RN-Motor und Timer

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    9

    RN-Motor und Timer

    Anzeige

    Hallo,

    ich habe ein Problem mit meiner RN-Motor I2C. Ich will dass immer nach einer bestimmten Zeit 100 Schritte gemacht werden. Funktioniert das irgendwie nie. Hat jemand so was schon mal gemacht und hat ein Beispielprogramm dazu ?

    Vielen Dank

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Wo hast du denn Probleme.
    Im Grunde müsste dein Controllerboard/PC doch nur in deinem gewünschten Zeitintervall den Befehl an RN-Motor senden "200 Schritte bewegen".

    Sollte kein Problem sein

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    9

    Tja eigentlich

    Hallo,

    nein eigentlich dachte ich das auch. Ich verwende diesen Befehl:

    I2cdaten(1) = 10
    I2cdaten(2) = 5
    I2cdaten(3) = 0
    I2cdaten(4) = 100
    I2csend rnm1adr , I2cdaten(1) , 5

    Wenn das Program startet dreht er sich um 100 Schritte weiter. Danach sende ich keine weiteren Befehle über den I2C bis der Timer den Interrupt auslöst, in dem dann wieder der selbe Code wie ober steht, nur das diesmal Nichts passiert. Muss ich vorher irgendetwas anderes senden, bis ich wieder 100 Schritte machen kann

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Sowiet ich es im Kopf habe, muss man eigentlich keinen weiteren Befehl geben. Aber du kannst ja mal Probeweise einen Motor-Stop Befehl zuvor senden (auch wenn er schon steht).
    Dein Timer darf natürlich nicht zu kurz angelegt sein, die 200 Schritte müssen bereits ausgeführt worden sein.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    9
    Ja der Timer braucht mindestens 1 minute bis er auslöst. Welche Befehle muss ich denn außer dem von mir geschrieben zuvor noch senden?

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Wie gesagt, ich habs momentan auch nicht genau im Kopf. Probier einfach mal den Motorstop Befehl (Befehlscode 3 siehe Doku)
    Was hast du denn für Firmware Version (immer bei Fragen angeben)?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    9
    Also ich habe die RN-Control 1.4 und die RN-Motor 1.2. Allerdings kommt mir die ganze Sache langsam etwas komisch vor. Wenn ich folgenden Code verwende passiert nach anlegen der Spannung manchaml gar nichts, manchmal zieht der Motor an aber dreh sich nicht und in seltenen Fällen dreht er sich. Ist das nicht etwas verwunderlich ?

    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600

    Config Scl = Portc.0
    Config Sda = Portc.1
    Dim I2cdaten(6) As Byte

    I2cdaten(1) = 10
    I2cdaten(2) = 10
    I2cdaten(3) = 0
    I2csend &H56 , I2cdaten(1) , 5

    I2cdaten(1) = 10
    I2cdaten(2) = 5
    I2cdaten(3) = 0
    I2cdaten(4) = 100
    I2csend &H56 , I2cdaten(1) , 5


    Do
    Loop
    End

  8. #8
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Menn du RN-Motor gleichzeitig mit Spannung versorgst musst du am Anfang kurze Pause machen bis RN-Motor sich initialisiert hat.

    Zudem fehlt bei die der Bascom I2cInit Befehl


    Die Versionsnummern die du gennnat hast beziehen sich auf Hardware. Die Firmware Versionsnummer (der SOftware) wird nur über RS232 bei einem RESET ausgegeben. Kann mit Terminalprogramm somit angezeigt werden.

    Gruß Frank

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Sind das beim ersten senden nicht nur 4 Byte ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2005
    Beiträge
    9
    Hallo, ok ja vielen Dank das mit den I2Cinit war natürlich richtig. Die RN-Motor Firmware Version ist 1.6c.

    Ich hab das Programm jetzt umgeändert:

    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600

    Wait 3

    Config Scl = Portc.0
    Config Sda = Portc.1
    Dim I2cdaten(6) As Byte

    I2cinit

    I2cdaten(1) = 10
    I2cdaten(2) = 10
    I2cdaten(3) = 0
    I2csend &H56 , I2cdaten(1) , 5

    I2cdaten(1) = 10
    I2cdaten(2) = 5
    I2cdaten(3) = 0
    I2cdaten(4) = 100
    I2csend &H56 , I2cdaten(1) , 5

    Do
    Loop
    End

    In den 3 Sekunden müsste sich die RNM doch initialisiert haben. Jetzt Zieht der Motor immer an jedoch bewegt er sich immer noch nie.

    Vielen Dank mal zwischendurch für deine Hilfe

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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