<< zurück Zur Übersicht weiter >>

 

Das Bakuphon

W48
 
1. Wat is dat nu wedder?
2. Nun aber zum Telephon
3. Die Aufgabe
4. Die Zielsetzung
5. Systemdesign
6. Physical laws have to be obeyed
7. Die Mobilstation
8. Die Bimmel
9. Mehr Schnittstellen
10. Der gute Ton
11. Dem Stromm!
12. Der Professor
13. Das Gelöt
14. Die weiche Ware

Bonusmaterial:
59. Notitz aus dem Projekttagebuch
60. Wie man einen Nummernschalter abfragt
61. Die Wahrheit über den Resetknopf
999. Fazit
 

1. Wat is dat nu wedder?

Ein Telephon! Was sonst!

Mit diesem Projekt ging ich ja schon seit Jahren schwanger, aber die Umstände ließen eine Realisierung nicht zu. Keine Zeit... Vielleicht war auch der Leidensdruck einfach noch nicht hoch genug oder ich habe die Prioritäten falsch gesetzt... Wie dem auch sei.
Es begann vor einigen Jahren, als die Mobiltelefone in der Lage waren, als Weckton jedes  beliebigige (sic!) wav-File abzuspielen, und ich, der solchem technischen Schnickschnack normalerweise reserviert gegenüber stehe, fand, daß es geil wäre, wenn ein Telefon endlich mal wieder wie ein Telephon klänge. Flugs W48.wav runtergeladen, dann noch die ganze scheissefucking Nokiasoftware, mit der ich das Ding dann auf mein Mobiltelefon überspielen konnte. TOLL!

Dann klingelte es fast wie ein richtiges Telephon! Aber trotzdem war meistens nur irgendein Idiot dran, der mir ein Ohr abkauen wollte oder Fragen stellen, die er sich mit ein wenig nachdenken hätte selbst beantworten  können oder die Zeit gehabt hätten, bis ich wieder da bin. Man fragt sich, wie die Perser  oder Ägypter Weltreiche erobern, die Römer und Kaiser diese jahrhundertelang unterhalten konnten, ohne andauernd irgendwen anzurufen. 
Weiterhin gehen die Telefonanisten dann ja auch davon aus, dass der Angerufene (zumindest moralisch) verpflichtet ist, das 'Gespräch' entgegenzunehmen. Egal, ob er gerade schläft (nicht umsonst heisst die gute, alte Telephonbimmel im Postfachjargon 'Wecker') oder fickt, Essen kocht, bastelt oder einfach nur seine Ruhe haben will. 90% aller Anrufe lassen sich ja auch durch reines Aussitzen des Wecktones erledigen, weil der Anrufer, wenn die Mailbox oder der antiquierte Anrufbeantworter anspringt, nicht in der Lage ist, sein Anliegen zu formulieren und einfach auflegt.

Es geht auch nicht darum, die Zeit zurückzudrehen. Ich habe neben meinem privatem Mobiltelefon auch noch einen 'Blackberry', das ist ein sehr geiles Teil für die Arbeit. Wenn da jemand anruft klingelt es nicht, sondern es wird der Refrain von 'Innenarchitekten schmecken nach nassem Hund' von den Blutjungs gespielt. Und wenn eine E-Mail reinkommt, dann brummt es nur unaufdringlich.  Meine persönliche Neugierde lässt mich dann auch mal nachsehen, was so reingekommen ist, und es ist auch gut, wenn man gerade irgendwo auf einer Sanddüne steht, 3 Mails ungelesen zu löschen und in der 4. lustige Dinge zu erfahren, von denen die andern noch nichts wussten :-))) Wie geil ist das denn? Ich habe die Mail feierlich auf der Düne verlesen, und alle haben gesagt: Öuhä! (sinngemäß). Bis auf einen, aber der hatte seinen vorletzten Arbeitstag, da hat ihn das nicht mehr so tangiert...

Trotzdem bin ich der Meinung, daß das Telephon 'neu erfunden(*)' werden muss!
Gerade neulich habe ich einen Film gesehen, da klingelte ein W48, die Sekretärin nahm ab und sagte: 
"Herr Kommissar! Ferngespräch! Stuttgart!" (Der Film spielte in München). 
Nun gut. Wahrscheinlich ist meine (oder eine meiner) Triebfeder(n) die pure Altmännernostalgie. Waren wir doch damals die ersten im Haus, die Telephon hatten, ich erinnere mich noch heute daran (ich mag kaum älter als 4 oder 5 gewesen sein...), als die Männer von der Post kamen, Kabel an Türrahmen nagelten und Löcher durch (vielleicht sogar tragende) Wände bohrten. Und dann hatten wir Telephon (W48) und konnten alle anrufen!   Naja, zumindest die, die auch Telephon hatten... Also z.B. nicht die Ostzone. Das ging nur handvermittelt, und ausserdem hatten die ja meistens auch sowieso keins. Das war ja damals das höchste Gut, höher als ein Trabbi fast, in der DDR: Das Telephon! 
Später erlernte ich dann den Feldkabelbau und konnte mittels OB-Fernsprechern auch den entlegensten Ort der Lüneburger Heide in 700m Umkreis (Wir hatten nur sieben Trommeln Feldkabel) fernmündlich erschliessen. 
Jahre später habe ich dann sogar in meinem Job Gabelschaltungen zum Übergang von 4- auf 2-Drahtleitungen gelötet. Im Ausland. Gabelschaltung! Stichwort: Rückhördämpfung! Genau die Schaltung vom W48! Ich schwör!
(Und letzte Woche einem Araber den Unterschied zwischen 'Wechselstrom' und 'Drehstrom' erklärt. Und dem vollbekloppten amerikanischen Zweiphasensystem (2*115V = 230V). Er hat es wahrscheinlich nicht verstanden, aber er machte den Eindruck, es geglaubt zu haben! Auf alle Fälle tief beeindruckt von so viel Klugscheisse! (mööööp!) )

Und deswegen muss telephonieren wieder umständlicher werden! Milliarden unnützer Telefonate würden vermieden, die Energieeinsparung wäre immens! Das Klima würde aufatmen, wenn 8 Milliarden Deppen sich nicht immerzu gegenseitig anrufen würden, obwohl sie garnichts zu sagen haben.
(Höhö, auf diesen ökologischen Aspekt war ich vorher noch garnicht gekommen!)

Also wurde es Zeit, endlich das Bakuphon zu bauen. 

"Bitte entschuldigen Sie den langen Brief, ich hatte keine Zeit, einen kurzen zu schreiben" - Blaise Pascal: Lettres Provinciales 16
 (*) "Sich selbst neu erfinden" ist übrigens meiner unmassgeblichen persönlichen Meinung nach eine der strunzdümmsten Medienfloskeln der letzten Jahre, spielt in der gleichen Liga wie 'verorten' und 'Querdenker'...
"..neu erfinden..." war mir vor seiner medialen Inflation nur im Zusammenhang mit 'Das Rad.." geläufig, und das ist gewiss nichts Positives. So bleibt dann dem endgültig Unkreativen noch nicht einmal das allgemein als nützlich empfundene Rad, sondern nur er selbst: Ach, heute erfinde ich mich mal ganz neu: Ich bin klein blöder Wichser mehr, sondern ein dummer Stiesel! Und morgen dann ein bekloppter Depp! Heissa! Ich erfinde mich jeden Tag neu...

 

 

2.Nun aber zum Telephon

W48 ist einfach gesetzt. 

Der FeTAp611, den die meisten von uns eventuell noch kennen, ist zwar in der eBucht viel preiswerter, aber er zeigt schon die ersten Verfallserscheinungen... Gehäuse aus Thermo- anstatt Duroplast. In verschiedenen Farben erhältlich, und wenn einem die (zugegebermassen beschränkte) Farbpalette nicht zusagte, gab es da so Überzieher, wobei ich mich da nur an so einen FeTAp611-Überzug aus nachgemachtem Kunstbrokatimitat erinnere, den damals schon immer die Rentner gerne hatten und der damals schon für mich die Meßlatte für die Eigenschaft 'unansehnlich' gelegt hat.

Die Christel von der Pest!

Ich bin gar kein Telephon! Ich bin die Christel von der Post!
(FeTAp611 im Cordtarnkleid. Der Hörer wurde wahrscheinlich bereits getreu dem Motto 
"Wenn Scheisse, dann Scheisse mit Schwung!"
aus dem Fenster geworfen)

