Projekt 26: LED-Würfel 2.0: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 65: Zeile 65:


Das Programm verwendet eine C++ identische Benutzeroberfläche, mit der man über 4 Ports an alle Bereiche des Microcontrollers Zugang hat. Um den Microcontroller programmieren zu können, benötigt man einen Flasher (zum Beispiel Atmel JTAGICE), den man sich, zum arbeiten in der Hochschule, ausleihen kann.
Das Programm verwendet eine C++ identische Benutzeroberfläche, mit der man über 4 Ports an alle Bereiche des Microcontrollers Zugang hat. Um den Microcontroller programmieren zu können, benötigt man einen Flasher (zum Beispiel Atmel JTAGICE), den man sich, zum arbeiten in der Hochschule, ausleihen kann.
Der Quellcode des Würfels lautet wie folgt:
[[Datei:würfel_code.pdf]]


==Problemstellung==
==Problemstellung==

Version vom 13. Februar 2014, 15:47 Uhr

Bild 1: LED-Würfel.

Im Rahmen des Elektrotechnik Fachpraktikums, im 5 Fachsemester des Studiengangs Mechatronik, WS2013/2014, haben wir uns mit einem LED-Würfel beschäftigt.

Ein LED-Würfel kann als eine 3-Dimensionale LED Anzeige betrachtet werden, auf der verschiedene Symbole, Figuren oder auch Texte dragestellt werden können.



Aufbau des Würfels

Bild 2: 8 Kathodenebenen
Bild 3: 64 Anodenreihen

Zu sehen ist ein gelöteter Würfel, der aus 8^3 grünen 3mm LED's besteht, was einer Anzahl von 512 LED's entspricht. Dieser Würfel ist auf einem Holzblock befestigt, indem sich die Schaltung befindet.

Die wichtigsten Bauteile in der Schaltung sind der Microcontroller (Atmega 32), 8 Schieberegister, 8 MOSFET's und diverse Widerstände. Die LED's sind in 8 Ebenen zusammengefasst. Jede Ebene enthält jeweils 8 LED's in der x-Achse und y-Achse.

Jede LED hat einen positiven (Anode) und negativen (Kathode) Anschlusspunkt. Die Kathoden formen die Ebenen (Bild 2:8 Kathodenebenen), dass heißt die Kathoden auf der jeweiligen Ebene sind miteinander verbunden. Die Anoden bilden 64 Reihen in der z-Achse (Bild 3:64 Anodenreihen), demzufolge besteht eine Reihe aus 8 LED's, welche auf den 8 verschiedenen Ebenen liegen. Dadurch ist ein geringerer Verdrahtungsaufwand nötig. Es werden lediglich 8 Drähte für die Ebenen und 64 Drähte für die Reihen gebraucht, was zusätzlich ermöglicht, mit weniger Ausgängen am Microcontroller zu Arbeiten.

Dieser Aufbau ermöglicht es, durch das Multiplexverfahren jede LED einzeln anzusteuern.








Multiplexverfahren

Eine einzelne LED lässt sich ansteuern, indem lediglich die Signale einer Reihe und einer Ebene eingeschaltet werden.

Will man LED's in verschiedenen Reihen bzw. Ebenen zur gleichen Zeit leuchten lassen, werden diese in einer Frequenz >25Hz nacheinander eingeschaltet. Durch dieses schnelle Ein- und Ausschalten, nimmt das menschliche Auge das Blinken als Leuchten wahr.

Möchte man mehr als 64 LED's gleichzeitig leuchten lassen, müssen diese mit einer Frequenz >25Hz blinken, da sonst die maximale Stomaufnahme von 1.3A des Würfels überschritten wird.

Siehe hierzu Multiplexverfahren

Schaltplan

Bild 4: Schaltbild

Auf dem Schaltplan erkennt man links die 8 MOSFETs, welche zur Ansteuerung aller 8 Ebenen dienen. Mittig ist der Microcontroller mit einer 10-poligen Schnittstelle angeordnet, welche eine Verbindung mit dem Computer ermöglicht. Rechts danaben sind die 8 Schieberegister mit jeweils 8 LED's, welche 64 LED's pro Ebene darstellen.


Software

Zur Programmierung des Atmel-Mega32 (eingebauter Microcontroller) kann man das dazugehörige Programm Atmel Studio 6, welche als freeware downloadbar ist, benutzen.

Das Programm verwendet eine C++ identische Benutzeroberfläche, mit der man über 4 Ports an alle Bereiche des Microcontrollers Zugang hat. Um den Microcontroller programmieren zu können, benötigt man einen Flasher (zum Beispiel Atmel JTAGICE), den man sich, zum arbeiten in der Hochschule, ausleihen kann.

Problemstellung

An der 10-poligen Schnittstelle, für den Flasher, ist zwischen den Kontakten '2' (+5V) und '4' (GND) ein Kurzschluss vorhanden, sodass man sich die Versorgungsspannung direkt vom Netzteil abzweigen muss. Dies gilt nur für die Programmierung, da sich sonst keine Verbindung aufbauen lässt. Außerdem weißt die 5te Ebene einen Wakelkontakt auf, welcher nur sporadisch auftritt.


Projektweiterentwicklung

Zur Projektweiterentwicklung empfielt es sich die Schaltung neu aufzubauen, um die Fehler zu eleminieren. Zum Neuaufbau der Schaltung kann zum Beispiel eine Platine mit dem Fräsbohrplotter erstellt werden.

Verbesserungsvorschläge zum Artikel

Ulrich Schneider (Diskussion) 11:58, 25. Jan. 2014 (CET)

  • Zusammenfassung und Lessons Learned fehlen.
  • Zip-Datei und ein Großteil der geforderten Dokumente fehlen.
  • BOM, Projektpläne, PAP fehlen.


Prof. Dr. Mirek Göbel am 31. Jan. 2014:

  • Quellcode bitte als Extra Artikel anlegen (nicht als pdf!)
  • Verweisen Sie auf die Vorarbeit Ihrer Vorgänger (alles bei Ihnen bis Software)
  • Beschreiben Sie ausführlich die PRogrammierweise! Wie kann ich per Software gezielt LEDs schalten, wie Muster schalten?
  • Es wird nicht klar, ob Sie die genannten Probleme behoben haben.
  • insgesamt zu knappe Darstellung!