Forum: Mikrocontroller und Digitale Elektronik AVR Leaf Switch vernünftig abgreifen


von JohannesBS (Gast)


Lesenswert?

Hallo Leute,

ich bin auf ein kleines Problem gestoßen:

Ich versuche die Wählscheibe von einem altehrwürdigen FeTAp abzunehmen. 
Jetzt hat das Ding 2 leaf switches (weiß zufällig jemand das deutsche 
Wort?), einer geht zu sobald die Scheibe nicht mehr in Ruhelage ist, der 
andere wird über ein recht kompliziertes System von einem Nocken so oft 
geöffnet, wie die Nummer, die man gewählt hat.

Nun haben diese Dinger zwei Nachteile:
Sie prellen wie Hund, was kein Problem ist, weil sich die Scheibe mit 
konstanter Geschwindigkeit dreht und ich dann einfach die ansteigende 
Flanke detektiere. Das läuft auch. So:
1
while(!(PIND & (1 << Scheibe))) { //Solange die Scheibe gedreht bleibt, wird eine Ziffer gewählt
2
        if((Status == 0) && (PIND & (1 << Impuls))) {
3
          Ziffer++; //So oft der Impulsgeber von 0 auf 1 springt, ist die Ziffer zu erhöhen
4
          _delay_ms(40); //einfache Entprellung
5
        }
6
        Status = (PIND & (1 << Impuls));
7
      }

ABER: Noch dazu löst der anscheinend nicht immer zuverlässig aus...
Das Ding ist zu schnell, um mit den Augen zu folgen, aber ich denke, 
dass manchmal einfach einer verloren geht. Ideen?

von Peter D. (peda)


Lesenswert?

Oftmals ist die Ag-Schicht oxydiert. Dann ein Fensterleder zwischen den 
Kontakten mehrmals durchziehen.
Und den Pullup nicht zu groß wählen, es sollten schon 5mA fließen.
Delay ist die typische poor man's solution, besser ist eine 4-fach 
Abtastung alle 10ms.

von Hubert G. (hubertg)


Lesenswert?

Ein Kontakt, Arbeitskontakt, nsa, schließt beim Aufziehen der 
Wählscheibe und schließt die Sprecheinrichtung kurz und bleibt bis zur 
Beendigung des Ablaufs geschlossen. Es wird damit das knattern der 
Wählscheibe im Hörer verhindert und der Schleifenstrom erhöht.
Der zweite Kontakt, Impulskontakt, nsi, unterbricht den Schleifenstrom 
impulsweise je nach Ziffer.

von Das Ding (Gast)


Lesenswert?

heißt Nummernschalter.

von Absurder Z. (absurder_z)


Lesenswert?

Danke, das sieht schon mal hilfreich aus!
Ich meinte wie ist der deutsche Begriff für leaf switch, ist aber auch 
egal, solang mich keiner für meinen Anglizismus lyncht ;)

@Hubert: Macht Sinn, in meinem Fall benutze ich den einen, um eine 
Ziffer zu starten und vor allem zu beenden (spart mir Timer-Gefrickel) 
und den anderen für die Ziffer.

@Peter: Ag oxidiert? Hätte die knickrige Post doch nur Au genommen! :) 
Für sein Alter ist der Apparat in verdächtig gutem Zustand, aber die 
Kontakte sehen in der Tat ein bisschen dunkel aus...Fensterleder hab ich 
nicht, ich lass mir was einfallen.
Zum Delay: Der wird ja eh nur ausgelöst, wenn der Schalter öffnet und 
danach kann erst mal ca. 50 ms ohnehin nichts passieren. Die Lösung ist 
nicht übertragbar aber sollte relativ sicher Impulse abgrenzen (Vor 
allem, weil er beim Öffnen auslöst, prellen wird der Schalter aber erst 
beim Schließen. Ich versuche mal den Schließvorgang als Auslöser, vllt 
klappt das besser).
Zum Pullup: Ich mache mir Sorgen um Stromverbrauch. Lösung (?): Den 
Pullup über den Arbeitskontakt führen, so hängt der Input zwar in der 
Luft, wird aber ja ohnehin überhaupt nur bei geschlossenem 
Arbeitskontakt ausgelesen (mechanisch zwingend)

