Forum: Mikrocontroller und Digitale Elektronik Impulswahl zu Tonwahl-Konverter


von Bruno D. (donbruno)


Lesenswert?

Hallo Mikrokontrollerexperten,

Ich bin ein neues Mitglied in diesem Forum. Meine Erfahrungen als 
Elektroingenieur und Informatiker sind leider schon etwas verstaubt, da 
ich meinen Erfahrungen zur Zeit des Z80 und des 8085 erworben hatte. 
Nun, mit etwas mehr Zeit, bin ich wieder von der neuen Technik 
fasziniert und arbeite mich wieder in Assembler und C ein. Der Pickit 2 
ist schon geordert und ein erstes Projekt gefunden.

Ich beabsichtige ein sehr altes amerikanisches Telefon mit Wählscheibe 
und Impulstechnik an des aktuelle Mehrfrequenznetz anzuschließen. 
Entsprechende Konverter könnte ich natürlich kaufen, aber des wäre 
langweilig!! Im Verlauf meiner Recherchen habe ich einen 
niederländischen Anbieter gefunden, der dieses Problem fast 
ausschließlich mit einem mikrokontroller 12f629 und einigen passiven 
Bauelementen gelöst hat. Der Schaltplan ist im Internet verfügbar. 
(Picbasic.nl )

Gibt es ggf. Programmcode, der diese Aufgabenstellung lösen kann.? Oder 
verfügt jemand über den zur obigen Hardware benötigten Code? Ich habe 
diesen leider nicht finden können.


Über Tips und Hilfe würde ich mich sehr freuen, da diese erste Aufgabe 
für einen Neueinsteiger ansonsten etwas zu kompliziert wird.

Bruno

: Verschoben durch Moderator
von Peter D. (peda)


Lesenswert?

von Atmel gibts ne AN dazu:

AVR314: DTMF Generator on tinyAVR and megaAVR devices

http://www.atmel.com/Images/doc1982.pdf

von Peter D. (peda)


Lesenswert?

Bruno D. schrieb:
> Ich beabsichtige ein sehr altes amerikanisches Telefon mit Wählscheibe
> und Impulstechnik an des aktuelle Mehrfrequenznetz anzuschließen.

Seit wann geht denn keine Impulswahl mehr?

von Moritz A. (moritz_a)


Lesenswert?

Peter Dannegger schrieb:
> Seit wann geht denn keine Impulswahl mehr?

Diverse VoIP-Anlagen sprechen durchaus keine Impulswahl mehr. Und wenn 
man dann bei einem Anbieter ist, der die Nutzung des von ihm gelieferten 
Gerätes zwingend voraussetzt…

Von einer ordentlichen Rufspannung kann man bei diesen Geräten natürlich 
auch nur träumen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bruno D. schrieb:
> Ich bin ein neues Mitglied in diesem Forum.

Dann schau dir bitte auch mal an, wo du postest.  Das Forum
„Webseite“ war so ziemlich das ungeeignetste für dein Anliegen.

von Cyblord -. (cyblord)


Lesenswert?

Bruno D. schrieb:

> Entsprechende Konverter könnte ich natürlich kaufen, aber des wäre
> langweilig!!

> Gibt es ggf. Programmcode, der diese Aufgabenstellung lösen kann.? Oder
> verfügt jemand über den zur obigen Hardware benötigten Code? Ich habe
> diesen leider nicht finden können.

Und einen fertigen Schaltplan zu übernehmen UND noch fertigen Code zu 
übernehmen ist nicht "langweilig"? Zu Anfang klingt es so, als ob du so 
ein Gerät selber bauen willst. Jetzt eher nicht mehr. Schreibe doch den 
Niederländer an und frage nach dem Code. Wenn schon der Schaltplan auf 
der Webseite ist...

