- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 3 von 3

Thema: Schrittmotor verliert Schritte

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2008
    Beiträge
    8

    Schrittmotor verliert Schritte

    Anzeige

    Praxistest und DIY Projekte
    Ich steuere mit einem ATMega16 und dem RN-STEP297 den größeren Schrittmotor von robotikhardware.de an.

    Pulsfolge für Schrittmotorsteuerung wird per Timer Overflow Interrupt ausgelöst.

    Problem: Bei langsamer Fahrt, wird eine Zielposition (ohne mech. Last) nicht so genau erreicht, wie bei schnellerer Fahrt.

    Die Geschwindigkeit wird geändert, indem der Vorteiler des Timers TCCR0 zwischen 5 (langsam) und 1 (schnell) geändert wird.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    33
    Beiträge
    802
    Fährst du Halbschritt oder Vollschritt?
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.11.2008
    Beiträge
    8
    Beides. Die Drehgeschwindigkeit ist ja eine Funktion von Halbschritt / Vollschritt und dem Takt. Ich kombiniere beides zu unterschiedlichen Geschwindigkeiten. Mein Eindruck: Halbschritt funktioniert besser.

    Ich hatte einige Kombinationen aus obigen zwei Größen (recht langsam), wo der Zähler ganz vergißt, hochzuzählen und sich der Motor infolgedessen permanent dreht.

    So zähle ich (GROSSGESCHRIEBENE Wörter sind define Aliase der Ports etc.):

    Code:
    // Timer 0 overflow interrupt service routine
    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
        
        M1DIRECTION=m1_direction; // Drehrichtung                                                                
            
        // Einen Schritt gehen
        M1STEP=0;
        delay_us(1);
        M1STEP=1;
        delay_us(1);
            
        // Schritt jetzt zählen
        if (m1_direction == ENGINE_RIGHT)  
            M1_stepcounter=M1_stepcounter+1;
        if (m1_direction == ENGINE_LEFT)    
            M1_stepcounter=M1_stepcounter-1;
     
    }

Berechtigungen

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

Labornetzteil AliExpress