Polizeiauto: Unterschied zwischen den Versionen

Aus Hobbyelektronik.org
(Download, Stromlaufplan und AVR-Infobox hinzugefügt)
K (Video hinzugefügt)
 
Zeile 175: Zeile 175:
  
 
Und es kam sehr gut an! Keine Stunde nach dem Schenken war das Auto auf der Anlage verbaut.
 
Und es kam sehr gut an! Keine Stunde nach dem Schenken war das Auto auf der Anlage verbaut.
 +
=Video=
 +
Wer noch ein etwas verwackeltes und leises Video sehen möchte, kann dies gerne auf [http://www.youtube.com/watch/?v=0zPEr9iozFc Youtube] tun.
 
=Download=
 
=Download=
 
M-File, Stromlaufplan, Sounds und Quelltexte:
 
M-File, Stromlaufplan, Sounds und Quelltexte:

Aktuelle Version vom 8. März 2012, 22:00 Uhr

Mein Cousin hat - wie an anderen Stellen bereits geschrieben - eine relativ große Modellbahn. Da Weihnachten nahte und ich ihm etwas Passendes schenken wollte, setzte ich mir in den Kopf, ein standesgemäßes Polizeiauto zu bauen.

Das Auto

Mein erster 5er BMW

Damit der Polizeiwagen zu den örtlichen Gegebenheiten passt, muss es natürlich ein bayerisches sein. Obwohl ich in Ulm (von boarischer Seite aus gesehen Ausland) einkaufen ging, bekam ich einen 5er BMW mit grün-silberner Kriegsbemalung:

Leider konnten die mir in der Drogerie nicht sagen, ob man das Auto ohne Beschädigung auseinanderbauen kann, also musste der Versuch Klarheit schaffen. Durch leichtes Aufbiegen des Gehäuses konnte ich die Bodenplatte leicht herausziehen, was schlussendlich aber wahrscheinlich zum Brechen des Modells geführt hätte.

Allerdings tat sich an andere Stelle etwas: der Lufteinlass unter dem Kühlergrill rutschte leicht heraus. Ganz herausgenommen hängt schon einmal der vordere Teil des Innenlebens heraus. Nach ein bisschen Wackeln traten die Rückleuchten heraus – der nächste Angriffspunkt. Diese entfernt, kam der vollständige Innenteil entgegen.

Hier das Ganze nochmal in Bildern:

Beleuchtung

Nun kommt der schwierigere Teil. Um der Wirklichkeit nahe zu kommen, braucht man natürlich originalgetreue Beleuchtung. Vorne weiß, hinten rot und oben blau. Blinker habe ich aus Platzmangel außen vor gelassen. Jeder, der schon einmal ein Modellauto in 1:87 in der Hand hatte, wird verstehen…

Als hätte man es beim Hersteller geahnt – die Frontscheinwerfer und Rücklichter sind transparent und wie Lichtleiter nach ihnen geführt. Das erspart gröberen Dremel-Einsatz.

Abblendlicht

Bedrahtete LED

Beim Abblendlicht kommen zwei bläulich-weiße 0805-LEDs (oder zumindest eine merkwürdige Zwischengröße) zum Einsatz. Die Farbe erklärt sich daraus, da ich diese Leuchtdioden gerade auf Lager hatte und das leicht bläuliche Licht schon sehr nach Xenon-Scheinwerfern aussieht. Diese werden jeweils mit Fädeldraht (0,2mm) bestückt und direkt an die Lichtleiter geklebt.

Erwähnenswert ist an dieser Stelle vielleicht der Kleber: Sekundenkleber ist ungeeignet, da er das Kunststoffgehäuse anlöst und somit das Licht verfälscht oder zumindest komische Spuren hinterlässt. Heißkleber löst zwar nichts an, ist für diese Anwendung (meiner Meinung) zu grobschlächtig und dürfte nicht allzu gut halten. Die Wahl fiel schließlich (da ich keinen Modellbaukleber da hatte) auf 2-Komponenten-Kleber. Dieser ist halbwegs Kunststoffverträglich und dünnflüssig genug, um nicht aufzufallen. Einzig hinderlich, ist die relativ lange Verarbeitungszeit (obwohl es ein schnellhärtender war): Über 5 Minuten hinweg eine LED an dünnen Anschlussdrähten ruhig zu halten, kann sich als durchaus schwierig erweisen. Ist aber machbar.


Rücklicht

Da mir das rumpanschen mit 2-K-Kleber meistens zu blöd ist, wurden die zwei in Reihe geschalteten Rücklicht-LEDs (ebenfalls im 0805-Gehäuse) einfach mit Sekundenkleber befestigt. Schon bevor sie Kontakt zum Gehäuse hatten, sah man die Eintrübung. Zusätzlich – und zu allem Überfluss – ging ein Rinnsal dieses verdammten Klebers nach unten zwischen Innenleben und Bodenplatte. Also mussten die beiden Teile mit sanfter Gewalt wieder getrennt und saubergeschliffen werden. Die leichten matten Überreste dieses Teufelszeugs wird man wohl nie wieder los.

Wie auch immer, die Positionierung der LEDs an dieser Stelle ist relativ einfach. Da die Rückleuchten gesteckt sind, müssen auf der gegenüberliegenden Seite Löcher sein. Etwa 4mm hinter diesen befindet sich eine zweite Wandung des Innenlebens. Ideal also um die Leuchtdioden zu befestigen und auszurichten – auch wenn es in meinem Fall nicht allzu präzise war.

Signalanlage

Ein ganz besonderes Augenmerk an einem Behördenfahrzeug ist natürlich die Sondersignalanlage auf dem Dach.

Mit abermals sanfter Gewalt lässt sich diese einfach nach oben abziehen/wegreißen. Ich habe zwar schon fest damit gerechnet, spätestens hier fräsen zu müssen, allerdings konnte der Hersteller entweder einige Centbruchteile sparen oder er hat an den Innenausbau gedacht:

In den Schlitz der Signalanlage kann man 0603-LEDs pressen welche ich, wie die anderen, mit Fädeldraht vorbereitet hatte.

Übrigens kann man solch kleine Bauteile am ehesten „an der frischen Luft“ bedrahten, wenn man sie auf den Rücken gelegt mit doppelseitigem Klebeband fixiert. Auf diese Weise habe ich bereits mehrfach erfolgreich 0402er-Bauteile (1x0,5mm) mit Drähtchen belötet. Entgegen weitläufiger Annahme reicht hierfür eine vergleichsweise dicke Lötspitze (Wie auch an anderen Stellen: Nicht die Größe, sondern die Technik zählt).

Zusammenbau

Nicht zu unterschätzen ist natürlich auch das Zusammenbauen des Autos. Auf irgendeine Art und Weise müssen die Leitungen zu den LEDs zugänglich sein. Anfangs wollte ich den verwendeten Mikrocontroller mit ins Auto bauen, da dann aber noch ein Feature hinzukam und nachträgliche Firmware-Updates möglich sein sollten, hätte ich 6 Drähte herausführen müssen. Die Beleuchtung alleine hängt (mit gemeinsamer Masse) an nur 4. Da nimmt man als Stromer doch eher den Weg des geringsten Widerstandes.

Effekte

Natürlich soll die Signalanlage auch dem großen Vorbild entsprechen und originalgetreu blitzen. Auch wäre es schön, wenn man die Beleuchtung ein- und ausschalten könnte – und was macht ein Polizeiauto zu einem richtigen Polizeiauto? Ganz klar: die Sirene! Außerdem wäre kein Projekt von mir nicht ohne mindestens einen Mikrocontroller vollständig ;)

