Projekt 60: Messplatine fuer Arduino: Unterschied zwischen den Versionen

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


= Motivation, Aufgabenstellung & Vorgaben =
= Motivation, Aufgabenstellung & Vorgaben =
[[Datei:Messplatine Schaltplan.jpg|mini|300px|Arduino Mega2560]]
[[Datei:Messplatine Schaltplan.jpg|mini|300px|Schaltplan Skizze]]
[[Datei:MegaR3.jpg|mini|left|Schaltplan Skizze]]
[[Datei:MegaR3.jpg|mini|left|Arduino Mega2560]]
Ziel des Praktikums ist es anhand eines aus einer Liste gewählten Mini-Projektes Erfahrungen im Bereich Elektrotechnik zu vertiefen. Der fachliche Fokus unterscheidet sich von Projekt zu Projekt. Im ausgewählten Projekt 60: "Messplatine für Arduino" ging es darum anhand eines vorgegeben Schaltplans eine Messplatine zu entwerfen, erstellen und zu testen. Achtung der vorgegebene Schaltplan hat bei I²C Schnittstelle einen Fehler, 5V und GND liegen auf der gleichen Line. Dies wurde in unserer Multisim Schaltung bereits berichtigt.  Wir haben uns als eigenes Ziel gesetzt die Platine als Shield für den Arduino auszuführen. Dies erlaubt die einfache Steckmontage auf dem Mikrocontroller.
Ziel des Praktikums ist es anhand eines aus einer Liste gewählten Mini-Projektes Erfahrungen im Bereich Elektrotechnik zu vertiefen. Der fachliche Fokus unterscheidet sich von Projekt zu Projekt. Im ausgewählten Projekt 60: "Messplatine für Arduino" ging es darum anhand eines vorgegeben Schaltplans eine Messplatine zu entwerfen, erstellen und zu testen. Achtung der vorgegebene Schaltplan hat bei I²C Schnittstelle einen Fehler, 5V und GND liegen auf der gleichen Line. Dies wurde in unserer Multisim Schaltung bereits berichtigt.  Wir haben uns als eigenes Ziel gesetzt die Platine als Shield für den Arduino auszuführen. Dies erlaubt die einfache Steckmontage auf dem Mikrocontroller.
Die Datenblätter der zu nutzenden Bauteile finden sich in den Downloads. Nachdem die Fertigung der Platine abgeschlossen ist, soll ein Video erstellt werden, welches die Funktion und Möglichkeiten veranschaulicht.
Die Datenblätter der zu nutzenden Bauteile finden sich in den Downloads. Nachdem die Fertigung der Platine abgeschlossen ist, soll ein Video erstellt werden, welches die Funktion und Möglichkeiten veranschaulicht.

Version vom 30. Dezember 2016, 14:32 Uhr

Vollständige Messplatine auf Arduino MEGA2560 Mikrocontroller

Einleitung

Projekt aus Angewandte Elektrotechnik Praktikumim Ingenieurswissenschaftliche Vertiefung II.

Projektmitglieder:
Betreuer: Prof. Dr. Mirek Göbel
Betreuer: Prof. Dr. Ulrich Schneider
Autor: Sergej Krause
Autor: Steffen Schulze Middendorf

Motivation, Aufgabenstellung & Vorgaben

Schaltplan Skizze
Arduino Mega2560

Ziel des Praktikums ist es anhand eines aus einer Liste gewählten Mini-Projektes Erfahrungen im Bereich Elektrotechnik zu vertiefen. Der fachliche Fokus unterscheidet sich von Projekt zu Projekt. Im ausgewählten Projekt 60: "Messplatine für Arduino" ging es darum anhand eines vorgegeben Schaltplans eine Messplatine zu entwerfen, erstellen und zu testen. Achtung der vorgegebene Schaltplan hat bei I²C Schnittstelle einen Fehler, 5V und GND liegen auf der gleichen Line. Dies wurde in unserer Multisim Schaltung bereits berichtigt. Wir haben uns als eigenes Ziel gesetzt die Platine als Shield für den Arduino auszuführen. Dies erlaubt die einfache Steckmontage auf dem Mikrocontroller. Die Datenblätter der zu nutzenden Bauteile finden sich in den Downloads. Nachdem die Fertigung der Platine abgeschlossen ist, soll ein Video erstellt werden, welches die Funktion und Möglichkeiten veranschaulicht.



Multisim Schaltung

Schaltplan in Multisim

