{"id":31,"date":"2021-02-01T13:52:47","date_gmt":"2021-02-01T12:52:47","guid":{"rendered":"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/?page_id=31"},"modified":"2021-02-21T22:48:55","modified_gmt":"2021-02-21T21:48:55","slug":"modul-4-output","status":"publish","type":"page","link":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/modul-4-output\/","title":{"rendered":"Output"},"content":{"rendered":"\n<p>Damit die tollen T\u00f6ne, die in den vorherigen Modulen erzeugt wurden, abschlie\u00dfend gemeinsam vereint werden k\u00f6nnen, gibt es ein Module welches einen 8-Kanal Audio-Summierier enth\u00e4lt. Um das Mischerlebnis zu verbessern stehen dem Summierier ein VU-Meter und ein VCA, welcher unter anderem von einem Mikrocontroller gesteuert werden kann, zur Seite.<\/p>\n\n\n\n<h2>Aufgabenstellung<\/h2>\n\n\n\n<p>Die Module-Gruppe \\textit{4} hat die Aufgabe die Ausgabe-Signale der anderen Module zu addieren, damit diese geb\u00fcndelt wiedergeben werden k\u00f6nnen. Es soll ein Addierer mit mindestens 5 Kan\u00e4len sein. Die Umsetzung dieses Moduls findet sich in Abschnitt <em>Output \u2013 Summierer\/VU-Meter<\/em>. Um noch eine Platine mit Mikrocontroller einzubringen, gibt es ein Modul mit einem Mikrocontrollergesteuerten-VCA in Abschnitt<em>Output \u2013 VCA\/\u03bcC<\/em>.<\/p>\n\n\n\n<h2>Blockschaltbild<\/h2>\n\n\n\n<p>In Abbildung 1 ist ein \u00dcbersichts-Blockschaltbild der <em>VCA\/\u00b5C<\/em> und <em>Summierer\/VU-Meter<\/em> Output-Module dargestellt. Das VCA-Modul ist dazu da die Mischverh\u00e4ltnisse der Signal dynamisch aufwertend zu beeinflussen und Parameter anderer Module zu steuern. Die grundlegende Output-Funktionalit\u00e4t des Zusammenf\u00fchrens wird durch den Summierenden Verst\u00e4rker abgebildet. <br>Aus diesem Blockschaltbild geht hervor, dass 8 Signale anderer Module hier eingespeist werden k\u00f6nnen. Pegel von 4 Signalen k\u00f6nnen dabei durch den VCA durch externe Steuerspannungen (Engl. <em>control voltages<\/em> kurz CVs) oder durch den Mikrocontroller angepasst werden. Aufgrund des modularen Ansatzes gibt es diverse Verkn\u00fcpfungsm\u00f6glichkeiten der verschiedenen Ein- und Ausg\u00e4nge.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-59-1024x486.png\" alt=\"\" class=\"wp-image-136\" \/><figcaption>Abbildung 1: Blockschaltbild f\u00fcr das Summierer\/VU-Meter und das \u03bcC\/VCA Modul.(Abb. erzeugt mitapp.diagrams.net)<\/figcaption><\/figure>\n\n\n\n<h2>Output \u2013 Summierer\/VU-Meter<\/h2>\n\n\n\n<h3>Dokumentation und Arbeitsentwicklung<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"342\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60-1024x342.png\" alt=\"\" class=\"wp-image-137\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60-1024x342.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60-300x100.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60-768x256.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60-1200x401.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-60.png 1504w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 2: Detail-Blockschaltbild f\u00fcr den Summierer\/VU-Meter(Abb. erzeugt mitapp.diagrams.net)<\/figcaption><\/figure>\n\n\n\n<p>Die Grundanforderung an das Ausgangsmodul ist es 5 Signale von anderen Modulen addierend zusammenzuf\u00fchren.<br>Es wurde mit dem Sammeln von Ideen gestartet. Eine summierende Operationsverst\u00e4rkerschaltung war dann auch schnell in LTspice simuliert. Diese sollte am besten nicht invertierend sein und eine variable Verst\u00e4rkung bieten. Dies wird durch einen in Reihe geschaltenen und erneut invertierenden und Potentiometer-gesteuerten Verst\u00e4rker realisiert. Die genauen Verfeinerungen finden sich in der Schaltungsbeschreibung in Abschnitt <em>Schaltplan<\/em>.<br>Die Schaltung auch auf Abbildung 4 wurde dann testweise auf einem Steckbrett aufgebaut. Dort wurden neben dem Funktionstest auch experimentell die stabilisierenden Feedback-Kondensatoren <code>C5<\/code> und <code>C6<\/code> angepasst. Au\u00dferdem zeigte sich der Operationsverst\u00e4rker vom Typ <em>TL074<\/em> in dem getesteten Aufbau als Rausch\u00e4rmer als der Typ <em>NE5532<\/em>. Aus diesem Grund wird nun der JFET-Operationsverst\u00e4rker <em>TL074<\/em> verwendet.<br>Der resultierende Aufbau ist auf der Abbildung 2 dargestellt.<\/p>\n\n\n\n<h3>Schaltplan<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"503\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-1024x503.png\" alt=\"\" class=\"wp-image-138\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-1024x503.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-300x148.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-768x378.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-1536x755.png 1536w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61-1200x590.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-61.png 1684w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 3: Simulation des Summierers (eigene Aufnahme aus LTSpice)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"554\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62-1024x554.png\" alt=\"\" class=\"wp-image-139\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62-1024x554.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62-300x162.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62-768x416.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62-1200x650.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-62.png 1522w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 4: Schematic f\u00fcr den 8-Kanal-Addierer (eigene Aufnahme aus Eagle)<\/figcaption><\/figure>\n\n\n\n<p>Die Signale sollen addiert werden. Die erste Idee war ein nicht-invertiernder Operationsverst\u00e4rker mit summierender Eingangsbeschaltung. Dies funktioniert auch, doch soll auch eine Verst\u00e4rkung bis runter zu dem Faktor 0 erm\u00f6glicht werden. Deshalb wird nun ein invertierender Verst\u00e4rker mit dem Verst\u00e4rkungsverhalten <\/p>\n\n\n\n<div class=\"wp-block-image is-style-default\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/i.ibb.co\/4SkbXC2\/Screenshot-2021-02-06-at-14-43-37.png\" width=\"159\" height=\"NaN\"><\/figure><\/div>\n\n\n\n<p> verwendet. Aus in diesem Fall eher \u00e4sthetischen Gr\u00fcnden wird noch ein weiterer Invertierender Verst\u00e4rker hinzugef\u00fcgt, um ein nicht-invertierendes, summierendes Verhalten zu erhalten.<\/p>\n\n\n\n<p>Dieses Verhalten zeigt sich erfreulicherweise auch in der Simulation beispielhaft mit einem 10V-PkP-Sinus-Signal (auf Abb. 3 in Gr\u00fcn) und einem 5V-PkP-Rechteck-Signal (auf Abb. 4 in Blau). Es ergibt sich, wie nach <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img src=\"https:\/\/i.ibb.co\/DfNjd32\/Screenshot-2021-02-06-at-14-43-46.png\" alt=\"\" width=\"200\" \/><\/figure><\/div>\n\n\n\n<p> zu erwarten, eine Spitzenspannung von 7.5V bei einem Widerstandsverh\u00e4ltnis von <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img src=\"https:\/\/i.ibb.co\/n1dpVbM\/image.png\" alt=\"\" width=\"266\" \/><\/figure>\n\n\n\n<p>Zur Enkopplung von Gleichspannungsanteilen von Gleichspannungsanteilen gibt es am Eingang und am Ausgang des Summier-Verst\u00e4rkers jeweils einen Kondensator <code>C1<\/code> beziehungsweise <code>C2<\/code>. Wie in dem Buch [12, S. 639] erw\u00e4hnt, m\u00fcssen diese Kondensatoren etwas gr\u00f6\u00dfer sein, da sich die Zeitkonstante f\u00fcr kleine Frequenzen aus dem Kondensator und allen parallelgeschaltenen Eingangswiederst\u00e4nden ergibt. Um unerw\u00fcnschte Schwingungen an den Operationsverst\u00e4rkern zu unterdr\u00fccken, befinden sich parallel zu deren Feedback-Pfaden Filterkondensatoren. Diese wurden ausgehen von 100pF experimentell mit einem Kompromiss zur Rechteck-\u00dcbertragungsf\u00e4higkeit unter Einsatz eines Steckbrettaufbaus auf einen Wert von 22pF f\u00fcr <code>C5<\/code> beziehungsweise `C6 bestimmt.<\/p>\n\n\n\n<p>Der Verst\u00e4rkungsfaktor des zweiten Operationsverst\u00e4rkers beziehungsweise der Gain des 8-Kanal-Summierer-Blocks auf Abb. 4 l\u00e4sst sich durch ein Potentiometer, welches `R11 als variablen Feedback-Widerstand ersetzen wird, einstellen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"1009\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63-1024x1009.png\" alt=\"\" class=\"wp-image-140\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63-1024x1009.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63-300x296.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63-768x757.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63-1200x1182.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-63.png 1508w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 5: VU-Meter Komparatoren mit Filter (Aufnahme aus Eagle)<\/figcaption><\/figure>\n\n\n\n<p>Die Schaltung auf Abbildung 5 ist stark an das Beispiel aus dem Buch [12, S. 669] angelehnt. Zur Pegelanpassung zwischen dem Summierer und der hier gezeigten Filterschaltung wurde ein Potentiometer eingef\u00fcgt.<br>Diese Filterschaltung besteht aus einem aktiven Gleichrichter und Begrenzungs-Dioden und zwei verschieden aggressiven Filtern. Der Tiefpassfilter mit der niedrigeren Grenzfrequenz liefert Durschnittswerte und der Tiefpass mit der h\u00f6heren Grenzfrequenz liefert Spitzwerte. Mit einem Jumper soll man zwischen diesen beiden Signalen umschalten k\u00f6nnen.<br>Die Auswertung und Darstellung dieser Signale erfolgt mittels einer Komparatorkaskade, welche einen LED-Bargraph durch die entsprechend gew\u00e4hlten Widerst\u00e4nden des Vergleichspannungsspannungsteilers mit logarithmischem Verhalten ansteuert.<br>F\u00fcr solche eine logarithmische Komparatorkaskade gibt es auch integrierte L\u00f6sungen wie den LM3915. Hier soll allerdings eine diskrete L\u00f6sung zum Einsatz kommen.<br>Haupts\u00e4chlich um die LED-Vorwiederst\u00e4nde und auch um deren Verlustleistung einzusparen, kommt wie in dem Vorbild eine Konstantstrom-Versorgung zum Einsatz (siehe Abbildung 6, welche auf die hier verwendeten 12V angepasst wurde.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-1024x807.png\" alt=\"\" class=\"wp-image-141\" width=\"800\" height=\"NaN\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-1024x807.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-300x236.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-768x605.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-1536x1210.png 1536w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64-1200x946.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-64.png 1604w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 6: Schematic f\u00fcr die LED-Konstantstromquelle (eigene Aufnahme aus Eagle)<\/figcaption><\/figure><\/div>\n\n\n\n<h3>Layout<\/h3>\n\n\n\n<p>Das Layout wurde unter Ber\u00fccksichtigung der Fertigungsvoraussetzungen des Projektlabors mit dem Programm Eagle designed. Die Dimensionen 80mm x 100mm entsprechen dabei einer halben Europlatine. Unter anderem aus Platzgr\u00fcnden sind die Klinken-Buchsen und das Potentiometer nicht direkt auf er Platine vorgesehen, sondern werden \u00fcber Stecker an die Frontplatte angebunden. Zur besseren \u00dcbersichtlichkeit wurden f\u00fcr das Bild die Top- und Bottom-Groundplanes noch nicht ausgef\u00fcllt.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"893\" height=\"1024\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-65-893x1024.png\" alt=\"\" class=\"wp-image-142\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-65-893x1024.png 893w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-65-262x300.png 262w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-65-768x881.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-65.png 968w\" sizes=\"(max-width: 893px) 100vw, 893px\" \/><figcaption>Abbildung 7: Layout der Platine des Addierers\/VU-Meters (Aufnahme aus Eagle)<\/figcaption><\/figure><\/div>\n\n\n\n<h2>Output \u2013 VCA\/\u03bcC<\/h2>\n\n\n\n<h3>Dokumentation und Arbeitsentwicklung<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"772\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66-1024x772.png\" alt=\"\" class=\"wp-image-143\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66-1024x772.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66-300x226.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66-768x579.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66-1200x904.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-66.png 1356w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 8: Detail-Blockschaltbild f\u00fcr das\u03bcC\/VCA Modul.(Abb. erzeugt mitapp.diagrams.net)<\/figcaption><\/figure>\n\n\n\n<p>In dem zweiten Output-Modul sollen ein spannungsgesteuerter Verst\u00e4rker mit 4 Kan\u00e4len (Engl. <em>voltage controlled amplifier<\/em> kurz VCA} und ein <em>STM32<\/em> Mikrocontroller zum Einsatz kommen.<\/p>\n\n\n\n<p><strong>\u00dcberlegungen<\/strong>:  Um die Verst\u00e4rkungen des VCAs mit dem <em>STM32<\/em> einzeln einstellen zu k\u00f6nnen, m\u00fcssen vier unabh\u00e4ngige, variable steuerbare analoge Spannungen erzeugt werden. Der hier verwendete <em>STM32L476RGT6<\/em> besitzt leider nur zwei Digital-Analog-Umsetzer (kurz DACs), deshalb brauchte es in diesem Fall eine andere Idee. Da die maximal gew\u00fcnschte Frequenz der zu erzeugenden Steuerspannungen 100Hz betr\u00e4gt, und sich mit diesem Mikrocontroller PWM-Signale mit einer Aufl\u00f6sung von 10-Bit mit einer maximalen Frequenz von 78.2kHz erzeugen lassen, schien dies mit einem vertretbaren Filteraufwand realistisch. Das Filtern wurde simuliert und kurz auf einem Steckbrett getestet. Zuerst wurde ein RC-Tiefpass erster Ordnung mit einer Grenzfrequenz um die 1000Hz probiert. Der Rippel war allerdings zu hoch. Mit einem Sallen-Key Tiefpassfilter zweiter Ordnung mit einer Grenzfrequenz von 1.5kHz wie auf Abbildung 12 sah es, wie unter dieser Abbildung weiter beschrieben, ausreichend gut aus.<br>Im n\u00e4chsten Schritt wurde mit der Software-Entwicklung f\u00fcr den Mikrocontroller begonnen. Es wurden haupts\u00e4chlich das Datenblatt  und Tutorials von DeepBlue studiert.<\/p>\n\n\n\n<p><strong>Software-Grundger\u00fcst<\/strong>: Die Grundkonfiguration des <em>STM32<\/em>-Mikrocontrollers wurde mit der Konfigurationssoftware STM32CubeMX von STMicroelectronics vorgenommen. Zuerst wurde ein PWM-Kanal so zum Laufen gebracht, dass sein Dutycycle einem Array mit einer anpassbaren Signalvorgabe folgt. Mit einem Encoder kann man dann das Signal einstellen. Das derzeitige Display-Layout kann man auf Abbildung 9 betrachten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"381\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-1024x381.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-1024x381.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-300x112.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-768x286.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-1536x571.png 1536w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67-1200x446.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-67.png 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 9: CV-Steuerungs-Display<\/figcaption><\/figure>\n\n\n\n<p>Die Timer f\u00fcr die PWM-Kan\u00e4le und die DMA-Trigger f\u00fcr die vier CV-Kan\u00e4le konnten gerade so untergebracht werden. Alle vier Ausgangskan\u00e4le laufen grob und die Grundfunktionalit\u00e4t auf dem Display ist auch schon gegeben. Es bedarf allerdings noch einigen Verfeinerungen und Routinen um Signal-Arrays mit variabler Amplitude und verstellbarer Frequenz zur Laufzeit zu erzeugen.<\/p>\n\n\n\n<h3>Schaltplan<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"518\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-1024x518.png\" alt=\"\" class=\"wp-image-145\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-1024x518.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-300x152.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-768x388.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-1536x777.png 1536w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68-1200x607.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-68.png 1626w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 10: STM32 Modul (Aufnahme aus Eagle)<\/figcaption><\/figure>\n\n\n\n<p>Auf Abbildung 10 ist die Beschaltung des STM32-Moduls zu sehen. F\u00fcr die Encoder 1-4 gibt es jeweils zwei Pulseing\u00e4nge und einen Tastereingang. F\u00fcr all diese Eing\u00e4nge wird der integrierte Pull-Up-Widerstand genutzt und wenn die Encoder schalten, dann wird der jeweilige Pin auf das Ground-Potential gezogen.<br>Um mit den <strong>Encodern<\/strong> Z\u00e4hlerwerte einzustellen, k\u00f6nnte man zum Beispiel die Pulsleitungen schnell abtasten und dann die Z\u00e4hlerst\u00e4nde entsprechend anpassen. Es werden hier allerdings ein paar Extra-Funktionen der Timer des <em>STM32L476RGT6<\/em> verwendet. Die Timer 1-4 werden alle in einem Encoder-Modus genutzt. Die Timer werden so konfiguriert, dass sie automatisch und CPU-unabh\u00e4ngig die Z\u00e4hler hoch- oder runterz\u00e4hlen, wobei auch noch einstellbare \u00dcberl\u00e4ufe ber\u00fccksichtigt werden. Die Z\u00e4hlerst\u00e4nde k\u00f6nnen dann ganz in Ruhe zu einem beliebigen Zeitpunkt ausgelesen werden. Zur Umsetzung dieser Funktionalit\u00e4t wurde ein Tutorial von der Webseite <em>DeepBlue<\/em> zu Rate gezogen.<br>Das monochrome 0.96&#8243; Display vom Typ SSD1306 wird \u00fcber den I2C-Bus angebunden und bei der Ansteuerung wird eine Bibliothek von Github verwendet.<br>Um die Steuerspannungen zu erzeugen, werden die Dutycycles, also die An-Teile der Perioden, eines PWM-Signals mit einer bei dem Mikrocontroller maximalen Frequenz von 78.2kHz ensprechend der gew\u00fcnschenten Signalform moduliert. Damit die Grundfrequenzen dieser Signale, welche sp\u00e4ter mit Tiefpassfiltern herausgefiltert werden, die gew\u00fcschten Signalenformen darstellen, m\u00fcssen die Dutycycles f\u00fcr die jeweils n\u00e4chste Periode schnell eingestellt werden. Dies wird hier unter Einsatz von Timern und direct memory access units kurz DMA-units realisiert. Die Timer l\u00f6sen periodisch ein Event aus, welche die DMA-units veranlasst den Wert f\u00fcr den n\u00e4chsten Dutycycle von einem Array im Arbeitsspeicher in das Outputcompare-Register des PWM-Kanals schreibt. Das Outputcompare-Register bestimmt dann den n\u00e4chsten Dutycycle. Bei dieser Umsetzung kam auch ein Tutorial von <em>DeepBlue<\/em> helfend zum Einsatz.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"732\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69-1024x732.png\" alt=\"\" class=\"wp-image-146\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69-1024x732.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69-300x215.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69-768x549.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69-1200x858.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-69.png 1348w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 11: Filter von PWM zu CV (Aufnahme aus Eagle)<\/figcaption><\/figure>\n\n\n\n<p>Um die PWM-Modulation aus dem CV-Signal herauszufiltern, wird pro CV-Kanal ein Sallen-Key-Tiefpassfilter zweiter Ordnung verwendet. Zur Berechnung der Bauteilgr\u00f6\u00dfen wurde das Matlab-Skript in Listing 1 erstellt. Die Formeln wurden von der \u00dcbertragungsfunktion H<sub>TP<\/sub> im Elektronik-Skript  abgeleitet. Es wurden die Bauteilgr\u00f6\u00dfen f\u00fcr eine Grenzfrequenz von 1.5kHz berechnet und dann an die n\u00e4chsten E12-Werte angepasst. Die resultierende Grenzfrequenz f\u00fcr die Bauteile in Abb. 11 betr\u00e4gt 1.525kHz.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/i.ibb.co\/FnK218B\/image.png\" alt=\"image\" \/><figcaption>Listing 1: Matlab-Script zur Berechnung der Sallen-Key-Bauteilgr\u00f6\u00dfen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"333\" src=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-1024x333.png\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-1024x333.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-300x98.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-768x250.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-1536x500.png 1536w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70-1200x391.png 1200w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-content\/uploads\/sites\/36\/2021\/02\/image-70.png 1640w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Abbildung 12: Simulation von 50% PWM zu CV (Aufnahme aus Plecs)<\/figcaption><\/figure>\n\n\n\n<p>Auf der Abbildung 12 ist bei eine Tiefpassfilter erster Ordnung mit einer Grenzfrequenz von 1.5kHz noch ein deutlicher Rippel zu erkennen. Der in Abb. 11 gezeigte Sallen-Key Tiefpassfilter mit der gleichen Grenzfrequenz sorgt f\u00fcr eine Reduzierung des Rippels auf 1.1mV. Das der Dutycycle von 50% zu der halben CV-Zielspannung von 2.5V f\u00fchrt, zeigt sich auch.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/i.ibb.co\/GWTZWKB\/image.png\"><img src=\"https:\/\/i.ibb.co\/GWTZWKB\/image.png\" alt=\"\" \/><\/a><figcaption>Abbildung 13: Simulation einem Rechteck zu CV (Aufnahme aus Plecs)<\/figcaption><\/figure><\/div>\n\n\n\n<p>Im n\u00e4chsten Schritt wurde gepr\u00fcft, wie schlimm ein Rechteck von 100Hz, welches die maximal angestrebte CV-Ausgangsfrequenz ist, durch den Tiefpassfilter verzerrt wird. Auf Abbildung 13 l\u00e4sst sich erkennen, dass bei dem Tiefpassfilter zweiter Ordnung leichtes \u00dcberschwingen zu erkennen ist.<\/p>\n\n\n\n<h3>Layout<\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/i.ibb.co\/6N6XLSw\/image.png\" alt=\"\" \/><figcaption>Abbildung 14: Pegelanpassung CV f\u00fcr VCA (Aufnahme aus Eagle)<\/figcaption><\/figure><\/div>\n\n\n\n<p>Damit eingehende Steuerspannungen, die von 0V bis 5V erwartet werden und von -10V bis 10V toleriert werden, gibt es vier mal die Anpassungsstufe, die auf Abbildung 14 dargestellt ist. Direkt hinter dem Eingang werden die negativen Signalanteile \u00fcber eine Schottky-Diode mit geringem Vorw\u00e4rtsspannungsabfall von U<sub>F<\/sub>=0,24V laut <a href=\"https:\/\/cdn-reichelt.de\/documents\/datenblatt\/A400\/BAS85SMD_CDIL.pdf\">Datenblatt<\/a> abgeschnitten. Um Spannungen \u00fcber 5V zu begrenzen folgt danach eine Zener-Diode, die in Kombination mit dem Vorwiderstand die Spannungen auf maximal 5.1V limitiert. Es folgt ein dem Emitter folgenden NPN-Transistor in Kollektorschaltung, um die Zener-Begrenzung vom dem Operationsverst\u00e4rker zu entkoppeln. Nach diesem Spannungsfolger kommt also ein invertierender Verst\u00e4rker, welcher mit einer Verst\u00e4rkung von<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/i.ibb.co\/vYRBJyf\/image.png\" alt=\"\" width=\"337\" height=\"84\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/i.ibb.co\/f4bBmpp\/image.png\" alt=\"\" \/><figcaption>Abbildung 15: Simulation der Pegelanpasung CV f\u00fcr VCA (Aufnahme aus LTspice)<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/i.ibb.co\/CvT6c5r\/image.png\" alt=\"\" \/><figcaption>Abbildung 16: VCA 2164 (Aufnahme aus Eagle)<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/i.ibb.co\/1Ryb9TJ\/image.png\" alt=\"\" \/><figcaption>Abbildung 17: Layout der VCA\/\u03bcC-Platine<\/figcaption><\/figure><\/div>\n\n\n\n<h2>Platine<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/i.ibb.co\/gPwxWDc\/image.png\" alt=\"\" \/><figcaption>Abbildung 18: Oberseite der VCA\/\u03bcC-Platine70<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/i.ibb.co\/2SYBQZ0\/image.png\" alt=\"\" width=\"592\" height=\"796\" \/><figcaption>Abbildung 19: Unterseite der VCA\/\u03bcC-Platine<\/figcaption><\/figure><\/div>\n\n\n\n<p>Durch einen unbemerkten Klick mit der mittleren Maustaste in Eagle hat sich leider ein IC auf die Unterseite der Platine auf Abbildung 19 verirrt.<br>Erfreulicherweise biete die Kupferfl\u00e4che f\u00fcr den 3.3 V Spannungsregler unten links auf der Abbildung ausreichende K\u00fchlung, sodass sich diese unter Betrieb noch anfassen l\u00e4sst.<\/p>\n\n\n\n<h2>Zusammenfassung<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/i.ibb.co\/1nQ5DkN\/image.png\" alt=\"\" width=\"448\" height=\"676\" \/><figcaption>Abbildung 20: Frontpanel des VCA\/\u03bcC-Moduls<\/figcaption><\/figure><\/div>\n\n\n\n<p>Das VCA\/\u00b5C-Modul sollte einen die Dynamik bereichernde Komponente darstellen. Dies ist gelungen. Es kann die Lautst\u00e4rke durch den IN-zu-OUT-Pfad konstant oder nach den Signalformen Sinus, Rechteck, Dreieck, S\u00e4gezahn angepasst werden. Durch die mikrocontrollergesteuerte Plattform ist auch eine Erweiterung um verschiedenste Signalformen denkbar.<\/p>\n\n\n\n<p>Insbesondere f\u00fcr die Signalerzeugung wurde die STM32-Mikrocontroller-Welt besser kennengelernt.<\/p>\n\n\n\n<div class=\"wp-block-buttons\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/gehaeuse\/\">Geh\u00e4use<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Damit die tollen T\u00f6ne, die in den vorherigen Modulen erzeugt wurden, abschlie\u00dfend gemeinsam vereint werden k\u00f6nnen, gibt es ein Module welches einen 8-Kanal Audio-Summierier enth\u00e4lt. Um das Mischerlebnis zu verbessern stehen dem Summierier ein VU-Meter und ein VCA, welcher unter anderem von einem Mikrocontroller gesteuert werden kann, zur Seite. Aufgabenstellung Die Module-Gruppe \\textit{4} hat die [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"parent":0,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/pages\/31"}],"collection":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":10,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":173,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/pages\/31\/revisions\/173"}],"wp:attachment":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ws20-mo-synth-471\/wp-json\/wp\/v2\/media?parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}