611er ist irgendwie Kacke.

Den W48 gab (und gibt) es in schwarz und in einer Sonderausführung in 'Weiss' oder 'Elfenbein'. Diese wurde speziell für schwule Arztpraxen, Anwälte oder andere Kapalken, die sich über die Farbe ihres Telephons von der 'breiten Masse' abheben wollten, hergestellt und gegen einen Aufpreis ( vulgo: "Deppensteuer") geliefert. Sehen heute meistens ziemlich verlebt aus, weil Bakelit nur in schwarz so richtig durabel ist und 50 Jahre ohne nennenswerte Veränderungen übersteht.

Ich hatte da ja auch irgendwann mal in einem Anfall von Tatendrang einen leidlich gut erhaltenen W48 erstanden, der seitdem in meinem Bastelschrank vor sich hin modert, oder besser ablagert und reift...

 


3.Die Aufgabe

war ja schon seit mindestens 5 Jahren klar: Die unzweideutige Optik und Akustik, von der Haptik und der Nachhaltigkeit ganz zu schweigen, eines Telephons mit einem unbestreitbarem Vorteil der modernen Zeit, der Drahtlosigkeit, zu verknüpfen. Da verschwindet das Kernargument der W48-Gegner erstmal vom Tisch. Ich bin doch nicht mehr aus Dumpfmannshausen! "Herr Kommissar! Ferngespräch! Stuttgart"... Von wegen! Auch auf meiner Lieblingssanddühne südlich von Riyadh kann man mich heutzutage auf meinem Telephon anrufen. 

Das wird ein reines Welttelephon!
Du kannst jeden Menschen auf der ganzen Welt anrufen, wenn du seine Telephonnummer über die Wählscheibe eingeben kannst.
Ist ja auch so eine Art Intelligenztest. Manch unangenehmes Telefonat wäre mir erspart geblieben, wenn ich nicht auf 'zurückrufen' gedrückt hätte... Oder eine Person aus meinem 'Telefonbuch' angerufen... 
Richtig spannend ist es ja auch, wenn die Nummer (vom Namen ganz zu schweigen...) des Anrufers(*) nicht angezeigt wird, sondern nur ein für alle Anrufer gleicher Klingelton den Wunsch eines Menschen signalisiert, mit mir zu sprechen. 

Aus an anderem Ort ausreichend dargelegten Gründen befanden sich 'einige' Siemens MC60 in meinem Besitz, nebst einer recht eingehenden Kenntnis deren Innenlebens & Verhaltens. 

Und der Endtest steht auch fest:
Von der Sanddüne bei Riyadh mit dem W48 meine Liebste anrufen. Da muss ein Film von gemacht werden!

(*)Die Verwendung des Maskulins an dieser Stelle ist, wenn auch nicht politisch, so doch historisch korrekt.

 

 

4. Die Zielsetzung

Ha ha! vielleicht bin ich im Grunde ja ein Künstler. Das wär' ja cool!
Durch die Rückbesinnung auf alte Werte den Menschen zu einem wenn nicht besserem, dann doch zumindest zu einem schöneren Leben zu verhelfen...

Das wär fast geil!
Es ist ja nicht so, dass ich nicht mindestens zehn andere Menschen kenne, die genausogut wie ich ein Bakuphon bauen können. Das ist ja kein Hexenwerk!
Aber sie tun es nicht!

Nichtsdestotrotz muss der philosophischen Vorrede mal ein Ende gemacht werden, denn während ich um diese Zeilen ringe und die metamodernen Aspekte des werdenden Werkes auszuloten versuche, habe ich in der harten Realität natürlich bereits mit der Umsetzung in dieselbe begonnen. 
Es gibt nichts Gutes, außer man macht es.

Als reines Bastelprojekt hat dieses natürlich eine andere Dimension. Ist es schlußendlich auch zweckfreie Bastelei, so ist doch die Ausgangslage grundlegend anders: Das Ziel ist zwar wieder mal nicht definiert, aber im Gegensatz zu meinen sonstigen Projekten immerhin weitgehend definierbar!
Also: 

  • Mein W48 wird mit einem MC60 gekoppelt und damit drahtlos.

  • Die Funktion des W48 bleibt vollständig erhalten. Er muss so laufen wie zu seiner Entstehungszeit, notfalls muss eine Emulation für die nötige Funktion sorgen. ( Aus meiner beruflichen Praxis sind mir leider Pfosten bekannt, die an dieser Stelle das Wort 'Funktionalitäterätätä' oder ähnlich benutzt hätten...)

  • Auch das Gehäuse! Es werden keine Originalteile (auch nicht des Innenlebens) beschädigt oder zerstört, zumindest nicht so, dass ich es nicht wieder zurückbauen kann. (Diese Maxime wird sich wenig später noch als Fluch erweisen...)

  • Im Internet gibt es etliche Projekte mit ähnlicher Zielsetzung, die jedoch allesamt irgendwo Kompromisse machen. Das muss beim Basteln nicht sein!

  • Ich könnte mir sogar vorstellen, Teile, die ich benötige und die nicht in meiner Bastelkiste vorrätig sind, zu KAUFEN! Ist ja ein Einzelstück, also Scheiß auf die Kosten, wir sind ja nicht im BWL-Labor hier...


 

5. Systemdesign

Jaja, es war auch wieder mal eine blöde Idee, diesen Bericht zu diesem späten Zeitpunkt zu versuchen. Wird ja eh' wieder nicht fertig aufgrund der Komplexität, auf die man allenthalben beim Basteln stößt...
Ich versuche es trotzdem.

W48 und MC60 sind also schonmal gesetzt. Dazwischen muss ein wenig Elektronik gefrunselt werden, die die beiden miteinander verheiratet. Kein Problem für mich. Folgende Funktionen müssen realisiert werden:

Auf der W48 Seite:

  • Den sog. Gabelumschalter auswerten (vulgo: Hörer abgenommen oder aufgelegt)

  • Den Nummernschalter (vulgo: Wählscheibe) auswerten

  • Den Wecker betätigen (vulgo: Klingeln)

  • Das gesprochene Wort durch die Sprechkapsel im Handapparat (vulgo: Hörer) aufnehmen

  • Das empfangene Wort durch die Hörkapsel im Handapparat wiedergeben.

  • Wähl- und Signalisierungstöne im Handapparat erzeugen

So viel ist das ja nicht... auf der Handyseite geht das ja auch:

  • Ein- und ausschalten das Teil

  • Anruf entgegennehmen

  • Gewählte Nummer anrufen

  • Ton vom Lautsprecher auf den Handapparat leiten

  • Ton vom Handapparat auf das Handy leiten

Und dann muss das ganze noch mit Strom versorgt werden:

  • Aus einem möglichst dicken Akku (wie bei jedem Händie)

  • Der einzige Bruch mit der Anmutung des W48 sei an dieser Stelle erlaubt: Dort, wo früher das "Telephonkabel" rauskam, kann ruhig eine Ladebuchse sitzen. Nirgendwo anders. Ein Kabel an dieser Stelle ist historisch durchaus zu akzeptieren, und wenn man den Stecker rausziehen kann und das Teil trotzdem weiterläuft, ist das auch modern. 

Gesetzt ist weiterhin die Lösung mit einem Controller und was Software... 
Nicht, dass ich das nachgerechnet hätte, aber eine Lösung des Problems mit konventionellen Logikbausteinen auf dem kleinen Raum scheidet aus. Zum einen des Platzes wegen, zum anderen weil der Entwurf, die Realisierung und  die Inbetriebnahme so einer Maschine mehr Zeit in Anspruch nehmen würde als mir zur Verfügung steht. Außerdem, was wäre damit gewonnen? Technik aus der Kreidezeit mit etwas Steinzeitbackbeermus aufhübschen? Nee. Im Händi ist ein fetter ARM-Prozessor drin, und einige DSPs. Da kann ich doch für das ganze Geklöter drumrum einen billigen ATMega8 nehmen. Hat nebenbei den Vorteil, dass ich mich mit dem auskenne, die Stromsparmodi beherrsche, die 'Toolchain' dafür habe und noch 8 Stück davon rumliegen.
Ein inneres Gefühl sagte mir, dass dieser Controller für die Aufgabe angemessen wäre. Und billig! Nur so ein Gefühl, aber irgendwo muss man ja anfangen. 

