-         

Ergebnis 1 bis 10 von 10

Thema: RN Schrittmotor Motorstatus abrufen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10

    RN Schrittmotor Motorstatus abrufen

    Anzeige

    hi ,
    weiss jemand welche wert den rn Schrittmotor den motorstatus zurück gib? Nach Datenblatt gib es 1 byte zurück

    Liefert zurück:
    1. Byte:
    0=Aus
    1=Stop (Haltestrom)
    2=Dreht bis Fahrschritte erreicht
    3=Dauerdrehung bis Stop
    2.
    Übliche Rückgabecode (42)
    aber mit was kann ich den Byte abrufen? Bitte um hilfe

    danke

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Auf Seite 24 der Doku siehst du das. Du gibst die Bytefolge aus um den Motorstatus abzufrufen. Anschließend gibt dir das Board über RS232 die Bytes zurück. Diese musst du dann nur noch mit der dementsprechenden Schnittstelle einlesen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10
    hi Kampi,
    danke für dein schnelle antwort ^^. hier ist mein Code

    Code:
          'RN-Schrittmotor Motorstatus abrufen
          '===========================================
          If Adresse = Adr_motorstatus Then
             If Crc_save = Crc Then
                  Motorstatus = Kommando
                 If Motorstatus = 113 Then
                 Rs232daten(1) = Befehl_motorstatus             'Befehlscode
                 Rs232daten(2) = Motor_1                        '1 Parameter
                 Sendebytearray
                 Input #2 ' hier ist das problem, was sollte ich zurückgeben
                 End If
             End If
          End If
    und noch zum info ^^. ich will den motorstatus über visual basic auslesen. PC <-> RN-Controll <-> Rn-Schrittmotor
    Geändert von CN84 (06.09.2011 um 19:39 Uhr) Grund: statt print muss ja input sein

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10
    hi ^^,
    also nochmal zu meine problem. Ich möchte über Visual Basic 2010 <-> RN-Cotroll<->RN-Schrittmotor steuern. Ich kann über Visual Basic daten an Rn Controll und dann zum RN Schrittmotor senden. Also Schrittmotor bewegt sich auch wie ich möchte und Schrittanzahl abrufen könnte ich auch. Meine problem ist wenn RN-Schritmotor daten senden also Rückmeldung vom Board kann ich nicht an Visual Baisc empfangen bzw vom RN Controll. Also z.b ich kann kein RN-Schrittmotor Fehlermeldung (42) oder Motor status abrufen. Hab alles versuch aber geht irgendwie nicht
    Und hier ist eine Skizze wie ich den Board anschließen
    http://imageshack.us/photo/my-images/713/rncontroll.png/"][IMG]http://img713.imageshack.us/img713/7628/rncontroll.png
    Und hier nochmal den Code
    Code:
    '================
    'AVR-File, Quarz, Baudrate, Hardwarestack, Softwarestack, Framesize
    $regfile = "m32def.dat"
    $framesize = 64
    $swstack = 64
    $hwstack = 64
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    'open channel for output
    Open "COMA.0:9600,8,N,1" For Output As #1                   'Port PA0 wird als TX definiert Schwarz Kabel
    Open "COMA.1:9600,8,N,1" For Input As #2
    .
    .
    .
    .
    'RN-Schrittmotor Motorstatus abrufen
          '===========================================
          If Adresse = Adr_motorstatus Then
             If Crc_save = Crc Then
                  Motorstatus = Kommando
                 If Motorstatus = 113 Then
                 Rs232daten(1) = Befehl_motorstatus             'Befehlscode
                 Rs232daten(2) = Motor_1                        '1 Parameter
                 Sendebytearray
                 End If
                 Input #2 , Status    ' hier liegt wahrscheinlich das problem :( bekomm hier immer 0 auf PC
                 Print Satus
             End If
          End If
    Bitte an alle RN-Controll Profi um HILFE

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Haste mal geguckt ob der UART vom Controller richtig funktioniert? Du kannst ja mittels eines Terminalprogrammes an deinem PC dein RN-Schrittmotor simulieren, also das dein PC dann quasi das Schrittmotorboard ist. Dazu gibst du einfach im Terminalprogramm die Codes ein und guckst wie sich dein RN-Control verhält. So kannst du sicher gehen das dein UART richtig arbeitet. Und dann musst du natürlich Rx vom RN-Control mit Tx vom RN-Schrittmotor und Tx vom RN-Control mit Rx vom RN-Schrittmotor verbinden

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10
    naja normaleweise muss ja funktionieren schließlich kann ich ja über RN-Schrittmotor den schrittzahl die sich der Motor bislang gedreht hat, abgerufen werden. Also kann ich doch daten vom RN-Schrittmotor empfangen. Aber das komische wenn RN-Schrittmotor mir ein byte senden auf welche wert wird das gspeichert o0. Weil beim Schrittzahl abrufen kann ich das hier ist mal den Code
    Code:
    If Adresse = Adr_schrittzahl_abrufen Then
             If Crc_save = Crc Then
                  Schrittzahl_abrufen = Kommando
                 If Schrittzahl_abrufen = 114 Then
                 Rs232daten(1) = Befehl_schrittzahlabrufen      'Befehlscode
                 Rs232daten(2) = Motor_1                        '1 Parameter
                 Sendebytearray
                 Inputbin #2 , Empfang(1) , 5
                 Schritte = Empfang(1)
                 Ltemp = Empfang(2) * 256
                 Schritte = Schritte + Ltemp
                 Ltemp = Empfang(3) * 65536
                 Schritte = Schritte + Ltemp
                 Ltemp = Empfang(4) * 16777216
                 Schritte = Schritte + Ltemp
                 Print Schritte
                 End If
             End If
          End If
    und des klappt wunderbar. Aber ins Doku beim Motor status steht halt nicht drin auf was das gespeichert wird bin echt ratlos

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Naja wenn du die Kommunikation mit UART machst, musst du nur:

    Print "!#": chr(102);chr(1);chr(0); chr(0); chr(0); chr(0); chr(0);

    schreiben.
    Wenn du hier in der Doku:

    http://www.robotikhardware.de/downlo...hrittmotor.pdf

    auf Seite 25 schaust siehst du wieso du das Senden musst.
    Die ersten beiden Bytes sind ein ! und ein #. Die sendest du mit Print "!#". Anschließend musst du eine 102 senden damit der Controller weiß das nun ein Befehl kommt. Dies machst du mit chr(102);.
    Ganz wichtig ist das Semikolon damit Bascom weiß das nach dem Wert 102 kein CR und LF gesendet wird. Sonst verwirrst du den Controller auf deinem RN-Schrittmotor, da der mit 0x10 und 0x13 nichts anfangen kann. Und so wiederholt sich das dann. In der Doku steht gut erklärt drin wo du was senden musst.
    Nachdem du

    Print "!#": chr(102);chr(1);chr(0); chr(0); chr(0); chr(0); chr(0);

    ausgeführt hast, musst du nur noch die 4 Rückgabebytes mittels "Input" einlesen und auswerten. In dem Beispiel "Schrittzahl abrufen" besteht das was das RN-Schrittmotor ausgibt aus 4x 1 Byte also 4 Byte d.h. 32 Bit. Wichtig ist auch das die die Bytes richtig herum zusammen setzt. Also so muss das fertig zusammengesetzte Ergebniss aussehen

    High Byte - Low Byte - High Byte - Low Byte
    High Word - High Word - Low Word - Low Word
    00000000 - 00000000 - 00000000 - 00000000

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10
    naja das schrittzahl abruf geht ja auch bei mir wunderbar nur den Motor Status geht bei mir nicht (S.24) deswegen verstehe ich warum bei schrittzahl abruf einwandfrei funktioniert aber beim Motor Status die normaleweise viel einfacher sein muss nicht funnktioniert

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2011
    Beiträge
    10
    so ich habe meine Problem gelöst ^^ und möchte an alle danken vorallem an Kampi die mir dabei geholfen haben bitte den Beitrag schließen ^^

  10. #10
    Hallo CN84

    könntest du bitte deien Lösung hier kundtun? Ich habe im Augenblick ein ähnliches Problem und bekomme ums verrecken nicht den Motorstatus von Motor 2. Motor 1 sendet das Bord wunderbar zurück, nur Motor 2 funktioniert nicht. Vielleicht komme ich ja mit deiner Lösung weiter.

    vielen Dank
    b112enno

Ähnliche Themen

  1. Odometrie Daten 2x abrufen
    Von kmikesch im Forum Asuro
    Antworten: 0
    Letzter Beitrag: 26.06.2011, 16:20
  2. Schrittmotor über Schrittmotor steuern?
    Von Tarribo im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 06.06.2010, 23:40
  3. Drehzahl vom Schrittmotor zulangsam an rn-schrittmotor
    Von alex007 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 4
    Letzter Beitrag: 05.12.2007, 17:48
  4. Schrittfolgen in RN-Motor programmieren und über I2C abrufen
    Von Dr.U.Bianchi im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 3
    Letzter Beitrag: 08.06.2005, 15:09
  5. gefahren Schrittzahl abrufen in Delphi mit apdcomport
    Von robby05 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 14
    Letzter Beitrag: 15.12.2004, 22:04

Berechtigungen

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