Zunächst haben wir die Schaltung entsprechend der Vorgabe in MULTISIM2014 umgesetzt. Zur besseren Übersicht und zur sicheren Verbindung der richtigen Pins am Arduino haben wir ein Template des vorhanden Pinouts des Arduino Mega2560 eingesetzt. Das Template lässt sich entweder auf der Homepage von National Instruments downloaden oder aus den Downloads im Wiki beziehen. Zusätzlich haben wir mit möglichst vielen Verknüpfungen(in MULTISIM heißen diese: allgemeine Steckverbinder) gearbeitet um die Übersicht gegenüber einem komplett verdrahteten Schaltplan zu erhöhen. Der Stromlauf lässt sich so für die einzelnen Stromkreise leicht nachvollziehen. Genutze Steckverbinder werden dabei mit ausgefüllten Rautensymbolen dargestellt. Noch nicht genutze Verbinder sind nicht gefüllt. Grundsätzlich erfüllt die Schaltung mehrere Funktionen:

  • Ansteuerung RS485 Schnittstelle

Standartmäßig verfügt der Arduino MEGA2560 über eine native RS232 Schnittstelle. Diese setzen wir über den oben gannten IC in eine RS485 Schnittstelle um. Damit lassen sich leicht entsprechende Sensoren scnhließen. Somit lässt sich beispielsweise Kontakt zu einer SPS aufnehmen.

  • I²C Schnittselle

Sensoren lassen sich häufig über eine I²C Schnittstelle ansprechen. Die einfach Verkabelung über 2 Drähte macht diese Verbindungstechnik intressant.

  • Hall-Sensor

Hall-Sensoren reagieren auf Änderung des umgebenden magnetischen Feldes. Verwendet wird dies z.B. im Projekt: 49 schwebende Kugel.

  • Motorsteuerung

Mikrocontroller haben an Ihren Ausgangspins nur eine geringe Ausgangsleistung, für den Arduino emfiehlt sich eine Ausgangsleistung von 20mA pro Pin nicht zu überschreiten. Soll jetzt ein Aktuator mit größerer Leistung angesprochen werden(z.B. der verw. Motor mit etwa 80mA) muss auf eine externe Spannungsversorgung zurückgegriffen werden. Die Steuerung wird über ein MosFet realsiert. Die Funktion gleicht der eines Transistors. Eine große Last kann damit Ausgangsspannung des Arduino gesteuert werden.

  • Drucksensor

Luftdrucksensoren haben vielfältige Einsatzmöglichkeiten. An der Messplatine könne bis zu 5 gleichzeitig angeschlossen und ausgelesen werden.

Bauteile & BOM

Nach Erarbeitung der Schaltung konnte die Bestellliste gefüllt werden. Die sogenannte "BOM" - Bill of Materials enthält alle benötigten Bauteile um das Projekt erfolgreich fertig zu stellen. Es war ein maximum von 20€/Projekt vorgegeben. Einige teurere Sensoren konnten aus dem Bestand der Hochschule zur Verfügung gestellt werden. Es bietet sich immer an kritische Materialen in mehrfacher Ausführung zu bestellen, damit bei evtl. Lötfehlern nicht erst auf neues Material gewartet werden muss.

Nummer Bauteilgruppe Bezeichnung Anzahl
1 IC MAX 485 CPA, RS485/422 Transceivcer, DIP-8 1
2 MOSFET IRLIZ 44N 1
3 Drehpotentiometer PC20BU-10K-LIN OMEG - Bestand HSHL 1
4 Gleichrichterdiode BY 329/1000, DO220, 1000V, 8A 1
5 Hall-Sensor TLE 4905 L 3.5 - 24 V PSSO 3-2 - Bestand HSHL 1
6 Wiederstände 120 Ohm, 1,0 K-Ohm, 10 K-Ohm, 2,4 Ohm, 1,0 Ohm 1, 1, 1, 1, 1
7 Kondensatoren 470pF, 4,7nF 5, 2
8 Lüfter 40x40x10mm, 12V, 0,08A 5,2
9 Drucksensor Bestand HSHL 5
10 Platine Fräsbohrplotter zsm. mit Herrn Rahmesohl, Material wurde gestellt.
11 Stromsensor LEM LTS-6-NP - Bestand HSHL 1
12 Kabel, Jumper Wire Male-Male, Female-Female 10, 10
13 Header & Pins 1", 1/2" 20, 20

Die Bom findet sich auch in Excel-Form im SVN-Ordner.

Ultiboard Aufbau

ULTIBAORD2014 3D-Ansicht

Nachdem die Schaltung in MULTISIM2014 erstellt wurde, kann diese über den Reiter "Übertragen" --> "in Ultiboard 2014 übertragen" in ULTIBOARD2014 exportiert werden. Auch hier haben wir das entsprechende Shield Layout verwendet. Anfangs stellt ULTIBOARD2014 die verwendeten Bauteile neben der Platine dar. Verbindungen sind mit dünnen gelben Leitungen dargestellt. Somit kann keine Leitung vergessen werden. Die Bauteile können jetzt beliebig verteilt werden. Es macht Sinn sich an dieser Stelle über ein sinnvolles Layout gedanken zu machen. Sind alle Bauteile an gewünschten Ort, kann über einen Klick auf "automatische Leiterbahnführung" die Verbindung zwischen den Bauteilen automatisch erstellt werden. Auf folgende Layoutregeln ist besonders zu achten:

ULTIBAORD2014 2D-Ansicht, mit Leiterbahnen und Bauteilen. Grün: Oberseite, Rot:Unterseite
  • Lötfreiraum:

Bendekt das Ihr wenn Ihr die Platine bestückt genug Platz für den Lötkolben habt. Hier spielt zwar auch die Lötreihenfolge eine Rolle, beim Layouten sollte dieser PLatz auf jeden Fall dennoch berücksichtigt werden.

  • Bauteile und Lötverbindung nicht auf gleicher Seite:

Die Platine kann von beiden Seiten, genannt "Copper TOP & Bottom" bestückt werden. Achtet darauf das Ihr die Lötverbindung jeweils für die Seite plant, an der nicht schon das Bauteil ist. Dies vereinfacht das spätere Löten enorm da Ihr nicht versuchen müsst das Lot in enge Zwischenräume zu bringen.

  • Leiterbahnbreite und Lötaugengröße:

Je mehr Strom durch eine Leiterbahn fließen soll, je größer(breiter) sollte diese ausgelegt sein. Das Internet bietet hier gute Anhaltpunkte. Generell gilt, je breiter die Bahn, je größer die Lötaugen und je größer der Leiterbahnfreiraum je einfacher wird das Löten, da Ihr nicht so schnell Kontaktierungen erstellt wo keine entstehen sollte. ULTIBAORD2014 verfügt über Leiterbahn regeln die ensprechend gesetzt werden können. Wir haben beispielsweise die Leitung der externen Spannungsversorgung vergrößert um keine Überhitzung der Leiterbahn zu erzeugen. Am besten besprecht Ihr euer Layout vor dem Fräsen mit eurem Betreuer. Die Fertigung der Platinen dauert lange und ist entsprechend teuer, daher gilt hier lieber mehrfach Fragen als später Probleme festzustellen.

  • Footprints:

Footprints sind wie der Name sagt, die "Fußabdrücke" der verwendeten Bauteile. Werden Statdartbauelemente verwendet, sind diese in ULTIBOARD2014 auswählbar. Spezielle Bauteile wie der Stromsensor(LEM) müssen selbst angelegt werden. Der Footprint beeinhaltet sowohl das Lochbild als auch auch den BAuteilabdruck. Am besten verwendet Ihr hier das Datenblatt des Bauteils und messt die Bauteile zur Sicherheit nochmal selbst nach. Ist euer Layout entgültig fertig kann es über ULTIBAORD2014 über "Datei" --> "Exportieren" in sogenannte Gerber-Dateien umgewandelt werden, mit denen sich der Fräsbohrplotter der HSHL ansteuern lässt. ACHTUNG: Dies funktionert in der Studenten Version im Evaluationsmodus nicht! Es muss auf einen HSHL-PC zurückgegriffen werden. In den Mechatronik-Räumen sind solche Lizenzen vorhanden.

Platinenfertigung

Fräsbohrplotter

Bevor Ihr die Platine fräsen lasst, macht auf jeden Fall einen Papier Ausdruck und versucht eure Bauteile auf die PLatine aufzustecken. Fehler werden hier schnell deutlich. Die Fertigung der Platine erfolgte mit dem HSHL eigenen Fräsbohrplotter LPKF ProtoMat S100. Der Plotter erstellt aus den Gerber-Daten aus ULTIBOARD2014 eine zweiseitige gefräste Platine. Grundsätzlich wird zwischen SMD- und THT- Bauteilen unterschieden. Bei händischer Bestückung bietet sich die THT, d.h. Through Hole Technology an. Hier werden die "Beine" der Bauteile durch Löcher in der Platine und anschließendes Verlöten verbunden. Man muss wissen, dass der Fräsbohrplotter nicht in der Lage ist eine "Durchkontaktierung" zu erstellen. Das heißt, Bauteile sollte Ihre Verbidung an beiden Seiten benötigt werden, müssen auch an beiden Seiten der Platine eine Verlötung stattfinden. Da die Bedienung des Fräsbohrplotters Teil des ersten Praktikumversuchs ist, soll an dieser Stelle nicht mehr näher darauf eingegangen werden. Anschließend kann die Platine mit den oben genannten Bauteilen vestückt werden. Achtet auf einen Lötkolben mit kleiner Spitze. Eine Temperatur von 350°C hat sich als ideal herausgestellt. Prüft nach jeder neuen Lötung mittels Multimeter-Durchgangsprüfer ob die Benetzung mit Lot funktioniert hat und Ihr keine Kurzschlüsse mit anderen Leiterbahnen erzeugt habt. Das erleichtet euch im Anschluss das testen ungemein. Lötablauf sollte wie folgt sein:

  • Lötspitze an Bauteil und Lötauge halten und damit aufwärmen
  • Lot gegen den Kolben zuführen bis Verbindung hergestellt
  • Kolben nach oben entlang des Bauteiles wegziehen
  • Verbindung auf Konataktierung mit Multimeter prüfen --> Lack an der Oberfläche der Platine muss durchstoßen werden.

Programmierung & Funktionscheck

Zur Funktionsprüfung haben wir ein Testprogramm in der Arduino.cc Version 1.6.12 geschrieben.

Sergej: Hier könntest du dein Programmierwissen anbringen + Quellcode(Auslesen Sensoren...) und einigen Kommentaren.

Neben dieser Erklärung haben wir ein Video erstellt das einige Funktionen, sowie die Steuerung eines Motors darstellt. Im Video wird der Motor aktiviert, sobald ein voreingestellter Druck-Schwellwert überschritten wird: Funktionscheck
Alle anderen Funktionen der Platine sind funktionsfähig. Alle Sensoren und Aktoren konnten angesteuert werden. Einzig die Schnittstellen(I²C und RS485) konnten aufgrund fehlender Gegenstücke nicht getestet werden.

Lessons learned und Fazit

Die Fertigung einer Platine in Form eine Shield für den Arduino Mega2560 ist nicht so einfach wie vermutet. Viele Kleinigkeiten können dazu führen, dass die Platine nicht bestückt, befestigt oder funktionsfähig ist.

  • Schaltplan Vorgabe:

Der Schaltplan enthielt bereits einen Fehler bei der I²C Schnittstelle. Dieser wurde glücklicherweise vor Fertigung der Schaltung entdeckt. Es bietet sich an jede Schaltung, egal ob eigene Entwicklung oder Vorgabe vorher auf dem Steckbrett zu prüfen. Eine Erkenntnis war ausserdem: Massen müssen abgeglichen werden. Das heißt alle GND, sei es vom Arduino oder von externen Spannungsquellen müssen verbunden werden(siehe rotes Kabel auf der Platine). Ohne dieses Kabel funktioniert die Entladung des MosFets nicht.

  • Multisim Schaltplan:

Es bietet sich an immer mit Verknüpfungen und Templates zu arbeiten. Das erhöht die Übersicht. Fehler können sofort erkannt werden. Am besten die Schaltung nochmals auf Steckbrett nach eigenen Schaltplan aufbauen. Bauteile die mit einem Footprint ausgestattet sind erscheinen blau. Nur diese Bauteile können erfolgreich in ULTIBAORD2014 migriert werden.

  • Ultiboard Schaltung:

Bigger is always better. Nutzt wie beschrieben große Lötaugen, viel Lötfreiraum, lasst viel Platz zwischen den Leiterbahnen und Bauteilen um Kollisionen zu vermeinden. Footprints müssen für spezielle Bauteile selbst erstellt werden. Seid hier präzise, desto einfacher ist später das Löten.

  • Platinenfertigung:

Druckt die Platine zunächst auf Papaier und steckt die Bauteile auf, Nutzt einen Kugelschreiber als "Lötkolben" und testet die Zugänglichkeit.

  • Funktionscheck:

Das wichtigste ist eine gute Ausstattung, Multimeter, Oszilloskop.

Und das Wichtigste: Baut nicht die gesamte Platine falsch herum zusammen. Das ist der Grund warum wir die Verbindungen mit Kabeln von Innen nach Außen führen mussten. Anhand des großen "Lessons Learned" ist abzuleiten das wir viel mitgenommen haben. Miniprojekte sind ideal um praktische Erfahrungen zu sammeln, die Erfarungen lassen sich in viele andere Bereiche übertragen.

Download

Youtube Funktionscheck

Weblinks

Einzelnachweise

[1] siehe Nachweise und Links im Text

→ zurück zum Hauptartikel: Produktionstechnik Praktikum