von Das Ding (Gast)


Lesenswert?

heißt Nummernschalterimpulskontakt.

von icke (Gast)


Lesenswert?

Zungenkontakt.

von Wusel D. (stefanfrings_de)


Lesenswert?

Du brauchst schon einen gewissen Strom, damit die Kontakte (langfristig) 
zuverlässig arbeiten. Mit ein paar hundert µA wirst Du nicht glücklich.

Ich würde es mit einer LED kombinieren, dann fließt genug Strom 
(10-20mA) und man hat noch was nützliches davon.

von Peter D. (peda)


Lesenswert?

Absurder Zwischenfall schrieb:
> Fensterleder hab ich
> nicht, ich lass mir was einfallen.

Gibts in jedem Supermarkt.
Auf keinen Fall Schleifmittel, dann ist das Ag komplett weg und der 
Kontakt ruiniert (Totalschaden).

0,5mA könnten auch reichen, aber drunter würde ich nicht gehen.
Ausgelegt ist der Kontakt für 60mA (60V / 1k).

von Absurder Z. (absurder_z)


Lesenswert?

Ja okay, seh ich ein, aber das muss ja nur sein, wenn der Taster auch 
wirklich benutzt wird. Muss ja nicht sein, dass da die ganze Zeit 
während das Telefon an ist (24/7, Akkubetrieb) ein Strom rieselt...

Den Kontakt vielleicht mal für ne Weile mit 60mA "durchpusten"?

von Peter D. (peda)


Lesenswert?

Einfach nsa und nsi in Reihe schalten, dann fließt Strom nur beim 
Wählen.

von Stefan W. (dl6dx)


Lesenswert?

JohannesBS schrieb:
> Sie prellen wie Hund,

Prellzeiten bis zu 3 ms sind zulässig.

Das Thema "Wahlauswertung" ist vor wenigen Tagen ausführlich diskutiert 
worden.

Einfach mal die Suche bemühen.

Grüße

Stefan

von Absurder Z. (absurder_z)


Lesenswert?

@peda: Ich möchte nsa ja auch auswerten, ich schau gleich mal wie das 
klappen könnte...

@Stefan: Da ich die Original-Elektronik größtenteils rausgenommen habe, 
kann ich es so schwer machen, aber die Infos am Rande helfen mir schon 
gut, danke!

von Absurder Z. (absurder_z)


Lesenswert?

So, habe jetzt den nsa am internen Pullup (Prellen ist hier unerheblich) 
und wenn er geschlossen ist, zieht er nicht nur seinen eigenen Pin 
sondern auch über 2,5kOhm den Impulsgeber auf GND. Dieser wiederum ist 
dann mit Vcc verbunden, zieht also das Signal hoch (Zuverlässig über 
3,5V, also bei weitem genug für ein high).
Wenn nun gewählt wird, wird der nsa über 2 Widerstände runtergezogen 
solange nsi geschlossen wird, womit dieser Kontakt hoffentlich genug 
bekommt, um am Leben zu bleiben. Geht nsi kurz auf, zieht der 2,5kOhm 
den entsprechenden Pin runter und der interne Pullup den nsa-Pin hoch.
Ist das Wählen beendet, geht nsa auf, der Pin wird vom Pullup 
hochgezogen und nsi ist wieder zu und geht damit von selbst auf Vcc.

Ich habe an den Timings beim Auslesen rumgeschraubt und habe jetzt 
bisher 100% Übereinstimmung, muss dann noch mal länger testen ob es 
immer klappt.

Vielen Dank an alle Helfer!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.