-         
Ergebnis 1 bis 6 von 6

Thema: Schrittmotor verliert systematisch zwei Schritte

  1. #1

    Schrittmotor verliert systematisch zwei Schritte

    Anzeige

    Hallo,

    ich bin dabei eine abgespeckte und vereinfachte Version einer CT aufzubauen. Dafür habe ich für das Laser-Detektor-System zwei Motoren angebracht, die beide an einer Signalleitung liegen, damit die gleichzeitig losfahren und anhalten. Das ganze wird per LabVIEW programmiert und über Arduino angesteuert. Nun habe ich folgenedes Problem. Das Beispiel mache ich mal mit 10 Schritten. Die Motoren sollen einmal 10 Schritte im Uhrzeigersinn drehen und danach entgegen und nach jedem Richtungswechsel dreht sich ein Gestell. Das ganze 180 mal. Nun passiert aber Folgenedes: Erst drehen die Motoren +10 Schritte. Danach erfolgt der Richtungswechsel, allerdings dreht der Motor trotzdem +1 Schritt und erst dann -9 Schritte. Sprich insgesamt trotzdem 10 Schritte aber einer geht in die falsche Richtung. Folglich habe ich einen Gesamtverlust von 2 Schritten. Danach fährt er übrigens wieder +10 Schritte und dann wieder +1 -9. Ist also nur einseitig. Nach 180 Wiederholungen kann ich mit meiner Messung natürlich nichts mehr anfangen. Kennt hier einer das Problem? Könnte es an den Motoren liegen? Am Programm? Kennt sich einer mit LabVIEW aus und kommt auch mit einer chaotischen Benutzeroberfläche klar(Anfänger, mit sehr wenig Zeit sich kurzfristig einzuarbeiten->Thesis).
    Ich wäre für jede Hilfe dankbar.

    Mit freundlichen Grüßen
    roboflop

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    25
    Beiträge
    1.548
    Hi,

    ist mir nur auf die schnelle eingefallen, aber das hört sich so an, als ob das Richtungssignal bei deinem 11. Schritt noch nicht umgeschaltet hat. Hast du ein Oszilloskop? Damit könntest du das überprüfen.

    Gruß
    Chris

  3. #3
    Hallo Chris,

    aktuell habe ich leider keines zur Verfügung. Allerdings habe mir das auch gedacht. Mich aber auch gleich gewundert warum das nur einseitig passieren sollte. Theoretisch müsste der dann doch bei jedem Umschalten noch einmal ein Schritt in die falsche Richtung machen oder?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.04.2015
    Beiträge
    239
    Wenn ein Arduino zwischen Applikation und Stepperendstufe sitzt, sollte hier der Fehler liegen.

    Schau doch mal bitte im DB der Stepperendstufe nach, welche Eingangssignale das Teil hat. Wahrscheinlich Takt und Richtung neben noch einigen anderen Nebenleitungen (Mikroschritt, Strom, …).

    Ich meine, mich erinnern zu können, dass der Schritt am Motor üblicherweise entweder auf die fallende oder die steigende Flanke des Taktes ausgelöst wird.

    Code:
       _   _        _   _
    T_| |_| |______| |_| |
                    _____
    R______________|
    Beispiel oben: Wenn's die fallende Flanke ist, sollte das Richtungssignal bei steigender Flanke umgeschaltet werden. Sonst isses zu spät.

  5. #5
    Ich benutze folgende Stepperendstufe: https://www.amazon.de/Quimat-Schritt...nema+17+driver
    Ich kann aus der Programmierung heraus nicht ablesen wo und wann der Schritt ausgelöst wird.
    Hier habe ich mal zwei Screenshots gemacht. In Stepper Motor werden die ganzen Werte eingespeist und dann an Stepper Write übergeben. Stepper To Go überprüft dann ob die Zahl der Schritte ausgeführt wurde.
    Nach erneutem Testen habe ich festgestellt, dass dieser Fehler egal in welche Richtung ich anfange immer nur gegen den Uhrzeigersinn auftritt, sprich wenn Direction auf +1 gesetzt ist.
    Klicke auf die Grafik für eine größere Ansicht

Name:	Blockdiagramm_Stepper_Motor.jpg
Hits:	6
Größe:	28,3 KB
ID:	33562 Klicke auf die Grafik für eine größere Ansicht

Name:	Blockdiagramm_Stepper_Write.jpg
Hits:	3
Größe:	23,6 KB
ID:	33563 Klicke auf die Grafik für eine größere Ansicht

Name:	Blockdiagramm_Stepper_ToGo.PNG
Hits:	3
Größe:	8,6 KB
ID:	33564

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.04.2015
    Beiträge
    239
    Klingt so, als ob ein übervorsichtiger Programmierer am Ende eines Fahrbefehls die Richtungsleitung auf einen festen Pegel setzt und zusätzlich die falsche Taktflanke zur Umschaltung nutzt.

    Wie ist das jetzt bei Dir? Steuert der Arduino die Stepperendstufen an? Wer hat den programmiert? Hast Du Zugriff auf die Quellen?

    Aus Deinem Link auf die Endstufen werde ich auch nicht ganz klug (kein Datenblatt?). Jeweils +/- für EN/DIR,.. kann heißen:
    - Da sitzt nen Optokoppler als Schutz am Eingang
    - Die Minuseingänge sind optionale Anschlussmöglichkeiten mit Signalinvertern

    Kannst Du mal schauen, was davon wie bei Dir verdrahtet ist?

    Wenn's nen Inverter ist, kann man das Taktsignal vielleicht an den Minuseingang anschließen.
    Bei nem Optokoppler würde man die Logik drehen, indem man den Plus auf Logikspannung und den Minus auf das Taktsignal schaltet (oder eben Masse auf Minuseingang und Takt auf Plus).

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 01.04.2014, 13:24
  2. Schrittmotor verliert Schritte
    Von DF8UZ im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 26.10.2010, 20:01
  3. Schrittmotor verliert Schritte
    Von bcs im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 07.08.2010, 17:45
  4. Einzelne Schritte mit Schrittmotor
    Von Timotor11 im Forum Motoren
    Antworten: 10
    Letzter Beitrag: 17.09.2009, 17:09
  5. Schrittmotor verliert schritte
    Von Blackbumpkin im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 23.01.2006, 14:54

Stichworte

Berechtigungen

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