Und obendrein muss der ganze Quargel in das W48-Gehäuse passen. Ein Händi nebst Ruf- und Signalmaschine und Ortsbatterie! (http://de.wikipedia.org/wiki/Ortsbatterie)

Deswegen habe ich das auch, bevor ich auch nur einen einzigen Draht lötete, erstmal die Mechanik geklärt.


 

6. Physical laws have to be obeyed!

Oder: Am Bahnübergang hat der Zug Vorfahrt. 

Also erstmal aufgemacht, den Schrott:

W48 innen

Und alles raus, was nicht gebraucht wird

W48 leer

Da kann man dann gleich mal ne Schablone für die Platine aus Pappe zurechtschneiden. Dann die Platine zurechtschneiden

W48 Mechanik 1

 und gleich anpassen:

W48 mit Lochrasterplatte

Das Händy und der Akku kommen auf eine Empore:

W48 Innenleben

Das ist ein mechanisch nicht unkompliziertes Teil,

Winkel

wenn man das mit Blechschere und Knabberzange aus dem Vollwinkelblech drechseln muss!
Obendrauf noch eine Platte aus Pertinax, und ein paar Distanzröhrchen vom Alurohr abgesägt

W48 Innenleben

Und Zwack!

W48 Innenleben

Mit ein paar Klettbändern von IKEA

W48 Innenleben

Passt, Herr Baurat!

Sind alle Sachen sicher verstaut, dann kann man mit der Verkabelung beginnen. 

Wie der blaue Klotz ins Bild kam, lest ihr im Kapitel über die Bimmel...
Die Abmessungen der Platine wurden folgendermaßen bestimmt: So groß wie reinpasst.
Das ist ein gutes Konzept, wenn man sich über die Elektronik noch nicht so ganz im klaren ist. 
Später, wenn vom Bakuphon dann 1000er Stückzahlen aufgelegt werden, lohnt es sich ganz sicher, noch über das Einsparen von Bauteilen, Platinenplatz und ein paar Schräubchen nachzudenken. An diesem Punkt ganz sicher nicht. Viel mehr lohnt es sich, darüber nachzudenken, ob da noch ein blauer Klotz reinpassen muss...

Ach ja, vergaß ich ganz zu erwähnen: Oberstes physikalisches Gesetz ist natürlich, daß der Deckel auch noch draufpasst und sich Glockenschwengel und Wählscheibe frei bewegen können!

 


7. Die Mobilstation

Also, äh, das Händie... Mobilstation (MS) wird es im Fachjargon genannt. (Nicht zu verwechseln mit einer fiesen Krankheit oder dem Motorschiff Franziska!).. muss ja auch angeschlossen werden.

(Dem aufmerksamen Leser wird nicht entgangen sein, dass im letzten Bild des Kapitels 6. Physical laws have to be obeyed! bereits ein Kabelbaum am MC60 angeflanscht ist. Da wird sich der Bastler wohl schon vorher was gedacht haben...)
Ja,  hat er. Und sogar ausprobiert! 
Über die Funktionsweise der seriellen Schnittstelle des MC60 brauchte ich mir keine Gedanken zu machen, denn sie war mir schon vorher bekannt. Deswegen wusste ich auch, dass ich alle benötigten Funktionen darüber steuern kann, und nicht wie manche Deppen es tun, jeden einzelnen Taster des Telefons durch einen softwaregesteuerten Analogschalter betätigen muss. 
Nur eine einzige Taste muss durch die Software betätigt werden können: Die Einschalttaste. Dazu ist die Analogschaltervariante mit einem CD4066 richtig gut geeignet, und sie funktioniert nicht nur bis 15V hinauf, sondern sogar bis 3.6V hinab! 
Nach dem Einschalten wäre dann die PIN einzugeben, das geht aber bereits über die serielle Schnittstelle, dazu braucht man keine weiteren Tasten. 

Aber wie Kacke wäre das denn??? Ein W48, bei dem man zuerst eine PIN eingeben (vulgo: 'wählen') muss, bevor man jemanden anrufen kann oder überhaupt angerufen werden kann.  
Zum einen ginge das nur über die Wählscheibe und würde die Bedienung unendlich verkomplizieren, zum anderen konnte man mit dem originalen W48 (Sehr zum Leidwesen mancher Scheffs...) damals von einem vorschriftsmässig in Betrieb genommenen W48 jederzeit überall in der Welt anrufen.  Als direkte Folge davon wurde dann der Einzelverbindungsnachweis erfunden... 

Also wird auf dem SIM (Der Deutsche sagt gerne: 'Auf der SIM-Karte') die PIN deaktiviert, und schon langt die Betätigung der Einschalttaste zum Einschalten.
Pustekuchen! Die Siemens-Ingenieure haben weiter gedacht: Wenn man also doof ist, und die PIN-Eingabe deaktiviert, dann ist man sicher ein Bussinesskasper und fliegt viel im Flugzeug, und wenn man dann in seiner grenzenlosen Doofheit auf den Einschaltknopf drückt, dann wird -ZACK- eine Mobilfunkverbindung hergestellt, oder zumindest sendet die Mist-MS dann erstmal fröhlich (Mennowin!) in der Gegend herum, und alle Bordelektronik wird gestört und das Flugzeug stürzt ab und alle müssen sterben!
Jawoll! Deswegen erscheint beim MC60 nach dem Einschalten, wenn die PIN deaktiviert ist, die Meldung: "Flugzeugsicherung"
"Zum Einschalten bitte bestätigen"

 Und das lässt sich nicht über die serielle Schnittstelle be(s)tätigen. Also muss ein zweiter Tastensteuerschalter angebaut werden. Verdammte Verschwendung! 

Bleibt das Audiointerface: Auf dem Schnittstellenstecker des MC60 sind Leitungen für Audio Out und Mic In herausgeführt, die funktionieren aber nur im "Freisprecheinrichtungsmodus", dazu muss man da irgendwelche Widerstände zwischen Leitungen hängen, die normalerweise nichts miteinander zu tun haben, und dann geht die serielle Schnittstelle nicht mehr.  Ist Kacke. Es waren wohl nicht mehr Pins frei. Wenn man eh' schon an dem Teil rumlötet, kann man auch an den Lautsprecher und das Mikrofon direkt gehen. Das ist wenigstens definiert. Stromversorgung (Das ist ein eigenes Kapitel!) noch dazu, und prompt sind alle nötigen Anschlüsse definiert und auf einen DIL-16-Stecker gelötet.


 

8. Die Bimmel

Oder: Wie der blaue Klotz ins Bild kam.

Das hervorstechende Merkmal eines W48 ist die Bimmel. Deswegen gibt es ja auch W48.wav als Klingelton. Und in der Tat, einige Leute, die Händies in alte Telephone einbauen, spielen dann beim Anruf das MP3 ab. Wie Scheisse ist das denn? Geht ja garnicht! Oder einer hat mal den Vibrationsmotor vom Händi an den Klöppel geklebt, und meint, das klingt wie echt. 
Der Wecker muss mit 60 Volt Wechselstrom versorgt werden!  Mit 25 Hz. Nur dann klingt er am besten, weil er dafür gebaut ist. Also muss man nicht knausern, und 60V Wechselstrom machen. Im Internet kursiert da irgendwo eine abstruse Bauanleitung, in der man mit bis zum Tode geschundenen Bauteilen die Spannung von 3,6-4,2V auf 60V hochzublasen, und dann mit einer Hochspannungs-H-Brücke da Wackelsaft draus machen. 
Cool! Was für ein Glück, das ich noch die gute, alte Elektrotechnik gelernt habe, die ist bei 60V und 25Hz zuständig. Das Zauberwort heisst: Transformator! 

Und der Weckton ist ein Weckton! Zwei Glocken von einem elektromagnetisch angetriebenem Klöppel geschlagen! 

W48.wav live!

Das ist ja auch so eine Geschichte, wie mit diesem Problem umgegangen wird. Die Einen Spielen w48.wav vom eingebautem Handy ab, die Anderen (Achtung:) binden sogar den Vibrationsmotor vom Telefon auf die Klöppelstange, und da dengelt das dann so hin und her. Bimmelimm. Eine elektronische Lösung macht aus der niedrigen Betriebsspannung mit einem Billigschaltregler wackelige 60V, um dann per H-Brücke daraus so richtig Saft auf die Glocke zu geben. Sicher keine so schlechte Idee, aber über den Stepup müsste man nochmal nachdenken. Auf der anderen Seite muss man sich das Leben ja nicht unnötig kompliziert machen. Es muss ja nicht immer um minimal part count oder minimal part weight oder gar minimal price gehen. 
Bei part count bin ich ja König, bei size nicht und bei Preis weis nicht.
Dafür ist meine Schaltung aber leicht verständlich und funktioniert nachweisbar. 
BRRRRRRRRRRIIIIIIIIIIIIIIIIIINNNNNNNNNGGGGGG...........

Äh.. hier noch der Link zu der verkackten Lösung mit der H-Brücke:
<##### LINK EINFÜGEN #####>
Ist im Grunde keine schlechte Idee, wenn man es hochintegriert machen will. Aber den armen alten MC34063 derart an den Rand seiner Spezifikationen zu quälen, dann noch eine H-Brücke per Software anzutreiben, und ohne um Eisen gewickelte Kupferdrähte (die viel engeren Anforderungen genügen müssen...) geht das ja auch nicht... Ich sag' mal so: eine Scheisslösung für Leute, die nicht über ihren Tellerrand denken können.
Viel einfacher und besser ist die Bakuphonlösung:

Ein reiner, schöner Gegentaktwandler auf der Zielfrequenz. Bei 25Hz spielen die Schaltverluste auch keine Rolle, und der steuernde Prozessor kann das genau genug in der ISR abarbeiten (OK, das ist ein Softwarethema, dat kriegn mer später...). Kein Spulenwickeln, keine Snubbernetzwerke, keine Wärmeentwicklung, kein Bauteil ist an irgendwelchen Grenzen. Und Platz genug ist auch für den blauen Klotz. Und fast kein Hühnerfutter ist zu verlöten, außer den beiden Transistoren. 


  Bimmelinterface

Für die Laien unter uns: (Lieber für die Laien als von der Leyen...)  TR1 ist der blaue Klotz, C4 macht mit TR1 und der Bimmel (Fachdeutsch: Wecker an J3-1 und J3-2) einen Resonanzkreis auf eher niederem Frequenzniveau. Ich mein, mit diesen Frequentzen (sic!) braucht man im Esoterikzirkel garnicht erst anzutanzen, aber es bimmelt!  Q2 und Q3 schicken abwechselnd Strom aus der Händibatterie (VCC) durch die gegensinnig aufgebrachten Spulen in TR1. R6 und R7 sind dazu da, die Transistoren zu sperren, wenn der Prozessor (hier leider nicht im Bild, den muss man sich links von R2 und R3 vorstellen) noch nicht so recht initialisiert ist und seine Ports floaten lässt. Dann ziehen sie die Gates auf Masse und es fließt kein Strom. Überhaupt kein Strom, zumindest kein mit meinen Mitteln messbarer. R2 und R3 begrenzen beim Durchschalten den Strom in die Gatekapazitäten ein wenig, man hätte genau so gut 50 oder 100 Ohm nehmen können. Oder sie auch weglassen. Aber wo anders als in so einer Schaltung kann man noch 75Ohm MELF-Widerstände verlöten, und schaden kanns ja auch nicht bei der unverschämt hohen Frequenz dieses Spannungswandlers...

Ich habe die Frequenz dann noch auf 35Hz gepimpt, dann klingelt der Wecker erst so richtig W48 mässig. Liegt vielleicht an den heutigen Hörgewohnheiten und MP3...

Das ganze habe ich probehalber mal fliegend aufgebaut und vor der ersten Zeile Software mit dem Pulsator angetrieben, der hier mal wieder ausgesprochen nützlich war und die Zeit für eine Designentscheidung (ach, was sage ich, für eine Architekturentscheidung!) auf knapp einen halben Bastelabend reduzierte. 

So stand der Schaltungsteil schonmal, bevor die erste Zeile Software geschrieben wurde. Mein Gefühl und meine Erfahrung sagten mir aber, daß die Software kein Problem ist, und der ATMega das mit links macht und nebenbei noch Zeit für ganz andere Sachen hat...


 

9. Mehr Schnittstellen

Zunächst mal der Gabelumschalter. 
Der Gabelumschalter (UI im Bild) ist ein Umschalter, der von der Gabel, auf der der Telephonhörer (aka Handapparat) liegt und den Ruhezustand des Telephons signalisiert. Dieser ist zum Glück sehr einfach an den Controller anzuschließen, ein Pullup-Widerstand und fertig ist die Laube. 
Nun, fast. Man muß einen Portpin nehmen, der einen Interrupt auch aus dem Tiefschlafmodus auslösen kann, aber dazu kommen wir erst viel später, wenn es um den Stromverbrauch geht, und er sollte natürlich erst beim Abnehmen des Hörers schalten, damit in der überwiegenden Ruhezeit kein Strom verbraucht wird. Ein levelgetriggerter Interrupt ist zwingend nötig, denn nur dieser kann den Professor aus dem Tiefschlaf wecken. Die Softwarepopelei ist nicht ganz so trivial, wie wir später noch merken werden.

Der 'Nummernschalter' (vulgo: die Wählscheibe) ist da schon etwas anspruchsvoller. Hat 3 Kontakte, die im Amtsdeutsch nsr, nsa und nsi heissen, das bedeutet 'Nummernschalter Arbeitskontakt',  'Nummernschalter Ruhekontakt' und 'Nummernschalter Impulskontakt'.  Auch diese führt man einfach auf Portpins, denn um Entprellung und sonstiges Gedöns hat sich im Jahre 2011 gefälligst eine halbwegs intelligente Software zu kümmern.
(ACH! Ich will an dieser Stelle nicht lange darüber klagen, wie schwer es sich junge Menschen oft mit der Entprellung von mechanischen Kontakten tun... Dabei ist das so pipieiereinfach, wenn man einen Controller mit Software und Timern hat, da muß man nichts machen außer den Portpin vor elektrischer Beschädigung von außen zu schützen.)
Der nsa schließt, sobald die Wählscheibe gedreht wird, und öffnet wieder, wenn sie an den Endanschlag abgelaufen ist. Der nsr macht es gerade andersrum. Der nsi klackert beim Ablaufen der Wählscheibe entsprechend der gewählten Nummer. (In Wirklichkeit klackert er 2 mal mehr, aber da kommt der nsr ins Spiel und verkompliziert das ganze...). Um den Stromverbrauch im Ruhezustand zu minimieren, schaltet erst der nsa den einen Fuß vom nsi an Masse, so wird kein einzig Mikroamperechen im Ruhezustand verbraten.

Dann haben wir da noch das Schauzeichen. Das ist so ein kleines, rundes Ding (leider nicht im Schaltplan) unterhalb der Wählscheibe,  das ein weißes Propellerchen hinter einem schwarzen Propellerchen hervordreht, wenn man (etwas) Strom durchschickt. Im Original wird damit irgendwas angezeigt (ich glaube, daß ein anderer Teilnehmer am gleichen Anschluß die Leitung belegt hat oder so...), und ich kann es prima nutzen, um die doch sehr spärlichen Benutzerinteraktionsmöglichkeiten (wow!) des W48 etwas zu erweitern.
Nun hat nicht jeder W48 so ein Schauzeichen, aber das ist mir egal, ich baue ja nur ein Bakuphon...
Das Interface ist ganz einfach: man schickt da einfach so was bei 3mA durch, dann wird das Propellerchen weiß. Nimmt man den Strom wieder weg, wird es wieder schwarz. Voll simpel: Ein Portpin, ein Vorwiderstand und feddich!

Die ganzen Telephoninternen Verkabeleien gehen über hübsche Steckverbinder auf die Platine, so daß man sie sogar einfach lösen kann, wenn man mal wieder basteln muß...

Der 'Handapparat' (vulgo: Telephonhörer) ist ein Kapitel für sich, eine Geschichte mit Irrungen und Wirrungen...

 

10. Der gute Ton

Beim Hörer tun viele Telephonumbauer der alten Technik gerne Gewalt an, und das sollte ja auf jeden Fall vermieden werden.

Im Falle des 'Mikrofons' (Sprechkapsel) war es ganz einfach: Im MC60 sitzt eine Elektretkapsel, die mit einem Strom versorgt wird und diesem das Audiosignal aufprägt. Im klassischen W48 sitzt eine Kohlemikrofonkapsel, die mit einem Strom versorgt wird und diesem das Audiosignal aufprägt.
... da läge es doch nahe... zunächst mal einen Versuch zu machen und siehe da: Einfach die Sprechkapsel anstatt des Originalmikrofons anschließen, ein kleines Trimmpoti in Reihe um die infernalische Lautstärke zu drosseln und fertig. Klingt zwar Scheiße, aber dafür echt wie altes Telephon!

Beim Hörer war es dann schon blöder. Die Hörkapsel direkt ans Telefon geklemmt geht so einigermaßen, wenn man die Lautstärke voll aufreißt. Kein Wunder, der Originallautsprecher hat 32 Ohm, die Hörkapsel an die 600. Um aus den wenigen Völtchen eines Handyakkus reichlich Lautstärke rauszuholen, wird das Teil auch im Gegentakt mit 2 Endstufen getrieben. Wem das hier zu technisch wird... : Die Folge ist, daß keiner der Pole an Masse liegen darf. Soweit würde das aber funktionieren, wenn nicht...
Die Originaltreue es verlangte, daß im Hörer z.B. nach dem Abnehmen, beim Wählen und wenn besetzt ist  auch die originalen Töne erklängen. Die Töne lassen sich zwar 'leicht' (siehe später) mit dem Prozessor erzeugen, aber sie müssen ja auch auf den Hörer gelegt werden. Dazu muß dieser vom Telefon getrennt werden und an den Prozessor geschaltet. Und zwar mit beiden Polen natürlich. 
Nachdem ich schon für die Tasten einen Analogschalter aus dem Bastelkastel benutzt hatte, versuchte ich zunächst, die Umschaltung auch damit zu machen. Aber, ach und weh! Es war viel zu leise. Die dorigen Analogschalter haben einen ziemlich hohen Widerstand, wenn sie eingeschaltet sind, so um und bei 120 Ohm. Und das mal 2 macht als Ergebnis: Viel zu leise! Und auch andere Typen hätten da bei dieser niedrigen Spannung kaum Abhilfe geschaffen, jedes Ohm ist zuviel! 

Ein Verstärker muß her, und so kaufte(!) ich einen, der bei den niedrigen Spannungen wohl den maximal möglichen Dampf machen sollte (und nebenbei abschaltbar sein sollte, um in Ruhe den Akku nicht leerzulutschen): LM4861.
Dann langen auch die übrigen Analogschalter von der Tastenansteuerung und alles wird gut (und laut!). Aber Pustekuchen. Es gelang mir nur einen astreinen Empfänger für die pösen Händistrahlen zu bauen. Ihr kennt alle das Geräusch, wenn man ein Mobiltelefon auf eine Lautsprecherbox o.ä. legt: "Knäck Kneckeräckäckck Bröööööööö....". Ich habe es nicht wegbekommen. Am Ende war ich so verzweifelt, den Ausgang des Telefons mit einem Übertrager von symmetrisch auf asymmetrisch zu wandeln (Ganze Berge von Kondensatoren und Ferritperlen hatte ich schon verbaut, nebst etlichen Änderungen der Masseführung!), aber da war dann irgendwo Sense, das sollte ja irgendwo auch ein wenig simpel sein. 
Also alles rausgerissen und ein TÄTERÄTÄÄ! Relais! gekauft! 

Dem Inschenör ist nichts zu schwör!
Und wenn er nicht mehr weiter weiß, dann greift er zum Relais!

Es gib da ja, dank der modernen Technik, schon ganz winzig niedlich kleine, die 2 Umschalter drin haben und bei 3-4 Volt mit durchaus erträglichen Strömen zu schalten sind. OK, musste ich auch wieder kaufen (bäh!).
8 Stück für 6,50 € im Sofortkauf bei iBäh. Na, wer weiß, wozu die anderen 7 nochmal gut sind...
Damit ging es dann sofort. Ein Transistörchen zum Treiben fand sich auch noch und es war (fast) gut. Die 30mA, die das Teil schluckt, werden ja nur gebraucht, während irgendwelche Töne vom Professor abgespielt werden, und das ist nicht SO lange. Fällt in der Gesamtbilanz kaum auf. Und der Schaltplan (-auszug des Tonteils) wirkt auch wieder sehr aufgeräumt:

R4 und C5 sind übrigens der Tiefpass, der aus dem PWM-Signal aus dem Prozessor (fast) hübsche Sinüsse macht. So war es also fast gut, außer, daß es noch zu leise war. Mir persönlich. Weil ich ja bekanntermaßen einen Hörschaden habe. Also, es ging so, wenn man die Lautstärke voll aufriss (diese Aufgabe übertrug ich der Software, weil die Knöpfe so schlecht zu erreichen sind, wenn das Telefon im Telephon eingebaut ist und das BLÖDE MC60 die Lautstärke nach jedem Einschalten automatisch auf 'mittel' stellt... (Es werden noch mehr Stellen folgen, an denen ich die öffentliche Kreuzigung von Siemens-Telefonsoftwareentwicklern oder besser -designern fordern werde!)).
Ich kaufte (ömpf!) deswegen noch eine hörbehindertengerechte Hörkapsel Gruppe IV/rot, die speziell für solche wie mich damals hergestellt wurde. 
Und so kam das Bakuphon zum Sprechen und Hören (und Tuten, aber dazu später)


11. Dem Stromm!

Ohne dem Stromm läuft nich gebastelte Maschinegerät!

Oh je, das ist ein komplexes Thema, und ich sollte mich beeilen, das hier schnell abzuhandeln, damit ich diese Webseite ziemlich zeitgleich mit dem Bakuphon fertig habe, deswegen dauert der ganze Scheiß hier ja auch so lange. Ein Telephon braucht Strom, ein Mobiltelephon Mobilstrom. Das war schon damals bei den OB- und ZB-Fernsprechern der Unterschied. Ein ZB-Fernsprecher wird aus einer Zentral-Batterie  versorgt, ein OB-Fernsprecher aus einer reinen Induktionskurbel und einer Ordentlichen Batterie, deswegen die Namen. Fälschlicherweise wird oft OB als 'Orts-Batterie' gedeutet, aber das wäre ja blöd, wenn man eine Ortsbatterie nur an einem Ort hätte, denn dann wäre sie eine ziemliche Immobilie. 

Möge die Energie mit dir sein, Fernkommunizierender!

Ein Funkmobiltelephon braucht eine eigene Stromquelle. Die Amerikaner und Engländer hatten im Krieg so eine Art Handfahrrad. Da konnte ein Mann sich draufsetzen und mit den Händen einen Generator drehen, so wie früher bei diesen alten schwarzen Rollstühlen. Und wenn er kräftig genug kurbelte, dann erzeugte er den Strom für das Mobilfunkgerät seiner Einheit. Und da kam keiner auf die Idee, mal schnell nachhause zu telephonieren. 'Gebt uns neue Anweisungen!' oder 'Holt uns hier raus!' wäre schon Botschaft genug, sofern man denn eine Antwort kriegt. Und außerdem sieht das Scheiße aus!

Solarenergie! Wenn die Sonne verlischt und die Menschheit seit 100 Tagen kein Licht mehr gesehen hat, dann ist eine Solartaschenlampe keine große Freude. Das Bakuphon soll optional auch in meinem Rucksack klingen können, wenn ich angerufen werde.  Steck dir dein Bakuphon dahin, wo die Sonne nie scheint! In den Rucksack. Solarenergie scheidet aus.
Und wie Scheiße sähe ein W48 mit Solarpaneln aus?

Ein Generator, von einem kleinen Verbrennungsmotor angetrieben... Mit Seilzugstarter im W48 eingebaut, das hätte natürlich was. Doof nur, daß das Teil immer im Leerlauf pöttern muß, wenn man angerufen werden will... "Ha! Da kommt wieder der Baku mit seinem Mobiltelephon und verpestet uns die ganze Bude!" werden die Leute sagen. Und der HVV wird neben dem Rauchen und dem Alkohol trinken auch den Betrieb von zerknalltreiblingsbetriebenen Telekommunikationsgeräten in ihren Beförderungsbedingungen bei Strafe ausdrücklich untersagen.

Dem Kalmring sein Enkel schlug neulich vor, da, wo früher das Telephonkabel und jetzt das Ladekabel abgeht, einfach eine Netzschnur mit einem Schuko-Stecker aus schwarzem Bakelit. Und wenn man telephonieren will, dann muß man das einfach nur in die Steckdose stecken. Auch nur semimobil. 

Ohne Akku geht das also nicht. 
Ich selbst hatte mir in jungen Jahren mal ein ROV ausgedacht, das sollte mit Akkus fahren, und wenn die Akkus langsam leer werden, einen sicheren Ort anlaufen und dort den kleinen Zweitaktgenerator auf seinem Heck starten, um die Akkus wieder aufzuladen. JA, das ist das Lied der Speichertechnologie. 
Da wären wir wieder beim Thema. In der Chemie liegt die Kraft!
Und ein Akkuladegerät ist keine einfache Sache, ich schwör! 
Hat sich Händi aber schon drin. Kaufste kleine bissche grössere Akku und gut is. 
Auch bei der Versorgung im Testbetrieb hat sich gezeigt: Akkus sind echt geil! Sie sparen 10000uF Entkoppelkapazität. Die hätte ich in das W48-Gehäuse auch garnicht reingekriegt. 
Ein 1800mAh LiIon-Akku (auch schon wieder gekauft, aber hier geht Sicherheit vor) wird von der eingebauten Ladeschaltung des Telefons einwandfrei beackert, und hat Über- und Tiefentladungsschutz gleich mit eingebaut. 

Wichtig ist, daß das ganze W48-Gedrösel samt Mikroprozessor nicht so viel Strom aufnimmt, daß es die Standby-Zeit nennenswert verkürzt. Das muß man beim Entwurf der Schaltung und vor allem der Software berücksichtigen. Dazu vielleicht später mehr... 

 

 

12. Der Professor

Hat viel zu tun! Dabei hilft ihm die weiche Ware, doch dazu später.
Zuerst ist mal zu klären, wie er überhaupt betrieben werden soll. Er soll ja keinen Strom verbrauchen, wenn es nicht Not tut, dazu kann man den ATMega in verschiedene Schlafmodi versetzen, in denen er am Ende (wenn man alles richtig macht...) nur noch ein paar Mikroamperechen verbraucht, viel weniger als das dorige Händi, selbst wenn es ausgeschaltet ist. Für die Tiefschlafmodi scheidet aber ein normaler Quarzoszillator schon mal aus, denn der verbraucht viel Strom und lässt sich zwar softwaremässig abschalten, aber danach kann man ihn nur noch mit einem Tritt wieder zum Leben erwecken. Deswegen läuft der Prozessor mit dem internen Takt, der lässt sich prima an- und abschalten.
Das doofe daran ist: die Frequenz ist ungenau und von allem möglichen (Temperatur, Spannung, Gezeiten, Aszendent...) abhängig. Zu abhängig und zu ungenau, um damit die serielle Schnittstelle des Händi sicher anzusprechen. Geht also nicht!
Nun ist es aber gut, wenn man in der Großen Bastelkiste nicht nur Teile aus alten Projekten rumliegen hat, sondern auch Problemlösungen!
Man kann einen 32kHz-Uhrenquarz an den Oszillator des ATMega anschliessen, und dieser verbraucht nur einen ganz winzigen Strom. Natürlich sind 32kHz als Taktfrequenz 'etwas' wenig für die ganzen Aufgaben, die abgearbeitet werden müssen, aber der interne Takt lässt sich softwaremässig abgleichen (Stichwort: OSCCAL), und wenn man nun den internen Takt gelegentlich mit dem Uhrenquarz abgleicht, dann ist das genau genug. Nebenbei erhält man noch die Möglichkeit, durch den Uhrenquarz gesteuert gelegentlich nach einer gewissen Zeit aus dem Tiefschlaf aufzuwachen, um nach dem Rechten zu sehen. Feine Sache das, und in einem anderen Projekt schon erprobt.

 

 

13. Das Gelöt

So! In einem multiplen, ach was sage ich, holistischen Ansatz geklöppelt, gelötet und gepopelt, alle Irrungen und Wirrungen abgelötet oder gelöscht, war am Ende das Gelöt soweit:

Soweit bedeutet in etwa: Es sind keine größeren Änderungen mehr zu erwarten, außer es stellt sich heraus, daß noch etwas geändert werden muß.

Und Platz ist auch noch genug, vor allem unten, wenn man sich die ganzen Drähtchen mal wegdenkt.

Als das Gelöt soweit fertig war, war natürlich auch schon die weiche Ware. 
(Der treue Watz kritisierte diesen Satz: "Was war sie denn?". Ich antwortete darauf: "Sie war schon am sein tun, so am rumexistieren!")
Da das Ganze hier aber irgendeine lineare Ordnung haben muß (wovon die Realität natürlich gerne meilenweit entfernt ist), kommt jetzt, hier, an dieser Stelle -TRARA!- der Schaltplan:

Bakuphonschaltplan

 

 

 

14. Die weiche Ware

Hat noch mehr zu tun!
Also, daß sie in C geschrieben wird ist klar, für Assembler fehlt mir die Zeit. Und die Lust. Und vor allem die Notwendigkeit. Vermeintlich böse Zungen behaupten ja gerne (während sie die vermeintlichen Vorzüge ihrer noch viel höheren Programmiersprachen preisen...), daß C ein etwas besserer Makroassembler sei, aber dann ist das ja auch genau das richtige Mittel, um dieses Problem zu lösen. Schreibt sich so schnell wie eine 'Hoch'sprache und erzeugt so kompakten und schnellen Code wie ein Assembler. (Zu diesem Thema später noch ein Exkurs...)

Erste Aufgabe war die Lösung eines kleinen Problems: Normalerweise hänge ich gerne eine serielle Schnittstelle an den Prozessor, eine große Hilfe beim Debuggen wenn man kein ItziBitzi-Debuginterface hat. 
Nun wird der UART des ATMega, und dieser hat leider nur einen davon, schon für die Steuerung des Mobiltelefons gebraucht. Deswegen mußte ein Soft-UART her. Gibt es als Beispiel schon reichlich im Netz, aber eine kurze Prüfung ergab, daß die alle irgendwie komisch waren und einen Timer oder interruptfähige Pins für sich ganz alleine haben wollen. Also wieder selberbasteln, zum Glück haut man sowas locker an einem Abend runter, inklusive Debuggen, wenn man weiß, was man tut. Und dann habe ich das für zukünftige Projekte gleich mal in der Bastelkiste liegen...
Vorher mußte natürlich die Oszillatorkalibration mit dem Uhrenquarz transplantiert werden. 

Dann wurden verschiedene Maschinen gebaut:

- Die Initialisierung, die erstmal alle Hardware richtig programmiert und, das darf nicht unterschätzt werden, erstmal feststellt, was Phase ist. Ein Reset sollte nämlich jederzeit passieren können, und danach soll der Vogel IMMER einwandfrei laufen.

- Die Hauptschleife, die bei jedem Ereignis angetreten wird und sich um alles kümmert. Darüber hinaus von einem Timer alle 5ms, um sich um die Dinge zu kümmern, die sich nicht von alleine melden.

- Die Bimmelmaschine (siehe Kapitel 8), die bei Bedarf die Transistoren für die Bimmel antreibt, und auch darauf achtet, daß die Bimmel in den amtlichen Abständen ein- und ausgeschaltet wird.

- Die Signalmaschine (Bei der echten Post heißt das RSM (Ruf- und Signalmaschine), aber das mit dem Ruf macht ja schon die Bimmelmaschine...), die die 'Hörtöne' erzeugt, also das Tuten. Siehe dazu Kapitel 59.  Und meinen ersten eigenen DDS-Generator mit PWM-Ausgang habe ich somit auch für später mal. Ganz hübsch ist eigentlich, daß die PWM-Ausgabe, die Tonerzeugung UND der Soft-UART alle mit dem gleichen Timer laufen. Voll ressourcenschonend. So viele Timer habe ich ja auch garnicht, da muß man schon etwas haushalten...

- Die Gabel und Wählmaschine (siehe dazu Kapitel 60). Also der 'Treiber' für die Mechanik des W48. Hängt am 5ms Timer und macht damit jedes weitere Entprellen überflüssig. 

- Die Händimaschine: Befehle senden und Antworten empfangen. Und was tun, wenn z.B. jemand anruft. 

- Die Zustandsmaschine. All die ganzen Dinge, die so von draußen und drinnen und vom Händi kommen, so zu verwursten, daß das ganze funktioniert. Naturgemäß der schwierigste Teil.

- Die Schlafmaschine. Auch nicht einfach, und arbeitet eng mit der Zustandsmaschine zusammen. Immer alles abschalten, was gerade nicht gebraucht wird. 

Alles das muß in 8kB Programmspeicher passen.  1kB RAM und 512 Byte EEPROM müssen auch reichen.
Und siehe, es reicht: 
Derzeitige Programmgröße (21.8.2012, Version 1.1, die erste für den Feldtest freigegebene): 7786 Byte. 
Inklusive des Soft-UART und der ganzen Debugausgaben. Wenn es eng geworden wäre, hätte ich da abspecken können, zunächst den Klartext durch kryptische Mnemonics ersetzen und letztlich den Soft-UART ganz rausnehmen und auch noch die Sinustabelle von 256 auf 64 Byte verknappen können. Tat aber nicht Not. 

Philosophischer Exkurs aus gegebenem Anlass:
Und 4MHz Takt reichen auch, und Debugging über eine serielle Schnittstelle. Die bislang investierte Arbeitszeit werde ich nie berechnen können, weil immer mal abends in der Woche, oft blau. Es wurde keine Library verwendet. Und auch kein printf. Obwohl man beim GCC beim Linken explizit ausschliessen kann, daß für printf auch alle floating-point-libraries geladen werden, habe ich kein printf verwendet. Es ist zwar oft bequem, kostet aber auch viel, weil es alles mitbringt, um jeden Scheiß, den ich mir ausdenke wohlformatiert auf die Konsole zu bringen. Tut nicht Not.
Not tut es hingegen, sich über seine Datentypen im klaren zu sein. 
Heute gemeinsam mit einem Datenbankexperten über eine type-cast-exception in einem Java-Programm gelacht. Freizeitprogrammierer! Sollten lieber perl machen!

Wie haben die Vietnamesen damals gestaunt, als ich bei der WCU aus allen int uint8_t gemacht habe, bis auf einige, die habe ich uint16_t gemacht, und auf einmal das RAM reichte. 
Ein GOTT war ich für sie, als ich die Optimierung des Compilers einschaltete, damit das Programm auch ins Flash passen würde, und sie mir dann tausendschlau verkündeten, das hätten sie auch schon probiert, dann würde das auch passen, aber danach liefe es nicht mehr, weil das ganze Zeitverhalten völlig anders wäre. Mit diesem guten Hinweis habe ich dann ein 'volatile' vor den Zähler, der in der selbstgeschriebenen delay()-Funktion in einer Leerschleife dekrementiert wird, geschrieben. Dann optimiert der Compiler das nicht mehr weg, weil er weiß, daß das Ding auch von anderen Stellen im Programm benutzt werden kann, von denen so ein dummer Compiler garnichts weiss. 
"Computer machen nur, was du ihnen sagst". Da haben sie gestaunt!
Und: "Viele Köche verderben den Brei!". "Many cooks will devastate the porridge!". Das kam irgendwie nicht so rüber, mein Erfolgsrezept. 

Macht ihr mal eure Java-Geschichten unter Tomcat auf den fetten Blades, legt zur Not noch ein paar Gigabyte Hauptspeicher nach. Wenn mein Computer mich ärgert, dann kann ich ihm alle 28 Beinchen einzeln abknicken und bekomme für 1,85€ einen neuen, ach Quatsch, ich hab ja noch 7 davon im Bastelkasten! Höhö! Heute lief eines meiner Open-Source-Megamörder-Softwarepakete nicht mehr! NAGIOS! Liess sich nicht mehr starten! ERROR sagte es noch, schrieb auch ein neues Logfile, aber das war leer. Spukhaft behoben sich alle Probleme nach einem Reboot des Rechners, und die Welt war wieder schön. 
Von wegen 'Linux stürzt nicht ab'. Und ja: ich habe alle noch irgendwo rummodernden NAGIOS-Prozesse vorher manuell gekillt. Reboot tut auch Linux gut, dazu ist es viel zu komplex. 
Aber ein Bakuphon sollte keinen Reset brauchen. Non-functional Requirement.

Da die gesamte Software unter der MdwdwAskdF-Lizenz(*) steht, gebe ich sie auf Anfrage (Adresse siehe Titelseite) gerne raus.


 

Bonusmaterial:

 

59. Notiz aus dem Projekttagebuch: Hörtöne

25.12.2010

Potzblitz! Heute habe ich Hörtöne gemacht!
Das funktioniert sogar! Cool!
   http://de.wikipedia.org/wiki/Freiton

Von 'Freiton' wird man auf 'Hörtöne' umgeleitet.
'Hörtöne' ist schon ein schönes Wort... Töne an sich sind  ja reine Hörtöne, weil wenn man sie nicht hören würde, wären sie keine Töne. Dem Plural sei dank, sie können nicht verwechselt werden:
Die irdischen Tone und Lehme werden schon seit Jahrtausenden zur Figurenformerei benutzt!  Auch zu medizinischen Zwecken wurden sie bereits früh genutzt: Man töpferte aus ihnen Hörrohre für die Schwerhörigen, deswegen wurden sie landläufig auch 'Hörtone' genannt. Das würde ich mir ja noch eingehen lassen, aber 'Hörtöne'?

Der 'Freiton' heisst jetzt 'Wählton'.  (Wenn das man kein böses politisches Omen ist!) 
Einen Dauerton von 425Hz hatte ich ja schon im Handapparat erzeugt, und den Versuch mit dem AudioAmp hat er klaglos überstanden. Aber das Bakuphon soll das telephonieren ja wieder schön machen.
Ein Dauertut von 425Hz ist der Wählton. Der Wählton heisst Wählton, weil der Benutzer jetzt wählen könnte. Und auch sollte, denn ein abgenommenes Telephon ohne Verbindungsaufbau kostet Strom und Kohle ohne Ende! Das war früher ja alles besser, da gab es noch das 'Freizeichen', das meinen letzten Forschungen zufolge ein Morse-A1 mit 475Hz war. tüt-tüüüüt------tüt-tüüüüt- 
Freizeichen! Die ganze Welt stand einem damals offen!
Ich habe sogar noch einmal mit einem handvermitteltem Gespräch von Warschau nach Hamburg telephoniert. Das war eine Gaudi! Ich weiß auch garnicht mehr so genau, wie wir Jungen damals unsere Gesprächswünsche den polnischen Matronen hinter dem Tresen vermitteln konnten, wo wir einerseits betrunken und andererseits sprachlich disjunkt waren. Aber es hat geklappt! Die Wartezeit haben wir uns damit vertrieben, Franzosen anzurufen. Da gab das damals nämlich schon eine Selbstwählverbindung hin, da waren die Polen und Franzosen sehr stolz drauf. Und einmal in Frankreich anrufen hat auch nur 50 Schlottermänner gekostet. Die hatten wir ja noch und nöcher, seit wir erkannt hatten, daß eine Flasche Wodka in Schlottermännern bezahlt mehr als 10 Mark kostet, in Mark hingegen genau 1,92DM. Nun ja.
Wahrscheinlich wurde in diesen Stunden meine latente Frankophilie gesät. Die konnten ja auch nichts dafür. Zumindest haben wir keine bösen Worte gehört...
Ja, nee.
Ein W48 muss ein Freizeichen erklingen lassen! Die Batterien sind geladen, die Leitung steht! Und die Welt der Telekommunikation dir offen!
Und das Besetztzeichen
Und den Rufton
Und 'Kein Anschluss unter dieser Nummer' (Das ist schon anspruchsvoller, weil dafür drei Töne benötigt werden, die allesamt viel höher sind.)

Den DDS-Generator  hatte ich ja neulich schon gebaut, und war sehr froh, daß ich den Tongenerator nicht nur aus einer im Flash abgelegten Sinustabelle, die ein programmierter Zeitgeber abarbeitet, zusammengekloppt hatte. Mit Timern ist man ja immer knapp... Die ganze Gymnastik mit DDS war nur erforderlich, weil ich auch noch die Debugschnittstelle haben wollte. Läuft bei 19,2 so auf dem Rand mit. Das Tuten auf verschiedenen Frequenzen mit knackfreien Übergängen. So soll eine gute Ruf- und Signalmaschine auch sein. Rauschfrei. Und wir werden weder Ansagen noch in Gesprächspausen synthetisch erzeugtes Rauschen hören, wie man das bei GSM macht. 
Auf den DDS habe ich dann noch eine schlanke Soundmaschine draufgesetzt: Automatisch vordefinierte Tonfolgen abspielen. Frequenz, Dauer, Muster kann man in ganz wenigen Bytes editieren. Ja, ich weiss, man könnte das Ganze noch benutzerfreundlicher machen, aber wenn es läuft, fragt da eh kein Schwein mehr nach. 

Kann jetzt alle Töne machen, die ich brauche!


 

60. Wie man einen Nummernschlter abfragt

Potzblitz! Das funktioniert sogar! Cool!
Cool und effizient. Bis hierher sind mehr als die Hälfte des Codes reine Debugausgaben, und es wurde extra ein Soft-UART erfunden, nur um sie in Hyperterm anzusehen:

Terminalausgabe wählen

Ohne die Debugausgaben sieht das dann hinterher so aus:

  // Polling Wählscheibe bearbeiten:
  if( input_d != last_input_d )
  { //Es ist was passiert...
    change = input_d ^ last_input_d;    //Was genau hat sich geändert?
    if( change & _BV(GU_IN) ) //Gabelumschalter betätigt
    { 
      if( input_d & _BV(GU_IN) ) //Hörer Aufgelegt
      {  OnHook();
      }
      else //Hörer Abgenommen
      {  OffHook();
      }
    }

    if( change & _BV(NSA_IN) ) //NSa (Postjargon)
    {
      if( input_d & _BV(NSA_IN) ) //Nummernschalter fertig
      { dial_state = 0;
        NumberDialed( dial_count );
      }
      else //Nummernschalter aktiv
      { Dialing( );
        dial_state = 1;
        dial_count = 0;
      } 
    }

    if( change & _BV(NSI_IN) ) //NSi (Nummernschalter Impulskontakt)
      if( dial_state && (input_d & _BV(NSI_IN)) ) dial_count++;

    //Alles wieder gut...
    last_input_d = input_d;
  }

Der Wählscheibentreiber für das Bakuphonbetriebssystem ist also fertig!


 

 

61. Die Wahrheit über den Reset-Knopf

Dieses Projekt hat sehr lange gedauert.
Nicht, weil es so aufwändig war, sondern weil mich, meiner alten Tradition folgend, das Interesse daran verließ, sobald es einigermaßen lief und nur noch letzte kosmetische Operationen erforderlich waren. Es wurde der Familie vorgestellt und dem innersten Kreis der erleuchteten Neumänner, von denen einer natürlich sofort einen Bug fand, eine Bediensequenz, aus der sich das Bakuphon nur mittels eines Reset wieder zum Leben erwecken ließ. 
Ferner stellte sich heraus, daß die Kiste, wenn der Akku leerlief, sich die MS abschaltete und der Tiefentladeschutz den Akku komplett abtrennte, auch nach Volladen des Akkus nicht wieder von alleine ansprang, somit also jedes mal aufschrauben - reset machen - zuschrauben angesagt war. So war das keineswegs publikumstauglich, der Feldtest wurde also aufgeschoben.

Ein Jahr lang grübelte ich darüber nach, ob das Bakuphon einen Resetknopf erhalten solle, um dieser sporadischen Ausfälle Herr zu werden. Um das Bakuphon zu resetten muß man den Deckel abschrauben und zwei Pins auf dem ISP-Header kurzschliessen. Man könnte einen Mikrotaster unter einem der Bodenlöcher unter den Glocken  anschrauben. Mit einer Metallasche. 
Man könnte auch um Mitternacht das Betriebssystem resetten. 
"The Software was not working properly"
and the documentation wasn't finished either.
Man könnte auch die Fehler beheben...

Es hat einige Zeit gedauert, die Fehler zu finden. Und Testen, Testen, Testen! Als erstes stellte sich heraus, daß das SIM kurz vor dem Ablaufen war. Ich dann also gleich einen Aufladebon gekauft, das SIM in das andere Telefon gesteckt und das Guthaben aufgeladen. Und kriegte danach die gleiche Ansage, daß mein Vertrag bald auslaufe. Einmal auf meinem anderen Telefon angerufen, abgenommen und wieder aufgelegt. Heppa! Mein Fehler war, seit mehr als einem Jahr keine kostenpflichtigen Anrufe mehr getätigt zu haben. Und nun war alles klar: 30€ Guthaben auf dem Prepaid-Konto.

Aber das muß das Boot abkönnen!
Deswegen muß ich nicht mein Telephon aufschrauben müssen! Also nochmal ran! Fehler isolieren, alle möglichen und unmöglichen Fälle simulieren und den Akku mit einem fetten (phatten) Widerstand leerlutschen, um zu sehen, ob die Kiste dann wieder aus dem Quark kommt. 3 Fehler (davon ein kapitaler, der so dumm war, daß ich mich dafür selbst ohrfeigen möchte) behoben. 

Ein Hoch auf meine Voraussicht. Extra deswegen hatte ich seinerzeit die Debug-Schnittstelle mit dem Software-UART (den echten UART brauchte ja schon das Telefon) gebastelt.  

 

Nachtrag nach 2 Tagen Feldtest in der 4ma:
Groß ist die Freude, Anteilnahme und Begeisterung des Publikums! Fast hätte ich vergessen, wie es ist, sich im Schatten meiner bizarren Erfolge zu sonnen...
Auch der Ruf, einen an der Marmel zu haben, will gepflegt sein, eröffnet er einem doch gewisse Möglichkeiten der Einflußnahme, solange dieses 'positiv' rezipiert wird... 
Selbstverständlich (Und das möchte ich meinen jungen Kollegen hier einmal ausdrücklich, nachdrücklich und deutlich ins Stammbuch schreiben!) wurde bereits am ersten Tag des Feldversuchs ein Fehler gefunden, der das Bakuphon wieder in jenen am meisten gefürchteten Zustand versetzt, aus dem nur noch ein Reset hilft.
Aber wer hätte auch was anderes erwartet, wenn man das Ding einem Kollegen der Qualitätssicherung übergibt. Dazu sind sie doch da! Dazu sind sie ausgebildet! Und die meinen das auch nicht böse... Ganz im Gegenteil! Sie meinen es gut, weil ein erkannter & reproduzierbarer Fehler immer auch ein behebbarer Fehler ist. Wer von euch ohne Fehler ist, der werfe den ersten Stein! Und wer Fehler verleugnet, vertuscht und weit von sich weist, der gehört gesteinigt, weil er die Fehler niemals beheben wird.
JaJa, voll das Philosophieprojekt.
Immerhin ist dieser Fehler von einer Art, der kein 'showstopper' ist, sondern der Feldtest wird weiter fortgesetzt, bis noch andere Fehler auftreten oder sich die Überzeugung stabilisiert, daß dies der einzige ist und nur noch einmal debuggt werden muß.
Nachdem in diesem Projekt weder Kosten- noch Zeit- noch Profilneurotikerdruck herrscht,  werde ich auch noch den letzten bisher gefundenen Fehler (und all seine bislang versteckten Kollegen) beheben und KEINEN Restknopf einbauen. Wenn mir das nicht gelingt, muß ich eben immer zur Strafe das Ding aufschrauben und ein Stück Draht suchen, um es zu resetten. Am Ende sollte es wenigstens in der Freizeit möglich sein, Dinge zu bauen, die FUNKTIONIEREN.

Ich könnte auch eine kleine, schwarze Ledertasche mit einem kurzen Schlitzschraubendreher und einem Stück Draht drin ans Telephon schnallen, da kann man jederzeit schnell selbst den Reset durchführen.


 

999. Das Fazit


Ich finde es cool! Und es hat mir sehr viel Spaß gemacht. Und nun ist es so, wie ich es haben wollte. (Das Bakuphon, nicht diese Webseite...). Ruft es einfach an:

+49 157 84605431

Und hinterlasst gerne eine Nachricht auf der Mailbox, wenn ihr eure Zeit verschwenden wollt. Da ich nicht sehen kann, wenn jemand angerufen hat, höre ich auch die Mailbox selbstverständlich nicht ab. Es ist ein reines Online-Medium, das nur nutzbar ist, wenn ich online bin... Aber das wird wieder kommunikationsphilosophisch... 
Im Moment steht es im Büro, um die  Kollegen zu beglücken, und währen der normalen Bürozeiten bin ich vielleicht erreichbar. Später kommt es vielleicht mal mit auf Reisen, oder in die Bastelecke, wer weiß das schon...

 


(*)Mach damit was du willst. Aber stell' keine doofen Fragen!

<< zurück Zur Übersicht weiter >>