Projekt 29: Entwicklungsplatine für Mikrocontroller entwerfen und ansteuern: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 31: Zeile 31:




<H1> Konzept (Projektplanung) </H1>
== <H1> Konzept (Projektplanung) </H1> ==
Die folgenden Punkte geben das Projektkonzept stichwortartig wieder:
Die folgenden Punkte geben das Projektkonzept stichwortartig wieder:
0. Festlegung des Projektthemas innerhalb der Auftaktveranstaltung
 
1. Projektvorbereitung
 
'''0. Festlegung des Projektthemas innerhalb der Auftaktveranstaltung'''
 
 
'''1. Projektvorbereitung'''
 
1.1. Recherche und Austausch von Informationen zur Aufgabenstellung
1.1. Recherche und Austausch von Informationen zur Aufgabenstellung
1.2. Organisation und Planung der anstehenden Aufgaben
1.2. Organisation und Planung der anstehenden Aufgaben
1.3. Erstellung der Materialiste (BOM)
1.3. Erstellung der Materialiste (BOM)
2. Projektdurchführung
 
 
'''2. Projektdurchführung'''
 
2.1. Detaillierte Konzepterstellung (Schaltungsidee als Black-Box-Modell entwerfen)
2.1. Detaillierte Konzepterstellung (Schaltungsidee als Black-Box-Modell entwerfen)
2.2. Entwicklung der Ansteuerungssoftware und Testen dieser mittels Realisierung der Schaltungen auf  einem Steckbrett und ggf. Verbesserung durchführen
 
2.2. Entwicklung der Ansteuerungssoftware und Testen dieser mittels Realisierung der Schaltungen auf  einem Steckbrett und ggf.  
Verbesserung durchführen
 
2.3. Schaltungsentwurf in Multisim
2.3. Schaltungsentwurf in Multisim
2.4. Erstellung des Platinenlayouts in Ultiboard
2.4. Erstellung des Platinenlayouts in Ultiboard
2.5. Fertigen der Platinen und Anlöten der Bauteile
2.5. Fertigen der Platinen und Anlöten der Bauteile
2.6. Vereinigung von Hardware und Software
2.6. Vereinigung von Hardware und Software
2.7. Testen der Ansteuerung  und ggf. Verbesserung durchführen
2.7. Testen der Ansteuerung  und ggf. Verbesserung durchführen
3. Projektabschluss
 
 
'''3. Projektabschluss'''
 
3.1. Auswertung des Projekts
3.1. Auswertung des Projekts
3.2. Dokumentation abschließen
3.2. Dokumentation abschließen






<H1> Realisierung </H1>
== <H1> Realisierung </H1> ==


<H2> Idee </H2>
<H2> Idee </H2>
Zeile 214: Zeile 235:
<H2> Software zur Ansteuerung </H2>
<H2> Software zur Ansteuerung </H2>


<H1> Fazit </H1>
== <H1> Fazit </H1> ==


<H1> Ausblick </H1>
== <H1> Ausblick </H1> ==


<H1> Quellen </H1>
== <H1> Quellen </H1> ==


<references />
<references />

Version vom 22. Dezember 2014, 18:47 Uhr

Autoren: André Merkel, Anika Leinhäuser
Betreuer: Prof. Göbel

Aufgabe

Entwicklungsplatine für Arduino Uno bauen und ansteuern. Bausteine sind mindestens Drehencoder, LEDs inkl. Transistorstufe, RGB-LED inkl. Transistorstufe, MOSFET für große Last, H-Brücke, EEPROM, 3 Potis, Display.


Erwartungen an Ihre Projektlösung

  • Erstellung eines Konzepts
  • Entwurf des Schaltplans in Multisim/Ultiboard
  • Erstellung der Platine als ArduinioShield (ggf. in mehreren Iterationen)
  • Programmierung mit C
  • Ansteuern/Auslesen der Aktoren/Sensoren
  • Programmierung von Beispielanwendungen
  • Test und wiss. Dokumentation
  • Dokumentation der technischen Funktion der verwendeten Bauteile
  • Live Vorführung während der Abschlusspräsentation

Schwierigkeitsgrad

Anspruchsvoll (***)


→ zurück zum Hauptartikel: Angewandte Elektrotechnik (WS 14/15)

Einleitung

Im Rahmen der Lehrveranstaltung „Angewandte Elektrotechnik“ des Studiengangs „Business and Systems Engineering“ im Wintersemester 2014/15 gab es die Aufgabe, ein Projekt im Bereich der Elektro- und Regelungstechnik durchzuführen. Die vorliegende Dokumentation befasst sich mit dem Entwurf und der Ansteuerung einer Entwicklungsplatine für einen Mikrocontroller.

