{"id":41,"date":"2019-06-06T11:50:54","date_gmt":"2019-06-06T09:50:54","guid":{"rendered":"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/?page_id=41"},"modified":"2019-07-09T13:05:38","modified_gmt":"2019-07-09T11:05:38","slug":"adc-dac","status":"publish","type":"page","link":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/beispiel-seite\/adc-dac\/","title":{"rendered":"ADC\/DAC"},"content":{"rendered":"<p><strong>ADC\/DAC<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>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 \u00fcbersetzt. Die Aufgabe der DAC\/ADC Gruppe, bestehend aus den Mitgliedern Mehdi , Ahmed B, Ahmed M und mit freundlicher Unterst\u00fctzung von Miriam Zeineddine, war es den Digital-Analog-Umwandler, sowie den Analog-Digital-Umwandler zu realisieren und die Werte des Infrarotsensors zu verarbeiten.<\/p>\n<div id=\"attachment_294\" style=\"width: 1554px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-294\" loading=\"lazy\" class=\"wp-image-294 size-full\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb.jpeg\" alt=\"\" width=\"1544\" height=\"777\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb.jpeg 1544w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb-300x151.jpeg 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb-768x386.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb-1024x515.jpeg 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/dacadcbsb-500x252.jpeg 500w\" sizes=\"(max-width: 1544px) 100vw, 1544px\" \/><p id=\"caption-attachment-294\" class=\"wp-caption-text\">Abbildung 1: Blockschaltbild der ADC\/DAC Gruppe<\/p><\/div>\n<p>Zun\u00e4chst haben wir \u00dcberlegungen getroffen, wie wir den DAC realisieren m\u00f6chten. Hierbei haben sich verschiedene Schaltungsm\u00f6glichkeiten erwiesen. Wir haben uns f\u00fcr 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\u00fcndig geworden. Wir haben uns f\u00fcr die R2R Realisierung von <em>https:\/\/de.wikipedia.org\/wiki\/R2R-Netzwerk<\/em> entschieden. In Abbildung 2 sei die Schaltung schematisch dargestellt.<\/p>\n<div id=\"attachment_296\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-296\" loading=\"lazy\" class=\"size-large wp-image-296\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice-1024x310.png\" alt=\"\" width=\"584\" height=\"177\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice-1024x310.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice-300x91.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice-768x233.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice-500x151.png 500w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/DAUlitspice.png 1733w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><p id=\"caption-attachment-296\" class=\"wp-caption-text\">Abbildung 2: R2R-Netzwerk Aufbau in LT-Spice<\/p><\/div>\n<p>Zun\u00e4chst haben wir das R2R Netzwerk mit ca. R=15k\u03a9 und 2R=30k\u03a9 auf dem Steckbrett realisiert. Nachdem der DAC realisiert worden ist, blieb es uns nur noch \u00fcbrig die Schaltung mit einem Testdurchlauf auf Funktionalit\u00e4t zu pr\u00fcfen. 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 <strong>Atmel Studio 7<\/strong> haben wir eine Testdatei erstellt und das Programm mittels Programmer auf den Mikrocontroller geladen. Aufgrund des Widerstandsnetzwerks haben die LEDs wie gew\u00fcnscht geblinkt.<br \/>\nDer DAC wurde ben\u00f6tigt, um der Gruppe &#8222;Klangerzeugung&#8220; die Noten als analoges Signal weiterzugeben. Dieser wandelt das digitale Signal der Noten in ein analoges Signal um. N\u00e4heres dazu im n\u00e4chsten Abschnitt.<br \/>\nDer Aufbau dieser Schaltung sei in Abbildung 3 dargestellt:<\/p>\n<div id=\"attachment_297\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-297\" loading=\"lazy\" class=\"size-large wp-image-297\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/Steckbrett-e1562669627500-1024x768.jpeg\" alt=\"\" width=\"584\" height=\"438\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/Steckbrett-e1562669627500.jpeg 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/Steckbrett-e1562669627500-300x225.jpeg 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/Steckbrett-e1562669627500-768x576.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/Steckbrett-e1562669627500-400x300.jpeg 400w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><p id=\"caption-attachment-297\" class=\"wp-caption-text\">Abbildung 3: Aufbau des R2R-Netzwerks auf dem Steckbrett<\/p><\/div>\n<p>Als n\u00e4chstes 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\u00e4ngigkeit der Distanz ist in Abbildung 4 einzusehen. Es werden verschiedene Spannungsabf\u00e4lle erzeugt, die dann verschiedenen T\u00f6nen zugewiesen werden. Bei einer Entfernung kleiner als 20 cm und gr\u00f6\u00dfer als 150 cm entf\u00e4llt 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\u00f6sung haben wir in 14 Bereiche unterteilt. Wir haben 12 T\u00f6ne zur Verf\u00fcgung und bei dem ersten sowie letzten Bereichen soll kein Ton erzeugt werden.<\/p>\n<div id=\"attachment_298\" style=\"width: 601px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-298\" loading=\"lazy\" class=\"wp-image-298 size-full\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/infra.png\" alt=\"\" width=\"591\" height=\"439\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/infra.png 591w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/infra-300x223.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/infra-404x300.png 404w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><p id=\"caption-attachment-298\" class=\"wp-caption-text\">Abbildung 4: Kennlinie des Infrarotsensors in Abh\u00e4ngigkeit der L\u00e4nge<\/p><\/div>\n<p>Um zwischen den 12 Bereichen unterscheiden zu k\u00f6nnen, haben wir uns f\u00fcr eine switch-case Anweisung Anweisung entschieden. Dies erleichtert den Programmieraufwand und verbessert die Lesbarkeit des Codes.<br \/>\nFolgende Methoden wurden implementiert:<\/p>\n<ul>\n<li><strong>void InitADC()<\/strong><\/li>\n<li><strong>uint16t ReadADC(void)<\/strong><\/li>\n<li><strong>uint16t CreatADCResult(void)<\/strong><\/li>\n<li><strong>uint8t CreatNoteFromADCResult(uint16t adcresult)<\/strong><\/li>\n<li><strong>uint8t CreateDistanceFromADCResult(uint16t adcresult)<\/strong><\/li>\n<li><strong>void NoteToDAC(uint8t Note)<\/strong><\/li>\n<\/ul>\n<p>Der Code ist im Codeverzeichnis zu sehen.<\/p>\n<p>Um f\u00fcr die Klangerzeugungsgruppe die ausgegebenen Noten als analoges Signal weiterzuleiten, verwenden wir den zu Beginn erw\u00e4hnten DAC.<br \/>\nDer Code ist im Codeverzeichnis zu sehen.<\/p>\n<div id=\"attachment_299\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-299\" loading=\"lazy\" class=\"size-large wp-image-299\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/schaltplan_bild-1024x765.png\" alt=\"\" width=\"584\" height=\"436\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/schaltplan_bild-1024x765.png 1024w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/schaltplan_bild-300x224.png 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/schaltplan_bild-768x573.png 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/schaltplan_bild-402x300.png 402w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><p id=\"caption-attachment-299\" class=\"wp-caption-text\">Abbildung 5: Erzeugte Schaltplan der als Vorlage f\u00fcr das Eagle-Layout dient<\/p><\/div>\n<p>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\u00dferdem haben sich die Widerst\u00e4nde aus dem R2R-Netzwerk hervorragend daf\u00fcr geeignet, Br\u00fccken zu bilden, um die Leiterbahnen besser platzieren zu k\u00f6nnen. Da zun\u00e4chst die Pinbelegung sehr ung\u00fcnstig gew\u00e4hlt worden war, konnte das Layout nicht optimal erstellen werden. Der Grund war, dass die Leitbahnen sich sonst zu oft gekreuzt h\u00e4tten und somit so viele Vias verwendet werden mussten. Um dies zu vermeiden, wurden die Pinbelegung des SV1-Steckers nachtr\u00e4glich ver\u00e4ndert.<br \/>\nDas resultierende Layout ist in Abbildung 6 und 7 dargestellt.<\/p>\n<div id=\"attachment_300\" style=\"width: 985px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-300\" loading=\"lazy\" class=\"size-full wp-image-300\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/topp1.jpeg\" alt=\"\" width=\"975\" height=\"694\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/topp1.jpeg 975w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/topp1-300x214.jpeg 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/topp1-768x547.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/topp1-421x300.jpeg 421w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><p id=\"caption-attachment-300\" class=\"wp-caption-text\">Abbildung 6: Top-Layout der Platine 1 aus Eagle<\/p><\/div>\n<div id=\"attachment_301\" style=\"width: 985px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-301\" loading=\"lazy\" class=\"size-full wp-image-301\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/bottomp1.jpeg\" alt=\"\" width=\"975\" height=\"694\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/bottomp1.jpeg 975w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/bottomp1-300x214.jpeg 300w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/bottomp1-768x547.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/bottomp1-421x300.jpeg 421w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><p id=\"caption-attachment-301\" class=\"wp-caption-text\">Abbildung 7: Bottom-Layout der Platine 1 aus Eagle<\/p><\/div>\n<p>Nachdem die Platine fertig best\u00fcckt war, wurde sie auf Funktionalit\u00e4t gepr\u00fcft. Es wurden Fehler in der Hardware, sowie in der Software festgestellt. Es traten Hardwarefehler durch Fehler beim \u00c4tzen und einige Kurzschl\u00fcsse durch ung\u00fcnstiges L\u00f6ten, sowie durch kalte L\u00f6tstellen auf. Diese wurden jedoch gl\u00fccklicherweise alle gefunden und behoben. Unter kalten L\u00f6tstellen versteht man, eine scheinbare richtig gel\u00f6tete Stelle, die jedoch zu kurzem Anwenden von W\u00e4rme nicht richtig haften geblieben ist. Da optisch betrachtet dennoch eine Verbindung vorliegt, ist es umso schwieriger die Fehlerquellen herauszufiltern.<\/p>\n<div id=\"attachment_302\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-302\" loading=\"lazy\" class=\"size-large wp-image-302\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/platine1-768x1024.jpeg\" alt=\"\" width=\"584\" height=\"779\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/platine1.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/platine1-225x300.jpeg 225w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><p id=\"caption-attachment-302\" class=\"wp-caption-text\">Abbildung 8: Platine Top<\/p><\/div>\n<div id=\"attachment_303\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-303\" loading=\"lazy\" class=\"size-large wp-image-303\" src=\"http:\/\/service.projektlabor.tu-berlin.de\/wordpress\/ss2019mo\/wp-content\/uploads\/sites\/25\/2019\/07\/platine2-768x1024.jpeg\" alt=\"\" width=\"584\" height=\"779\" srcset=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/platine2.jpeg 768w, https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-content\/uploads\/sites\/25\/2019\/07\/platine2-225x300.jpeg 225w\" sizes=\"(max-width: 584px) 100vw, 584px\" \/><p id=\"caption-attachment-303\" class=\"wp-caption-text\">Abbildung 9: Platine Bottom<\/p><\/div>\n<p><strong>Zusammenfassung<\/strong><\/p>\n<p>Zusammenfassend l\u00e4sst sich sagen, dass unsere vorgenommenen Ziele erreicht worden sind. Wir haben den DAC auf dem Steckbrett erfolgreich realisieren k\u00f6nnen. Zudem haben wir mittels der Programmierungsumgebung Atmel Studio 7 den Mikrocontroller programmiert. Mithilfe des ADCs konnten wir schlie\u00dflich die Werte des Infrarotsensors auslesen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ADC\/DAC &nbsp; 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 \u00fcbersetzt. Die Aufgabe der DAC\/ADC Gruppe, bestehend aus den Mitgliedern Mehdi &hellip; <a href=\"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/beispiel-seite\/adc-dac\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":91,"featured_media":0,"parent":2,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"showcase.php","meta":[],"_links":{"self":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/pages\/41"}],"collection":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/users\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":11,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/pages\/41\/revisions"}],"predecessor-version":[{"id":304,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/pages\/41\/revisions\/304"}],"up":[{"embeddable":true,"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/service.projektlabor.tu-berlin.de\/wordpress\/Synthaffaere\/wp-json\/wp\/v2\/media?parent=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}