> Über Tips und Hilfe würde ich mich sehr freuen, da diese erste Aufgabe
> für einen Neueinsteiger ansonsten etwas zu kompliziert wird.
Welche Aufgabe meinst du? Das Nachbauen des Schaltplans, das Googeln 
nach dem Code oder das flashen des PIC? Mehr machst ja nicht.

gruß cyblord

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Ohne Erklärung, da sonst zu langweilig.
Der Prozessor ist intern getaktet.

Klaus

von egberto (Gast)


Lesenswert?

Hallo Klaus,

danke, kann ich auch gebrauchen!
Mir könntest du aber doch bitte eine kurze Erklärung geben (das Einlesen 
der Impulswahl erschließt sich irgendwie nicht sofort....)
Da ich keinen IAR habe, muss ich das auch irgendwie in Richtung GCC 
umrubeln.

Viele Grüße,

egberto

von Karl H. (kbuchegg)


Lesenswert?

Klaus schrieb:
> Ohne Erklärung, da sonst zu langweilig.
> Der Prozessor ist intern getaktet.

Hmm.
Das Programm passt aber nicht zum Tiny2313.
1
while (PINC & 0x01)
der hat keinen Port C.
Ich vermute mal (aufgrund des Dateinamens), das ist für einen Mega8 
geschrieben.

Der Fairness halber sollte man das noch erwähnen, auch wenn die 
Umstellung keine große Sache ist (und eigentlich recht langweilig).

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

egberto schrieb:

> Mir könntest du aber doch bitte eine kurze Erklärung geben (das Einlesen
> der Impulswahl erschließt sich irgendwie nicht sofort....)

Das erwartet eigentlich auch niemand von einem Neuling, dass er 15 
Minuten nach posten eines Codes, den komplett versteht. Tauscht man 
allerdings die 'Minuten' gegen 'Stunden' wird das schon realistischer.

Das Hauptproblem ist eher, dass dieser Code für einen AVR geschrieben 
ist und nicht für einen PIC. Allerdings werden nur Komponenten benutzt, 
die es am PIC mehr oder weniger ählich geben sollte.
Das ist nichts anders als ein bischen Pin-Abfragen in der Hauptschleife 
und mittels Timer feststellen, wie lang der Pin auf High war. Nichts 
aussergewöhnliches. Schon fast langweilig.

von Klaus (Gast)


Lesenswert?

Tut mir leid wenn ich den falschen Kode erwischt habe.
War bei mir unter Tiny2313 gespeichert.
Muß ich den richtigen noch suchen.
Bin halt etwas chaotisch.

Gruß Klaus

von Wolfgang (Gast)


Lesenswert?

Bruno D. schrieb:
> Gibt es ggf. Programmcode, der diese Aufgabenstellung lösen kann.?

Klar gibt es das, zumindest Teile davon, schließlich gibt es 
Impulswahltelefone und Mikroconroller schon länger.

Hier z.B. ein Baustein für die Dekodierung der Impulswahlsignale
Beitrag "Impulsverfahren auslesen / Morsecodes im uC interpretieren"

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Nun zum obigen Schaltplan das richtige Programm.
Zusätzlich die Dateien für Studio 4.

Gruß

Klaus

von Bruno D. (donbruno)


Lesenswert?

Vielen Dank für die unterschiedlichen Anregungen,

Ich hoffe es wird nun etwas mit meiner Idee. Auch wenn der Nachbau eines 
Schaltplans für viele als einfach erscheint, so ist es für einen 
Schwerbehinderten mit nur noch ein wenig Sehkraft schon oft eine 
richtige Herausforderung etwas richtig zum laufen zu bringen. Aber die 
Freude ist dann um so größer wenn die Schaltung dann auch arbeitet. 
Gerade bei lötarbeiten produziert man dann gerne Kurzschlüsse die von 
"sehenden" Freunden beseitigt werden müssen. Na ja ganz ohne Hilfe gehts 
dann eben doch nicht.

