- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 41

Thema: Bascom: Schrittmotorsteuerung mit Drehencoder?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #37
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Freut mich, daß es für Dich paßt. Im Programm kann man aber noch viele Verbesserungen und Optimierungen vornehmen.

    • Man könnte zB versuchen den Takt für den Stepper HW-mäßig auszugeben.
      Dazu den zB den OC0A Pin als Ausgang zum Stepper nutzen. Da ließe sich die Isr_Timer0 sparen
    • Mit erstem kurzen Tastendruck den Motor einschalten, wie jetzt und mit anderem kurzem Druck den Laufrichtungswechselmodus wieder ausschalten, wenn dieser eingeschaltet ist. Motor läuft weiter nur in eine Richtung.
    • Programmlesbarkeit/-übersichtlichkeit verbessern
    • usw.
    • aber siehe auch meine Signatur



    Theorie zur verloren gegangenen Geschwindigkeitsregelung in den alten Versionen:

    Debounce und Encoder werden pro Hauptschleifendurchlauf einmal aufgerufen.
    Gerade wenn der Laufrichtungswechselmodus läuft, hat der Hauptschleifendurchlauf eine sehr lange Verzögerung in dem entsprechenden Case.

    Der Alps liefert an seinen beiden Ausgängen vier verschiedene Zustände.
    Die Encoder Funktion vergleicht den Zustand in einem Durchlauf mit dem folgenden Zustand im nächsten Durchlauf.

    Vergeht dazwischen viel Zeit, kriegt die Encoder Funktion Zustandswechsel nicht mit, weil von einem Aufruf zum anderen 4 Wechsel stattgefunden haben und könnte dann keine Betätigung erkennen.

    Es könnte auch zu falschen Auswertungen kommen; Rechtsdrehung statt Linksdrehung, wenn die Zustände zu weiteren ungünstigen Zeitpunkten erfaßt werden.


    Ich bin doch auch nur ein Hobbyprogrammierer und fand in Deinem Problem eine dankbare Aufgabe. Also eigentlich müßte ich Dir danken


    PS. Noch eine vermutliche Macke entdeckt und Änderung im letzten Code rot markiert.
    Grund: Gedrueckt speichert immer den letzten Zustand und ändert sich erst, wenn
    Taste neu betätigt wird. Ohne Änderung wird immer ein neuer Richtungswechselmodus eingeschaltet.

    Gutes Gelingen bei Deinem Projekt und
    Gruß
    Searcher
    Geändert von Searcher (29.10.2012 um 14:42 Uhr) Grund: Rechtschreibung
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Schrittmotorsteuerung LB1845 und atmega48 in BASCOM
    Von chris155 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 09.05.2010, 18:41
  2. Wie Drehencoder anschließen ?
    Von Blamaster im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 07.09.2009, 19:01
  3. Menüsteuerung mit Drehencoder ?
    Von Blamaster im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 25
    Letzter Beitrag: 30.06.2009, 22:34
  4. Drehencoder auswerten
    Von MartinFunk im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 16.05.2007, 16:05
  5. Drehencoder Panasonic
    Von Mr-400-Volt im Forum Software, Algorithmen und KI
    Antworten: 0
    Letzter Beitrag: 04.02.2007, 20:47

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress