AI Rqualizer Equal i zer+Anal yzer Projekt Elektronik (SS 2009) Abschlußbericht 20. Juli 2009 Martin Frauenhofer Isaak Gerber Tobias Jacob Paul-Philipp Knust Erik Liebig Markus Lottmann Alexander Nitsch Alexander Reinicke Jens Rohnstock Betreuer: Janis Döbler Inhaltsverzeichnis 1 Projektvorstellung 5 2 Zeitplan 5 3 Aufbau & Projektgliederung 6 4 Röhrenaufbau & Gehäuse 4.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Stromversorgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 9 5 Sensorik 5.1 Anforderungen . . . . 5.2 Sensorauswahl . . . . 5.3 Sensorbeschaltung . . 5.4 Aufgetretene Probleme 5.5 Was zu tun bleibt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 12 13 14 6 Motorsteuerung 6.1 Motorauswahl . . . . . . . . . . 6.2 Motoraufbau und Betriebsarten 6.3 Motorbeschaltung und Betrieb 6.4 Tiefpass für Abstandssensor . . 6.5 Ergebnis . . . . . . . . . . . . . 6.6 Bauelementeliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 15 16 18 18 18 7 Equalizer 7.1 Eingang & Vorverstärker . . . . . . . . . . . . . . . . . . . . 7.2 Übersteuerungsanzeige . . . . . . . . . . . . . . . . . . . . . 7.3 Bandpaßfilterung . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Spannungsspitzendetektion . . . . . . . . . . . . . . . . . . 7.6 A/D-Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . 7.7 Spannungsversorgung & Schnittstelle zum Audioverstärker . 7.8 Erfolge und Probleme bei der Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 25 26 28 29 30 31 32 8 Audioverstärker 8.1 Blockschaltbild . . . . . 8.2 Dimensionierung . . . . 8.2.1 Vorverstärker . . 8.2.2 Endstufe . . . . . 8.3 Kopplung mit Equalizer 8.4 Schaltpläne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 40 40 40 41 42 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Mikrocontroller-Platine 9.1 Anforderungen . . . . . . . . . . . . . . 9.2 Idee . . . . . . . . . . . . . . . . . . . . 9.3 Schnittstellen . . . . . . . . . . . . . . . 9.3.1 Steuerung der Bandpässe . . . . 9.3.2 Einlesen der Audiosignale . . . . 9.3.3 Ansteuerung der Schrittmotoren 9.3.4 Einlesen der Sensorsignale . . . . 9.3.5 JTAG . . . . . . . . . . . . . . . 9.3.6 Erweiterungen . . . . . . . . . . 9.3.7 Zusammenfassung . . . . . . . . 9.4 Wahl des Mikrocontrollers . . . . . . . . 9.5 Realisierung . . . . . . . . . . . . . . . . 9.5.1 Steuerung der Bandpässe . . . . 9.5.2 Einlesen der Audiosignale . . . . 9.5.3 Ansteuerung der Schrittmotoren 9.5.4 Einlesen der Sensorsignale . . . . 9.5.5 JTAG . . . . . . . . . . . . . . . 9.5.6 Erweiterungen . . . . . . . . . . 9.5.7 Sonstiges . . . . . . . . . . . . . 9.6 Layout . . . . . . . . . . . . . . . . . . . 9.7 Ergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Regelung 10.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Prinzipieller Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Testergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.1 Öffnen und Schließen der Drosselklappe . . . . . . . . . . . . . . 10.4.2 Genaue Positionierung der Drosselklappe . . . . . . . . . . . . . 10.4.3 Pulsansteuerung mit konstanter Position und variablen Öffnungswinkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.4 Pulsansteuerung mit konstanter Position und variablen Öffnungszeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.5 Pulsansteuerung mit variabler Position und konstantem Öffnungswinkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6 Ergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7 Equalizer-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 44 44 44 45 45 45 45 45 45 45 46 47 47 47 48 48 49 49 49 49 50 . . . . . . 55 55 55 55 55 55 58 . 58 . 58 . . . . 58 58 59 59 11 Mikroprogramm 11.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Modulaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 60 60 3 11.2.2 Motorsteuerung 11.2.3 ADC . . . . . . 11.2.4 ExternADC . . 11.2.5 Regelung . . . 11.2.6 Poti . . . . . . 11.3 Ergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 61 61 61 61 61 12 Netzteil 62 12.1 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 12.2 Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Literatur 69 4 1 Projektvorstellung Die Gruppe ele31 des Projekts Elektronik baute im Sommersemester 2009 den Airqualizer. Er besteht aus einem Audioverstärker, einem graphischen 7-Band-Equalizer und einem Spektrumanalysator. Im Gegensatz zu den bekannten LED-Bargraphen solcher Analysatoren visualisieren beim Airqualizer in luftdurchströmten Röhren schwebende Polystrolkugeln die Energie des Audiosignals in den sieben Frequenzbändern. Der Lautstärkepegel des Ausgangssignals kann an einer achten Röhre abgelesen werden. Equalizer und Audioverstärker lassen sich ebenfalls über diese Röhren bedienen. Dabei werden die Polystrolkugeln einfach von Hand z. B. mit einem Magnetring auf die gewünschte Höhe in den Röhren gezogen, um bestimmte Frequenzbänder stärker bzw. schwächer zu gewichten oder die Lautstärke des Audiosignals am Ausgang einzustellen. 2 Zeitplan Die Arbeit am Projekt (inklusive Ideenfindung, Spezifikation, . . . ) fand über 12 Wochen des Sommersemesters 2009 statt. Dabei waren die folgenden Meilensteine vorgegeben: Datum 22.04.2009 20.05.2009 27.05.2009 08.07.2009 15.07.2009 20.07.2009 Meilenstein Ideenfindung und grobe Gruppeneinteilung Abgabe des Zwischenberichts und einer Wandzeitung Fertigstellen der Platinenlayouts Fertigstellen der Präsentationsfolien, Probevortrag Präsentation des Projekts Abgabe des Abschlußberichts, Fertigstellen einer Webseite 5 DisplaySignale Equalizer Line-Out Display Luftröhren Steuerung Verstärker Sensorsignale Sensoren LED-Signale LEDs Motorsignale Motoren Lautstärke Mikrocontroller Bandpasssignale Bandpässe Line-In Steuersignale Audiosignale Abbildung 1: Blockschaltbild des Airqualizers 3 Aufbau & Projektgliederung Die grundlegende Struktur des Airqualizers zeigt das Blockschaltbild in Abb. 1. Der Mikrocontroller steuert als Herz des Geräts den analogen Equalizer, den Audioverstärker und die Motoren, über welche die Kugeln in den Luftröhren ausgerichtet werden (der graphische Analysator). Über die Sensoren in den Luftröhren kann der Mikrocontroller die momentane Schwebehöhe jeder Kugel ermitteln und somit zum einen über die Motoren entsprechend gegensteuern und zum anderen den Equalizer sowie den Verstärker entsprechend der Nutzervorgaben verstellen. Desweiteren erhält der Mikrocontroller das durch sieben Bandpässe gefilterte Audiosignal, auf dessen Grundlage wiederum die Position der Kugeln in den Röhren verändert wird. Die Arbeit am Airqualizer wurde gemäß dem Blockschaltbild auf sieben Gruppen aufgeteilt, die parallel jeweils einen Teil des Geräts fertigstellten. Die folgenden Abschnitte stellen die einzelnen Blöcke im Detail vor. 6 4 Röhrenaufbau & Gehäuse Die Umsetzung unseres Konzepts eines mechanischen Analyzers/Equalizers mit Luft und Styroporkugeln, welcher sich an dem bekannten Balkendiagramm orientiert, wird durch einen Verbund von Acrylröhren realisiert. Die Kugeln werden durch PC-Lüfter angetrieben. Die Interaktionsfähigkeit besteht durch Reißzwecken in den Kugeln, welche dann durch einen Magneten berührungslos manipulierbar sind. Zu Beginn wurde ein Prototyp aufgebaut, in dem die mechanische und aerodynamischen Konzepte getestet und optimiert wurden, sowie im späteren Verlauf des Projektes auch die Schrittmotoransteuerung bzw. die Regelungs-Software des Mikrocontrollers. Der finale Aufbau besteht nunmehr aus einem Metallgehäuse, den entsprechenden analogen und digitalen Platinen und insgesamt 8 Röhren, welche vom Aufbau baugleich entsprechend des Prototypen sind. 4.1 Anforderungen Der Röhrenverbund soll nach der analog- und digitalelektronischen Auswertung und Verarbeitung des eingespeisten Musiksignals das mechanische Userinterface darstellen. Als Vorbild dient die bekannte Balkendarstellung der einzelnen Frequenzbänder. In den einzelnen Röhren sollen nur gemäß dieses Vorbildes die Styroporkugeln durch einen Luftstrom auf und ab bewegt werden (Analyzer). Darüber hinaus sollen die Röhren/Kugeln auch zur Eingabe/Einstellung der Bandverstärkung dienen (Equalizer), wie es auch hier weitestgehend aus dem HiFi-Bereich bekannt ist. Auf eine anfangs geplante, zusätzliche Illumination der Röhren mittels RGB-LEDs wurde letztendlich aus Zeit- und Kostengründen verzichtet. 4.2 Aufbau Zur Einleitung soll der Aufbau einer einzelnen Röhre als Grundelement beschrieben werden. Soweit nicht anders beschrieben, sind die einzelnen Teile mittels Heißkleber verbunden worden. Die Röhre besteht aus einem durchsichtigen, oben und unten offenem Acrylrohr mit einem Außen- bzw. Innendurchmesser von 40 mm bzw. 36 mm. Die Gesamtlänge des Rohres beträgt ca. 65 cm. Innerhalb dieses Acrylrohres befindet sich eine, nachher weitestgehend frei schwebende, Styroporkugel mit einem Durchmesser von 30–32 mm. Um auch die geforderte Interaktion (Equalizer) zu ermöglichen, werden an der Kugel zwei Reißzwecken angebracht, um später die Kugel berührungslos mittels eines Magnets in der Röhre verschieben zu können. Die Positionsbestimmung der Kugel in der Acrylröhre erfolgt mittels eines Infrarotsensors. Der nötige Luftstrom zum Schweben und Bewegen der Kugel wird durch einen handelsüblichen 80 mm-PC-Lüfter1 erzeugt. Dieser befindet sich am unteren Ende der Röhre und ist mit der Acrylröhre durch einen Trichter verbunden. Der Trichter ist durch eine 1 Sunon MagLev Motor Fan, 80×80×25 mm, 3000 U/min, 68 m3 /h, 1,6 W 7 Abbildung 2: Schematischer Aufbau der Röhren aufgeschnittene PET-Flasche realisiert und dient einerseits als Adapter, um die unterschiedlichen Durchmesser dichtend miteinander zu verbinden. Er dient auch zur Komprimierung des Luftstroms. Innerhalb des Trichters befinden sich zwei Papp-Scheiben, welche der Wirbelbildung, hervorgerufen durch die Rotation der Lüfterblätter, entgegenwirkt, um somit eine möglichst einheitlich gerichtete Luftsäule zu ermöglichen. Die obere Pappscheibe verhindert dabei auch das Absinken der Kugel in den Trichter. Unterhalb des Lüfters ist ein handelsübliches Winkel-Abwasserrohr (87 ∘ ) mit einem Durchmesser von ca. 80 mm montiert, in welchem sich am nach hinten gerichteten Ausgangs-Querschnitt eine Drosselklappe befindet. Die Drosselklappe ist mit einer Aluminiumachse (5 mm Durchmesser) mit zwei Schrauben verbunden, welche durch in das Abflussrohr gebohrte Löcher gesteckt und am oberen Ende mit einem Schrittmotor verbunden ist. Durch Drehen der Klappe in bzw. längs den/des Luftstrom(s) unterhalb des Lüfters, kann direkt durch Verringerung der Luftzufuhr, der Luftstrom in der Röhre gesteuert werden, um ein Absinken, Steigen oder Schweben der Styroporkugel zu ermöglichen. Eine direkte Regulierung der Lüftergeschwindigkeit hat sich als zu träge erwiesen. Zum Außenaufbau: Der Prototyp bestand aus einem Holzgehäuse, welches dem Röhrenaufbau in erster Linie Stabilität geben, als auch die Montage der Sensoren und der Schrittmotoren ermöglichen sollte. Der schematische Aufbau ist in Abb. 2 dargestellt. Der finale Aufbau hat ein Metallgehäuse. In diesem befinden sich nunmehr 8 Röhren, 8 Abbildung 3: Schematischer Aufbau des Gehäuses (Rückansicht) sowie die Sensorik, Aktuatorik und die analogen und digitalen Platinen. Das Gehäuse dient der Stabilität, als auch der Optik, in dem von Vorne nur noch die Acrylröhren mit den Styroporkugeln und entsprechend Metallblenden zu sehen sind. Die Rückansicht ist offen. Hinter den Röhren befindet sich eine Zwischenwand aus Holz, auf der die Plantinen verschraubt sind. Sensoren und Motoren sind entsprechend Abb. 3 auf Holzleisten befestigt. Die Seiten sind mit Metall verblendet. 4.3 Stromversorgung Zusätzlich zu Versorgungs- und Ansteuerleitungen für Schrittmotor und Abstandssensor wird eine Gleichspannung von 12 V für den Lüfter benötigt. Das Metallgehäuse wird durch die Masseleitung des Netzsteckers geerdet. Alle elektrischen Bauteile im sind auf Holzplatten montiert und somit vom Gehäuse elektrisch getrennt. 9 5 Sensorik Um die korrekte Funktionsweise des Airqualizers zu gewährleisten, muss eine geeignete Sensorik vorhanden sein. Die Sensorik wird dazu benötigt, die aktuellen Positionen der Styroporkugeln in dem Acrylröhren zu bestimmen. Dabei handelt es sich bei der Höhe der Kugeln um die Regelgröße unseres Regelkreises. Im Betriebsmodus Visualisierung wird dann anhand der Regelgröße ggf. die Höhe der Kugeln mittels des Reglers (Drosselklappe) angepasst. Im Betriebsmodus Equalizer werden die Eingaben des Benutzers ermittelt, sowie die aktuelle Position der Kugel stabilisiert. 5.1 Anforderungen Diese einfache Spezifikation bringt nun einige Anforderungen mit sich. Zunächst sollte der Sensor möglichst klein sein, um nicht zuviel Platz zu beanspruchen und das äußere Erscheinungsbild des Airqualizers möglichst nicht zu beeinflussen. Um eine gewisse Optik der Acrylglassäulen zu wahren, sollte, wenn möglich, auch ein nicht sichtbares Verfahren zur Abstandsmessung eingesetzt werden und der sichtbare Raum um die Säulen möglichst frei von Sensorik sein. Aufgrund der Festlegung der Maximallänge der Acrylröhren auf 0,61 m ergibt sich ein Messbereich von 0–0,61 m, welcher von dem Sensor abgedeckt werden muss. Zusätzlich muss der Sensor eine ausreichende Genauigkeit aufweisen, um zu starke Schwankungen in der Regelung der Ballhöhe, aufgrund von falschen Messwerten, zu minimieren. Es wird angenommen, dass 1–2 cm Genauigkeit ausreichend sind. Desweiteren muss der Sensor in der Acrylröhre einsetzbar sein und darf damit nur eine maximale Streuung von 35 mm (36 mm Innendurchmesser des Rohrs), bei einem Abstand von 61 cm, vorweisen. Eine einfache Bereitstellung des Messwertes für den Mikrocontroller und ein Sensor ohne eine aufwändige Zusatzbeschaltung, sowie eine Versorgungsspannung im Bereich von 1–12 V wären wünschenswert. Außerdem darf der Preis des Sensors nicht vernachlässigt werden, da immerhin 8 Stück benötigt werden, und das Budget des Projektes beschränkt ist. 5.2 Sensorauswahl Aufgrund der Anforderungen an den Abstandssensor wurden nach erster Recherche Ultraschall- und Infrarotsensoren sowie eine Zusammenschaltung aus mehreren Lichtschranken als mögliche Kandidaten gehandelt. Die Abstandsmessung per Laser wurde aus Kostengründen direkt ausgeschlossen. Ultraschallsensoren erwiesen sich nach genauerer Betrachtung als zu teuer, relativ aufwändig von der Beschaltung, vermeintlich zu ungenau, sowie zu breit streuend für die Acrylröhren (Reflexionen an den Rohrwänden). Zusätzlich benötigen Ultraschallsensoren je nach Güte relativ hohe Spannungen von bis zu 50 V. Der Lösungsansatz der Lichtschranken beruhte auf der Idee, alle 4 cm Löcher in das Rohr zu bohren und dort jeweils eine Lichtschranke zu platzieren. Anhand des Signals der ausgelösten Lichtschranke könnte man dann die Position der Kugel bestimmen. Al- 10 Abbildung 4: Abstandsmessung mittels IR-Triangulation beim Sharp GP2D12 lerdings handelt es sich nur um einen Bereich, in welchem sich die Kugel befindet und um keinen genauen Messwert. Eine logische Auswertung der einzelnen Lichtschrankensignale wäre zusätzlich nötig, außerdem würde die Optik der Acrylröhre stark gestört werden. Der Vorteil diese Ansatzes liegt darin, dass er sehr kostengünstig ist und daher wurde diese Variante als Notlösung befunden. Letztendlich fiel die Wahl auf einen Infrarotsensor von Sharp, den GP2D12. Mit diesem Sensor wurde wohl schon in früheren Projekten gute Erfahrungen gemacht und Sharp hatte die Sensoren damals kostenlos bereitgestellt. Das Messprinzip beruht auf der Triangulation(siehe Abb. 4). Hierzu besitzt der Sensor einen Sender und Empfänger. Der Sender strahlt per IR-Diode gepulstes Licht aus. Dieses Licht wird an dem Messobjekt reflektiert und trifft nun auf den CCD2 -Empfänger, welcher aus einer Zeile Photodioden besteht. Je nachdem, wo der reflektierte Infrarotstrahl auf die CCD-Zeile trifft, schaltet die jeweilige Photodiode und eine Auswertelogik kann den Einfallswinkel ermittelt. Mittels Sinussatz kann nun der Abstand zum Messobjekt ermittelt werden und dieser in ein Ausgangssignal umgewandelt werden. Der Sensor hat einen Erfassungsbereich von 10– 80 cm und liefert ein kontinuierliches, analoges, nicht lineares Ausgangssignal zwischen 0,45 V und 2,65 V, welches eine Abhängigkeit vom Messabstand besitzt. Dieses Signal kann dann mit Hilfe eines A/D-Umsetzers digitalisiert werden und dem Mikrocontroller bereitgestellt werden. Dort muss dann eine Umrechnung, nach der im Datenblatt angegebenen Kennlinie (Abb. 5), vorgenommen werden. Da die Kennlinie schlecht linearisierbar ist, wurde eine Messwerttabelle aufgenommen und im Speicher des Mikrocontrollers gehalten. Die Versorgungsspannung des GP2D12 liegt zwischen 4,5 bis 5,5 V, bei einem Strom von 33 mA. Bei einem Abstrahlwinkel des Sensors von 3 ∘ und mittiger Platzierung, erreicht die Sensorkeule bei 61 cm Abstand einen Durchmesser von 32 mm, und somit sollte die Rohrwand nicht detektiert werden. Dafür ist allerdings eine sehr genaue Positionierung des Sensors vonnöten. Näheres dazu im Abschnitt 5.4. Da der Sensor recht klein ist, 2 Charge-coupled Device 11 Abbildung 5: Ausgangskennlinie des GP2D12 [Sha00] lässt er sich gut über bzw. halb in der Röhre montieren. Beachtet werden muss allerdings ein Abstand des Messobjektes zum Sensor von 10 cm, da dieser erst ab diesem Abstand brauchbare Messwerte liefert, sowie eine Montage möglichst im Mittelpunkt der Röhre. Zunächst wurde ein einzelnes Exemplar des Sensors besorgt, um erste Tests durchzuführen und gleichzeitig eine Anfrage an die Firma Sharp gestellt, ob sie 8 Stück der Sensoren kostenlos zur Verfügung stellen könnten. Dankenswerter Weise wurden wir daraufhin mit dem baugleichen Sensortyp GP2Y0A21YK durch Andreas Biss von Sharp Microelectronics Europe versorgt. Nach ersten Testmessungen mit dem Sensor am Oszilloskop wurde festgestellt, dass die Abtastrate von rund 38 ms hoch genug für unsere Messungen ist und das Ausgangssignal schnell auf Abstandsänderungen reagiert. Gleichzeitig wurden allerdings einige Spikes auf dem Ausgangssignal entdeckt, welche durch eine zusätzliche Beschaltung minimiert werden können. Die Versorgungsspannung durch das Netzteil wurde auf 5 V festgelegt. 5.3 Sensorbeschaltung Ohne zusätzliche Beschaltung kann man auf dem Oszilloskop große, positive Spikes alle 1 ms erkennen. Um diese zu entfernen, lötet man einen 100 nF-Kondensator zwischen die beiden Pins der Versorgungsspannung als Abblockkondensator. Die Spikes sollten nun verschwunden sein. Um die kleineren Spikes auch noch zu entfernen, lötet man zusätzlich einen 10 𝜇F-Kondensator parallel zu dem 100 nF-Kondensator an die Pins 12 der Versorgungsspannung. Dabei ist auf einen möglichst kurzen Weg zu achten. Des weiteren sollte man beachten, dass das Gehäuse des Sensors leitfähig ist. Daher wurden die Sensoren im Airqualizer-Gehäuse auf einer Holzplatte montiert. 5.4 Aufgetretene Probleme Nichtlinearität Der Ball darf nicht näher als 7 cm an den Sensor heran kommen, da sonst nicht mehr eindeutig unterschieden werden kann, ob der Ball sich vom Sensor weg bewegt oder auf ihn zu. Die Ursache liegt bei der nicht injektiven Kennlinie (Abb. 5) im Bereich von 0–10 cm. Um diesem Problem aus dem Weg zu gehen, wurden in die oberen 7 cm der Acrylglasröhren rund herum Löcher gebohrt. Die Löcher lassen die Luft entweichen und nehmen somit dem Ball das Luftpolster, auf dem er schwebt. Sensorjustierung Das gesamte Sensorsystem ist sehr komplex, da aufgrund der nicht sichtbaren IR-Strahlung schwer abzuschätzen ist, an welchem Gegenstand der Sensor genau reflektiert. Wenn sich der Ball am unteren Ende des Rohres befindet, ist es sehr schwierig zu beurteilen, ob der Strahl am Ball oder an der Röhrenwand reflektiert wird. Damit ergeben sich Probleme für die Sensorjustierung, da man vermeintlich nicht mehr auf den Ball justiert. Zusätzlich ist es relativ schwer, die Sensoren fein zu justieren und dennoch fest auf einem Holzbrett im Gehäuse zu montieren. Dabei ist die zentrale Positionierung leider nicht umbedingt die optimale. Sehr geringe Neigungswinkel der Sensoren reichen aus, um den Sensorwert zwischen 100 mV und 500 mV schwanken zu lassen. Durch eine nicht optimale Justierung handelt man sich hier zusätzliche Fehler ein. Nicht ideale Reflexion Idealerweise würde man als Detektionsobjekt eine gerade, weiße Fläche benutzen, da sie die besten Reflexionseigenschaften für den Sensor besitzt. Aufgrund von mechanischen und aerodynamischen Gegebenheiten ist es allerdings vonnöten, einen Ball als Schwebekörper einzusetzen, da dieser am besten von der Luft umströmt wird und sich nicht in der Röhre verkanten kann. Ein weißer Styroporball besitzt allerdings aufgrund seiner Rundung keine idealen Reflexionseigenschaften und streut den IR-Strahl stärker als eine ebene Fläche. Somit sollte nur noch ein Teil der ausgesannten Strahlung am IR-Empfänger wieder ankommen. Daher liegt die Vermutung nahe, dass darunter die Qualität der Sensorwerte leidet. Störsignale Die Sensoren sind über ca. 2 m lange Signalleitungen an die Moterplatinen angeschlossen, welche wiederum das Signal zum Mikrocontroller durchschleifen. Die langen Signalstrecken kommen durch die Bauweise des Gehäuses zustande. Sie unterliegen äußeren Störeinflüssen wie den elektromagnetischen Feldern der Motoren sowie weiteren hochfrequenten Störsignalen. Diese Störsignale erzeugen im Sensorsignal einen relativ hohen Peak–to–Peak-Wert von mehreren hundert Millivolt im Vergleich zu Änderungen der Sensorwerte von 5 mV bei weiten Entfernungen und Abstandsänderungen von einem Zentimeter. Um den Einfluss dieser Störungen etwas zu mildern, wurde in die Motor- 13 platine ein Tiefpass erster Ordung mit einer Grenzfrequenz von 80 Hz integriert. Mehr dazu im Abschnitt 6. Ergebnis Alle diese Probleme führen dazu, dass die Qualität der Sensorwerte sinkt und man bei größeren Entfernungen vom Sensor Probleme in der Auflösung der Sensorwerte bekommt. Je nachdem wie groß die oben beschrieben Störeinflüsse sind, kann es vorkommen, dann man über 10–30 cm kaum Änderungen in der Signalstärke hat und somit eine sinnvolle Nutzung dieses Sensorbereiches außer Frage steht. War es im Prototyp noch möglich, 50 cm Bereichsbreite auszusteuern, sind es im finalen Aufbau etwa 20-30 cm. Dabei hat die optimale Sensorausrichtung im Prototypen vermeintlich den größten Einfluss gehabt. Diese Genauigkeit ist im Airqualizer-Aufbau leider nicht möglich. 5.5 Was zu tun bleibt Es ist anzustreben, die Sensorjustierung zu verbessern und damit den aussteuerbaren Bereich der Acyrlglasröhren auf den Stand des Prototypens zu bringen und damit zumindest große Teile des sichtbaren Bereiches von 50 cm ansteuern zu können. 14 6 Motorsteuerung Die Schrittmotoren bewegen die Drosselklappen, die zur Regelung des Luftstroms in den Luftröhren eingesetzt werden. Die Achse einer Drosselklappe wird dabei direkt mit der Motorwelle eines Schrittmotors verbunden. Um diese Verbindung herzustellen 5mm auf 5mm Achskupplung verwendet. 6.1 Motorauswahl Als Motor wurde für das Entwickeln und Erproben der Ansteuerung ein im Labor verfügbarer 12 V-Schrittmotor mit einer Schrittweite von 1,8 ∘ verwendet. Im endgültigen Aufbau sind Schrittmotoren vom Typ KP4M2 von Japan Servo verwendet worden. Diese werden auch mit 12 V betrieben und verfügen ebenfalls über eine Schrittweite von 1,8 ∘ . Diese Motoren wurden wegen ihres verhältnismäßig geringen Strombedarfs von maximal 0,3 A und ihres niedrigen Preises gewählt. Im Aufbau werden 8 dieser Motoren gleichzeitig betrieben. Zuerst in betracht gezogene Motoren vom Typ TECO X1004 von MIR Elektronik hätten mit maximal 1 A Strombedarf die Stromversorgung überlastet. 6.2 Motoraufbau und Betriebsarten Die von uns verwendeten Schrittmotoren besitzen jeweils zwei Spulen. Wird durch eine dieser Spulen ein Strom geschickt, richtet sich der Rotor des Motors entsprechend des erzeugten Magnetfeldes aus. Der Motor hat jetzt einen Schritt gemacht. Um einen weiteren Schritt zu machen, wird ein Strom durch die andere Spule geschickt. Für den nächsten Schritt wird durch die erste Spule ein umgekehrter Strom geschickt und für den letzten Schritt wird ein umgekehrter Strom durch die zweite Spule getrieben. Damit ist ein Zyklus eines bipolar betriebenen Motors beendet. Intern sind die Spulen eines Motors so gewickelt, dass nicht nach Beendigung eines Zykluses auch eine Umdrehung durchgeführt wurde. Bei dem von uns verwendeten Motor mit 1,8 ∘ Schrittweite wären also 50 Zyklen für eine Umdrehung notwendig. Motoren, die zusätzlich zu zwei Anschlüssen pro Spule noch jeweils einen weiteren Anschluss an der Mitte der Spule haben, können auch unipolar betrieben werden. Im unipolaren Betrieb wird jeweils nur ein Hälfte einer Spule von Strom durchflossen. Nachdem für den nächsten Schritt die zweite Spule bestromt wurde, wird anders als beim bipolar betriebenen Motor nicht ein umgekehrter Stromfluss benötigt, um den nächsten Schritt durchzuführen. Stattdessen fließt der Strom vom Mittelanschluss über die andere Hälfte der Spule ab. Somit kommt es intern zu der benötigten Umkehrung der Stromrichtung. Dadurch, dass jeweils nur eine Hälfte der Spule von Strom durchflossen ist, ist das maximale Drehmoment im unipolaren Betrieb geringer als im bipolaren Betrieb. Zu der eben beschriebenen Vollschrittansteuerung gibt es auch noch eine Halbschrittansteuerung, die auch bipolar und unipolar vollzogen werden kann. Der Unterschied besteht darin, dass nachdem die erste Spule bestromt wurde, diese nicht ausgeschaltet wird und die zweite Spule mit Strom versorgt wird. Stattdessen wird die zweite Spule zusätzlich aktiviert, wodurch sich der Rotor des Motors in eine Mittelstellung zwischen 15 Vollschritt Schritt 1 Schritt 2 Schritt 3 Schritt 4 Halbschritt Schritt 1 Schritt 2 Schritt 3 Schritt 4 Schritt 5 Schritt 6 Schritt 7 Schritt 8 Spule 1a + 0 − 0 Spule 1a + + 0 − − − 0 + Spule 1b − 0 + 0 Spule 1b − − 0 + + + 0 − Spule 2a 0 + 0 − Spule 2a 0 + + + 0 − − − Spule 2b 0 − 0 + Spule 2b 0 − − − 0 + + + Tabelle 1: Ansteuerung der Schrittmotoren den beiden Vollschritten bewegt. Anschließend wird der Strom durch die erste Spule abgestellt. Der erste Schritt ist damit vollzogen. Die weiteren Teilschritte verlaufen analog. 6.3 Motorbeschaltung und Betrieb Der Schrittmotor wird direkt an einen Treiber IC vom Typ L298 angeschlossen. Dieser IC verfügt über zwei separate H-Brücken, die jeweils eine Spule des Motors versorgen können. Da es Aufgrund der H-Brücken möglich ist einen Strom in beide Richtungen zu treiben und Aufgrund des höheren Drehmoments, haben wir uns für eine bipolare Halbschrittansteuerung des Motors entschieden. Durch die Halbschrittansteuerung halbiert sich die Schrittweite, wodurch eine feinere Einstellung der Drosselklappen möglich ist. Der L298 IC wird vom Mikrocontroller aus über 4 Steuerleitungen angesprochen. Jeweils 16 Abbildung 6: Motorbeschaltung zwei Steuerleitungen legen fest, ob und wenn in welcher Richtung der Strom durch die Spulen des Motors fließt: Wenn an beiden Steuerleitungen der gleiche Logikpegel anliegt, werden beide Seiten der H-Brücke gleich ausgesteuert und somit liegt das gleiche Potential an beiden Enden der Spule, es fließt kein Strom. Bei unterschiedlichem Logikpegel fließt dementsprechend ein Strom. Damit die Motoren bei 12 V Versorgungsspannung nicht die maximalen 0,3 A Strom ziehen, werden sie mit einer Chopperschaltung betrieben. Dafür werden die Enable Eingänge der H-Brücken und die Sense Ausgänge genutzt. An die Sense Ausgänge ist dabei jeweils ein Messwiderstand angeschlossen, so dass eine zum Strom in der jeweiligen Spule proportionale Spannung abfällt. Diese Spannung wird in einer Komparatorschaltung mit einer Referenzspannung verglichen. Übersteigt die Spannung über einem der Messwiderstände den Referenzwert, wird der Enable Eingang der entsprechenden Spule auf Null Potential gezogen, was einen sinkenden Strom zur Folge hat. Ist der Strom weit genug gefallen wird der Enable Eingang durch den Komparator wieder aktiviert und der Strom steigt wieder. Durch diese Schaltung können die Motoren mit einer höheren Versorgungsspannung betrieben werden, als dies eigentlich durch den vorgegebenen maximalen Stromfluss möglich wäre. Diese höhere Versorgungsspannung sorgt für einen schnelleren Stromanstieg in den Motorspulen. Dadurch wird das maximale Drehmoment der Motoren früher erreicht und es kommt bei hohen Ansteuerungsfrequenzen nicht zu Schrittverlusten. Der im endgültigen Betrieb realisierte Storm pro Spule beträgt 0,125 A und wurde durch schrittweise Verringerung des Stroms, bis zum Eintreten von Schrittverlusten, ermittelt. Der maximale Strom pro Spule kann auf der Motorplatine mit dem Einstellpoti R4 eingestellt werden. 17 6.4 Tiefpass für Abstandssensor Für die Messwertleitung der Abstandssensoren ist auf den Motorplatinen noch ein Tiefpass realisiert. Er dient dazu eventuelle Störungen des Messsignals, die auf der Übertragungsstrecke vom Sensor zur Platine auftreten, zu unterdrücken. Der Tiefpass hat eine Grenzfrequenz von 80 Hz. Bei der Dimensionierung musste ein Kompromiss zwischen der Reaktionsgeschwindigkeit des Messsignals am Mikrokontroller und der Filterung eines möglichst großen Frequenzbereichs getroffen werden. 𝑓= 1 2𝜋𝑅𝐶 (1) 6.5 Ergebnis Die Motorplatinen sind alle komplett durchgemessen und funktionierten einzeln im Prototyp. Einzeln funktionierten sie auch im endgültigen Aufbau. Im parallelen Betrieb kommt es jedoch zu Problemen. Wenn die Motoren angesteuert werden vibrieren sie, anstatt Schritte auszuführen. Wo der Fehler liegt kann im Moment noch nicht gesagt werden. Eine mögliche Quelle stell jedoch die Stromversorgung da, da Schrittmotoren bei zu geringem Strom zu wenig Drehmoment erzeugen, wodurch es anstelle des Schritts nur zu einem Vibrieren kommt. 6.6 Bauelementeliste 1×L298n 1×lm324 4×10Ohm Widerstand 1×180Ohm Widerstand 3×100nF Kondensator 1×10nF Kondensator 1×50kOhm Einstellpoti 1×10kOhm Einstellpoti 8×40V-1A Schottkydioden 1×DIL14 Gehäusesockel 1×6pol Wannenstecker 2×3pol Steckverbinder 1×2pol Steckverbinder 1×4pol Stiftleiste 1×KP4M2 Schrittmotor von JapanServo 18 Abbildung 7: Schaltplan der Motorplatine 19 Abbildung 8: Bestückungsplan der Motorplatine 20 Abbildung 9: Platinenlayout der Motorplatine (Bottom) 21 Abbildung 10: Platinenlayout der Motorplatine (Top) 22 L Line In zum Audioverstärker Bandpässe Vorverstärker R Ba er ndv st ä r ku ng 7 7:1 MUX al Kan a us wa hl Spannungsspitzendetektion Mikrocontroller ADC Abbildung 11: Blockschaltbild des Equalizers 7 Equalizer Der Airqualizer soll neben der reinen Visualisierung des Audiosignals natürlich auch das Signal selber erklingen lassen können. Als Quelle sind dafür z. B. CD-Player oder mobile Geräte, die ansonsten Musik nur über Kopfhörerausgänge ausgeben, vorgesehen. Ein eingebauter Audioverstärker ermöglicht den direkten Betrieb von Lautsprechern am Airqualizer. Ein graphischer 7-Band-Equalizer ermöglicht eine klangliche Beeinflussung des Audiosignals, während der Verstärker eine Veränderung der Gesamtlautstärke am Ausgang zuläßt. Der in diesem Abschnitt beschriebene Schaltungsteil realisiert nicht nur den Equalizer, sondern stellt auch die Daten zur Verfügung, mit denen der Mikrocontroller letztlich den Analysator betreibt. Das Blockschaltbild in Abb. 11 gibt einen Überblick über die Funktionsweise, welche im Folgenden näher erläutert wird. 7.1 Eingang & Vorverstärker Von dem anfangs gefaßten Vorsatz, den Audioteil des Airqualizers in Stereo umzusetzen, mußte wegen der mangelnden Belastbarkeit des Netzteils sowie Zeitknappheit beim Fertigen der Platinen Abstand genommen werden. Aus diesem Grund wird das Audiosignal zu Beginn der Audioverarbeitungskette durch Summation der beiden Stereokanäle in ein Monosignal umgesetzt. Die Ausgangsleistung und -spitzenspannung mobiler, audiofähiger Geräte stellte sich in anfangs durchgeführten Testmessungen als sehr unterschiedlich heraus. Es scheint keine verbindlichen Festlegungen zu geben, an die sich die Hersteller dieser Geräte halten. Da hier also nicht von genormten Spannungspegeln ausgegangen werden kann, ist am 23 Abbildung 12: Schaltplan des Equalizereingangs Eingang des Airqualizers ein kleiner, einstellbarer Vorverstärker vorgesehen, über den sich das Eingangssignal um maximal ±12 dB verstärken bzw. dämpfen lässt. Summation und Skalierung erfolgen über einen invertierenden Addierer, dessen Verstärkung über ein Potentiometer vom Benutzer eingestellt werden kann (Abb. 12). Die Ausgangsspannung des Addierers ergibt sich aus ( ) 𝑈L 𝑈R 𝑈out = −𝑅 + , (2) 𝑅40 𝑅39 wobei 𝑅 den Widerstand in der Rückkopplung beschreibt. Unter der Annahme, dass sich linker und rechter Kanal zu 𝑈L + 𝑈R = 2 ⋅ 𝑈in (3) addieren, kann die Verstärkung des invertierenden Addierers über 𝑉 = 𝑈out 𝑅 𝑅 = −2 ⋅ =− 𝑈in 𝑅39,40 5 kΩ (4) bestimmt werden. Um nun 𝑉min = 1/4 bzw. 𝑉max = 4 zu erreichen, muss 𝑅 = 1,25 kΩ bzw. 𝑅 = 20 kΩ gewählt werden. Für das gewählte 20 kΩ-Potentiometer und den dazu in Reihe geschalteten 1 kΩ-Widerstand werden die gewünschten Verstärkungen mit etwas zusätzlichem Spielraum erreicht. Um die nachfolgende Elektronik nicht durch zu hohe Spannungen zu zerstören, begrenzen zwei Dioden vom Typ 1N914 hinter dem Addierer die maximale Spannung auf Scheitelwerte von ca. 0,8 V. Optional kann eine Übersteuerungsanzeige angeschlossen werden, die dem Benutzer über eine LED signalisiert, wann das verstärkte Eingangssignal zu groß wird. Als Addierer kommt der rauscharme Doppel-OPV NE5532 zum Einsatz. Das als Signalquelle dienende Gerät wird über eine 3,5 mm-Stereo-Klinkenstecker an den Airqualizer angeschlossen. Das Potentiometer des Vorverstärkers sowie die LED der Übersteuerungsanzeige werden über Steckverbinder an die Platine angeschlossen und 24 Abbildung 13: Schaltplan der Übersteuerungsanzeige nahe der Klinkenbuchse am Gehäuse angebracht. Die Equalizer-Platine ist in der Mitte des Airqualizers befestigt. Um die Benutzerschnittstellen möglichst flexibel positionieren zu können, sitzen sie nicht direkt auf der Platine, sondern werden über Steckverbinder angeschlossen. 7.2 Übersteuerungsanzeige Um dem Benutzer optisch zu signalisieren, wann das verstärkte Eingangssignal zu hohe Spannungspegel aufweist, kann hinter dem Vorverstärker eine Übersteuerungsanzeige zugeschaltet werden (Abb. 13). < .mine Um die nachfolgende Elektronik nicht durch zu hohe Spannungen zu zerstören, begrenzen zwei Dioden vom Typ 1N914 hinter dem Addierer die maximale Spannung auf Scheitelwerte von ca. 0,8 V. Optional kann eine Übersteuerungsanzeige angeschlossen werden, die dem Benutzer über eine LED signalisiert, wann das verstärkte Eingangssignal zu groß wird. Als Addierer kommt der rauscharme Doppel-OPV NE5532 zum Einsatz. ======= Der für IC1 gewählte LM311 ist ein OPV mit Open-CollectorAusgang. Über die Spannungsteiler 𝑅1 –𝑅3 und 𝑅2 –𝑅4 an seinen Eingängen kann die Schaltschwelle des Komparators eingestellt werden. Übersteigt das Eingangssignal diese Schwelle, wird der Ausgang des IC1 negativ, so daß der Kondensator 𝐶3 über 𝑅5 auf -15 V aufgeladen wird. Der Transistor 𝑄1 öffnet und durch die LED fließt ein Strom, der durch den Vorwiderstand 𝑅8 auf ca. 2 mA begrenzt wird. Da sich 𝐶3 über 𝑅6 und 𝑅7 nur langsam entlädt, leuchtet die LED nach dem Auftreten der Übersteuerung am Eingang noch etwas länger. Somit hat der Benutzer die Möglichkeit, auch sehr kurze Übersteuerungen zu erkennen. Über die Wahl von 𝑅6 und 𝑅7 kann die Nachleuchtezeit“ der LED ” verändert werden. Fällt die Basis-Emitter-Spannung des Transistors unter 0,7 V, erlischt die LED, da der Transistor wieder sperrt. > .r101 < .mine Das als Signalquelle dienende Gerät wird über eine 3,5 mm-Stereo-Klinkenstecker an den Airqualizer angeschlossen. Das Potentiometer des Vorverstärkers sowie die LED der Übersteuerungsanzeige werden über Steckverbinder an die Platine angeschlos- 25 Abbildung 14: Schaltplan der Bandpaßfilterung und der anschließenden Summation sen und nahe der Klinkenbuchse am Gehäuse angebracht. Die Equalizer-Platine ist in der Mitte des Airqualizers befestigt. Um die Benutzerschnittstellen möglichst flexibel positionieren zu können, sitzen sie nicht direkt auf der Platine, sondern werden über Steckverbinder angeschlossen. ======= > .r101 7.3 Bandpaßfilterung Nach der Vorverarbeitung wird das Audiosignal in einer Parallelstruktur aus sieben analogen Bandpässen in die einzelnen Frequenzbänder zerteilt, deren Verstärkung vom Mikrocontroller kontrolliert wird. Dafür kommen digitale Potentionmeter vom Typ AD5204 zum Einsatz, die über ein serielles 3-Wire-Interface direkt vom Mikrocontroller gesteuert werden können. Die Bandpaßsignale werden – entsprechend gewichtet – wieder aufaddiert, bevor sie zum Audioverstärker gelangen. Die Schaltung ist in Abb. 14 für einen der Bandpässe zu sehen. Die anderen sechs Bandpässe werden zwischen den Punkten A und B im Schaltplan angeschlossen. Nur für einen Widerstandswert 𝑅𝐵 = 𝑅𝐴/6 und eine Verstärkung von 1 in allen sieben Bandpässen liefert der Equalizer am Ausgang hinter dem invertierenden Addierer ebenfalls eine Gesamtverstärkung von 1.3 Noch vor dem gemeinsamen Summationspunkt der Filter wird das Bandsignal jeweils ausgekoppelt, um für die Weiterverarbeitung im Mikrocontroller aufbereitet zu werden (siehe dazu Abschnitt 7.4). IC1 in Abb. 14 dient als Eingangspuffer und ist, genau wie der Addierer IC3 und alle Filterstufen, wiederum mit dem rauscharmen Doppel-OPV NE5532 realisiert. Koppelkondensatoren am Ein- und Ausgang der Schaltung blocken im Audiosignal auftretende Gleichanteile. 3 Da alle Filterstufen mit dem gleichen Widerstand 𝑅𝐴 = 100 kΩ an den Addierer angeschlossen sind, geht jedes der sieben Bandsignale mit gleicher Gewichtung ins Summensignal ein, wenn die Potentiometer ebenfalls auf den gleichen Wert eingestellt sind. 26 Bandindex 1 2 3 4 5 6 7 Mittenfrequenz 62,5 Hz 157,5 Hz 396,9 Hz 1000 Hz 2519,8 Hz 6349,6 Hz 16000 Hz berechnetes 𝐶2 8,82 nF 3,50 nF 1,39 nF 551,33 pF 218,80 pF 86,83 pF 34,46 pF Tabelle 2: Berechnete Mittenfrequenzen und Kapazitäten der Bandpässe Die Filter werden durch aktive Bandpässe zweiter Ordnung realisiert. Ihre Mittenfrequenz und Güte ist – wie von einem graphischen Equalizer gewohnt – jeweils fest, allerdings lässt sich ihre Verstärkung zwischen −12 dB und +12 dB variieren. Die Bandpässen weisen die gleiche Güte auf und ihre Mittenfrequenzen sind so bestimmt, dass der hörbare Bereich auf einer logarithmischen Frequenzachse in sieben gleich große, sich überlappende Bänder eingeteilt wird.4 Mittenfrequenz und Güte dieser Filter ergeben sich nach [Skr88] folgendermaßen: √ 2𝑅1 + 𝑅2 𝜔𝑚 = , (5) 𝑅1 𝑅2 𝑅3 𝐶1 𝐶2 𝑄 = 𝜔𝑚 ⋅ 𝑅2 𝑅3 𝐶1 𝐶2 . 2𝑅2 𝐶1 + (𝑅1 + 𝑅2 + 𝑅3 )𝐶2 (6) Mit dem für die Dimensionierung gewählten 𝐶1 = 10 ⋅ 𝐶2 und 𝑅3 = 10 ⋅ 𝑅2 vereinfacht sich Gl. (5) zu √ 1 𝑅2 𝜔𝑚 = 2+ , (7) 10𝑅2 𝐶2 𝑅1 woraus sich durch einfaches Umstellen die die Mittenfrequenz bestimmende Kapazität 𝐶2 bestimmen läßt. Die Widerstandswerte wurden, um in allen Filtern nur die Kapazitäten variieren zu müssen, für jeden Bandpaß auf jeweils 𝑅1 = 10 kΩ , 𝑅2 = 100 kΩ , 𝑅3 = 1 MΩ (8) festgelegt. Das für jeden Bandpaß daraus resultierende 𝐶2 ist in Tab. 2 aufgelistet. Die in Tab. 2 aufgeführten Mittenfrequenzen der Bandpässe ergeben sich durch die Festlegung der Mittenfrequenz des mittleren Bandes auf 1 kHz und der des obersten Bandes auf 16 kHz. Der Multiplikator zwischen benachbarten Mittenfrequenzen beträgt für sieben Bänder demzufolge √ 3 16 kHz 𝐾= ≈ 2,52 , (9) 1 kHz 4 Diese Einteilung ist dem menschlichen Gehör angepasst, welches u. a. ein logarithmisches Frequenzempfinden zeigt (Frequenzverdopplung = ˆ 1 Oktave höher). 27 Bandindex 1 2 3 4 5 6 7 Mittenfrequenz 67,2 Hz 167,1 Hz 367,6 Hz 984,5 Hz 2506 Hz 6723,5 Hz 16707 Hz gewähltes 𝐶2 8,2 nF 3,3 nF 1,5 nF 560 pF 220 pF 82 pF 33 pF gewähltes 𝐶1 82 nF 33 nF 15 nF 5,6 nF 2,2 nF 820 pF 330 pF Tabelle 3: Verwendete Kapazitäten und resultierende Mittenfrequenzen der Bandpässe woraus sich für die Güte eines jeden Filters bei maximaler Verstärkung zu √ 𝐾 𝑄= ≈ 1,05 𝐾 −1 (10) ergibt. Wie aus Gl. (6) zu erkennen ist, sinkt die Güte jedoch mit fallender Verstärkung, d. h. die Bänder werden in diesem Fall etwas breiter. Schaltungstechnisch lassen sich auch graphische Equalizer entwerfen, deren Bandbreiten tatsächlich unabhängig von der Bandverstärkung sind (siehe z. B. [Boh86]). Dies wäre z. B. für Studioanwendungen sicher die bessere Alternative, da sich benachbarte Bändern in diesem Fall deutlich weniger gegenseitig beeinflussen. Für den Einsatzbereich des Airqualizers ist ein solches Filterdesign jedoch nicht unbedingt notwendig. Die in Tab. 2 aufgelisteten Mittenfrequenzen wurden nicht gerundet, da die benötigten Kondensatoren ohnehin nicht in beliebigen Kapazitäten erhältlich sind. Stattdessen wurden die berechneten 𝐶2 erst am Ende auf tatsächlich erhältliche Größen gerundet. Die gewählten Kapazitäten sowie die nach Gl. (7) daraus resultierenden Mittenfrequenzen sind in Tab. 3 zusammengefaßt. Die Abweichung der Mittenfrequenzen von den berechneten Werten sind in Anbetracht des Einsatzbereiches des Airqualizers vernachlässigbar klein. 7.4 Multiplexer Da der Analysator des Airqualizers ebenfalls über den Mikrocontroller gesteuert wird, benötigt letzterer das bandpaßgefilterte Audiosignal in digitaler Form. Dazu werden die Bandpaßsignale vor der Summation ausgekoppelt und durch einen ADC umgesetzt. Um die für den ADC notwendige Signalaufbereitung nicht in siebenfacher Ausführung aufbauen zu müssen, werden die Bandsignale in einem analogen Multiplexer vom Typ DG408 zusammengeführt. Der Mikrocontroller kann über drei Steuerleitungen auswählen, welches der sieben Bandsignale vom Ausgang des Multiplexers über die Signalaufbereitung zum ADC gelangt. Der DG408 arbeitet mit Umschaltzeiten im Nanosekundenbereich ausreichend schnell, um im Zeitmultiplex-Betrieb die Bandsignale nacheinander an den ADC durchzuschalten. Da es sich letztendlich um eine graphische Ausgabe handelt, müssen ohnehin keine 28 Abbildung 15: Schaltplan des Multiplexers und des Spannungspitzendetektors so hohen Timing-Anforderungen gestellt werden wie beispielsweise für Audio. Zudem war der DG408 einer der wenigen verfügbaren analogen Multiplexer mit 8 Kanälen. Die Beschaltung des Multiplexers in Abb. 15 ist recht simpel. Auf sieben der acht zur Verfügung stehenden Eingänge S1. . . S8 führen die sieben ausgekoppelten Bandsignale aus der Filterstufe. Die drei Steuerleitungen für die Kanalauswahl sind direkt mit dem Mikrocontroller verbunden, der darüber entscheiden kann, welcher Eingang jeweils auf den Ausgang D geschaltet wird. Da am Mikrocontroller für den ENABLE-Anschluß des Multiplexers keine Pins mehr verfügbar waren, wurde der DG408 fest auf enabled“ ver” drahtet. Der Ausgang des Multiplexers führt direkt auf die Spannungsspitzendetektion. 7.5 Spannungsspitzendetektion Was über die Röhren des Analysators dargestellt werden soll, ist die Signalenergie in den sieben Frequenzbändern. Eine ziemlich genaue Methode, diese Energie zu bestimmen, bestünde in der kontinuierlichen Abtastung der Bandsignale und einer anschließenden Summation der Amplitudenquadrate (in Software). Mit ausreichend kleinen Zeitfenstern für die Summation (und ggf. einem gleitenden Mittelwert über die Summen) kann die Energie sehr genau bestimmt werden. Allerdings wird in dieser Lösung unverhältnismäßig viel Aufwand in die A/D-Umsetzung gesteckt, da ausreichend hohe Abtastraten gewährleistet werden müßten, um aussagekräftige Ergebnisse zu erhalten. Um Mikrocontroller und ADC zu entlasten, könnte jeweils ein Bandsignal gleichgerichtet, (in Hardware) über einen kurzen Zeitraum aufsummiert und anschließend per ADC umgesetzt werden. Im Vorfeld durchgeführte Softwaresimulationen zeigten jedoch, daß schon der Spitzenwert des Signals den Verlauf der Signalenergie qualitativ sehr gut approximiert. Ein solcher Spitzendetektor ließ sich schaltungstechnisch recht einfach umsetzen (Abb. 15). Der Komparator IC1 schaltet nur dann positiv durch, wenn das Eingangssignal größer ist als die momentane Spannung über dem Kondensator.5 Die Diode wird leitend, und 5 Die negativen Spitzen werden hier vernachlässigt, da die Simulationen zeigten, daß positive und ähnlich 29 Abbildung 16: Schaltplan des ADCs der Kondensator wird auf den am Eingang liegenden Wert aufgeladen. Ab diesem Punkt (oder für niedrigere Spannungen am Eingang) kippt der Ausgang des Komparators in negative Richtung, was wegen der dann in Sperrichtung gepolten Diode allerdings keine Auswirkung auf den Kondensator hat. Um ein Entladen des Kondensators über die nachfolgende Schaltung zu verhinden, ist IC2 als Spannungsfolger zwischengeschaltet, der einen sehr großen Eingangswiderstand aufweist. Um am Ende eines Analysefensters den Spitzenwert wieder zurückzusetzen, kann der Kondensator über den FET 𝑄1 entladen werden, dessen Gate direkt an den Mikrocontroller angeschlossen ist. Wie auch im Rest der Equalizer-Schaltung kommt als OPV der NE5532 zum Einsatz. 7.6 A/D-Umsetzung Da sich auf halber Strecke durchs Projekt herausstellte, daß nicht genügend Pins am Mikrocontroller zur Verfügung stehen, um – wie anfangs geplant – die aufbereiteten Bandpaßsignale mit dem internen ADC des Mikrocontrollers umzusetzen, mußte auf einen externen ADC ausgewichen werden. Vorgabe der Mikrocontroller-Gruppe war ein paralleler Datenausgang. Da die digitalisierten Signale nur für die Positionierung der Bälle in den Röhren herangezogen werden, ist eine Quantisierung mit z. B. im Audiobereich verbreiteten 16 bit nicht notwendig. Die 256 Stufen eines 8-Bit-ADCs reichen völlig aus, um die Höhe der Bälle sehr fein einstellen zu können. Die Wahl fiel letztendlich auf den ADC0804, der für einen bezahlbaren Preis die Anforderungen erfüllt. Mit Umsetzzeiten im Bereich von 100 𝜇s ist er zwar vergleichsweise langsam (für z. B. HiFi-Audioanwendungen nicht geeignet), liefert aber immerhin die Möglichkeit, analoge Spannungswerte einige hundert bis tausend Male pro Sekunde in digitale 8-Bit-Worte umzusetzen – absolut ausreichend für die Steuerung der Bälle im große negative Spitzen im Audiosignal zeitlich stets sehr dicht aufeinander folgten. 30 Airqualizer. Die Beschaltung des ADC0804 ist in Abb. 16 zu sehen. Durch Kurzschließen der Pins CLK und CLKR verwendet der ADC sein internes Taktsignal mit einer Frequenz von 640 kHz (Self-Clocking Mode). Um Störeinflüsse am Takteingang zu vermeiden, wird dieser über einen kleinen Kondensator wechselspannungsmäßig geerdet. Aus der in Abschnitt 7.1 beschriebenen Spannungsbegrenzung auf 0,8 V und der in Abschnitt 7.3 erwähnten maximalen Verstärkung um den Faktor 4 ergibt sich eine Maximmalspannung von ca. 𝑈bpOut = 3,2 V am Ausgang jedes Bandpasses und somit am Eingang des ADCs. Da der Spitzendetektor negative Signalanteile ignoriert, ergibt sich als minimale Eingangsspannung am ADC 0 V. Der negative Eingangspin VI- des ADC0804 kann somit direkt auf Masse gelegt werden. Am Pin VREF erwartet der ADC die Hälfte der Referenzspannung, in diesem Fall also 𝑈ref = 𝑈bpOut = 1,6 V . 2 (11) Mit dem Spannungsteiler 5V 𝑅1 + 𝑅3 = 𝑈ref 𝑅3 (12) fällt die gewünschte Spannung 𝑈ref für ein Widerstandsverhältnis von 𝑅1 = 2,125 𝑅3 (13) über 𝑅3 ab. Gewählt wurde 𝑅1 = 3,3 kΩ und 𝑅3 = 1,5 kΩ sowie ein zusätzliches 1 kΩPotentiometer für den Feinabgleich. Über die Pins RD und WR kann der Mikrocontroller die A/D-Umsetzung steuern. INTR signalisiert eine abgeschlossene Umsetzung. Das digitale 8-Bit-Wort wird über die parallelen Ausgänge DB0. . . DB7 direkt an den Mikrocontroller übermittelt, der die Daten weiterverarbeitet. 7.7 Spannungsversorgung & Schnittstelle zum Audioverstärker Eine anfangs für die Equalizer-Platine geplante ±12 V-Schiene direkt vom Netzteil entfiel im Laufe des Projekts zugunsten der neu hinzugekommenen Motoren. Als Notlösung wurde deshalb kurzerhand mittels der Festspannungsregler 7815 und 7915 aus den vom Netzteil bereitgestellten ±24 V eine ±15 V-Versorgung für die OPVs direkt auf der Equalizer-Platine erzeugt – eine recht praktikable aber natürlich extrem ineffiziente Methode, die bei einer möglichen Überarbeitung des Airqualizers unbedingt ausgemerzt werden sollte. Die Digitalpotentiometer AD5204 benötigen als einzige Versorgungsspannungen die kleinste und größte an ihren Poti-Anschlüssen auftretende Spannung. Diese ±3,2 V wurden über entsprechende Z-Dioden von den ±15 V abgegriffen. Dies ist zwar aus Effizienzgründen ähnlich bedenklich wie der Einsatz der Festspannungsregler, kann aber gerade noch toleriert werden, da die beiden AD5204 die einzigen Verbraucher an dieser Spannungsquelle sind und in den Filtern kaum Leistung umsetzen. 31 Da auch der Audioverstärker ein Digitalpotentiometer benötigt und noch einer der acht Kanäle aus den beiden AD5204 unbelegt war, werden die drei Potianschlüsse dieses Kanals über einen Steckverbinder mit der Verstärker-Platine verbunden. Hinzu kommen die Versorgungsspannungen ±15 V, ±24 V, analoge Masse und das Audiosignal. 7.8 Erfolge und Probleme bei der Umsetzung Trotz intensiver Tests der zahlreichen Einzelkomponenten dieser Schaltung funktionierte bis zum Präsentationstermin leider nicht alles wie geplant. Während die klangliche Beeinflussung über die Bandpässe sowie die Wiedergabe über den angeschlossenen Audioverstärker erfolgreich getestet wurde, bereitete der Einsatz der Digitalpotentiometer bis zuletzt Probleme. Während sie in den Testschaltungen auch mit AD5204 wie entworfen funktionierten, begannen die Filter auf der Platine zu schwingen, sobald die dort vorher zu Testzwecken eingesetzten analogen Potentiometer durch die AD5204 ersetzt wurden. Ein Problem, das es nach der Präsentation noch zu lösen gilt! Der gesamte Vorverarbeitungsteil für den Analysator (Multiplexer, Spitzendetektion, ADC) konnte zwar einzeln erfolgreich getestet werden, nicht jedoch im Zusammenspiel mit den Motoren und Röhren, da der entsprechende Teil der Mikrocontrollersoftware so kurzfristig nicht mehr fertiggestellt werden konnte. Abbildung 17: Bestückungsplan der Übersteuerungsanzeige 32 Kürzel ADC C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15–17,29 C18 C19–28,35,36,38,39 C30 C31,34 C32,33 C37 C40 CON AMP CON AUDIO IN CON SUPPLY CON AUDIO MONITOR CON AUDIO POT CON MC Bauelement ADC0804 82 nF RM 7,5 6,8 nF RM 7,5 3,3 nF RM 7,5 33 nF RM 7,5 1,5 nF RM 7,5 15 nF RM 7,5 560 pF RM 5 5,6 nF RM 7,5 220 pF RM 7,5 2,2 nF RM 7,5 82 pF RM 5 820 pF RM 5 33 pF RM 5 330 pF RM 5 47 𝜇F RM 2,5 10 𝜇F RM 2,5 47 𝜇F Elko RM 2,5 10 𝜇F Elko RM 2,5 330 nF RM 2,5 100 nF RM 2,5 100 pF RM 2,5 1,5 nF RM 5 Steckverbinder M10 Steckverbinder M03 Steckverbinder M03 Steckverbinder M04 Steckverbinder M02 Wannenstecker ML26 Tabelle 4: Bauelementeliste der Equalizer-Platine Abbildung 18: Platinenlayout der Übersteuerungsanzeige (Bottom) 33 Kürzel D1–D3 D4–D5 DIGIPOT1,2 IC1–5,8 IC6 IC7 MUX Q1 R42,58,60,66 R1,2,8,9,13,14,18,19,23 R24,28,29,33,34,38–41 R53,57,59 R37 R5,10,15,20,25,30,35-36 R3,4,6,7,11,12,16,17,21,22,26,27,31,32 R43–52,61–62 R54 R55 R56 R64,67 Bauelement 1N914 BZX55 AD5204N NE5532N 7815 TO220 7915 TO220 DG408DJ BS170 SOT54 1 kΩ 10 kΩ 10 kΩ 10 kΩ 16 kΩ 100 kΩ 1 MΩ 47 Ω 3,3 kΩ 1,5 kΩ 1 kΩ, PT10 500 Ω, RJ9W Trimmer Tabelle 5: Bauelementeliste der Equalizer-Platine (Fortsetzung) Kürzel C1,C2 C3 CON AUDIO MONITOR D1,D2 IC1 LED1 Q1 R1–4 R5 R6,R7 R8 Bauelement 100 nF RM 5 3,3 𝜇F Elko RM 2,5 Steckverbinder M04 1N4148 LM311N 2 mA 5 mm BC559C TO92 1 kΩ 100 kΩ 5,6 kΩ Tabelle 6: Bauelementeliste der Übersteuerungsanzeige 34 Abbildung 19: Schaltplan des Equalizers 35 Abbildung 20: Bestückungsplan des Equalizers 36 Abbildung 21: Platinenlayout des Equalizers (Bottom) 37 Abbildung 22: Platinenlayout des Equalizers (Top) 38 8 Audioverstärker Ein Projekt wie der Airqualizer stellt die Teilnehmer vor nicht triviale Herausforderungen: Einerseits musste aus dem Nichts mit viel Kreativität und Experimentierfreude eine Technik entwickelt werden, mit der die springenden Bälle in der Röhre zu realisieren und zu bedienen sind. Zum Anderen wurde sich dafür entschieden den Equalizerteil rein analog zu verwirklichen. Die Verstärkung und Ausgabe des modifizierten Audiosignals war die Aufgabe der Audiogruppe. Es galt nun einen Audioverstärker zu entwickeln, der nicht zu anspruchsvoll sein darf, trotzdem gut klingen sollte, sich aber auch preislich in einem realistischen Rahmen bewegen sollte. Da blieben trotzdem noch viele Variablen unbesetzt, wie die Art des Verstärkers, die Verstärkung, die Ausgangsleistung und vieles mehr. Den Gedanken, den Verstärker in Röhrentechnik zu realisieren wurde schnell wieder verworfen, da Röhren relativ teuer sind, mit hohen Spannungen gearbeitet wird und außerdem keinerlei Erfahrungen im Umgang mit Röhrenverstärkern vorhanden war. Beim ersten Verstärkertyp handelte es sich um einen D-Klasse Audioverstärker. Verstärker dieser Art zeichnen sich durch einen extrem hohen Wirkungsgrad aus, der teilweise bei über 90 % liegt. Leider zeigten die Simulationen mit PSpice, dass es mit einer PWM (Schmitt-Trigger, Integrator und Komparator) bei einer Frequenz von ca. 400 kHz, einer Endstufe und schließlich einem Tiefpass nicht getan war, weil schon nach der PWM das Rechtecksignal Verzerrungen aufwies. Um ein sauberes, verstärktes und rauscharmes Signal am Ausgang zu erhalten, bedarf es scheinbar einer etwas aufwändigeren, zusätzlichen Beschaltung. Eine ziemlich simple Methode einen Audioverstärker zu realisieren, ist die mit einem Audioverstärker-IC. Hierbei wurden diverse Schaltungen aus einigen Fachbüchern ausprobiert und getestet. Diese Schaltungen, welche unter anderem mit diversen integrierten ICs auf dem Steckbrett gebaut wurden, zeigten bei einem Sinus-Signal aus dem Funktionsgenerator einen sowohl akustisch guten Klang, als auch auf dem Oszilloskop ein praktisch verzerrungsfreies Abbild des Eingangssignals. Wurde nun eine externe Audioquelle, wie ein Musik-Player angeschlossen traten teils starke Verzerrungen und Rauschen auf und es kam ein kräftiges Brummen dazu. Dieses Phänomen zeigte sich nicht nur bei einer Schaltung, sondern trat bei mehreren mit unterschiedlichen ICs auf. Zunächst wurde gerätselt, ob es am Steckbrett liegen kann und eine es wurde bei der dritten Schaltung, die scheinbar korrekt funktionieren sollte, da sowohl Buch, als auch Datenblatt dies theoretisch noch bestätigten, eine Platine dafür geätzt und bestückt. Es handelte sich hierbei um eine 47 W-Mono-Audioverstärker für eine Last von 8 Ω. Auch hier zeigt sich die Störung, worauf letzten Endes das ungeschirmte Klinke-Kabel in Verdacht kam eventuelle Störungen aufzunehmen. Damit war die Ursache gefunden. Es stellte sich heraus, dass ohne Quelle, im Leerlauf, das 50 Hz-Netzbrummen von den Steckdosen der Schaltpulte aufgenommen wurde und zusätzlich noch ein hochfrequenter Rauschanteil dazukam. Unterdessen waren die anderen Gruppen mit ihren Schaltungen und Dimensionierungen auch weiter fortgeschritten: Da es acht Motoren für die Drosselklappen an den Equalizerröhren gab, war es erforderlich, diese mit ausreichend Strom zu versorgen. Das wurde bei der Dimensionierung des Netzteiles berücksichtigt. Jedoch wurde damit die 39 Leistung des Verstärkers drastisch gekürzt, da sonst die Kosten für das 24 V-Netzteil oder gar für mehrere Netzteile zu hoch würden. Daher wurde für die Audiogruppe eine Grenze von 25 W gesetzt, welche mit dem 47 W-Verstärker um Weiten überschritten wurde. Außerdem sollte nun die variable Verstärkung des Audioverstärkers, also die Lautstärkeregelung, über ein digitales Potentiometer mit 256 Schritten geregelt werden. Die relativ einfache IC-Audioverstärkerschaltung hätte nun noch auf den Eingang und das Digitalpotentiometer angepasst werden müssen, was nun aber wegfiel, da der Verstärker eine zu hohe Leistung erzielt. Somit musste wieder eine neue, dieses Mal leistungsarme“ Schaltung entworfen wer” den. Hierbei wurde auf die Grundtechnik eines Audioverstärkers zurückgegriffen, welche aus einem invertierenden Verstärker und einer AB-Emitter-Gegentakt-Endstufe besteht. 8.1 Blockschaltbild In der folgenden Abbildung ist das Blockschaltbild des Verstärkers zu sehen. Wie man sieht, wurde die gesamte Vorverstärkerstufe in zwei Teile aufgeteilt. Das hat folgenden Hintergrund. Da die Lautstärkeregelung über das Digitalpotentiometer stattfinden sollte, welches nur in bestimmten Spannungsbereichen arbeitet, musste für die erste Stufe eine geringe Verstärkung gewählt werden, damit die Spannungsebene einen Maximalwert von 2,7 V nicht überschreitet. Es wurde hier ein nicht invertierender Verstärker ausgewählt, damit man die Möglichkeit hat, die Verstärkung vollkommen auf Null zu stellen. Bei einem nicht invertierenden Verstärker wäre das nicht möglich gewesen. Die zweite Stufe sollte dann die Verstärkung deutlich anheben. Hier wurde vorerst eine feste Verstärkung von 𝑉 = 40 gewählt, welche aufgrund der kleineren Lautsprecher dann um die Hälfte auf 𝑉 = 20 gesenkt wurde. Als Endstufe kam hier eine AB-Gegentakt-Endstufe zum Tragen. Diese Endstufe hat den Vorteil, dass sie im Gegensatz zum Eintaktverstärker zwei Verstärkungselemente besitzt, welche in unserem Falle durch zwei komplementäre Transistoren realisiert wurden. Dadurch werden positive und negative Halbwelle des eingehenden Signals gleichmäßig. Aufgrund der vorher geforderten Versorgungsspannung von ±24 V für die anderen entwickelten Verstärker sollte natürlich auch eine Endstufe entwickelt werden, die mit dieser Spannung arbeiten kann, was der gewählten Endstufe keine Probleme bereitete. 8.2 Dimensionierung 8.2.1 Vorverstärker Die Widerstandswerte der Vorverstärkerstufen ergaben sich aus den gewählten Verstärkungen und 𝑅2 𝑉1 = − = [0 . . . 1] (14) 𝑅1 mit 𝑅1 = 100 kΩ und 𝑅2 als digitales Potentiometer sowie 𝑉2 = 1 + 𝑅4 ! = 20 . 𝑅3 40 (15) Damit konnten die beiden Widerstände einfach zu 𝑅4 = 39 kΩ und 𝑅4 = 2,2 kΩ gewählt werden. Um eine rauscharme Übertragung zu gewährleisten, wurde der NE5532 also OPV gewählt, der sich bis zuletzt als rauscharmer Vorverstärker im Audiobereich erwiesen hat. 8.2.2 Endstufe Aufgrund der gewählten Ausgangsimpedanz von 𝑅 = 8 Ω (bzw. zwei in Reihe geschaltete Lautsprecher mit je 4 Ω ergibt sich die Leistung der Endstufe durch 𝑃 = 𝑈eff ⋅ 𝐼eff = 2 ˆ2 ! 𝑈eff 𝑈 = 8W . = 𝑅 2𝑅 (16) Wir wählten hier eine Leistung von 8 W, um die kleinen Boxen nicht unnötig zu überlasten. Damit ergibt sich eine Spannung an den Lautsprechern zu √ ˆ = 2𝑃 𝑅 = 11,3 V . 𝑈 (17) Aus dieser Spannung lassen sich die beiden Vorwiderstände der Transistoren berechnen, wenn man die abfallende Spannung vorher berechnet: 𝑈𝑅 = 24 V − 11,3 V − 0,7 V = 12 V . (18) Da durch die Diode nur ein relativ kleiner Strom von ca. 1,2 mA fließen muss, ergibt sich der Vorwiderstand zu 𝑈𝑅 12 V 𝑅𝑉 = = = 10 kΩ . (19) 𝐼𝑅 1,2 mA Für die Dioden kamen die 1N4148 zum Einsatz, da es sich hierbei um Schnellschaltdioden handelt, die in unserem Bereich die optimale Verwendung finden. Um die thermische Zerstörung der Transistoren zu vermeiden, wurden zweierlei Maßnahmen in Angriff genommen. Zum Einen wurde jeder Transistor durch Kühlkörper ausgestattet. Es handelt sich hierbei um eine passive Kühlung mittels zweier einfacher Kühlkörper die an das TO-220-Gehäuse der beiden Transistoren angeschraubt wurden. Diese Maßnahme reicht wegen der geringen Leistungsaufnahme vollkommen aus, um den Transistor auch im Dauerbetrieb ausreichend mit Kühlung zu versorgen. Es wurden zwei Kühlkörper mit einer Wärmeleitfähigkeit von 7,5 W/K ausgewählt. Die zweite Maßnahme war das Einbringen zweier Leistungswiderstände zur thermischen Kompensation in die Schaltung. Die beiden Widerstände wurden hinter jeden Emitter gesetzt und bewirkten einen Spannungsabfall auf der Basis-Emitter-Strecke. Damit dieser nicht zu groß ist und damit Leistung am Ausgang verloren geht, wurde sich experimentell auf 1 Ω geeinigt. Bei kleineren Werten war die Temperaturzunahme zu groß, bei größeren Werten fiel die Thermokompensation der Ausgangsleistung zum Opfer. Der Mix aus Leistungswiderständen und Kühlkörper gewährleistete einen dauerhaften Betrieb des Verstärkers. Die Wahl der Transistoren fiel auf die komplementären Transistoren BD243c und BD244c, welche sich im Gegentaktbetrieb als gute Wahl erwiesen haben. 41 Abbildung 23: Schaltplan des Audioverstärkers 8.3 Kopplung mit Equalizer Die Audioverstärkerschaltung ist über einen eigens dimensionierten Stecker mit der Equalizer-Platine gekoppelt. Die zwei Spannungsebenen zur Versorgung der Endstufe mit ±24 V und der Vorverstärker mit ±15 V wurden ebenfalls über diesen Stecker gelöst. Da das verwendete Digitalpotentiometer ebenfalls auf der Equalizer-Platine sitzt, wurde die Verbindung auch durch diesen Stecker hergestellt. 8.4 Schaltpläne 42 Abbildung 24: Layout des Audioverstärkers Abbildung 25: Bestückungsplan der Audioverstärkerplatine 43 Abbildung 26: Blockbild der Schnittstellen 9 Mikrocontroller-Platine 9.1 Anforderungen Die Mikrocontroller-Platine ist die zentrale Steuerungs-Platine. Sie verteilt und verarbeitet die Signale der einzelnen Systeme und ist für die Steuerung des Gesamtverhaltens des Airqualizers zuständig. Das Gesamtverhalten lässt sich in zwei Steuermodi aufteilen welche den Modi Equalizer und Analyzer entsprechen. Sie sollen mit Hilfe eines Schalters gewechselt werden können. Beide Modi teilen sich eine Regelung, sie ist dafür zuständig das die einzelnen Bälle der Röhren sich in vorgegebenen Höhen befinden. Dafür müssen die Sensorwerte ausgewertet und die Schrittmotoren entsprechend angesteuert werden. Im Analyzer-Modus werden die digitalisierten Audiosignale von der Equalizer-Platine in Sollwerte für die Höhen der verschiedenen Bälle umgerechnet. Im Equalizer-Modus müssen durch den Benutzer vorgenommene Änderungen an den Ballhöhen erkannt und in entsprechende Sollwerte für die Bandpässe sowie die Lautstärke umgerechnet werden. In beiden Modi müssen die Bandpässe sowie die Lautstärke entsprechend des internen Zustands angesteuert werden. Dieser kann nur im Equalizer-Modus geändert werden. 9.2 Idee Die gesamte Steuerung wird von nur einem Mikrocontroller auf der Platine übernommen. Dadurch lassen sich alle Systeme des Airqualizers direkt ansteuern. Die Realisierung eines Bussystems ist damit nicht erforderlich womit sich zusätzliche Steuerungs-Elemente auf Multi-/Demultiplexer-Aufgaben beschränken. Daher besteht die Logik der Platine aus der Verteilung von Signalen zwischen den verschiedenen Platinen und dem Mikrocontroller. Ein zusätzlicher Vorteil der zentralen Steuerung ist das Änderungen am Verhalten nur durch umprogrammieren eines Mikrocontrollers realisiert werden können und diese damit weitestgehend unabhängig von anderen Platinen und deren Bestückung sind. 9.3 Schnittstellen Die Schnittstellen zu den anderen Platinen lassen sich in sechs Gruppen einteilen: 44 9.3.1 Steuerung der Bandpässe Die Bandpässe sowie die Lautstärke müssen gesteuert werden. Zur Steuerung werden zwei vierfach digitale Potentiometer auf der Equalizer-Platine benutzt. Zur Verringerung der Anzahl der Datenleitungen werden diese in Reihe geschaltet über ein SPI-Interface angesteuert. 9.3.2 Einlesen der Audiosignale Die sieben Audiosignale der einzelnen Bandpässe müssen eingelesen werden. Diese werden auf der Equalizer-Platine vorverarbeitet und dort von einem 8-Bit-ADC digitalisiert. Die verschiedenen Signale werden über einen Multiplexer auf den ADC geschaltet. Der Multiplexer sowie der ADC werden von der Mikrocontroller-Platine angesteuert. Damit die digitalen Signale möglichst schnell eingelesen werden können werden die 8-Bit parallel an den Mikrocontroller übertragen. Zusätzlich muss das Reset-Signal für die Peak-Detektion auf der Equalizer-Platine gesteuert werden. 9.3.3 Ansteuerung der Schrittmotoren Die Schrittmotoren müssen angesteuert werden um die Drosselklappen entsprechend zu bewegen. Hierzu werden über die acht Motor-Platinen die vier Spulen je Motor über einen Logikpegel direkt an- oder ausgeschaltet. 9.3.4 Einlesen der Sensorsignale Die Signale der Sensoren werden über die Motorplatinen direkt an die MikrocontrollerPlatine geleitet und müssen dort digitalisiert werden. 9.3.5 JTAG Zum programmieren und debuggen des Mikrocontrollers wird eine JTAG Schnittstelle nach außen gelegt. 9.3.6 Erweiterungen Für spätere Erweiterungen wie zum Beispiel ein Display werden zusätzlich 8 I/O-Pins des Mikrocontrollers nach außen gelegt. Außerdem werden zwei Schalter eingeplant um unter anderem zwischen dem Equalizer- und Analyzer-Modus umzuschalten. 9.3.7 Zusammenfassung Die Steuerung der Bandpässe sowie das Einlesen der Audiosignale erfolgt über eine 26-adrige Verbindung zur Equalizer-Platine. Zusätzlich wird die Equalizer-Platine über diese Leitung mit digitaler Spannung und Masse versorgt. Das Ansteuern der Motoren sowie das Einlesen der Sensorsignale erfolgt über acht 6-adrige Verbindungen zu den acht Motor-Platinen. Zusätzlich wird die digitale Masse der Motor-Platinen mit der digitalen 45 Masse der Mikrocontroller-Platine über diese Leitungen verbunden um einen schnelleren Ausgleich von durch die Motorspulen verursachten Unterschieden der gemeinsam genutzten Masse zu erreichen. Je eine 10-adrige Verbindung für JTAG und die Erweiterungen wird zur Verfügung gestellt. 9.4 Wahl des Mikrocontrollers Folgende Anforderungen werden an den Mikrocontroller gestellt: ∙ Durch die direkte Ansteuerung der einzelnen Systeme werden möglichst viele I/OPins benötigt. ∙ Die Regelung und Ansteuerung der acht Röhren erfordert eine ausreichend hohe Taktrate. ∙ Für die Regelung wird ein hochauflösender Timer benötigt. ∙ Für die Steuerung der digitalen Potentiometer wird ein SPI-Interface benötigt. ∙ Zum einfachen debuggen und programmieren wird ein JTAG-fähiger Mikrocontroller benötigt. ∙ Es sollte ausreichend Programmspeicher zur Verfügung stehen. ∙ Für die Digitalisierung der Sensorsignale wäre ein interner ADC von Vorteil. ∙ Der Mikrocontroller sollte preiswert sein. Die Entscheidung fiel auf den Atmega128. Er besitzt folgende relevante Merkmale: ∙ 53 I/O-Pins ∙ Taktraten bis 16MHz ∙ Zwei 16-bit Timer ∙ SPI-Interface ∙ JTAG-fähig ∙ 128K Bytes Programmspeicher ∙ 10-Bit / Acht-Kanal ADC ∙ relativ preiswert 46 Abbildung 27: Connector zur Equalizer-Platine 9.5 Realisierung 9.5.1 Steuerung der Bandpässe Die SPI-Pins der digitalen Potentiometer werden direkt mit den entsprechenden Pins des SPI-Interface des Mikrocontrollers verbunden. Zusätzliche Funktionalitäten der Potentiometer werden ebenfalls direkt an freie I/O-Pins des Mikrocontrollers gelegt. 9.5.2 Einlesen der Audiosignale Die Steuerungspins des ADC und des Multiplexers auf der Equalizer-Platine sowie die Pins für die acht einzelnen Bits des digitalen Audiosignals werden ebenfalls direkt an freie I/O-Pins des Mikrocontrollers gelegt. Gleiches gilt für die Reset-Leitung der PeakDetektion. 47 Abbildung 28: Adressierbare Latches für Motorplatinen 9.5.3 Ansteuerung der Schrittmotoren Die je vier Signale für die acht Motoren werden über vier 8-Kanal adressierbare Latches an die jeweiligen Connectoren für die Motor-Platinen verteilt. Dabei steht je ein adressierbares Latch für eine Motorspule. Somit ist eine minimale Anzahl an Pins für die Steuerung der Motoren erforderlich. Die Latches werden benötigt um eine zyklische Ansteuerung der Motoren zu gewährleisten. Falls ein Motor gerade nicht angewählt ist müssen dessen Spulen trotzdem angesteuert werden. 9.5.4 Einlesen der Sensorsignale Da sich beim Atmega128 das JTAG-Interface mit den ADC-Eingängen überschneidet war es nicht möglich die acht Sensorsignale direkt an den Mikrocontroller zu legen. Daher werden die Sensorsignale über einen einfachen 8-Kanal Analog-Multiplexer an einen ADC-Eingang des Mikrocontrollers geschaltet. Bemerkung: Ursprünglich war ein 4-fach 2-Kanal Analog-Multiplexer für die Verteilung der Sensorsignale an die vier ADC-Eingänge des Mikrocontrollers geplant. Nachdem die Mikrocontroller-Platine fertig geätzt war mussten wir feststellen das der Multiplexer im Handel nur schwer zu erhalten ist. Daher wurde mit Hilfe eines provisorischen Adapters der 8-Kanal Multiplexer an die Pinbelegung des 2-Kanal Multiplexers angepasst. Die Wahl der I/O-Pins am Mikrocontroller für die Steuerung des Multiplexers mag deshalb 48 Abbildung 29: Multiplexer für Sensorsignale etwas willkürlich erscheinen. 9.5.5 JTAG Der JTAG-Connector wird entsprechend der Datenblätter des vom Labor zur Verfügung gestellten Adapters für die RS232-Schnittstelle beschaltet. 9.5.6 Erweiterungen Acht Pins sowie digitale Spannung und Masse werden direkt mit einem 10-Pin Connector verbunden. Die Anschlüsse für die zwei Schalter werden als einfache Pins nach außen gelegt. 9.5.7 Sonstiges Der Mikrocontroller wird über einen externen 16MHz Quarz getaktet. Zusätzlich gibt es diverse Abblockkondensatoren zur Stabilisierung der Versorgungsspannung des Mikrocontrollers sowie der Referenzspannung des internen ADC. 9.6 Layout Der Entwurf des Layouts stellte sich als relativ aufwendig heraus. Durch die hohe Anzahl der Datenleitungen und deren Verteilung an die De-/Multiplexer und den Mikrocontroller mussten häufige Layerwechsel in Kauf genommen werden. Als gute Strategie wurden vertikale/horizontale Leitungen nur im Bottom-/Top-Layer verwendet. Da die Durchkontaktierungen nach der Ätzung per Hand vorgenommen werden mussten war eine Anpassung der Via-Größen sowie deren Abständen zu anderen Vias und Leitungen vonnöten. Dadurch ergaben sich weitere Einschränkungen beim Platzieren der Durchkontaktierungen. Da der Atmega128 nur in SMD-Bauweise erhältlich ist ergaben sich hier besondere Schwierigkeiten. 49 Bemerkung: Das Layout ist wegen dem oben erwähnten Austausch des Multiplexers nicht konsistent mit dem Schaltplan. Auch die digitalen Massen für die Motor-Platinen wurden nachträglich an die entsprechenden Pins der Connectoren gelegt. 9.7 Ergebnis Der Entwurf der Mikrocontroller-Platine war bis auf den ausgetauschten Multiplexer erfolgreich. Die direkte Ansteuerung der verschiedenen Platinen erwies sich als hilfreich da gerade die Schnittstellen zur Equalizer-Platine zum Entwurfszeitpunkt noch nicht klar definiert waren. Die Schnittstellen konnten durch einfaches Variieren des Mikroprogramms leicht angepasst werden. Das Layout musste leider zweimal entworfen werden da es keine klaren Angaben zu den Fähigkeiten des für die Ätzung zuständigen Labors gab. Es stellte sich heraus das bei zu dicht aneinander liegenden Leitungen die Säure nicht gut genug arbeiten kann. Daher musste die Platinen-Fläche des ersten Entwurfs mehr als verdoppelt werden was ein komplettes Redesign nach sich zog. Eine Herstellung durch eine externe Firma kam leider wegen schon zu hoher Kosten des mechanischen Aufbaus des Airqualizers nicht in Frage. Die Platine konnte aus zeitlichen Gründen noch nicht unter Volllast“ getestet werden. Etwaige Störeinflüsse der verschiedenen digitalen und ” analogen Signale müssen daher noch evaluiert werden. Kürzel C1 C2 C3 C4 C5 C6 C7 C8 R1 R2 R3 Q1 MC SMUX MW1DEMUX. . . MW4DEMUX Bauelement Kondensator: 22 pF Kondensator: 22 pF Kondensator: 10 nF Kondensator: 10 nF Kondensator: 100 nF Kondensator: 10 nF Kondensator: 100 nF Kondensator: 10 nF Widerstand: 56 kΩ Widerstand: 56 kΩ Widerstand: 56 kΩ Quarz: HC-49/US 16MHz Mikrocontroller: Atmega128 8-Kanal-Analog-Multiplexer: DG408 8-Kanal adressierbares Latch: CD74HCT259MG4 Tabelle 7: Bauelementeliste der Mikrocontroller-Platine 50 Abbildung 30: Schaltplan der Mikrocontroller-Platine 51 Abbildung 31: Bestückungsplan der Mikrocontroller-Platine 52 Abbildung 32: Platinenlayout der Mikrocontroller-Platine (Bottom) 53 Abbildung 33: Platinenlayout der Mikrocontroller-Platine (Top) 54 10 Regelung 10.1 Anforderungen Die Regelung ist eines der zentralen Elemente des Airqualizers. Durch sie werden die Bälle in den acht Luftröhren in ihre entsprechenden Sollhöhen gebracht um die AnalyzerFunktion zu verwirklichen. Auch die Equalizer-Funktion braucht eine Regelung um die Bälle in bestimmten Positionen schweben zu lassen. Die Beeinflussung der Ballhöhen findet durch Drehung von Drosselklappen unter den Lüftern statt. Durch sie kann der Luftstrom in den Röhren variiert und damit die Höhe der Bälle verändert werden. Für die präzise Steuerung der Drosselklappen werden Schrittmotoren verwendet. Um die aktuelle Position der Bälle zu ermitteln befinden sich oben auf den Röhren IR-Abstands-Sensoren. Sie erzeugen je nach Höhe des Balles verschiedene Spannungspegel. Die Regelung muss die verschiedenen Spannungswerte als Höhenwerte interpretieren. Diese werden als IstGrößen in die Regelschleife eingeführt. Die Soll-Größen ergeben sich je nach AirqualizerModus aus den Audiosignalen der Bandpässe oder den aktuellen Einstellungen für die Bandpässe sowie für die Lautstärke. Unterschiede zwischen Ist- und Soll-Größen müssen von der Regelung ausgeglichen werden. Dieser Ausgleich sollte so schnell wie möglich erfolgen und zu keinerlei Überschwingen führen. Befindet der Ball sich in seiner SollPosition sollte er diese ohne zu zittern exakt einhalten. 10.2 Prinzipieller Ablauf Den prinzipielle Programmablauf für Visualisierungs- und Steuerungsregelung zeigen die Ablaufdiagramme in Abb. 34 und Abb. 35. 10.3 Bedingungen Die Bedingungen für eine gut funktionierende Regelung sind nicht ideal. Ein Problem sind die Messwerte der Sensoren. Sie liefern nur in einem relativ kleinen Bereich akzeptable Werte. Die Spannung steigt nichtlinear wenn sich der Ball dem Sensor nähert. Ab 10cm Entfernung sinkt sie jedoch wieder. Durch die Nichtlinearität werden zudem Werte ab 30cm ungenau da bei der Digitalisierung kleine Änderungen der Spannungen verloren gehen. Zusätzlich werden die Messungen durch den Aufbau an sich gestört. Störungen zum Beispiel durch Reflexionen an den Röhrenwänden sind nicht auszuschließen. Ein weiteres Problem ist die Beeinflussung des Luftstroms durch die Drosselklappen. Ohne detaillierte Kenntnisse der Strömungstechnik lässt sich das Verhalten des Balls nicht voraussagen. Daher war ein umfangreiches Testen der Eigenschaften des Röhrensystems an einem Prototypen unumgänglich. 10.4 Testergebnisse 10.4.1 Öffnen und Schließen der Drosselklappe Es stellte sich heraus das der Ball relativ schnell auf eine Änderung des Luftstroms reagiert. Steig- und Sinkgeschwindigkeit sind verschieden aber beide relativ hoch. 55 Prinzip-Aufbau Visualisierungs-Regelung Start Audiosignal einlesen Sensorwert einlesen Signalanpassung Signalanpassung Abstandsmessung Soll == Ist Soll-IstVergleich Luftröhre Soll != Ist MotorZustand ändern Drosselklappen Aktueller EqualizerZustand Aktueller Motorzustand EqualizerZustand auslesen MotorZustand auslesen Bandpass/ VOLSignale ausgeben MotorSignale ausgeben Signalanpassung Abbildung 34: Prinzipaufbau der Visualisierungsregelung 56 Prinzip-Aufbau Steuerungs-Regelung Start Sensorwert einlesen EqualizerZustand auselesen Signalanpassung Soll == Ist Soll-IstVergleich Soll != Ist ja Änderung erwünscht? Abstandsmessung nein EqualizerZustand ändern Luftröhre MotorZustand ändern Drosselklappen Aktueller EqualizerZustand Aktueller Motorzustand EqualizerZustand auslesen MotorZustand auslesen Bandpass/ VOLSignale ausgeben Signalanpassung MotorSignale ausgeben Abbildung 35: Prinzipaufbau der Steuerungsregelung 57 10.4.2 Genaue Positionierung der Drosselklappe Ziel war es die Eigenschaften der Flugbahn des Balls bei kleinen Änderungen der Drosselklappenposition zu bestimmen. Es stellte sich heraus das der Ball schon bei kleinsten Änderungen der Klappenposition stark reagiert. Eine Nullposition der Drosselklappe für den Schwebezustand des Balls ließ sich nur schwer finden. Schon bei Abweichungen von wenigen Schritten begab sich der Ball in einen Sink- oder Steigflug. Hohe Sinkgeschwindigkeiten ließen sich nur mit vollständig geschlossener Klappe erreichen. Hohe Steiggeschwindigkeiten schon bei halbgeöffneter Klappe. Da eine solch grobe Steuerung des Balls durch die Klappenposition ungeeignet für eine gute Regelung ist wurden alternative Ansteuerungsmöglichkeiten der Drosselklappe getestet. 10.4.3 Pulsansteuerung mit konstanter Position und variablen Öffnungswinkel Die Drosselklappe wurde mit variablen Öffnungswinkel abwechselnd geöffnet und geschlossen. Diese Methode erwies sich als nicht geeignet da die Geschwindigkeit der Schrittmotoren beschränkt ist und der Ball mit höheren Öffnungswinkeln zu schwingen beginnt. Die großen Öffnungswinkel werden jedoch für eine hohe Steiggeschwindigkeit benötigt. 10.4.4 Pulsansteuerung mit konstanter Position und variablen Öffnungszeiten Die Drosselklappe wurde wieder abwechselnd geöffnet und geschlossen aber mit konstantem Öffnungswinkel. Geändert wurde lediglich das Verhältnis zwischen der Dauer des offenen bzw. geschlossenen Zustands der Klappe. Mit dieser Methode ließ sich die Geschwindigkeit des Balles sehr genau einstellen. Wie bei der vorhergehenden Methode übernimmt der Ball jedoch die Schwingungen der Drosselklappe da diese nicht schnell genug gedreht werden kann. 10.4.5 Pulsansteuerung mit variabler Position und konstantem Öffnungswinkel Das Zentrum der Schwingung welche durch das Öffnen und Schließen der Drosselklappe entsteht wurde hierbei variiert. Das Verhalten wurde mit verschiedenen Amplituden getestet. Diese Methode liefert ähnliche Ergebnisse wie eine konstante Positionierung der Drosselklappe. Der Ball reagierte jedoch nicht ganz so stark auf Änderungen des Schwingungszentrums. Außerdem hatte der Ball eine stabilere Flugbahn. Obwohl mit dieser Methode keine perfekte Feineinstellung der Geschwindigkeit des Balls möglich ist kommt sie wegen der stabilen Flugbahn des Balles für die Regelung in Frage. 10.5 Umsetzung Wegen der Trägheit des Systems ist eine PD-Regelung unumgänglich. Alle Tests mit einer P-Regelung führten zu erheblichem Überschwingen und Einschwingen des Systems mit Amplituden von bis zu 20cm. Da eine formelmäßige Herangehensweise wegen fehlender Kenntnisse des Strömungsverhaltens nicht möglich war konnte die Regelung nur 58 durch das Experiment bestimmt werden. Für die Messung der Geschwindigkeiten wurden zyklisch mehrere Höhenwerte gemittelt und deren Unterschied zum vorhergehenden gemittelten Wert als aktuelle Geschwindigkeit interpretiert. Als Ansatz für den differentiellen Teil der Regelung galt es eine zu hohe Geschwindigkeit durch einen Gegenimpuls in der Nähe der Sollhöhe vorzeitig zu verringern. Diese Art der Regelung wurde mit festen Grenzwerten für Geschwindigkeit und Höhenunterschied sowie einer fixen Klappenstellung für die Schwebeposition getestet und funktionierte überraschend gut. Der Ball konnte mit hohen Geschwindigkeiten gezielt in verschiedene Positionen gebracht werden und behielt diese in einem stabilen Schwebezustand bei. Nur bei bestimmten Höhenunterschieden traten vereinzelt Überschwinger auf. Aus zeitlichen Gründen wurden weitere Experimente eingestellt und die aktuelle Regelung als ausreichend befunden. 10.6 Ergebnis Da die Regelung nur zwei Zustände für hohe und niedrige Geschwindigkeiten besitzt und zudem auf eine fixe Drosselklappenstellung für die Schwebeposition angewiesen ist muss sie als nicht ausreichend für den endgültigen Betrieb angesehen werden. Es zeigte sich jedoch das eine schnelle und exakte Regelung der Ballhöhe durch Beeinflussung des Luftstroms mit Hilfe von Drosselklappen prinzipiell möglich ist. Wie zu erwarten funktionierte die aktuelle provisorische Regelung im endgültigen Aufbau nicht. Leider war zum Ermitteln des Fehlers die Zeit nicht mehr ausreichend. 10.7 Equalizer-Funktion Das Einstellen des Equalizers durch Ändern der Ballhöhen mit Hilfe eines Magneten konnte aus zeitlichen Gründen nicht realisiert werden. Es wurden auch keinerlei Versuche durchgeführt um das Erkennen einer gewollten Höhenänderung eines Balles zu testen. Theoretisch müsste dies durch eine Zeitmessung der Regelung realisierbar sein. Wenn zum Ausgleichen einer Höhenabweichung zu viel Zeit benötigt wird muss eine gewollte Höhenänderung erfolgt sein. Die aktuelle Sollhöhe wird daraufhin geändert und die weitere Regelung kann normal erfolgen. 11 Mikroprogramm 11.1 Anforderungen Der Mikrocontroller muss mehrere Aufgaben gleichzeitig bewältigen. Daher ist ein paralleler Ablauf der verschiedenen Aufgaben vonnöten. Zudem ist ein genaues Timing zum Beispiel bei der Ansteuerung der Motorspulen erforderlich. Da der Mikrocontroller die gesamte Steuerung übernimmt sollte das Programm übersichtlich und modular aufgebaut sein. 59 11.2 Umsetzung Um die Parallelisierung möglichst einfach zu realisieren werden zyklisch für die einzelnen Bereiche zuständige Unterprogramme aufgerufen. Die Unterprogramme sind komplett für ihren Aufgabenbereich sowie ihr Timing verantwortlich. Kommunikation zwischen den einzelnen Aufgabenbereichen findet ausschließlich über globale Variablen und Funktionen statt. Diese Verfahrensweise funktioniert nur wenn die Ausführung aller Unterprogramme innerhalb einer Toleranzzeit stattfindet. Diese richtet sich typischerweise nach der maximalen Ansteuerungsgeschwindigkeit der Schrittmotoren. 11.2.1 Modulaufbau Jedes Unterprogramm befindet sich in einer eigenen Quellcode-Datei: ADC, Clock, ExternADC, Motorsteuerung, Poti, Regelung, uart, Timer. Jedes Unterprogramm wird mit einer * Init-Funktion initialisiert. Hier werden Variablen initialisiert, I/O-Ports gesetzt, Timer initialisiert und diverse Mikrocontroller-Einstellungen vorgenommen. Der eigentliche Ablauf der Gesamtsteuerung wird durch ständiges Aufrufen spezieller Funktionen realisiert. Diese prüfen den aktuellen Zustand ihres Aufgabenbereiches wie zum Beispiel den Zustand eines AD-Umsetzers oder den Ablauf eines Timers und rufen entsprechende Sub-Routinen auf. Zu beachten ist das dabei nur ein Schritt der eigentlichen Aufgabe vollzogen wird. Zum Beispiel wird in der Motorsteuerung nur ein Schritt eines Motors ausgeführt. Durch dieses einfache Prinzip lassen sich zusätzliche Funktionalitäten durch Ergänzen der Main-Schleife mit den entsprechenden Funktionen realisieren. Alle Timer sind dabei asynchron ausgelegt. Es können damit während ein Subprogramm wartet andere Subprogramme arbeiten. 11.2.2 Motorsteuerung Die Spulen der Motoren werden direkt an- und ausgeschaltet. Dabei werden zur höheren Genauigkeit Halbschritte gefahren. Die vier Bits zur Ansteuerung der Spulen werden aus einer Tabelle entnommen wobei bei jedem Schritt der Index verschoben wird. Da die Ansteuerungsgeschwindigkeit der Motoren begrenzt ist wird nach jedem Schritt ein Timer gestartet. Für die normale Ansteuerung stehen die Funktionen motor Init() und motor Move() zur Verfügung. Um die Klappenposition zu ändern reicht die Änderung der globalen Variable motor Soll Position[] aus. Durch wiederholtes Aufrufen von motor Move werden die Motoren zyklisch entsprechend angesteuert. Zusätzlich lässt sich über die Variable motor Position[] die aktuelle Position eines Motors auslesen. Für die Pulsansteuerung werden abwechselnd verschiedene Positionen angefahren. Es stehen die Funktionen motor Flimmer Init(...), motor Flimmer Change(...) und motor Flimmer() zur Verfügung. Mit motor Flimmer Change(...) lassen sich die Parameter für den Öffnungswinkel und das Rotationszentrum der Pulsansteuerung für einen bestimmten Motor ändern. Durch wiederholtes Aufrufen von motor Flimmer() werden die Motoren entsprechend angesteuert. 60 11.2.3 ADC Hier stehen Funktionalitäten für das Auslesen der Sensorsignale zur Verfügung. Diese werden gemittelt um Rauschen zu unterdrücken. Es stehen die Funktionen adc Init() und adc Read() zur Verfügung. Durch wiederholtes Aufrufen von adc Read() werden zyklisch die Sensorsignale eingelesen. Die zuletzt eingelesenen Ergebnisse der verschiedenen Sensoren können jederzeit über die globale Variable adc result[] ausgelesen werden. 11.2.4 ExternADC Dieses Modul ist für das Einlesen der Audiosignale verantwortlich. Die Funktionalität ist die selbe wie bei dem Modul ADC. Die Funktionen und Variablen heißen entsprechend extern ADC *. 11.2.5 Regelung Die Regelung ist aus zeitlichen Gründen relativ provisorisch gehalten. Die Ergebnisse der Digitalisierung der Sensorsignale werden Zwecks Unterdrückung von Störsignalen gemittelt und mittels einer Look-Up-Tabelle auf die Höhenwerte gemapt. Die Höhenwerte werden für die Geschwindigkeitsberechnung noch einmal zyklisch gemittelt. Die Differenz des erhaltenen Wertes zum vorhergehenden errechneten Wert wird direkt als Geschwindigkeit interpretiert. Die so erhaltenen Geschwindigkeiten und Höhenwerte werden mit Hilfe der Sollhöhe interpretiert. Entsprechend der Geschwindigkeiten und der Höhenabweichungen werden die neuen Positionen der Drosselklappen ausgerechnet. Diese werden je nach Situation mit verschiedenen Vorzeichen und Faktoren linear aus der Höhenabweichung bestimmt. Die Funktionalität ist über die Funktionen regelung Init() und regelung Read() erreichbar. Dabei werden durch wiederholtes Aufrufen von regelung Read() zyklisch die Regelgrößen eingelesen und entsprechende Klappenpositionen berechnet. Für das Ändern der einzelnen Sollhöhen steht die globale Variable regelung Soll Height[] zur Verfügung. 11.2.6 Poti Dieses Modul ist noch nicht implementiert, wird aber ähnlich wie die anderen Module funktionieren. Es wird die Funktionen poti Init() und poti Write() sowie die globalen Variablen poti Value[] geben. 11.3 Ergebnis Aus zeitlichen Gründen ist das Steuerungsprogramm noch nicht vollständig. Es fehlt noch komplett die Ansteuerung der digitalen Potentiometer. Das Funktionieren des Programms konnte noch nicht evaluiert werden da der Endaufbau nicht auf Anhieb funktioniert hat. Das Einlesen der Audiosignale der Bandpässe konnte bisher auch nur provisorisch getestet werden. Die Motoransteuerung und die Verarbeitung der Sensorwerte werden vermutlich funktionieren da sie ausführlich am Prototypen getestet wurden. 61 12 Netzteil 12.1 Konzept Das Netzteil zur Versorgung der Elektronik wird für die Spannungen ±24 V und +5 V als herkömmliches Transformator-Netzteil ausgelegt. Zunächst käme auch ein Schaltnetzteil in Betracht, welches einen höheren Wirkungsgrad aufweisen würde. Die höhere Effizienz erschien nach sorgfältigem Abwägen allerdings nebensächlich gegenüber dem großen Aufwand, der betrieben werden müsste, um die erforderlichen stabilen Spannungen zu gewährleisten. Für die ebenfalls benötigten +12 V schien es allerdings sinnvoller, von einem Linearregler mit niedrigem Wirkungsgrad abzusehen. Für die Verstärkerstufe werden ±24 V bei jeweils 1 A bereitgestellt. Außerdem +5 V für den Mikrocontroller, die Sensoren und sonstige aktive Bauelemente. Auch hier beträgt der maximal zur Verfügung stehende Strom 1 A. Dabei entfallen auf den Mikrocontroller maximal 400 mA und auf die Sensoren 8 × 33 mA. Desweiteren werden einige Operationsverstärker mit nur wenigen mA Verbrauch betrieben. Die +5 V dienen den H-Brücken auf den Motorplatinen bzw. der dort verwendeten Logik als Referenzwert. Daher ist es notwendig, dass +5 V und +12 V den selben Massebezug haben. Für die Motoren werden 8 × 250 mA, für die Lüfter 8 × 200 mA bei +12 V zur Verfügung gestellt. Außerdem werden die H-Brücken der Motorsteuerung bei +12 V versorgt. Diese verbrauchen typischerweise 8×50mA. Daraus ergibt sich ungefährer Strombedarf von 4 A. Es werden zwei separate Massen generiert, so dass sowohl eine analoge als auch eine digitale Masse zur Verfügung steht. 12.2 Funktionsweise Die Netzspannung (230V/50Hz) wird zunächst auf Nieder-Wechselspannung heruntertransformiert. Um ±24 V zu erhalten, werden zwei 24 V-Transformatoren verwendet. Bei einem Wirkungsgrad von ca. 90 % ergibts sich sekundärseitig eine Wechselspannung von etwa 22,8 V. Durch die Gleichrichtung ergibt sich eine Gleichspannung von √ 22,8 V ⋅ 2 = 32,24 V . (20) Nun muss noch der Spannungsabfall berücksichtigt werden, der durch den Gleichrichter selbst auftritt, so dass man einfacherweise von einer Gleichspannung der Höhe 31 V ausgehen kann. Dem Gleichrichter folgt nun ein Kondensator, welcher auftretende Schwankungen kompensieren soll. Die geglättete Gleichspannung liegt dann an einem positiv-Linearregler an, welcher eine Spannung von 24 V ausgibt und den Rest in Wärme umwandelt (dabei müssen 2–3 V Betriebsspannung garantiert werden). Um ein Aufschwingen zu verhindern, wird der Linearregler mit kleinen Kondensatoren zwischen Eingang und Masse bzw. Ausgang und Masse versehen. Anschließend wird ein weiterer Kondensator zur Glättung eingesetzt. Außerdem besitzt die Schaltung eine LED mit Vorwiderstand, um die Betriebsfähigkeit bzw. Restladung im Kondensator anzuzeigen. Um +24 V zu erhalten, wird ein Linearrelger der 78xx-Familie eingesetzt welcher über einen Ausgangsstrom 62 Abbildung 36: Schaltplan der 24 V-Platine von 1 A verfügt. Für die -24 V wird eine analoge Schaltung benutzt, mit dem Unterschied, dass hier aus offensichtlichen Gründen ein negativ-Linearregler der 79xx-Familie verwendet wird. In einem ersten Entwurf wurde aus Kostengründen versucht beide Schaltungen mit einem L7824 zu betreiben, was separat auch praktikabel wäre. Dabei ist es allerdings nicht möglich ein gemeinsames Massepotential zu generieren wodurch schließlich die oben beschriebene Lösung verwendet wurde. Die hier erzeugte Masse stellt die analoge Masse dar und wird mit einem drei-poligen Stecker gemeinsam mit den Betriebsspannungen ±24 V der Equalizer-Platine zur Verfügung gestellt und damit auch dem Verstärker. Die analoge Masse wird über diesen Weg auch dem Rest der Schaltung zugänglich gemacht. Für die beiden verwendeten Spannungsregler ist zusätzliche Kühlung erforderlich. Da bei 79xx-Reglern (im Gegensatz zu den 78xx-Reglern) die Masse nicht am mittleren Pin und damit auch nicht am Gehäuse anliegt müssen zur Kühlung zwei separate Kühler verwendet werden oder einer der beiden Regler isoliert werden. Der benötigte Wärmewiderstand 𝑅th des Kühlkörpers wird für die anfallende Leistung 𝑃 über 𝜗𝑖 − 𝜗𝑢 − (𝑅thG + 𝑅thM ) (21) 𝑃 ermittelt, wobei 𝜗𝑖 die maximale Sperrschichttemperatur, 𝜗𝑢 die Umgebungstemperatur, 𝑅thG den inneren Wärmewiderstand des Halbleiters und 𝑅thM den Wärmewiderstand der Montagefläche beschreiben. Mit oben genannter Verlustleistung und Werten aus dem jeweiligen Datenblatt kann, inklusive etwas Toleranz, der benötigte Wärmewiderstand 𝑅th = K (22) W ermittelt werden. Eine erste Rechnung ergab, dass ein kleiner aufschraubbarer Kühlkörper ausreicht, was zur Folge hatte, dass im Platinenlayout weder darauf geachtet wurde 𝑅th24V = 8 63 Abbildung 37: Schaltplan der 5 V/12 V-Platine den Regler nach Außen zu setzen noch Platz innerhalb der Schaltung gelassen wurde um einen größeren Kühlkörper verwenden zu können. Das Problem konnte zwar letztendlich dadurch gelöst werden, dass die Regler aus der Schaltung entfernt, auf einen externen Kühlkörper aufgeschraubt und mit Kabeln wieder mit der Schaltung verbunden wurden. Die Funktionsfähigkeit der Schaltung wurde dadurch nicht beeinträchtigt. Allerdings sind die Kondensatoren, welche zur Beschaltung eingesetzt werden, dadurch viel weiter vom Linearregler weg als geplant und empfohlen, was im Zweifelsfall eher negative Auswirkungen hat. Der Schaltplan ist in Abb. 36 zu sehen. Die Bereitstellung der +5 V funktioniert praktisch auf dieselbe Weise wie vorher beschrieben. Anfangs wurde versucht mittels 6 V-Transformator die gewünschten 5 V bereitzustellen (um nicht unnötig viel Leistung in Wärme umwandeln zu müssen), dann jedoch verworfen, weil trotz verwendetem Low-Drop-Spannungsregler nur noch ein extrem kleiner Spielraum geblieben wäre. Vom Aufbau und der Funktionsweise funktioniert die Schaltung auf dieselbe Art wie bei der Bereitstellung der ±24 V, abgesehen von veränderter Beschaltung des Spannungsreglers. Auch für die Ripple-Beseitigung konnten kleinere Kondensatoren mit niedrigerer Spannungsfestigkeit verwendet werden. Benötigt wurde hier ein Kühlkörper mit K 𝑅th5V = 11 . (23) W Die +12V wurden im Gegensatz zu den anderen Spannungen nicht mit herkömmlichen Linearreglern produziert, sondern mit Hilfe eines Step-Down-Reglers, da durch die 64 hohe erforderliche Stromstärke eine ebenfalls äußerst hohe Verlustleistung zu erwarten gewesen wäre. Auch wenn ein solcher Regler sehr teuer ist, kann dadurch Verlustleistung vermieden werden, Kosten und Platz für Kühlkörper eingespart werden.6 Da der Schaltregler für die feste Ausgangsspannung von +12 V eingesetzt wird, werden Probleme mit der Stabilität vermieden, welche auftreten können, wenn sehr kleine oder große PWMTastverhältnisse gegeben sind. Es muss allerdings eine etwas kompliziertere Beschaltung als dies bei Linearreglern der Fall ist, in Kauf genommen werden. Zunächst müssen Low-ESR-Elektrolytkondensatoren benutzt werden, um den Wirkungsgrad hoch und die Temperatur niedrig zu halten. Will man an der PWM nichts ändern, so reicht es die Dimensionierung aus dem Datenblatt zu übernehmen. Für das Einstellen der Ausgangsspannung ist folgende Formel anzuwenden: 𝑅2 = 𝑉out 𝑅3 − 𝑅3 . 2,21 V (24) Die 2,21 V sind eine Referenzspannung und die Widerstände 𝑅2 und 𝑅3 sind zu dimensionieren. Die Benennung entspricht der in Abb. 37. Setzt man 𝑅3 = 2,1 kΩ und 𝑉out = 12 V, ergibt sich 𝑅2 = 9,3 kΩ . (25) Verbaut wurde ein 10kΩ-Widerstand. Um einen gewünschten Strom 𝐼out einzustellen, muss zurückgegriffen werden auf 𝐿= 𝑉out ⋅ (𝑉in − 𝑉out ) . 2𝑓 ⋅ 𝑉out ⋅ (𝐼max − 𝐼out ) (26) Der maximal mögliche Strom beträgt bei dem hier verwendeten Bauteil 𝐼max = 5,5 A, der gewünschte Strom 𝐼out = 4 A, die Frequenz liegt bei 2 ⋅ 105 Hz. Die vorher eingestellte Ausgangsspannung liegt bei 𝑉out = 12 V, die am Eingang anliegende Spannung 𝑉in = 21 V. Daraus ergibt sich eine benötigte Induktivität von 𝐿 = 17 𝜇H . (27) Der zweipolige Stecker liefert an die Mikrocontroller-Platine 5 V und digitale Masse. Über die acht dreipoligen Stecker werden die Motorplatinen mit 5 V/12 V und digitaler Masse versorgt. Die Transformatoren für die +12 V sind nicht für die Platinenmontage gedacht und sind daher auf dem Schaltplan und dem Layout nicht zu finden, allerdings in der Bauteilliste Tab. 9. Nachdem lange nicht klar war, wieviel Platz für die Platinen in der Endmontage des Airqualizers zur Verfügung steht, wurden diese als vier Einzelplatinen realisiert um für die Montage flexibler zu bleiben und nicht wie hier zu sehen als zwei Einzelplatinen (siehe Abb. 38 und Abb. 39). Da dies an sich aber nicht nötig ist und aus Gründen der Übersichtlichkeit werden hier nur zwei Platinen zu finden sein. Die Sicherungen wurden 6 Da in räumlicher Nähe der Kühlkörper der 5 V-Platine vorhanden war, wurde der Step-Down-Regler damit auch gekühlt obwohl man auch darauf hätte verzichten können. 65 Abbildung 38: Platinenlayout der 24 V-Platine dimensioniert mit dem doppelten Nennwert des Stroms. Die Vorwiderstände der LEDs ergeben sich mit 𝑈LEDgr = 2,1 V und 𝐼LEDgr = 20 mA über die Formel 𝑅vor = 𝑈anliegend − 𝑈LEDgr 𝐼LEDgr (28) Die verwendeten Bauteile sind in den Tabellen zu finden. Die Bauteilbezeichnungen entsprechen denen in der Abbildung. 66 Abbildung 39: Platinenlayout der 5 V/12 V-Platine Kürzel TR1/TR2 F1/F2 B1/B2 C1/C5 C2 C3 C4/C8 C6 C7 IC1 IC2 R1/R2 LED1/LED2 SL1 Bauelement Transformator EI 60 (24 V/1,04 A) Feinsicherung 2A mittelträge Brückengleichrichter B40C 1500 Elektrolytkondensator 4700 𝜇F Rastermaß 7,5 mm MKS-Folienkondensator 330 nF Rastermaß 5 mm MKS-Folienkondensator 100 nF Rastermaß 5 mm Elektrolytkondensator 2200 𝜇F Rastermaß 7,5 mm Elektrolytkondensator 22 𝜇F Rastermaß 2,5 mm Elektrolytkondensator 10 𝜇F Rastermaß 2,5 mm Festspannungsregler 7824 1 A TO-220 Festspannungsregler 7924 1 A TO-220 Kohleschichtwiderstand 1,1 kΩ LED grün Rastermaß 5 mm Platinensteckverbinder 3-polig Rastermaß 2,5 mm 2×Kühlkörper mit 𝑅th = 9 K/W Tabelle 8: Bauelementeliste der 24 V-Platine 67 Kürzel JP1/JP2 TR1 F1 F2 B1 B2 C1 C2 C3 C4 C5 C6 C7 IC1 IC2 D1 L1 R1 R2 R3 R4 R5 LED1/LED2 SL1 SL2-9 Bauelement Anschlusspins für 2×Transformator EI 66 (2×9 V/2780 mA) Transformator EI 48 (9 V/1111 mA) Feinsicherung 2 A mittelträge Feinsicherung 10 A mittelträge Brückengleichrichter B40C 7000 Brückengleichrichter B40C 1500 Elektrolytkondensator low ESR 220 𝜇F Rastermaß 5 mm MKS-Folienkondensator 10 nF Rastermaß 2,5 mm Elektrolytkondensator low ESR 470 𝜇F Rastermaß 3,5 mm Elektrolytkondensator 4700 𝜇F Rastermaß 7,5 mm MKS-Folienkondensator 470 nF Rastermaß 5 mm Elektrolytkondensator 22𝜇𝐹 Rastermaß 2,5 mm Elektrolytkondensator 2200𝜇𝐹 Rastermaß 5 mm Step-down Schaltregler LT 1074 CT TO-220 Festspannungsregler LM 2940 CT 1A TO-220 Schottky-Diode MBR 745 TO-220 Drossel 77A 150 15 𝜇H Rastermaß 15 mm Kohleschichtwiderstand 2,7 kΩ Kohleschichtwiderstand 10 kΩ Kohleschichtwiderstand 2,2 kΩ Kohleschichtwiderstand 480 Ω Kohleschichtwiderstand 130 Ω LED grün Rastermaß 5 mm Platinensteckverbinder 2-polig Rastermaß 2,5 mm Platinensteckverbinder 3-polig Rastermaß 2,5 mm 1×Kühlkörper 𝑅th = 4,5 K/W Tabelle 9: Bauelementeliste der 5 V/12 V-Platine 68 Literatur [Boh86] Bohn, Dennis A.: Constant-Q Graphic Equalizers. J. Audio Eng Soc., Vol. 34, No. 9, September 1986. [Sha00] Sharp Corporation: GP2D12/GP2D15 General Purpose Type Distance Measuring Sensors (Datasheet), 1999/2000. [Skr88] Skritek, Paul: Handbuch der Audio-Schaltungstechnik. Franzis-Verlag, 1988. 69