Welches Forum wäre denn für zukünftige Fragen besser geeignet? Denn die 
Orientierung auf der Plattform  ist wegen meines Handicaps für mich 
nicht so richtig einfach.

von Svenska (Gast)


Lesenswert?

Links im Menü stehen die ganzen Unterforen, die es hier gibt. Du suchst 
das Forum "µC & Elektronik", direkt unter dem Wort "Forum".

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Moin,

Klaus schrieb:
> Nun zum obigen Schaltplan das richtige Programm.
> Zusätzlich die Dateien für Studio 4.

Ich hab mir erlaubt, das auf avr-gcc anzupassen und bei der Gelegenheit 
gleich mal kräftig aufzuräumen. Außerdem habe ich die vorberechneten 
Tabellen rausgeworfen und ein kleines Skript dazugetan, das die Tabellen 
auch für andere Taktfrequenzen berechnen kann. Der Code compiliert, 
getestet habe ich ihn allerdings noch nicht.

Falls das jemand testen mag - Feedback ist jederzeit willkommen.


XL

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

und gleich schon einen Fehler im Makefile gefunden - die Taktfrequenz 
wurde beim Erzeugen der DTMF-Tabellen nicht richtig berücksichtigt.


XL

von Chrud (ruder)


Lesenswert?

Hallo

Ich habe die Schaltung nachgebaut und das Programm von Axel getestet. 
Das funktioniert soweit. Danke.

Nachfolgend noch ein paar Anmerkungen/Tips, falls jemand die Schaltung 
nachbaut und es nicht auf anhin funktioniert.

1. Was ein bisschen irritierend sein kann, sind die Fuses in dem 
Makefile von Axel. Die kann man so nicht übernehmen, wenn man die 
Schaltung 1:1 nachbaut.

Ich verwende folgende Werte:
Fuse Extended: 0xFF
Fuse High: 0xDF
Fuse Low: 0xA4

2. Der interne Oszillator muss individuell justiert werden. Der Takt 
kann an Pin 6 (PD2) gemessen werden (die Fuse-Einstellungen von Punkt 1 
sind vorausgesetzt). Anschliessend den OSCCAL Wert im Programm so 
anpassen, dass am Pin 6 möglichst genau 8MHz gemessen werden.

Gruss

von Thomas G. (blasebalg)


Angehängte Dateien:

Lesenswert?

Mahlzeit!

Ich kapere den alten Fred hier mal, weil ich's erst jetzt gebraucht habe 
;-)
Da ich noch ein paar alte DDR-Teile Variant und Alpha Ferro hier habe, 
die aber an der neuen Fritzbox-Cable leider nicht so funktionieren 
wollen, habe ich den Code mal als Grundlage genommen und für einen 
ATtiny24 neu gemacht.
Schaltplan usw. für eine kleine Steckplatine ist mit im Anhang. Damit 
kann der Umbau leicht wieder Rückgängig gemacht werden. Ich kann/werde 
damit meine Sammlung an RFT-Telefonen demnächst umrüsten.
Falls es jemand gebrauchen kann.

von P. P. (Gast)


Lesenswert?

Das ist cool, vielen Dank.
Ich hab auch noch ne Kiste mit Variant, W38 usw. die noch auf ein 
Upgrade warten :-)
Gruß Klatschnass

Beitrag #5780889 wurde von einem Moderator gelöscht.
Beitrag #5780900 wurde von einem Moderator gelöscht.
Beitrag #5780904 wurde von einem Moderator gelöscht.
Beitrag #5780911 wurde von einem Moderator gelöscht.
von Thomas G. (blasebalg)


Lesenswert?

P. P. schrieb:
> Ich hab auch noch ne Kiste mit Variant...

Ich hätte das wohl doch im Bereich "Markt" posten sollen...
Tausche Platinen gegen Telefone Variant in "schöner" Farbvariante.
Rosa, Feuerwehrrot und grau sind noch ned sooo pralle ;-)

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.