ADC/DAC

ADC/DAC

 

Unter ADC versteht man eine Funktion, die analoge Signale zu Digitalen umwandelt. Genau das Gegenteil wird mit dem DAC erzielt. Ein digitales Signal wird zu einem Analogen übersetzt. Die Aufgabe der DAC/ADC Gruppe, bestehend aus den Mitgliedern Mehdi , Ahmed B, Ahmed M und mit freundlicher Unterstützung von Miriam Zeineddine, war es den Digital-Analog-Umwandler, sowie den Analog-Digital-Umwandler zu realisieren und die Werte des Infrarotsensors zu verarbeiten.

Abbildung 1: Blockschaltbild der ADC/DAC Gruppe

Zunächst haben wir Überlegungen getroffen, wie wir den DAC realisieren möchten. Hierbei haben sich verschiedene Schaltungsmöglichkeiten erwiesen. Wir haben uns für die Realisierung des Digital-Analog-Umwandlers als R2R-Widerstandsnetzwerk entschieden, weil es einfacher war, dieses Netzwerk zu realisieren. Hierbei sind wir auf verschiedenen Internetseiten fündig geworden. Wir haben uns für die R2R Realisierung von https://de.wikipedia.org/wiki/R2R-Netzwerk entschieden. In Abbildung 2 sei die Schaltung schematisch dargestellt.

Abbildung 2: R2R-Netzwerk Aufbau in LT-Spice

Zunächst haben wir das R2R Netzwerk mit ca. R=15kΩ und 2R=30kΩ auf dem Steckbrett realisiert. Nachdem der DAC realisiert worden ist, blieb es uns nur noch übrig die Schaltung mit einem Testdurchlauf auf Funktionalität zu prüfen. Danach wurde der Mikrocontroller ans Steckbrett gesteckt und mittels USB-Anschluss an den PC verbunden. Die jeweiligen Bits wurden mit den Pins des Mikrocontrollers auf dem Steckbrett verbunden. Mit der Programmierumgebung Atmel Studio 7 haben wir eine Testdatei erstellt und das Programm mittels Programmer auf den Mikrocontroller geladen. Aufgrund des Widerstandsnetzwerks haben die LEDs wie gewünscht geblinkt.
Der DAC wurde benötigt, um der Gruppe „Klangerzeugung“ die Noten als analoges Signal weiterzugeben. Dieser wandelt das digitale Signal der Noten in ein analoges Signal um. Näheres dazu im nächsten Abschnitt.
Der Aufbau dieser Schaltung sei in Abbildung 3 dargestellt:

Abbildung 3: Aufbau des R2R-Netzwerks auf dem Steckbrett

Als nächstes war es unsere Aufgabe mittels ADU den Infrarotsensor zu realisieren. Infrarotsensoren erfassen Strahlungen, die sich in einem Bereich befinden, der sich unterhalb dem vom menschlichen Auge wahrnehmenden Rotlicht befindet. Wir haben als Infrarotsensor den Distanzsensor GP2-0215k verwendet. Je nach Entfernung vom Sensor leitet der Distanzsensor eine unterschiedliche Spannung an den ATmega32 weiter. Das Verhalten der Spannung in Abhängigkeit der Distanz ist in Abbildung 4 einzusehen. Es werden verschiedene Spannungsabfälle erzeugt, die dann verschiedenen Tönen zugewiesen werden. Bei einer Entfernung kleiner als 20 cm und größer als 150 cm entfällt der Ton. Der ATmega32 beinhaltet einen Analog Digital Umwandler. Damit wird unser analoges Signal, welches aus dem Infrarotsensor kommt in ein 10 Bit digitales Signal umgewandelt. Dessen Auflösung haben wir in 14 Bereiche unterteilt. Wir haben 12 Töne zur Verfügung und bei dem ersten sowie letzten Bereichen soll kein Ton erzeugt werden.

Abbildung 4: Kennlinie des Infrarotsensors in Abhängigkeit der Länge

Um zwischen den 12 Bereichen unterscheiden zu können, haben wir uns für eine switch-case Anweisung Anweisung entschieden. Dies erleichtert den Programmieraufwand und verbessert die Lesbarkeit des Codes.
Folgende Methoden wurden implementiert:

  • void InitADC()
  • uint16t ReadADC(void)
  • uint16t CreatADCResult(void)
  • uint8t CreatNoteFromADCResult(uint16t adcresult)
  • uint8t CreateDistanceFromADCResult(uint16t adcresult)
  • void NoteToDAC(uint8t Note)

Der Code ist im Codeverzeichnis zu sehen.

Um für die Klangerzeugungsgruppe die ausgegebenen Noten als analoges Signal weiterzuleiten, verwenden wir den zu Beginn erwähnten DAC.
Der Code ist im Codeverzeichnis zu sehen.

