- 12V Akku mit 280 Ah bauen         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Menüsteuerung mit Drehencoder ?

  1. #21
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von screwdriver
    @kesi
    Danke, für Deine Rückmeldung. Hast Du da jetzt den gleichen Drehgeber wie ich angeschlossen oder einen anderen?
    Ja das habe ich mit dem gleichen getested. Klappt wie gesagt "geschmeidig"!
    Vielen Dank für Deinen Code. Das ist das beste was ich dazu bisher gefunden habe!

    Zitat Zitat von screwdriver
    Das Datenblatt ist nicht ganz eindeutig. Meine Timer-Interrupt-gesteuerte Lösung ist für alle Drehgeber, die nur bei jedem zweitem Signalwechsel einrasten passend, und meiner Meinung nach auch notwendig. Ob Dein genannter Drehgeber so einer ist, geht nicht klar aus dem Datenblatt hervor.
    Ja, das Problem bei dem ist das die Drehungen doppelt gezählt werden!?


    Zitat Zitat von screwdriver
    Leider doch.
    Auch der von Dir alternativ genannte Drehgeber rastet nur in den Stellungen 00 und 11 ein. Eine sichere Auswertung verlangt dann - auch bei einem noch so hochwertigem Drehgeber - die Berücksichtigung der letzen drei Signalpaare. Die üblichen Routinen machen das nicht. Sieht aber wirklich edler aus, das Teil.
    voll und ganz meine Meinung. Alle von mir bisher getesteten im "Billigpreissegment" sind mindestens genauso "schrottig"!

  2. #22
    Benutzer Stammmitglied
    Registriert seit
    12.12.2004
    Ort
    Trier
    Beiträge
    38
    @kesi
    Ja, das Problem bei dem ist das die Drehungen doppelt gezählt werden!?
    Also vorausgesetzt, der im Datenblatt beschriebene Encoder rastet bei jeder Signalpaarung ein, müßte der bei meinem Timer-gesteuerten-Code zwei Rastungen brauchen um eins weiterzuzählen.
    Oder ich versteh' jetzt meinen eigenen Code nicht mehr?

    So einen Typen kann man leider nicht per Software sicherer abfragen, weil hier eben jeder Signalwechsel eine gültige Rasterstellung ist, bzw. sein muß.
    Ggf. könnte mann die Signalentprellung aus meinem letzten Code übernehmen und dann die Auswertung der Signalzustände wie in meinem Externen-Interrupt-gesteuerten Code machen. Dann ist man aber auch nicht besser bedient wie bei anderen Auswerte-Routinen auch.

    Fazit: Bei Drehgebern, die bei jedem Signalwechsel einrasten, ist die Fehlerhäufigkeit direkt von der Herstellerqualität abhängig. Per Software läßt sich da meines Erachtens nichts mehr verbessern.

    screwdriver

  3. #23
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Ich kann dem screwdriver nur zustimmen. Ich hatte schon mehrere Drehgeber probiert und habe z.B. unsymmetrie festgestellt, d.h. zwischen zwei stabilen Einrastungen werden z.B. beim Linksdrehen 1 und Rechtstdrehen 2 Impulse gezählt. Am schlimmsten finde ich, dass es zwischen Drehgeber von gleichem Typ Unterschiede gibt.

    MfG
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    12.12.2004
    Ort
    Trier
    Beiträge
    38
    Zitat Zitat von for_ro
    Dann kannst du auch noch etwas anderes tun als nur die Pins abfragen.
    Rolf gibt hier zu Recht zu bedenken, dass der Rechenaufwand für eine Encoderauswertung nicht gerade unerheblich ist. Auch wenn mein Beispielprogramm zur Encoderauswertung "geschmeidig" läuft - nun ja, es macht ja auch nichts anderes!
    Also habe ich mein Beispielprogramm im Simulator laufenlassen um mal ein paar Zyklen zu zählen.
    Die gesamte ISR zur Encoderauswertung braucht im ungünstigsten Fall (Rotary=FF, Rotary1=0F, Rotary2=00) inklusive Auswertung der Encodertaste sowie Pushen/Poppen 197 Prozessortakte. Das sind 197/(20MHz)= 9,85µs.
    Wenn diese 10µs alle 0,5ms ausgeführt werden habe ich eine Prozessorauslastung von rund 10µs/500µs= 2%. Im Mittel sinds vermutlich 1% oder weniger. Ist also nicht so viel.

    Aber die eigentliche Frage lautet doch:
    Kann ich es meinem AVR erlauben sich ganze 10µs ausschließlich der Encoderauswertung zu widmen und alles drumrum zu vernachlässigen?

    MFG
    screwdriver

  5. #25
    Zitat Zitat von screwdriver
    Aber die eigentliche Frage lautet doch:
    Kann ich es meinem AVR erlauben sich ganze 10µs ausschließlich der Encoderauswertung zu widmen und alles drumrum zu vernachlässigen?

    MFG
    screwdriver
    ja, aber muß man es denn ständig laufen haben?
    Kann ich nicht erst durch einen Druck auf den Taser via Int. in eine
    Subroutine springen und hier dann meine Einstellungen tätigen und dann wieder zurück. Die eigentliche Encoderauswertung muß doch nur dann laufen wenn ich Änderungen vornehmen will und nicht ständig im Hintergrung!?

    Fragende Grüße?

  6. #26
    Benutzer Stammmitglied
    Registriert seit
    12.12.2004
    Ort
    Trier
    Beiträge
    38
    Zitat Zitat von kesi
    ja, aber muß man es denn ständig laufen haben?
    Kann ich nicht erst durch einen Druck auf den Taser via Int. in eine
    Subroutine springen und hier dann meine Einstellungen tätigen und dann wieder zurück. Die eigentliche Encoderauswertung muß doch nur dann laufen wenn ich Änderungen vornehmen will und nicht ständig im Hintergrung!?
    Einen Drehgeber an einen µC pappen und ein bischen rumspielen ist eine Sache, ein Drehgeber in eine µC-Applikation integeriert, die als Hauptaufgabe auch "was anderes macht", wie
    Impulse verarbeiten (DCF-77, Durchflußmesser, etc) oder
    serielle Kommunikation,
    Nulldurchgangserkennung usw. usw.
    ist was ganz anderes.

    Es ist also egal, ob die Encoderauswertung alle 0.5ms oder einal am Tag für 10s ausgeführt wird. Ihre Ausführungsdauer muß immer so kurz sein, dass sie die anderen vom µC zu bewältigen Arbeiten nicht beeinträchtigt.

    Gute Nacht,
    screwdriver

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

LiFePO4 Speicher Test