-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Taster entprellen

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674

    Taster entprellen

    Das Thema ist vielleicht nicht ganz korrekt, da es sich nciht um einen Taster, sondern um folgendes handelt, meiner Meinung nach aber auf das selbe hinausläuft:

    Also ich habe uas einer alten Maus eine Welle etc. ausgebaut, die die Bewegung der Kugel aus eine y- und x-Achse umleited. Da es sich um eine late maus handelt, ist es noch mechanisch. Das heißt ein Rad mit schleifern und jeder Menge Leitflächen.
    Das ganze soll nun an den motor (Servo) angschlossen werden und dann der Geschwindigkeitsermittlung dienen.
    Über einen AVR wird das ganze gesteuert.
    Ich habe nun ein Beipiel programmiert, um die Anzahl der Kontakt-Flächen, keine Ahnung wie man das nennt (Ich hoffe ihr könnt es euch vorstellen), zu ermittlen. Dabei drehe ich das ganze einmal rum und gebe die Counts aus.
    Leider variert diese Zahl zwischen 77 und 139, ein wenig viel für eine Umdrehung. Ich vermute, dass es daran liegt, dass die Schleifer nicht richtig entprellt sind, also sie sinds ja garnicht.
    Und wenn ich das Ganze langsam drhe, zählt er mal 1 dazu, mal 4...
    Eine entprellung mit einem Kondesator hats nicht geprcht, und reseted den AVR von Zeit zu Zeit auch immer mal.

    Wie also den Dreher entprellen?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Wie willst du denn beim "Entprellen" zwischen den gewünschten Flanken, bzw. Impulsen die du zählen willst und denen die durch die unsauberen Schleifkontakte entstehen unterscheiden?

    Bei einem Taster sieht die Sache etwas anders aus, weil man da nur wissen will ob der Taster gedrückt wird oder nicht.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    41
    Beiträge
    849
    Das wird nicht leicht werden bei variierender Drehzahl. Du musst dir zu der Drehzahl je ein Zielfenster definieren in dem du dir einmalig deine Flanke zulässt. Kostet extrem Rechenaufwand (Prozessorleistung) und zum andern ist es viel Arbeit. Geh doch besser das Problem an der Ursache an, nicht am Ende. Dann ist es sicherer und es funktioniert nacher auch richtig. Das mit Kondensatoren ist vieleicht zum Testen eine Lösung aber nicht für den fertigen Aufbau und bringt daher gar nichts oder nur sehr wenig in bestimmten Drehzahlbereichen.

  4. #4
    Gast
    Eigentlich ist es weitgehend egal, wie schnell der Taster betätigt wird. Das Prellen ist wahrscheinlich wesenrtlich schneller. Wenn eine Software-Lösung gebraucht wird, würde ich folgendes machen: einen Zähler initialisieren, der sehr schnell läuft. Im Überlauf eine Variable inkrementieren. Wenn eine Tastenbetätigung detektiert wurde, die Variable auf Null setzen und bei der nächsten Tastenaktion die Variable auf einen Mindestwert prüfen. Den Mindestwert gilt es zu ermitteln. Alle Aktionen unterhalb dieses Mindestwertes ist Prellen.

    Viel Glück Michael

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also wenn das so aufwendig ist, dann steige ich besser auf optische Sensoren um. Der Vorteil hier war eben nur, dass ich die 'Hardware' schon habe und schonmal keine Lichtempfindlichkeit herscht.

    Also ich hab gestern Abend noch gelesen, dass es bei Countern eine Funktion Noice gibt:

    Config Timer1 = Counter, edge = Falling, Noice Channel = 1...

    Das soll dann solche Störungen unterdrücken.
    Ich weiß allerdings nicht, ob das auch bei Timer0 funktioniert, ich werds heute mal ausprobieren.

    Danke für die Hilfe

    MFG Moritz

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.08.2004
    Ort
    Potsdam
    Beiträge
    190
    Vielleicht könnte man auch mit nem externen Interrupt arbeiten. In der Interruptroutine könnte man einen Timer starten, dessen Interrupt den µC dazu veranlasst einen Eingang mehrfach innerhalb von sagen wir mal 5 bis 10ms abzufragen und je nach Häufigkeit der gemessenen Pegel weiter rauf/runter zählt oder eben nicht.

    (ist ja fast so wie Michaels Idee)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also es muss nicht zwangsläufig eine Softwarelösung sein, allerdings habe ich nicht ganz verstanden, was E-Fan machen möchte.
    Willst du nachdem der Interrupt ausglöst wurde noch mehrmals den Eingang abfragen, ob er sagen wir 2 von 3 mal high ist...
    Naja, das würde vielleicht gehen, allerdings wäre mir da eine Hardwarelösung um einiges lieber.

    MFG moritz

  8. #8
    Gast
    Wenn es außer den Kontakten, die zu zählen sind, noch eine Reihe von Kontakten gibt, die um ein Viertel des Rasters (90°) versetzt sind, dann kann man die zum Entprellen nehmen.

    Egal wieviele Impuls kommen, gezählt wird nur einer, bis der Impuls aus der versetzten Reihe kommt und dann erst wieder wenn der versetzte Kontakt nicht mehr geschlossen ist.

    So machen die Mäuse das und bestimmen dabei auch die Drehrichtung.
    Manfred

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Das die Mäuse daraus die Drehrichtung bestimmen ist mir bekannt, aber die Idee ist gut, man könnte ein UND-GATTER benutzen. Das Prüfen mit Hilfe des AVR ist zwar möglich, aber wird vermutlich sehr viel Leistung schlucken, schließlich muss bei jedem interupt geprüft und dann auch noch erhöht werden.

    Frage ist nur, ob ein UND-Gatter nciht dieselben probleme haben könnte...

    MFG Moritz

  10. #10
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    63
    Beiträge
    12.204
    Das Prinzip beruht darauf, dass ein Schalter beim Schließen prellt danach nicht mehr. Wenn erständig flattert hat es keinen sinn.
    Die externe Schaltung ist nicht ein Und Gatter, sondern ein Flip-Flop mit Daten- und Takt-Eingang. Erster Kontaktfächenschalter geht an Daten, versetzter an Takt.
    Manfred
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken maus.jpg  

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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