Beleuchtung

Das Schalten der Beleuchtung könnte man zur Not auch über einen normalen Schalter übernehmen. Da die Modellanlage aber zentral über einen Kleincomputer gesteuert wird, soll alles dafür zumindest vorbereitet sein.

Signalanlage

Das Blitzen ist – dank meiner bereits vorhandenen, aber hier noch nicht dokumentierten Timing-Engine – zumindest programmiertechnisch kein Problem. Aber in welchem Muster blitzt die Beleuchtung?

Zwar gibt es in der Röhre reichlich Videomaterial von Signalanlagen, allerdings ist dieses für diesen Anwendungszweck unbrauchbar, da man aufgrund der Bildwiederholrate nur Teile des eigentlichen Blitzens mitbekommt.

Ich habe schon mit dem Gedanken gespielt, bei der örtlichen Polizei zu fragen, ob ich direkt an einer Streife messen kann. Allerdings ging es noch einen Schritt einfacher: Mein Vater ist Mitglied in der hiesigen Feuerwehr und mit dem Kommandanten gut befreundet. Nachdem die Feuerwehr seit letztem Jahr ein neues Einsatzfahrzeug hat, verfügt dieses auch über eine moderne Sondersignalanlage.

Ausgestattet mit einer kleinen Solarzelle, Oszilloskop und Block konnte ich die Signale hinten und auf dem Dach ausmessen. Für das „moderne“ Blitzen ergeben sich folgende Zeiten:

An 64,4ms
Aus 15,2ms
An 25,6ms
Aus 15,2ms
An 25,2ms
Aus 15,2ms
An 146,0ms
Aus 188,0ms


Bei dem altbekannten Muster, das ich bis jetzt nur als Doppelblitzen kannte, sind in Wirklichkeit 4 Blitze versteckt – sofern mich meine Messtechnik nicht belügt:

An 10ms
Aus 35ms
An 10ms
Aus 85ms
An 10ms
Aus 35ms
An 10ms
Aus 350ms


Eingefüttert in die Timing-Engine kommt etwas schon sehr brauchbares heraus. Der Kenner weiß allerdings: die beiden Signalleuchten arbeiten immer im Duo, aber nicht synchron. Da ich nur an einer Leuchte messen konnte, probierte ich beim Zeitversatz zwischen den beiden Kanälen einfach ein wenig aus. Ein Versatz von 4 Zeitschlitzen sieht gut aus und wir verwendet.

