Mai 2017

Von Microcontrollern + Sensoren

In einem kürzlich fertiggestellten Mechatronik-Projekt haben wir uns u.a. der in der Überschrift genannten Elektronikkomponenten bedient, um ein Dauertest-Gerät zu steuern und den Zustand des Testobjekts zu überwachen.

Ein Microcontroller ist ein programmierbares Ein-Chip-Computersystem. Peripheriefunktionen können z.B. USB, I²C- (Inter-Integrated Circuit), SPI- (Serial Peripheral Interface), serielle oder Ethernet-Schnittstellen, PWM (Puls-Weiten-Modulierte)-Ausgänge, LCD-Controller und -Treiber sowie Analog-Digital-Umsetzer sein. Einige Microcontroller verfügen auch über programmierbare digitale und/oder analoge bzw. hybride Funktionsblöcke. Produktbeispiele von Microcontroller-Boards sind Arduino (Uno, Mega etc.) und Raspberry Pi, die relativ günstig zu kaufen sind. Übrigens ist in so manchem Haushalts 3D-Drucker ein simpler Arduino – Microcontroller verbaut.

An den Microcontroller haben wir Infrarot- und Fotosensoren und Endschalter angeschlossen, um den Zustand des Dauertest-Geräts und seines Testobjekts zu prüfen. Ein Schrittmotor (200 Schritte pro Umdrehung) mit Stepper Modul (steuert die Spulen des Schrittmotors an) bildete den mechanischen Antrieb für das Testgerät. Damit der Anwender auch weiss, wie der Teststatus gegenwärtig ist, werden die wichtigsten Informationen über einen LCD Bildschirm angezeigt. Weitere Schalter und Bedienknöpfe sind zum Starten/Stoppen oder Einstellen der Zykluszeit vorhanden.

Abbildung: Beispiel für ein Microcontroller-Board

Die ganze Elektronikverkabelung wurde auf der frei zugänglichen Software Fritzing (http://fritzing.org/download/) aufgezeichnet und geplant. Dort sind etliche Bauelemente wie Microcontroller, Dioden etc. bereits in der Bauteilebibliothek vorhanden und können per Drag-and-Drop auf die Skizzierfläche gezogen werden. Profis können dort eigene Bauelemente kreieren, bestehende abändern und die eigene Leiterplatine gestalten. Bei Anbietern im Internet können die Platinen von der Stückzahl 1 bis Kleinserien geätzt werden.

Abbildung oben: Fritzing-Sketch (zum Vergrössern auf das Bild klicken)

Nun fehlte noch die Programmierung, die die geplante Testprozedur abbildete und dem Testgerät Leben einhauchen sollte. Die Programmiersprache für unseren italienischen Microcontroller Arduino Uno basiert auf der C-Sprache, jedoch vereinfacht für User, die keine Programmierexperten sind. Im Internet ist eine umfangreiche Dokumentation über die verfügbaren Funktionen zu finden (http://www.arduino.org) sowie unzählige Open-Source Beispiele, die man studieren, kopieren und anpassen kann oder die eine gute Inspiration bilden.

Mit den wenigen Sensoren, Steuerelementen, einem 600-zeiligen Programm und mit unzähligen Variablen wurde der Speicherplatz des Microcontrollers immer voller und voller. Es blieb uns aber erspart, das nächstgrössere Arduino Mega (54 digitale/16 analoge Schnittstellen, grösserer Speicher) einzusetzen.

Fazit

Es zeigte sich, dass die Experimentierplattform Arduino gerade ausreichend war für unser Vorhaben. Für grössere und komplexere Anlagen muss wegen des relativ kleinen Speichers und der limitierten Anzahl Ein-/Ausgänge ggf. eine andere Microcontroller-Plattform verwendet werden.