Projekt 01: Entwicklungsplatine für Mikrocontroller entwerfen und ansteuern

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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

Arduino UNO R3 Draufsicht
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.

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

Draufsicht

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?