Refresh loader

Vom Impuls zu DTMF

Home > dtmf > Vom Impuls zu DTMF

Vom Impuls zu DTMF

In diesem Projekt hier soll ein Wählscheibentelefon mit DTMF (dual-tone multi-frequency ‚Doppelton-Mehrfrequenz) erweitert werden. Es ist später als AG-Projekt für das RTM Radio und Telefon-Museum in Rheda-Wiedenbrück gedacht.

Wie ist es dazu gekommen? Na inzwischen ist ja bekannt dass ich das Radio und Telefon-Museum, bei entsprechendem Zeitfenster 😉 unterstütze. Hier hauptsächlich im technischen Bereich. Nun hat mich Dirk und Wilfried gefragt ob ich einen Übersetzer eines Wählscheibentelefons mit Impulsverfahren zu einen DTMF-Verfahren umbauen kann. Die Idee ist nicht neu und im Internet gibt es auch schon diverse Seiten dazu. Dirk hat mir die Internetseite von Klaus Taeuble (https://taeubl.de/IWV-MFV/) gezeigt. Wer sich in die Materie einarbeiten möchte, die Seite ist ein guter Anlaufpunkt. Ich beschreibe hier einen etwas anderen Weg und auch die Schritte wie ich an die Sache ran gegangen bin.

Also was soll geschehen. Es muss eine Schaltung gebaut werden und ein Programm soll später die Steuerung übernehmen. Dazu benötige ich unter anderem, Schaltplan, Platine, Bauteile, der Chip ATtiny (AVR), ein Programm muss programmiert werden, welches dann auch auf dem ATtiny gespeichert werden muss usw. Also wer mit programmieren nichts an der Mütze hat und für die jenigen welche Worte wie Programmer, AVR-Mikrocontroller, ATmega, ATtiny, EEPROM nix anfangen können, denn würde ich von diesem Projekt abraten. Denn die technische Seite ist nachbaubar. Und auch hier muss man sich schon auskennen um zu wissen wie sich die Bauteile verhalten. Also dessen Bauteil-Eigenschaften z.B. Bipolar oder Polar. Und beim nachbauen sollte man die Bauteile auch testen (Funktion vorhanden? ) und prüfen (ist es das richtige Bauteil, Transistor PNP oder NPN ?) können. Die andere Seite ist das programmieren. Quelltexte und Code verstehen, um das Programm anzupassen. Denn das ist zu 95% fast immer nötig. Zum Glück ist das Wort Nerd inzwischen nicht mehr als Nachteil anzusehen 🙂

Vom RTM wurde mir einiges übergeben. Eine Schachtel mit einigen ATtiny ICs verschiedene Versionen ATtiny 2313, ATtiny 2313A und ATtiny 2313V. Die ATtiny’s sind alle in ihrer Grundbeschaltung gleich, was zu erwähnen ist, die V-Version braucht eine geringere Spannung vn 1.8 Volt. Diese hätte ich später in meinem Projekt nutzen sollen ;-). Dann waren noch ein paar Adapter zur Aufnahme des Chips mit dabei. Und von Wilfried habe ich noch eine Arduino Kiste mit diversen Bauteilen bekommen, vielen Dank noch mal.