Detailliert bestand die Aufgabe darin, eine Entwicklungsplatine für den Mikrocontroller des Arduino Uno zu bauen und anzusteuern. Dabei waren mindestens die Bauelemente Drehencoder, LEDs inklusive Transistorstufe, RGB-LED inklusive Transistorstufe, MOSFET für große Lasten, H-Brücke, EEPROM, drei Potentiometer sowie ein Display zur Ansteuerung zu verwenden. Die gestellten Erwartungen lagen in der Erstellung eines Konzepts sowie in einem Entwurf des Schaltplans in der Software Multisim bzw. Ultiboard. Des Weiteren sollte die Entwicklungsplatine als ArduinoShield erstellt werden. Neben der Programmierung in C wurden ein Ansteuern der Aktoren sowie ein Auslesen der Sensoren gefordert, sofern diese verbaut wurden. Darüber hinaus beinhaltete die Aufgabe die Programmierung von Beispielaufgaben. Außerdem waren Tests der entwickelten Platine durchzuführen und wissenschaftlich zu dokumentieren. Die Dokumentation der technischen Funktion der verwendeten Bauteile und eine Live-Vorführung während der Abschlusspräsentation stellten ebenfalls Erwartungen dar.


Konzept (Projektplanung)

Die folgenden Punkte geben das Projektkonzept stichwortartig wieder:


0. Festlegung des Projektthemas innerhalb der Auftaktveranstaltung


1. Projektvorbereitung

1.1. Recherche und Austausch von Informationen zur Aufgabenstellung

1.2. Organisation und Planung der anstehenden Aufgaben

1.3. Erstellung der Materialiste (BOM)


2. Projektdurchführung

2.1. Detaillierte Konzepterstellung (Schaltungsidee als Black-Box-Modell entwerfen)

2.2. Entwicklung der Ansteuerungssoftware und Testen dieser mittels Realisierung der Schaltungen auf einem Steckbrett und ggf. Verbesserung durchführen

2.3. Schaltungsentwurf in Multisim

2.4. Erstellung des Platinenlayouts in Ultiboard

2.5. Fertigen der Platinen und Anlöten der Bauteile

2.6. Vereinigung von Hardware und Software

2.7. Testen der Ansteuerung und ggf. Verbesserung durchführen


3. Projektabschluss

3.1. Auswertung des Projekts

3.2. Dokumentation abschließen


Realisierung

Idee

Darstellung des Black-Box Modells für die Entwicklung

Die Idee für die Entwicklungsplatine war der Entwurf einer DC-Motorsteuerung. Dabei sollte der Motor jedoch nicht nur einfach ein- bzw. ausgeschaltet werden, sondern mithilfe einer PWM angesteuert werden. Dadurch sind unterschiedliche Geschwindigkeiten des Motors möglich. Neben diesen DC-Motor war noch ein weiterer DC-Motoranschluss für schwere Lasten vorgesehen. Der Einsatz von Potentiometern, Drehencoder, EEPROM sowie einem LCD-Modul sollten dabei dem Anwender unterschiedliche Möglichkeiten bei der Motorsteuerung ermöglichen.

Um die Idee für die Entwicklungsplatine besser zu verdeutlich, wird ein Black-Box Modell herangezogen (siehe Abbildung des Black Box Modells). In der Abbildung ist der Arduino Uno in einem roten Kasten zu erkennen. Dieser stellt in diesem Modell den Hauptausgangspunkt dar, da über diesen gesteuert wird. Dabei stellen die roten Pfeile eine direkte Verbindung und die blauen eine indirekte Verbindung zum Arduino Uno dar. Weiterhin gibt die Pfeilrichtung die Richtung der Signale an. Das bedeutet, dass vom Arduino wegführende Pfeile eine Ansteuerung und zum Arduino führende ein Einlesen darstellen. Beispielhaft wird hier der Drehencoder aufgeführt. Dabei wird die „Drehrichtung“ eingelesen (Impuls) und verarbeitet. Weiterhin gibt das Modell einen groben Aufschluss über die Funktionsweise der Entwicklung. Dadurch soll ein schneller Überblick über die Platine gegeben werden, ohne dass es einer langen Auseinandersetzung mit dem Schaltplan benötigt. So geht bspw. aus dem Black-Box Modell deutlich hervor, dass wenn der „einfache“ DC-Motor angesteuert werden soll, dies nur über die H-Brücke und einer 9V Batterie (eine andere externe 9V Quelle ist ebenfalls einsetzbar) möglich ist.


Verwendete Bauteile

In diesem Abschnitt erfolgt die Auflistung aller verwendeten Bauteile im Projekt. Die wichtigsten Bauteile werden in den entsprechenden Unterkapiteln näher betrachtet.


Auf der Platine verbaute Teile:

Widerstand 1x 10 kOhm

Widerstände 2x 4,7 kOhm

Widerstand 2x 33 Ohm

Widerstände 3x 1 kOhm

Widerstände 2x 200 Ohm

Widerstand 1x 470 Ohm

Potentiometer 3x PO4M-LIN 100K

EEPROM 1x 24LC256-I/P

RGB-LED 1x Kingbright L-154A4SU

bipolare Transistoren 7x BC547B

MOSFET Transistor 1x IRLIZ44N

Diode 1x 1n4007

H-Brücke 1x L293D

Drehencoder 1x STEC12E07

LED 1x rot

LED 1x grün


