- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 12

Thema: Ein Drehregler und ein Arduino Nano

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397

    Ein Drehregler und ein Arduino Nano

    Mahlzeit!

    Ich versuche gerade einen Drehregler, oder wie man die Dinger nun genau heisst, mit dem Arduino Nano korrekt auszulesen. Ich habe ihn an 5V angeschlossen, GND ist auch dort, wo es hin soll, die drei Pins sind mit den analogen Pins 2-4 angeschlossen. Die Pins sind im Sketch auf INPUT gestellt und wenn ich sie auslese, ohne etwas am Regler zu verändern, dann sind alle drei HIGH. Soweit so gut. Drücke ich den Regler, wird Pin 2 LOW, bis ich den Knopf wieder loslasse. Also wie es sein soll.

    Drehe ich aber an dem Ding, dann passiert manchmal gar nichts, manchmal werden Pin 3 und 4 LOW, manchmal Pin 4, obwohl ich in die andere Richtung drehe usw. Was mache ich da falsch? Der Regler hat drei Pull-Down Widerstände auf der Rückseite. Daran sollte es also nicht liegen, denke ich mal. Das macht mich gerade echt irre! Das Ding soll doch beim Drehen bei jedem Klick 1 hoch- oder runterzählen. Ist denn das zu viel verlangt?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Dieser Drehregler ist vermutlich ein Incrementalgeber und der
    erzeugt je nach Drehrichtung an 2 Pins zeitversetzte Impulse.

    Am einfachsten kann man das mit einem Interrupt auswerten.
    Ein Signal geht an den Interrupt Pin das andere Signal an irgend einen Portpin
    Der Interrupt wird dann per Sofwatre so eingestellt, dass z.B. bei
    jeder steigende Flange ein Interrupt ausgelöst wird.
    In der Interrupt Funktion schaut man dann nach welchen Pegel
    der andere Pin grade hat. ist er High wurde der Regler in die eine Richtung gedreht, ist er Low wurde der Regler in die andere Richtung gedreht.
    Dann zählt man einfach die Impulse hoch bzw. runter.

    Also im Prinzip sieht das so aus:

    Interruppt Funktion: wird ausgelöst wenn der erste Pin vom Drehgeber
    Seinen Pegel ändert.
    Dann kommt die Abfage:
    wenn Pegel am zweiten Pin = Low dann Richtung = -1
    ansonsten Richtung = +1

    Zählerwert = Zählerwert + Richtung

    Im Prinzip war es das schon.
    Siro

    - - - Aktualisiert - - -

    Im Prinzip kann man das auch ohne Interrupt machen: ist aber problematisch
    warte bis der eine Pin von Low nach High wechselt,
    dann lese schnell den Pegel des anderen Pins
    ist der 2te Pin High wurde der Regler in die eine, ansonsten in die andere Richtung gedreht.
    Beim schnellen Drehen kann man aber schnell auf 50 Signale pro Sekunde kommen, damit ist die Abfrage recht problemeatisch, weil man ja nie weis wann man dreht.
    Deshalb der Interrupt, der kommt sofort mit wenn sich der Pegel ändert und verzweigt dann in die entsprechende Auswerte Funktion

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich habe das nun so versucht zu lösen:

    Code:
    void ui()
    {
      int aState = digitalRead(A);
    
      if(State != aState)
      {
        if(digitalRead(B) != aState)
        {
          volt += 0.05;
        }
        else volt -= 0.05;
      }
    
      State = aState;
    }
    Das scheint die Variante zu sein, die du hinzugefügt hast. Ich habe selbst bislang noch nichts mit Interrupts beim Arduino gemacht, weiss also gerade nicht, wie ich es damit realisieren müsste . So funktioniert es auch, wenn der Sketch nichts anderes als den Regler abfragen und das dann an seriell weitergeben soll. In meinem eigentlichen Sketch funktioniert es nicht mehr. Runterzählen geht, rauf nicht. Aber auch beim runterzählen zählt er auch gerne wieder hoch.

  4. #4
    HaWe
    Gast
    eine genaue Artikelbezeichnung und Händler-Link wäre ja schon hilfreich - wer weiß, ob es das ist, was wir vermuten?
    Schließlich sind Kristallkugeln auch nicht immer 100% treffsicher, und Orakel in Delphi auch nicht

    WENN es ein Dreh-Encoder ist, such mal bei Google nach
    Arduino Encoder Tutorial
    z.B. https://www.boecker-systemelektronik...Arduino_Teil_3

    es gibt dazu 2 grundsätzliche Auslese-Methoden
    - Pinchange-Interrupt (Leistungsfähigkeit nimmt ab bei zunehmender Zahl an Encoder-Pins)
    - Timer-Interrupt (mache ich lieber bei >=2 die getrennt zu überwachen sind, im 500µs Intervall)

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Wenn ich eine Herstellerseite kennen würde, dann hätte ich die auch angegeben. Wie das aber manchmal bei Chinaware ist, da sind Bezeichnungen, Seriennummern und ähnliches nicht immer vorhanden. Auch weiss ich nicht, in wie weit die Artikelbeschreibung hilfreich wäre. Aber ich kann sie ja mal kopieren:

    1 Stück Drehgeber-modul Brick Sensorentwicklung für arduino Dropshipping

    Was aber tatsächlich helfen könnte wäre ein Bild von dem Teil. Ich kleb mal eins an.

    Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_20180706_213922.jpg
Hits:	11
Größe:	54,1 KB
ID:	33535

  6. #6
    HaWe
    Gast
    na wer sagt's denn...
    https://www.conrad.de/de/drehgeber-1...4339639432!!!g!!

    Trotzdem müsstest du eigtl auch einen Artikel-Link von der Händler-Seite haben, denke ich, irgendwo musst du ihn schließlich her haben....

    Aber dann lies dir jetzt am besten mal die Tutorials durch!

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 08.01.2018, 17:30
  2. Verkaufe Arduino Nano V3.0 mit Atmega328
    Von razer6 im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 08.05.2017, 16:25
  3. Arduino Nano mit ESP-201
    Von hirnfrei im Forum Arduino -Plattform
    Antworten: 23
    Letzter Beitrag: 21.11.2016, 21:05
  4. Roboter mit ARDUINO NANO
    Von stochri im Forum Arduino -Plattform
    Antworten: 13
    Letzter Beitrag: 23.10.2015, 21:47
  5. Arduino Nano mit Uno aus/einschalten
    Von SoulRaiZor im Forum Arduino -Plattform
    Antworten: 8
    Letzter Beitrag: 24.05.2015, 10:45

Berechtigungen

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

LiFePO4 Speicher Test