Auffallend ist auch, dass die beiden Blitzformen jeweils mit 8 Zeitschlitzen abgebildet werden, die auch recht gut in ein 5ms-Raster passen. Zufall?

Around the Interwebs konnte ich übrigens lediglich bei Digital-Bahn.de etwas zum Timing der Signalanlagen finden. Leider erst nachdem ich es selbst herausgefunden habe.

Sirene

Neben dem Lichterspiel braucht ein Polizeiauto natürlich auch eine Sirene. Nach ein einer kurzen Suche wurde ich auch fündig.

Da ich für die recht einfache Tonfolge keine SD-Karte verbraten wollte, musste alles in einen AVR passen. Verwendet wird, wie bei Marvin (Link!) ein ATtiny45, der genug Platz bieten sollte.

Mit ein wenig Audiobearbeitung konnte ich Audioschnipsel herausnehmen, die für Loops verwendet werden können. Verhängnisvoll ist hier die Schwebung, die die Sirene nach Sirene anhören lässt. ;)

Aber es geht natürlich auch mathematischer ;) Dazu habe ich mir über einen der Töne eine Spektralanalyse machen lassen und mir über Excel die am stärksten vertretenen Spektralanteile anzeigen lassen. Zurück in Matlab habe ich mir ein kleines M-File geschrieben, dass aus Frequenzen und Leistungen eine Waveform erzeugt und auch gleich als .wav speichert. Nebenbei wird Wellenform und Spektrum auf dem Bildschirm ausgegeben.

Leider half auch das Verwenden der 30 stärksten Spektrallinien nicht, den Ton richtig zu rekonstruieren. Es hörte sich immer sehr blechern an.

Nachdem die beiden Loops etwas angepasst (Normalisierung, Verschieben Anfangs- & Endamplituden und Downsampling) ging es daran, diese in Code zu verpacken. Da es in Matlab sehr einfach ist, Wave-Dateien zu verarbeiten, lud ich sie, passte den Pegel auf den Wertebereich 0-255 an und erzeugte daraus eine C-Header-Datei. Mit etwa 2000 Byte sind die Audiodaten im durchaus überschaubaren Bereich.

Auf dem Mikrocontroller werden sie per Pulsweitenmodulation ausgegeben. Dafür wird, wie beim Simple SD Audio Player von ChaN die interne PLL verwendet, um eine PWM-Frequenz im nicht-hörbaren Bereich zu verwenden. Zur Ausgabe werden beide Timer benötigt – der eine macht PWM, der andere das Sampling mit etwa 11kHz. Die Frequenzabweichung zur korrekten Samplingfrequenz merkt man nicht, da sind die Verzerrungen durch die niedrige Samplingrate und dem 8-Bit-Sound deutlich stärker.

Die Verwendung beider Timer für die Soundausgabe führt allerdings zu dem Problem, dass für das Blitzen keine direkte Zeitbasis mehr zur Verfügung steht. Abhilfe schafft ein kleiner Postscaler für den Timer, der nach Ablauf von ca. 5ms ein Flag in einer Variable setzt. Dieses wird in der Endlosschleife im Hauptprogramm ausgewertet und die Timing-Engine bedient.

Zum Treiben des Lautsprechers wird ein einfacher B-Verstärker verwendet, der direkt mit dem Signal aus dem AVR angesteuert wird. Dahinter ein Kondensator zum Entkoppeln von Gleichströmen und ein Lautsprecher. Der Sound reißt zwar keine Wände ein, ist aber durchaus akzeptabel.

Steuerung

Polizeiauto Stromlaufplan.png
AVR
Typ ATtiny45
Takt 16 MHz
Fuses
High 0xDD
Low 0xE1
Extended 0xFF
Engbedded com logo.png Details


Immer nur Tatütata und volle Beleuchtung ist natürlich langweilig wenn nicht sogar nervig. Da am AVR noch ein Pin (abgesehen vom Reset) frei ist, bietet sich dieser natürlich an. Um das Modellauto direkt einsetzen zu können (ich habe nichts zum Simulieren der Modellbahnsteuerung hier), muss man über die eine Leitung möglichst diskret 4 verschiedene Elemente steuern – macht 16 Zustände.

Da der ATtiny45 einen AD-Wandler besitzt, war die Verwendung natürlich naheliegend, was auch wunderbar funktioniert. Einzig die Stellungen des Potis muss man sich merken.

Geschenkverpackung

Damit ich das Auto auch vernünftig schenken konnte, kam die Elektronik in eine etwas ansprechende Weihnachtsverpackung. Mit einem Schalter an der Rückseite konnte man Beleuchtung und Sound einschalten:

Und es kam sehr gut an! Keine Stunde nach dem Schenken war das Auto auf der Anlage verbaut.

Video

Wer noch ein etwas verwackeltes und leises Video sehen möchte, kann dies gerne auf Youtube tun.

Download

M-File, Stromlaufplan, Sounds und Quelltexte: Datei:Polizeiauto.zip