Projekt 61: HomeAutomationPlatine für MSP430

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Home Automation Shield auf dem MSP-430 Mikrocontrollerboard

Autoren: Dominik Luig Florian Fuhrmann
Betreuer: Prof. Dr.-Ing. Mirek Göbel | Prof. Dr.-Ing. Ulrich Schneider


→ zurück zum Hauptartikel: Angewandte Elektrotechnik (WS 16/17)



Aufgabenstellung

  • Home-Automation-Platine für Mikrocontrollerboard MSP 430 entwerfen und fertigen
  • Der Schaltplan und die Schnittstellen sind vorgegeben
  • Erstellung eines Konzepts
  • Entwurf des Schaltplans in Multisim und Ultiboard
  • Erstellung der Platine als MSP 430-Launchpad-Shield
  • Programmierung mit C in energia
  • Ansteuern/Auslesen der Aktoren/Sensoren
  • Test und wissenschaftliche Dokumentation
  • Machen Sie ein spektakuläres Video, welches die Funktion visualisiert
  • Dokumentation der technischen Funktion der Verwendeten Bauteile
  • Live Vorführung während der Abschlusspräsentation


Projektplan

Um das Projekt systematisch zu planen und zeitlich zu begrenzen wurde ein Projektplan erstellt. Dieser ist in der folgenden Abbildung dargestellt:

Darstellung Projektablauf











Einführung und Grundlagen

Energia

Energia Logo

Energia ist eine freiverfügbare Software, zur Programmierung und Verdrahtung von Mikrocontrollern. Speziell für den MSP430 von Texas Instruments. Die Software ist nahezu voll identisch, mit der Plattform zur Programmierung von Arduino, lediglich die Oberflächenfarbe ist anders. Mit Hilfe von Energia kann der Mikrocontroller MSP430 vom PC aus programmiert werden. Das Programm bietet schon vorerstellte Befehle, bei denen der Programcode vollständig automatisch eingefügt wird. Dies ermöglicht eine leichte Verwendung und führt zu schnellen Ergebnissen.[1]








MSP430 Launchpad-Serie

Die MSP430 Launchpad-Serie bezeichnet 16-Bit-RISC-Mikrocontroller von Texas Instruments, die in die Kategorie "low-power" und "low-cost MCUs" einzuordnen sind. Das nebenstehende Bild zeigt ein MSP-EXP430G2-Launchpad, in dem alle essentiellen Funktionen, sowie die Pinbelegung grafisch dargestellt sind. Es ist ein programmierbarer on-board-Button vorhanden, sowie mehrere LEDs. Zusätzlich können über die Stiftleisten diverse Shields für z.B. WLAN, Displays, etc. angeschlossen werden. Zudem ist die serielle Kommunikation mit verschiedenen Standards möglich, wie UART, I2C & SPI.[2][3]

Problemlösung mit Energia-1.6.10R18 unter Windows 7

Fehlermeldung: "LaunchPad MSP430G2553 don't load sketch" oder "usbutil: unable to find a device matching 0451:f432". Problemlösung (siehe diesen Forumeintrag)

  1. copy <energia directory>\hardware\tools\DSLite\DebugServer\drivers\MSP430.dll to <energia directory>\hardware\tools\msp430\bin\
  2. edit <energia directory>\hardware\energia\msp430\boards.txt an change the 2 occurrences of rf2500 with tilib
  3. restart energia and you should be able to upload to the MSP-EXP430G2 with MSP430G2553



DHT22-Temperatur- und Feuchtesensor

DHT-22 Sensor

Der DHT22-Sensor ermittelt die Temperatur und die relative Luftfeuchtigkeit kapazitiv. Die physikalischen Größen werden in digitalen Signalen ausgegeben. Der Sensor übergibt ein Signal, das aus 40 Bits besteht. Wovon 16 Bits die Feuchtigkeit angeben, weitere 16 Bits geben die Temperatur an und 8 Bits sind das Parasitätsbit. Im nachfolgenden Bild sind die drei Anschlusspins zu sehen. Bezeichnung von links nach rechts: "+, out und -", dementsprechend wird an "+" Vcc angeschlossen, "out " ist die Signalleitung und "-" ist Masse (Ground).








Beispiel: DHT-22 Feuchtigkeitsmessung

Feuchtigkeit Temperatur Parasitätsbit
Code 0000 0010 1001 0010 0000 0001 0000 1101 1010 0010

Zunächst wird überprüft, ob die 32 übertragenen Bits dem Parasitätsbit entsprechen, indem alle übertragenen Bits, bis auf das Parasitätsbit, addiert werden.

0000 0010 + 1001 0010 + 0000 0001 + 0000 1101 = 1010 0010

Um die Feuchtigkeit zu messen, werden die 16 übertragenen Bits für die Feuchtigkeitsmessung vom Binärsystem in das Hexadezimalsystem umgewandelt, woraus sich dann das 10-fache der aktuellen relativen Luftfeuchte ergibt.

[4]

658 entspricht einer relativen Luftfeuchtigkeit von 65,8 %.



Erstellen benutzerdefinierter Bauelemente in NI Multisim

NI Multisim und NI Ultiboard bilden zusammen eine Plattform zum Entwerfen und Simulieren von Schaltungen sowie zum Entwerfen gedruckter Schaltungen. Mit Hilfe des hochgradig flexiblen Datenbank-Managers kann problemlos ein neues SPICE-Simulationsmodell zu einem selbst festgelegten Schaltzeichen hinzugefügt werden, so dass anschließend ein genauer Footprint auf das Leiterplattenlayout übertragen wird.

  • unter folgendem Link wird Schritt für Schritt die Vorgehensweise erklärt [1]

Benötigtes Material

Bill_of_Material

Für das benötigte Material wurde mithilfe einer BOM (Bill of Material) in Excel eine Auflistung der Materialien vorgenommen, die bei folgenden kooperativen Anbietern gekauft wurden:

  • Reichelt
  • Conrad
  • Watterott
  • Völkner
  • Eckstein-Shop
  • ELV
  • Exp-Tech



Testaufbau der Schaltung für die Applikationsplatine der HomeAutomation

Schaltungsrealisierung auf Steckplatine

Nach Angaben von Energia sollen viele der in der Arduino IDE verankerten Libraries auch für die Programmierung mit Energia nutzbar sein. Aufgrund dieser Tatsache wurde zuerst ein Arduino Uno Board programmiert, da das Launchpad direkt zu Beginn noch nicht verfügbar war. Die reine Überprüfung der C-Programmierung und die Funktion der Sensoren wurden zuvor mit einer Steckplatine visualisiert. Hierfür wurden ausschließlich 6 Bauelemente benötigt:


  • DHT 22 Sensor
  • diverse Kabel für die Verbindungen
  • Arduino Uno Mikrocontrollerboard
  • LCD-Display
  • Lüfter
  • Steckplatine







Bauelemente für die Funktion der HomeAutomation mit einer Energia Platinen Applikation

  • LF 33 CV (Spannungswandler für die Spannungsdifferenz von 5V auf 3,3 V)
    Entwurfsskizze zur Beginn des Projektes
  • NTC 10 K
  • 4,7 kOhm Widerstand
  • 100 nF Kondensator
  • 2,2 µF Kondensator
  • Schraubklemmen
  • Buchsenleisten 10er 2,54 mm Rastermaß
  • Buchsenleisten 3er 2,54 mm Rastermaß
  • DHT 22

Die benötigten Materialien wurden mithilfe einer ersten Schaltungsskizze herausgefunden. Siehe Entwurfsskizze.



Schaltungserstellung für das Shield in Multisim

Schaltungserstellung_in_Multisim

Schaltpläne werden anfangs mit Multisim erstellt. Alle Steckverbinder, die notwendig sind, um Sensoren, Aktuatoren und Netzspannung zu verbinden, müssen bereits in Multisim eingefügt werden. Um die vorhandenen Steckverbinder möglichst funktionell nachzustellen, macht es Sinn, diese Bauteile neu zu erstellen. Zudem sollten alle Anschlusspins eines Bauteils schon in Multisim angelegt werden, auch wenn diverse Pins nicht genutzt werden. Nur so kann ein passender Footprint erstellt werden, wo auch alle Anschlusspins angelegt werden können.

Eine aussagekräftige Beschriftung aller Bauteile und Anschlusspins vereinfacht die Arbeit mit Multisim, sowie die Übertragung in Ultiboard. Wenn der Schaltplan überprüft wurde, kann er in Ultiboard übertragen werden.






Gerberdatei für die Fertigung der Platine in Ultiboard erstellt

Schaltungslayout in Ultiboard
Schaltungslayout in Ultiboard 3D
  • Das Gerber-Format ist eine Standard-Dateistruktur im ASCII-Format, die den Datenaustausch zwischen CAD (Entwicklung) und CAM (Produktion) ermöglicht. Es wird vor allem im Bereich von elektronischen CAD-Programmen (EDA – Electronic Design Automation) zur Ausgabe der Layoutdaten bei Leiterplatten verwendet.














Platinenfertigung

Fräsbohrplotter LPKF ProtoMat S100

Die Fertigung der Platine erfolgte mit dem HSHL eigenen Fräsbohrplotter LPKF ProtoMat S100, den Masterstudierenden des Studienganges Business and Systems Engineering bereits aus dem Versuch 1 "Schaltungsentwurf und-fertigung" bekannt ist. Der Plotter erstellt aus den Gerber-Daten aus ULTIBOARD2014 eine zweiseitige gefräste Platine. Generell wird zwischen SMD- und THT- Bauteilen unterschieden. Bei nicht automatisierter Bestückung der Platine bietet sich die THT (Through Hole Technology) an. Bei dieser Variante werden bspw. die "Füßchen" eines Widerstands durch die Löcher der Lötaugen in der Platine gesteckt und anschließend verlötet. Man muss wissen, dass der Fräsbohrplotter nicht in der Lage ist eine "Durchkontaktierung" zu erstellen. Anschließend kann die Platine mit den oben genannten Bauteilen bestückt werden.

Hinweise:

  • bestenfalls Lötkolben mit kleiner Spitze
  • Löttemperatur ca. 350°C
  • dünnen Lötdraht (0,5mm) verwenden, bestenfalls bleifrei
  • Nach jeder Lötpunktsetzung sollte die Leitfähigkeit inklusive mögliche Kurzschlüsse mittels Multimeter überprüft werden


Pin-Belegung des Mikrocontrollerboards MSP-430

Die PIN-Belegung verhält sich bei dem MSP430 wie in folgender Abbildung dargestellt:

Pin-Belegung des MSP430











Programmierung

Zu Beginn des Projektes wurde ein Programmablaufplan erstellt, der zu schnelleren Umsetzung der Programmierung der Simulation verwendet wurde.

Programmablaufplan erstellt mit PaP-Designer





Für die Funktion des DHT 22 Sensors muss die DHT 22 Bibliothek für das MSP 430 Lauchpad runtergeladen werden. Dies geht unter folgenden Link [2]

Ergebnis

Im Programm können Temperatur,- und Luftfeuchtigkeitsgrenzen bestimmt werden. Steigt die Tempearatur in dem Raum bspw. über 30°C an, geht der Lüfter an. Analog funktioniert dies auch bei der Luftfeuchtigkeit. Steigt diese auf bspw. 50% an, so geht der Lüfter an. Hierfür dient der DHT22-Sensor, der die Temperatur sowie die Luftfeuchtigkeit misst.

Home
HomeAutomationPlatine





Youtube-Video

Quick Response Code

Zu diesem Projekt wurde ein Ergebnisvideo angefertigt. Dieses lässt sich unter dem folgenden Link abrufen [3]. Alternativ und auch bequemer kann der QR-Code gescannt werden, der zu dem Ergebnisvideo führt.










Quellen

  1. [http://energia.nu/.html Website der Energia Plattform. Abgerufen am 5. Januar 2017.
  2. Guide to the MSP430 LaunchPad (MSP-EXP430G2), Website der Energia Plattform. Abgerufen am 5. Januar 2017.
  3. MSP430 LaunchPad Value Line Development kit, Website von Texas Instruments. Abgerufen am 3. Januar 2017.
  4. Handbuch zum AM2302 Temperatur- und Feuchtigkeitsmodul, Manual von Aosong Electronics. Abgerufen am 3. Januar 2017.

→ zurück zum Hauptartikel: Angewandte Elektrotechnik (WS 16/17)