Gast
#1694499
Hallo, ich bin kürzlich auf den CLIP-Decoder von Arkadiusz Antoniak gestoßen und wollte mir mal anschauen, was er da so gebaut hat. Schaltplan und Quellcode im Anhang. Nun hab ich eine Frage zur Erkennung des Telefonklingelns: Der Transistor T2 schaltet durch, wenn die gleichgerichtete Klingelspannung groß genug ist, um über R18 mindestens 0,7 Volt abfallen zu lassen ... also so etwa 34 Volt. Soweit ich recherchiert habe, klingelt bei uns (und vermutlich auch in Polen) eine Wechselspannung mit 25 Hertz und Amplituden >48 Volt. Das sollte also reichen, um T2 durchzuschalten. Wenn T2 leitet, entlädt sich C10 über R20, und der CALL-Pin (PD3) geht auf LOW. Wenn T2 sperrt, lädt sich C10 über R20 und R19 auf und CALL geht auf HIGH. Dem Quelltext entnehme ich nun, daß die fallende Flanke an PD3 den MC mit einem externen Interrupt aus dem Schlaf reißt, worauf dann dieses Stück Code folgt:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
Hier wird also im Abstand von 1 ms der CALL-Pin überprüft, bis er entweder 150 ms am Stück HIGH oder 150 ms am Stück LOW war. Letzterer Fall wird als "kein Klingeln" gewertet und der MC geht wieder schlafen, bis eine Klingelpuls ihn erneut weckt und das Spiel erneut beginnt. Die Werte für C10, R20 und R19 sind nun im Schaltplan so gewählt, daß während eines 25-Hertz-Klingelns die Zähler i und j niemals den Wert 150 erreichen, bevor der CALL-Pin wieder seinen Zustand wechselt und der jeweils andere Zählen inkrementiert wird. Nur nach dem Ende des Klingelns erreicht i die Abbruchbedingung und verläßt die Polling-Schleife. Was soll das ganze Theater nun überhaupt bezwecken? Auf diese Weise wird ja jeder Impuls >=34 Volt als Klingeln erkannt. Das hätte man auch einfacher haben können. Und selbst wenn Widerstände und Kondensator so gewählt wären, daß der CALL-Pin nicht auf HIGH geht, bevor die nächste Halbwelle der Klingelspannung den Transistor T2 wieder durchschaltet (also langsameres Aufladen), käme nichts sinnvolles dabei heraus, weil dann in obiger Zählschleife j den Wert 150 erreicht und das ganze als "kein Klingeln" behandelt wird. Ich kann mir keinen Reim darauf machen, was der gute Arkadiusz damit eigentlich bezwecken wollte. Kann mich jemand erleuchten?