Projekt 01: Entwicklungsplatine für Mikrocontroller entwerfen und ansteuern: Unterschied zwischen den Versionen
Zeile 102: | Zeile 102: | ||
== Verbesserungsvorschläge zum Artikel == | == Verbesserungsvorschläge zum Artikel == | ||
[[Benutzer:Ulrich Schneider|Ulrich Schneider]] ([[Benutzer Diskussion:Ulrich Schneider|Diskussion]]) 10:09, 24. Jan. 2014 (CET) | [[Benutzer:Ulrich Schneider|Ulrich Schneider]] ([[Benutzer Diskussion:Ulrich Schneider|Diskussion]]) 10:09, 24. Jan. 2014 (CET) | ||
* Wiss. Berichte werden neutral ohne ich und wir geschrieben. | <!--* Wiss. Berichte werden neutral ohne ich und wir geschrieben.--> | ||
* Die Einbindung eines Fotos des fertigen Projektstandes wäre wünschenswert. | * Die Einbindung eines Fotos des fertigen Projektstandes wäre wünschenswert. | ||
* Datei (ZIP) wurde fehlerhaft eingebunden. | * Datei (ZIP) wurde fehlerhaft eingebunden. |
Version vom 3. März 2014, 14:02 Uhr
Vorwort
Im Rahmen des Elektrotechnik Fachpraktikums im Studiengang Mechatronik (5. Fachsemester) wurde uns die Aufgabe übertragen, eine Entwicklungsplatine für Microcontroller zu gestalten.
Ergebnis der Arbeit ist eine Platine, die in der Lage ist, die verschiedenen Ein- und Ausgänge am Arduino (Analoge Eingänge, I²C Schnittstelle, PWM Ausgänge, Digital I/O's) zu lesen und zu steuern. Im Folgenden finden sich die Unterlagen zur Analyse oder zur Reproduktion der Platine.
Durchgeführt wurde dieses Projekt von Mathias Tanger und Kai Ehlert.
Hardware
Im folgenden Abschnitt wird die verwendete Hardware näher erläutert.
Arduino
Als Micrcontroller wurde, der im Vorfeld für das Elektrotechnik Fachpraktikum angeschaffte, Arduino UNO R3 (im Folgenden Arduino genannt) ausgewählt.
Der Arduino mit seinen geringen Anschaffungskosten (Stand: 2013 ca. 20€) und seiner Vielfalt an analogen, wie digitalen Aus- und Eingängen kombiniert mit der Programmiersprache "C" eignet sich bestens um die Möglichkeiten von Microcontrollern leicht zu erlernen.
Elektronikbauteile
![](/wiki/images/thumb/8/87/ArduinoUno_R3_Front.jpg/200px-ArduinoUno_R3_Front.jpg)
Bauteil | Zugehöriges Datenblatt |
---|---|
Drehencoder | Datenblatt |
Transistor | Datenblatt BC337-40 |
RGB-LED | Datenblatt Kingbright LF5WAEMBGMBC |
MOSFET | Datenblatt IRF 510 |
EEPROM | Datenblatt 24LC16B-I/P |
Potentiometer | Datenblatt 10K Potentiometer |
LED | Datenblatt LED GELB |
IC-Sockel 8-Polig | Datenblatt Sockel |
Lüfter | Datenblatt Lüfter |
Glühlampe | Datenblatt Glühlampe |
Schrittmotor(Nicht verbaut) | Datenblatt Schrittmotor |
Zusätzlich diverse Kohleschichtwiderstände 0,25W(Siehe Schaltplan)
Software
Der kommentierte Quelltext für die Entwicklungsplatine wurde in der Arduino-Programmiersprache geschrieben.
Der Compiler ist bei den Softwaredownloadsvon Arduino gratis Verfügbar.
Die verfügbare Syntax befindet sich unter References. Weiterhin sind der Software viele Beispielprogramme beigefügt.
Schaltungsunterlagen und Platinenlayout
Den verwendeten Schaltplan als Bild (.jpg) direkt hier downloaden oder als S-Plan Datei (.sp7) (erstellt mit S-Plan 7) aus dem Zip-Archiv entnehmen.
Das Platinenlayout lässt sich hier direkt als Bild (.jpg) herunterladen, erstellt wurde das Platinenlayout mit Hilfe einer Demo-Version von Lochmaster 4.0. Dieses Programm wurde gewählt, da so schnell und einfach die Bestückung der Standartrasterplatine erfolgen konnte, allerdings ließ sich aufgrund der Demo-Version das Platinenlayout lediglich als Bild speichern.
Die Steckerbelegung (Anschlussnummer, Leiterfarbe sowie die Zuordnung auf der Platine/dem Microcontroller) findet sich in dieser Excel-Datei.
-
Schaltplan
-
Platinenlayout Oberseite
-
Platinenlayout Unterseite
Optionale Erweiterungen
Im zugehörigen Inventar befinden sich eine H-Brücke sowie ein Schrittmotor. Diese sind nicht zum Einsatz gekommen, da zur Verwendung des Schrittmotors weiterhin ein Stepper sowie die Rekonfiguration einiger Digitalkontakte am Microcontroller notwendig sind. Da der Arduino aktuell nahezu voll ausgelastet ist müssten je nach gewünschten Funktionen bestimmte Aus- bzw Eingangskontakte im Programm anders definiert werden als sie es jetzt sind. Optional lässt sich auch ein Microcontroller mit einer höheren Anzahl an Digitalausgängen (z.B.: Arduino Mega 2560) verwenden, um so eine Implementierung in die vorhandene Software zu ermöglichen.
Zur Verwendung des EEPROMs ist die Implementierung der "Wire Libary" zur Kommunikation über den I²C Bus notwendig. Das vorhandene EEPROM ist lediglich ein Speicherbaustein zur Kapazitätserweiterung. Um die Funktionalität des I²C-Bus voll auszunutzen sollte ein EEPROM mit digitalen Aus- und Eingängen verwendet werden mit dem die Funktion der Kommunikation auf beliebige Weise dargestellt werden.
Zusammenfassung
Bei Projektabschluss waren folgende Funktionen gegeben:
EINGÄNGE
- Analogwert von Potentiometern einlesen
- Drehencoder auslesen
- Taster und Schalter auslesen
AUSGÄNGE
- Lüfter-Geschwindigkeitssteuerung
- RGB-LED Einzelfarben Helligkeitssteuerung
- Gelbe LED's Ein-/Ausschalten(Drehencoder)
- Glühbirne Ein-/Ausschalten
Zusammenfassend kann man sagen, dass dieses Praktikum tiefe Einblicke in die Welt der Microcontroller und die damit verbundenen Probleme gegeben hat. Es konnten elektrotechnische Kenntnisse und Fähigkeiten aufgefrischt und um Neues erweitert werden. Des Weiteren war es eine gute praktische Übung, da über die Planung bis zur Fertigstellung des Projekts das volle Aufgabenspektrum eines Ingenieurs in unserer Verantwortung lag. Es mussten sowohl praktische Tätigkeiten wie z.B. Löten durchgeführt werden, wie auch die Planung und Erstellung der wissenschaftlichen Dokumentation.
Abschließend finden sich sämtliche relevanten Dokumentationsunterlagen in dieser Datei:Microcontroller Entwicklungsplatine.zip.
Kontakt
Bei Rückfragen genügt eine Email an: Kai Ehlert (eMail) oder an Mathias Tanger (eMail)
Verbesserungsvorschläge zum Artikel
Ulrich Schneider (Diskussion) 10:09, 24. Jan. 2014 (CET)
- Die Einbindung eines Fotos des fertigen Projektstandes wäre wünschenswert.
- Datei (ZIP) wurde fehlerhaft eingebunden.
- Im Zip fehlen
- Platinenlayout, Schaltungssimulation, Circuit-Cam, Boardmaster-Originaldateien
- Software/Implementierung
- Im Wiki fehlen
- Projektlogbuch
- PAP
- Berechnung der Güte der Sensoren nach den bekannten Methoden der Messtechnik
- Lessons Learned
Prof. Dr. Mirek Göbel am 31. Jan. 2014:
- Bitte Artikel noch einmal gründlich auf korrekte Rechtschreibung prüfen
- Arduino: Programmiersprache ist C! Es gibt nur viele Funktionen, die einem einen schnellen Einstieg ermöglichen
- Unter der Tabelle einen richtigen Link zum Schaltplan einbauen
- Bitte nennen, womit die Schaltpläne erstellt wurden!
- Quelltext bitte in separaten Artikel auslagern, z. B. "Quellcode für Projekt 01: Entwicklungsplatine für Mikrocontroller entwerfen und ansteuern" und dann farbig besser darstellen
- Ganze Sätze! ("Den Schaltplan als .jpg ...")
- Was heißt "Rekonfiguration einiger Digitalkontakte"? Bitte präzise formulieren!
- Bitte Fazit formulieren: Was kann das Experimentierboard alles?