ich möchte für ein Geocaching-Projekt ein altes Telefon mit Wählscheibe mit einem Arduino auslesen. Dazu habe ich folgender Library gefunden :
Das Ding fuktioniert auch soweit. Allerdings sind ca. 30% der ausgegebenen Nummern falsch.
Statt einer 9 wird eine 8, statt einer 5 eine4 angezeigt. Immer ein Wert zu klein. Hat jemand Erfahrungen mit der Library, mit Wählscheiben oder einen anderen Tipp für mich???
Die Wählscheibe sztammt aus einem alten, deutschen 611er Telefon und liefert 1 Impuls wenn eine 1 gewählt wird und 10 Impulse wenn eine 0 gewählt wird. Nur bei 30% erhalte ich einem falschen Wert.
luke27:
also die Pull_up-Widerstände werden in der Library eingeschaltet (Interne Widerstände des Arduino)
Und Du meinst, das reicht?
Welche Leitungslänge?
Die einzige Zeitkonstante in der Library ist die Entprellzeit: #define DEBOUNCE_DELAY 15
Wenn Deine Wählscheibe nicht mehr so ganz taufrisch ist und nicht mehr mit dem Originaltiming läuft, hast Du mal probiert, etwas an der Entprellzeit in der Library zu variieren, also mal mit 10 ms und mal mit 20ms zu testen, ob sich dann etwas ändert?
Oder machs in Hardware. Den Pullup würde ich auf ca. 470 Ohm setzen, damit durch die alten siffigen und oxidierten Silberkontakte 10 mA fließen, damit sie auch sicher schalten. Und zum Kontakt parallel noch einen Kondensator zum entprellen. So ca. 47µ rum, da ist man bei ca. 25 ms.
Mein Freund, mit alten BMW-Motorrädern und Citroen Acadiane vertraut, würde da zusätzlich eine Ladung Kontaktspray reinsprühen. Das soll Wunder wirken.
blos KEINEN Kontaktspray für solche Geräte. Einerseits ist die Chemie oft zu scharf für viele der alten Kunstsfoffe die sich auflösen oder Risse bekommen. Andererseits zieht der verbleibende Ölfilm Unmengen an Staub an wodurch die anfängliche Wirkung schnell ins Gegenteil kehrt und alles verklebt... Kontaktspray gehört nur dort hin wofür er auch vorgesehen ist, z.B. Zündanlage im KFZ Motorraum
Kontakte gezielt reinigen ist aber u.u. schon ein guter Tipp. Dazu muß man aber das Gehäuse vorsichtig öffnen, die Kontakte z.B. mit einem Lederstreifen polieren und eventuell ganz wenig Siemens Wählerfett (= Vaseline) auftragen.
elektron_:
blos KEINEN Kontaktspray für solche Geräte.
Du bestätigst meine Skepsis, weshalb ich auch keins in meiner Werkstatt habe
elektron_:
... die Kontakte z.B. mit einem Lederstreifen polieren und eventuell ganz wenig Siemens Wählerfett (= Vaseline) auftragen.
"Lederstreifen" und "Siemens Wählerfett" zu verwenden ist eine mir neue Idee, werde ich bei nächster Gelegenheit mal probieren. Danke für den Praxistipp! So gesehen hat mein Vorschlag mit dem Kontaktspray ja doch noch was Positives.
Angestaubte Elektromechanik sprühe ich immer mit Isopropylalkohol ein und blase den (und die gelöste Pampe) dann mit Druckluft weg. Bin zufrieden mit den Ergebnissen. Bei Bedarf Vorgang wiederholen.
Danach Ballistol (mit einer Kanüle dosiert) an die mechanischen Lager.
Isopropylalkohol ist toll, weil er rückstandsfrei wegtrocknet. Ursprünglich habe ich den im Haus, um Laserlinsen (CD-Player, DVD-Brenner, ...) zu reinigen, ohne mechanisch darauf herumzukratzen.
da zu niedrig gezählt wird, tippe ich darauf, dass die Wählscheibe zu langsam läuft. Funktioniert das Entprellen nicht, gäbe es zu viele Impulse. Wenn man die Wählscheibe etwas mit dem Finger beschleunigt, dann dürfte die Zahl stimmen.
Zum einen kann man durch Wartung der Wählscheibe die Geschwindigkeit wieder auf den korrekten Wert bekommen, zum anderen kann man das Timing bei der Nummernerkennung großzügiger gestalten.
Wenn aber statt einer eine 5 eine 4 angezeigt wird, und statt einer 9 eine acht, dann liegt es doch eher nicht am zu wenig entprellen, sondern am zuviel entprellen, oder? Für sowas einfaches würde ich eh keine library verwenden sondern es selbst runter tippeln, dann findet man die Fehler auch einfacher wenn man sich durch seine Gedanken wühlen muss und nicht durch die Gedanken fremder Menschen.
Es müsste dann schon extrem entprellt werden. In der Beschreibung der Library steht 10-20Hz Impulsfrequenz und ein Entprellen von 15ms. Hier können sich Impulse (alle 50-100ms) und Entprellen nicht in die Quere kommen. Allerdings wählen deutsche Telefone mit 10Hz-also am unteren Rande des für die Library zulässige. Eine ungewartete Wählscheibe läuft gerne langsamer. Bei 7-8Hz bricht dann die Erkennung zu früh ab und die erkannte Zahl ist zu klein.
In meinem allerersten Computer habe ich so eine Wählscheibe für die Zifferneingabe verwendet, ohne Probleme. Wenn man den Fliehkraftregler ausbaut, dann flutscht das so richtig
Wenn Du Probleme mit dem Entprellen hast, dann zeige mal Deinen Schaltplan. Vermutlich wird da ein Kondensator vom ersten Impuls noch nicht ausreichend auf-/entladen, dann stimmt etwas nicht mit der Dimensionierung oder mit dem Schaltungsprinzip.
Da die Impulse sehr regelmäßig kommen (10Hz?), sollte eine reine Software-Entprellung mit der richtigen Zeitkonstante ausreichen. Saubere Kontakte vorausgesetzt, das wurde ja schon ausgiebig besprochen. Eventuell den Schaltkontakt etwas nachbiegen, wenn der zu sehr abgeschliffen ist oder Federkraft verloren hat.
auch noch ein guter Tipp wäre über die Anschaffung eines einfachen Logic Analyser nachzudenken. Damit könnte man innerhalb von Augenblicken äußerst exakt festhalten was passiert um dann das Problem gezielt zu lösen.