Abbildung 5: Erzeugte Schaltplan der als Vorlage für das Eagle-Layout dient

Nachdem der Schaltplan in Eagle fertiggestellt wurde, konnte mit der Erzeugung des Layouts begonnen werden. Hierbei musste darauf geachtet werden, dass der Mikrocontroller auf der Unterseite der Platine verbunden wird. Außerdem haben sich die Widerstände aus dem R2R-Netzwerk hervorragend dafür geeignet, Brücken zu bilden, um die Leiterbahnen besser platzieren zu können. Da zunächst die Pinbelegung sehr ungünstig gewählt worden war, konnte das Layout nicht optimal erstellen werden. Der Grund war, dass die Leitbahnen sich sonst zu oft gekreuzt hätten und somit so viele Vias verwendet werden mussten. Um dies zu vermeiden, wurden die Pinbelegung des SV1-Steckers nachträglich verändert.
Das resultierende Layout ist in Abbildung 6 und 7 dargestellt.

Abbildung 6: Top-Layout der Platine 1 aus Eagle

Abbildung 7: Bottom-Layout der Platine 1 aus Eagle

Nachdem die Platine fertig bestückt war, wurde sie auf Funktionalität geprüft. Es wurden Fehler in der Hardware, sowie in der Software festgestellt. Es traten Hardwarefehler durch Fehler beim Ätzen und einige Kurzschlüsse durch ungünstiges Löten, sowie durch kalte Lötstellen auf. Diese wurden jedoch glücklicherweise alle gefunden und behoben. Unter kalten Lötstellen versteht man, eine scheinbare richtig gelötete Stelle, die jedoch zu kurzem Anwenden von Wärme nicht richtig haften geblieben ist. Da optisch betrachtet dennoch eine Verbindung vorliegt, ist es umso schwieriger die Fehlerquellen herauszufiltern.

Abbildung 8: Platine Top

Abbildung 9: Platine Bottom

Zusammenfassung

Zusammenfassend lässt sich sagen, dass unsere vorgenommenen Ziele erreicht worden sind. Wir haben den DAC auf dem Steckbrett erfolgreich realisieren können. Zudem haben wir mittels der Programmierungsumgebung Atmel Studio 7 den Mikrocontroller programmiert. Mithilfe des ADCs konnten wir schließlich die Werte des Infrarotsensors auslesen.

Neueste Beiträge

Projekt Synthaffäre

Was ist das Projektlabor ? 
Die Studierenden realisieren ein selbst ausgedachtes und gewähltes elektronisches Projekt. In Kleingruppen aufgeteilt bearbeiten sie selbständig Teile des Projekts unter Anleitung der Betreuer und erlernen dabei auch Grundlagen des Projektmanage-
ments.
Die einzelnen Schaltungen der Gruppen werden durch selbst definierte Schnittstellen miteinander verbunden. Diese sollen dann gemeinsam funktionieren und zusammen ein Gerät bilden. Fehlende Kenntnisse zum Bau des Geräts werden während des Semesters erworben. Außerdem können und sollen sich die Kenntnisse der TeilnehmerInnen in den Arbeitsgruppen ergänzen.
Das Projektlabor umfasst 6 SWS, in denen der Umgang mit den Programmen LTspice und Eagle, das Entwickeln von Schaltungen, das praktische Arbeiten an Schaltungen, Platinendesign und der Einsatz von Messgeräten zur Fehlerbestimmung erlernt werden sollen.

https://www.projektlabor.tu-berlin.de/menue/home/

Das Projektlabor SS2019

Herzlich willkommen auf unserer Projektlabor-Seite. In diesem Semester wird das  Projekt Synthaffäre umgesetzt . Um das zu erreichen sind wir in 4 großen Gruppen aufgeteilt und jede Gruppe in 3-6 Kleingruppen aufgeteilt.
Dabei handelt es sich um einen Synthesizer – ein Musikinstrument.
Der Synthesizer ist dazu in der Lage auf elektronischem Weg auf analoger oder digitaler Basis Klänge zu erzeugen  und diese weiterzuverarbeiten. Er ist eines der zentralen Werkzeuge in der Produktion elektronischer Musik insbesondere für Musikstile wie House, Techno oder Drum and Bass.
Hier können Sie den Verlauf der Entwicklung des Synthesizers kennenlernen. Darüber hinaus  sind hier noch  verwendete Schaltungen, Bilder des Arbeitsprozesses, Codes und Vieles mehr zu finden .

 

Wichtige Termine und Friste für das Projektlabor :

1. Abgabefrist fur den Abschlussbericht : 1.Juli

2. Abschlusspräsentation : 11.Juli um 16:00 Uhr im E020