Bauteile außerhalb der Platine:

DC-Motor 1x einfache Lasten (bis 9 V)

DC-Motor 1x schwere Lasten (bis 50 V)

Batterieclip 1x

LCD-Modul 1x TC1602E-01


Drehencoder

Drehencoder [1]

Der Drehencoder (siehe Bild) ist ein richtungsweisender „Schalter“. Äußerlich ähnelt dieser einem Potentiometer. Allerdings bieten einige Drehencoder nicht nur die Möglichkeit zu drehen, sondern ebenfalls einen Tastendruck. Das entscheidende bei diesen Bauteilen ist, dass die Drehbewegung vom Mikrocontroller erkannt werden kann, um somit softwaretechnisch die Bewegung auszunutzen. So ist es möglich z.B. die Rechtsbewegung auszulesen und dadurch in der Software die Inkremmentierung eines PWM-Wertes hervorzurufen. Dies ermögliche bspw. einen Motor manuell zu steuern. Die Erkennung, um welche Drehrichtung es sich handelt, ist durch den Signalverlauf in der Abbildung zu erkennen. So entsteht bei einer Drehbewegung nach rechts zuerst ein Viereckssignal auf A und dann auf B. Bei einer Linksdrehung genau umgekehrt. [2]]






RGB-LED

LED[3]

Die RGB-LED besteht eigentlich aus drei LEDs mit den Farben rot, grün und blau, welche in einem Gehäuse untergebracht wurden. In der Regel haben RGB-LEDs vier Pins (es gibt auch welche mit weniger und mehr Pins). Drei von den vier Pins sind jeweils für die Ansteuerung der roten, grünen und blauen LED da. Der vierte Pin stellt meistens die gemeinsame Kathode dar. Allerdings gibt es auch RGB-LEDs mit einer gemeinsamen Anode. In diesem Projekt wurde eine RGB-LED mit einer gemeinsamen Kathode verwendet. [4]







H-Brücke

H-Brücke[5]
H-Brücke-Schema 1[6]
H-Brücke-Schema 2[7]

Die Brückenschaltung wurde in diesem Projekt in Form eines IC verwendet. Die Besonderheit einer H-Brücke ist, dass damit bspw. DC-Motoren in Uhrzeigersinn und gegen den Uhrzeigersinn bewegt werden können. Um eine schematische Funktionsweise einer H-Brücke besser darlegen zu können, wurden die Abbildungen rechts eingefügt. Aus diesen geht deutlich die Funktionsweise hervor. Wird Schalter S1 und S4 geschlossen, so dreht der Motor in die eine Richtung und bei S1 und S3 in die andere. [8]











LCD-Modul

LCD-Modul[9]

Das LCD-Modul erlaubt es dem Anwender auf einem 16x2 Display eigene Ausgaben darzustellen. Der Verwendungszweck eines solchen Displays ist facettenreich und hängt vom Entwickler ab. Allerdings bringt das LCD-Modul auch Nachteile, da es mindestens fünf Pins für den Betrieb benötigt. Weiterhin muss eine Bibliothek in den Quellcode inkludiert werden, um das Modul ansprechen zu können. Dies resultiert in einem größeren Speicherverbrauch.





EEPROM

EEPROM[10]

Das EEPROM (engl. electrically erasable programmable read-only memory, dt. elektrisch löschbarer programmierbarer Nur-Lese-Speicher) dient zum Speichern von Daten. Diese können ebenfalls gelesen und gelöscht werden. Der EEPROM ist ein nicht-flüchtiger Speicher. Dadurch gehen die Daten bei ausschalten des Mikrocontrollers nicht verloren und können zu einem späteren Zeitpunkt aufgerufen werden. [11]







Schaltplan

Platinenlayout

Software zur Ansteuerung

Fazit

Ausblick

Quellen

  1. [1]Drehencoder. Website von reichelt. Abgerufen am 09. Oktober 2014.
  2. [2]Information zum Drehencoder. Website von dieelektronikerseite. Abgerufen am 09. Oktober 2014.
  3. [3]RGB-LED. Website von conrad. Abgerufen am 09. Oktober 2014.
  4. [4]Information zur RGB-LED (siehe Datenblatt). Website von conrad. Abgerufen am 09. Oktober 2014.
  5. [5]H-Brücke (H-Bridge). Website von reichelt. Abgerufen am 09. Oktober 2014.
  6. [6]H-Brücke-Funktionsweise. Website von dieelektronikerseite. Abgerufen am 09. Oktober 2014.
  7. [7]H-Brücke-Funktionsweise. Website von dieelektronikerseite. Abgerufen am 09. Oktober 2014.
  8. [8]Information zur H-Brücke. Website von dieelektronikerseite. Abgerufen am 09. Oktober 2014.
  9. [9]LCD-Modul. Website von Vatronix. Abgerufen am 09. Oktober 2014.
  10. [10]LCD-Modul. Website von Solarbotics. Abgerufen am 09. Oktober 2014.
  11. [11]Information zur H-Brücke. Website von ITWissen. Abgerufen am 09. Oktober 2014.