Nun, als erstes habe ich mich auch an die Internet-Seite von Klaus gehalten. Schaltplan nachgebaut (Bitte auf der Seite https://taeubl.de/IWV-MFV/ schauen.) Was auch soweit kein Problem ist. Sehr gut und auch für Anfänger geeignet. Da ich es mir einfach machen wollte habe ich auch das Programm von Klaus seiner Seite genommen, Danke schonmal für das Online stellen. Klaus hat eine .bas Datei und eine .hex Datei zu verfügung gestellt. Falls man noch nicht weg geklickt hat, .bas sagt mir das es eine Bascom Datei ist und die .hex ist die Datei welche dann vom PC Programm (hier gibt es viele, ich nutze Microchip-Studio hauptsächlich) über den Programmer auf das IC geflasht wird.

Hier ist der Programmer zu sehen mit dem ich das Programm auf dem ATtiny geflasht habe. Zusätzlich ist noch eine seperate Spannungsversorgung angeschlossen. Denn Chip habe ich, wie hier zusehen, auf einen Steckboard positioniert. Immer wenn ich Chip oder IC schreibe mein ich den ATtiny.

Also habe ich einen ATtiny2313 genommen und da war schon die erste Hürde. Mit bei den Sachen war ein DIP-Board welches schon fertig aufgelötet ist, mit entsprechenden Anschlüssen um den IC zu programmieren. Aber er wurde nicht erkannt. Das ist komisch, ist aber so. Da ich nicht das erste mal AVRs programmiert habe wusste ich es kann nicht am Programmer liegen. Dann das DIP-Board durchgeprüft ob alle nötigen Verbindungen zum Beschreiben auch passen. Also die vier wichtigen sind dW (Reset pin 1), SCL (Clock Pin 19), MISO (Data out Pin 18) und MOSI (Data in Pin 17) zu den vier wichtigen nicht vergessen GND (Ground bzw. Minus Pin 10) und VCC (+1,8V bis +5,5V je nach Type. An Pin 20). Diese Verbindungen waren soweit ok. Dann habe ich noch zwei weitere Programmer genommen. Aber die IC haben sich nicht ansprechen lassen???

Also was konnte hier nun passiert sein? Es gibt so ganz billige China Ware (meist Clone) da funktioniert die innere Taktung nicht. Was auch sein kann die IC wurden schonmal umgetaktet und sind damit nicht im Neuzustand. Aber wenn die Taktung nicht stimmt dann passt die Schreibgeschwindigkeit auch nicht und der IC bleibt im Schlafmodus. Was auch sein kann das der Reset Pin1 abgeschaltet ist. Also dann hilft quasi nur noch ein High Voltage Programmer, dieser geht mit einer hohen Spannung auf den Reset Pin und der IC wird dann quasi zur Beschreibung gezwungen. Solch einen Programmer habe ich aber nicht. Also meine Hoffnung den IC mit einer fremden Taktung zu stimulieren 😉 Und Tatsache der ATtiny ist wach geworden. Ich habe aber nicht alle ATtiny’s getestet. Einige gingen mal so überhaupt nicht und einige ja. Da ich mir nicht ganz sicher war was mit den IC vom RTM ist habe ich mir zwei neue bestellt. Damit hat alles auf Anhieb geklappt.

Hier die zwei neuen ATtiny2313. Im nachhinein hätte ich wegen dem niedrigen Strom aus dem Telefon den V-Type nehmen sollen der arbeitet schon ab +1,8Volt. Sollte sich jemand mit dem Projekt wirklich auseinander setzten, dann empfehle ich den ATtiny2313V.

Das Programm von Klaus auf den Chip, hier muss man zwingend beachten das man den entsprechenden Quarz 4.9152MHz nutzt welcher auch von Klaus benutzt wird. Klaus schreibt er hat diesen Quarz genommen da er gut beschaffbar ist. Das ist zwar nicht der gängigste, also bei mir zumindest nicht, aber die DTMF Tonfrequenzen lassen sich mit der Frequenz 4.9152MHz nahezu sauber erzeugen. Ich gehe mal davon aus dass das auch ein Grund für diesen Quarz ist. Also habe ich einen 4MHz genommen und das Programm entsprechend angepasst. Beim programmieren muss man dann auch darauf achten das der IC auf externe Taktung umgestellt wird. Im Auslieferungszustand ist die interne Taktung aktiv, liegt bei 1MHz.

Hier ist der Schaltungsaufbau vom Klaus zu sehen. Mit dem später nachbestellten Quarz 4.9152MHz. Was sofort zu sehen ist, sind die vier Dioden welche zusammen in der Beschaltung einen Brückengleichrichter entsprechen. Kurz gesagt Wechselspannung rein und Gleichspannung raus. Dann die Z-Diode in Kombi mit einen Widerstand um auf 5 Volt zu gelangen (Die Z-Diode ist durch einen Transistor verdeckt.). Der Elko welcher die Spannungsversorgung aufrecht hält und auch glättet. Der erste Transistor hinter dem Elko welcher die ankommende Spannung an den Elko abgibt. Die DIP-Fassung für den ATtiny, dieser ist hier noch nicht aufgesteckt. Dann vom IC der DTMF Ausgang gegen Gleichspannung durch den Kondensator (Bipolar) abgekoppelt, weiter über einen Vorwiderstand zur Basis der kleinen Verstärkerschaltung (Darlingtonschaltung) (erster Transistor) angeschlossen ist. Über die Darlingtonschaltung wird das Signal wieder in die Telefonverbindung zurück geführt. Dann noch die Bequarzung damit der ATtiny auch wach wird. Die Schaltung und das Programm gibt es beim Klaus auf der Seite 🙂

Ich habe mir gedacht wenn ich sowas baue ist es doch gut wenn man sich die Zwischenschritte einzeln anhören oder testen kann. Also Schritt für Schritt. Das ganze quasi in Module fertigt. Auch bin ich etwas anders an die Sache ran gegangen. Schritt 1: Ist es eine Programm zu schreiben welches die DTMF Töne ausgibt. Schritt 2: Ein kleines Modul erstellen mit einem Ausgang der ausreichend stark ist um einen kleinen Lautsprecher zu betreiben. Schritt 3: Ein Modul zur Spannungsversorgung aus der Telefonleitung, quasi das Netzteil. Als 4 Schritt: eine kleine Spannungsreglung (Lautstärkeregler) um das Signal in die Telefonleitung einzubringen. Und letzter Schritt 5: Einbau ins Telefon 🙂

Schritt 1, Das Programm: Der Ablauf ist recht simpel, der ATtiny wartet darauf das sich die Wählscheibe aufzieht. Dieses misst er über PD3 das ist am IC Pin 7. Wird erkannt das die Wählscheibe nicht mehr in Grundstellung ist so aktiviert er die Impulsmessung an PD2 das ist am IC Pin6. Er zählt nun die Impulse von der Wählscheibe. Diese berechnet der ATtiny nun um auf die richtige DTMF Frequenz zu kommen. Diese werden dann auf PB 3 das ist Pin 15 ausgegeben.

Wenn wir schon die ganze Zeit von der Belegung des ATtiny’s sprechen ist es auch sinnvoll mal ein Pinout hier zu zeigen. Ich habe im Programm zwar den richtigen Pin 15 für den Lautsprecherausgang programmiert aber dummerweise als Info im Prog Pin 14 geschrieben. Was war das Resultat. Man hört nischt 🙁 Erst beim Vergleich ist es mir aufgefallen. 40 Minuten für Fehlersuche sind draufgegangen. Denn wo sucht der Programmierer zu erst? Klar im Code!

Wer sich bissel mit AVR-Mikrocontroller auseinandersetzen möchte. Da kann ich dieses Buch empfehlen. Es erklärt gut wie solch ein AVR funktioniert wie die Speicher im Chip beschrieben werden,also Programmcode auf den Mikrocontroller gelangt. Dieses Buch bezieht sich viel auf den Armel Mikrocontroller. Aber das lässt sich auch gut auf die ATtiny Familie übernehmen. Dieses Buch habe ich schon lange im Besitz und ist heute sehr warscheinlich nicht mehr Stand der Dinge. Aber es sollte dafür heute günstig im gebrauchten Zustand zu erwerben sein. Die ISBN ist 3-89576-063-3. Und welch ein Wunder die Mikrocontroller lassen sich immer noch genau so beschreiben. Gegenwertig würde ich aber eher zu Arduino und Co. wechseln. Für Beginner und auch Versierte ersparen die viel Arbeit und haben schon einen eigenen Bootloader. Mit anderen Worten einen Aruino oder Banana Pi oder Raspberry Pi usw. werden einfach über ein USB Kabel angeschlossen und können dann über entsprechender IDE programmiert werden. Die Teile kosten auch nicht mehr die Welt. Lassen sich auch nutzen um diese Projekt hier zu bewältigen. Aber da soll es hier nicht drum gehen.

Da ich damals mit AVR-Programmierung einiges gemacht hatte. Und in diesem Buch die Bequarzung mit 4MHz vorgeschlagen wurde, ist der Grund warum ich noch paar 4MHz Quarze vorrätig hatte. Wie oben schon erwähnt. Und ein Zufall die 22pF waren auch vorhanden 🙂

Ab hier ist es dann interessant für diejenigen welche immer noch am Ball geblieben sind und sich vorstellen können selbst diese Projekt umzusetzen um ein eigenes altes Telefon zu nutzen. Den Spass mit Coden und Programmieren könnt ihr umgehen denn ich hänge die Datein hier unten an. So müßt ihr nur noch das Programm auf den ATtiny bekommen, Fragen wie das geht vorzugsweise an Google und Co. Ich habe leider nicht immer die Zeit und darum kann es sein das Antworten spät kommen. Ich werde hier auch alternative Beispiele nennen. Weil mit DTMF kann man ja noch bissel mehr machen.

Schritt 2, Das Modul zum Anschluss eines Lautsprechers: Also Programm ist nun auf den ATtiny2313 drauf, um das zu testen ob es arbeitet und alle Einstellungen richtig (Töne, Quarz, Berechnungen, Pinbelegungen, Timer) sind, ist nun das erste Modul dran. Der Aufbau ist sehr einfach. Aber man hat sofort die Gewissheit das alles wie gewünscht funktioniert. Und wenn nicht auch kein Problem den viel zum überprüfen ist ja garnicht vorhanden.

Der Lautsprecher wird mit der einen Seite (Minus) an DTMF OUT angeschlossen und die andere Seite kommt an VCC 5V (Plus) dran. Es reicht für einen kleinen Lautsprecher.

Die Schaltung ist einfach zu verstehen. An Pin 4 und 5 des ATtiny kommt der Quarz 4.9152MHz mit je ein Beinchen an beiden Beinchen kommen auch die beiden Keramikkondensatoren mit 22pF. Wieso das so muss hatte ich ja schon erklärt. Von der Wählscheibe kommt ein Kontakt vom aufziehen an Pin 7 und ein Kontakt vom Pulsgeber an Pin 6 die anderen beiden Kontakte der Wählscheibe gehen auf GND (Minus). Keine Panik auf der Titanik, ich erkläre die Wählscheibe noch 🙂 Pin 10 des ATtiny kommt auf GED (Minus) der Pin 20 kommt über einen Schalter an +5V (Der Schalter ist nicht unwichtig. Man kann das ganze daduch an und ausschalten 😉 Ein kleiner Keramikkondensator mit 100nF kommt zwischen VCC +5V und DND (Minus). Ich sehe gerade das der Kondensator vor den Schalter liegt. Das ist erstmal nicht weiter schlimm. Er sollte aber hinter dem Schalter sein. Macht für den Betrieb erstmal so kein Unterschied. Das Signal welches aus Pin 15 kommt ist zu schwach um direkt dort schon einen LautspreeEin kleiner Verstärker muss her. Das ist der Transistor welcher die DTMF Frequenz über einen Widerstand 10K vom ATtiny bekommt. Das passiert über Pin 15. Warum macht er das weil er es soll 😉 Mit dem Emiter des Transistor geht es dann auf GND (Minus) und der Kollektor C des Transistors ist unser Ausgang zum Lautsprecher. Die andere Seite vom Lautsprecher kommt auf VCC +5V.

Nun erfolgt der Test. Wenn alles richtig angeschlossen ist der ATtiny richtig programmiert worden ist und wir eine Spannung von 5 Volt anliegen haben, die Wählscheibe richtig angeschlossen ist! Dann sollte nun bei Betätigung der Wählscheibe der entsprechende Ton aus dem Lautsprecher zu hören sein.

Wenn nix zu hören ist, dann nicht gleich aufgeben kontrolliert alle Verbindungen erstmal augenscheinlich. Prüft mit einem Multimeter (Das billigste reicht völlig aus) ob alle Verbindungen zu GND in Ordnung sind. Und ob auch die Grundspannung +5V anliegen. Dann überprüft auch das es keine Verwechslung mit den Anschlüssen von der Wählscheibe gibt. Und darum gehe ich hier auch nochmal auf die Wählscheibe ein.

Hier ist die Wählscheibe welche an das ATtiny Modul angeschloßen ist um die Funktion zu testen. Die Wählscheibe hat 4 Kabel: Weiß, Braun, Grün, Gelb. Das weiße und das braune Kabel ist der „nsa“ Wenn die Wählscheibe betätigt wird schließen diese kurz. Ein Kabel davon z.B. das braune kommt an GND (Minus) das andere weiße Kabel kommt an Pin 7 des ATtiny. Die anderen beiden Kabel, also das grüne und gelbe Kabel ist der „nsi“ Impulsgeber. Hier kommt ein Kabel z.B. das grüne an GND (Minus) das andere gelbe Kabel kommt an Pin 6.

Wenn hier alles richtig ist und nix zu hören ist dann ist der ATtiny nichtrRichtig programmiert und man muss prüfen ob der Chip arbeitet bzw das Programm richtig installiert wurde, auch ob alle angesprochenen Pin’s richtig im Programm stehen.

Schritt 3, ein Modul zur Spannungsversorgung aus dem Telefon: Gut wenn bis hierhin alle geklappt hat dann machen wir mal weiter. Da wir eine Wechselspannung am analogen Telefonanschluss haben muss der erstmal gleichgerichtet werden und auf eine begrenzte Spannung von +5V begrenzt werden. Hinzu einen kleinen Speicher und da wir mit diesem Modul eh schon an der Telefonstrippe hängen haben kommt hier auch die Einspeisung des DTMF-Signals vom ATtiny-Modul rein. Auch diese Schaltung ist so simpel wie möglich gehalten. Und ein Test mit einem Netzteil ist auch möglich um zu prüfen dass das Spannungs-Modul auch funktioniert.

Also der Start beginnt am NS Eingang mit 3 und 4. Das entspricht den Anschlus vom Telefon wo ja vorher die Wählscheibe dran war. Das zeige ich aber noch. Von 3 und 4 geht es zum Brückengleichrichter. (möglichs sparsame Dioden benutzen). An den Kontakten Plus + und Minus – des Brückengleichrichters haben wir schonmal DC Gleichspannung. Minus geht auf GND (Minus). Und vom Plus geht es weiter auf einen 470Ohm Widerstand dann folgt eine Z-Diode mit 5.6V. Die Z-Diode wird in Sperrrichtung betrieben. Also der Ring geht auf Plus und die andere Seite der Z-Diode geht auf GND (Minus). Von hier an sollten es 5 Volt auf der Plus Seite sein. Dann geht es auf der Plus +5V Seite weiter auf eine Diode (Ring in Richtung Elko) und von der Diode weiter zum Elko 2000µF (Elektrolyt Kondensator). Damit wird verhindert das Spannung wieder zurück läuft. Und dann kommt der Elko welcher mit Plus an +5V kommt und Minus an GND (Minus). Zum Schluß kommt ein kleiner 1zu1 Übertrager (kleiner Trafo), die eine Seite des Übertragers kommt am Plus +5V und GND (Minus). Die andere Seite vom Übertrager, ein Anschluss kommt mit auf Plus +5V und die andere Seite geht zum ATtiny-Modul dessen DTMF Ausgang (der Kollektor des Transistors). Hier beachten das ihr den Übertrager genau so anschließt sonst geht es nicht 😉

Hier sind beide Module zu den Schaltbild zu sehen.

Schritt 4, Ein kleiner Spannungsregler Lautstärkeregler: Also wenn das DTMF Signal tatsächlich immer noch zu laut ist. So könnt ihr mit einen 10K Poti die Lautstärke regeln. Ein einfacher Poti hat drei Kontakte ein Aussenkontakt kommt am DTMF Ausgang des ATtiny-Moduls und der andere äussere Kontakt geht auf GND (Minus). Und der mittlere Kontakt geht zum Spannungs-Modul in DTMF Eingang.

Da die Strom und Spannungsversorgung eh am unteren Bereich angelangt ist wird es nicht nötig sein einen Spannungsteiler einzubauen. Aber wenn wir jetzt nicht eine externe Spannungsversorgung anlegen und mit den ATtiny2313 arbeiten so ist ein kleiner Resetschalter angebacht. Denn wenn sich der IC aufhängt. kann man ihn darüber schnell reseten. (Der Schalter im ATtiny-Modul Plan) ganz oben.

Schritt 5, Der Einbau ins Telefon: Also der Einbau ins Telefon ist jetzt kein Hexenwerk mehr. Die Module sollten locker Platz in den alten Kisten haben. Wir benötigen nur die beiden Anschlüsse vom Spannungs-Modul 3 und 4 und die verbinden wir im Telefon dort wo zuvor die Wählscheibe angeschlossen wurde. Dann sind im Telefon noch die zwei Pinne mit der Bezeichnung 1 und 2 übrig. Diese werden einfach gebrückt.

Im Bild oben zu sehen 1 und 2 sind gebrückt und an den 3 und 4 kommt das Spannungs-Modul dran. Wie rum ist völlig egal, da es eh Wechselspannung ist. Beim Stecker des Staubsaugers ist es ja auch egal wie rum er eingesteckt wird. Bei Gleichspannung würde euer Staubsauger alles ausspucken 😉

Vergesst nicht den Resetschalter oder auch Ön Öff Knöpf genannt. Macht kein Spass das Telefon jedesmal eineinander zuschrauben. Ich würde ein externen Akku empfeheln. Der euer System mit genügend Wumms versorgt. Wenn alles drin ist Dekkel druf und fertisch.

Es kommt noch ein Video zu diesem Beitrag. Da erkläre ich es dann auch nochmal. Und führe es auch vor. Auch folgen noch die Datein von dem Programm welches ich geschrieben habe. Jetzt Bitte drei mal auf die linke Schulter klopfen. Das du bis hierhin durchgehalten hast, hast es auch verdient 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert