Skip to main content

Intelligente Sensoren in Embedded-Systemen (Leseprobe)

Page 1

books books

Intelligente Sensoren in Embedded-Systemen Vom Messwert zur stabilen Entscheidung

Hans-Joachim Seeger ●3


Intelligente Sensoren in Embedded-Systemen Vom Messwert zur stabilen Entscheidung

● Hans-Joachim Seeger


● © 2026: Elektor Verlag GmbH, Aachen 1. Auflage 2026

● Alle Rechte vorbehalten.

Die in diesem Buch veröffentlichten Beiträge, insbesondere alle Aufsätze und Artikel sowie alle Entwürfe, Pläne, Zeichnungen und Illustrationen sind urheberrechtlich geschützt. Ihre auch auszugsweise Vervielfältigung und Verbreitung ist grundsätzlich nur mit vorheriger schriftlicher Zustimmung des Herausgebers gestattet. Die Informationen im vorliegenden Buch werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Die in diesem Buch erwähnten Soft- und Hardwarebezeichnungen können auch dann eingetragene Warenzeichen sein, wenn darauf nicht besonders hingewiesen wird. Sie gehören dem jeweiligen Warenzeicheninhaber und unterliegen gesetzlichen Bestimmungen. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autor können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für die Mitteilung eventueller Fehler sind Verlag und Autor dankbar.

● Erklärung

Autor, Übersetzer und Herausgeber haben sich nach besten Kräften bemüht, die Richtigkeit der in diesem Buch enthaltenen Informationen sicherzustellen. Sie übernehmen keine Haftung für Verluste oder Schäden, die durch Fehler oder Auslassungen in diesem Buch verursacht werden, unabhängig davon, ob diese Fehler oder Auslassungen auf Fahrlässigkeit, ein Versehen oder eine andere Ursache zurückzuführen sind und lehnen hiermit jegliche Haftung gegenüber Dritten ab.

● U mschlaggestaltung: Elektor, Aachen

Satz und Aufmachung: Elektor Media Team Druck: Ipskamp Printing, Enschede (NL)

● ISBN 978-3-89576-768-5 Print 978-3-89576-769-2 eBook 978-3-89576-770-8 ePub

● Elektor Verlag GmbH, Aachen www.elektor.de

● Hinweis: Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw.

zusammengestellt. Trotzdem sind Fehler nicht gänzlich auszuschließen. Der Autor sieht sich deshalb in der Pflicht darauf hinzuweisen, dass er weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen kann. Die in dem Buch angegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetzlichen Regelungen unterliegen. Für die Mitteilung etwaiger Fehler ist der Autor jedoch dankbar. Sie erreichen ihn unter brandes.iot@gmx.de. Internetadressen oder Versionsnummern stellen den bei Bucherstellung verfügbaren Informationsstand dar. Der Autor übernimmt keine Verantwortung oder Haftung für Veränderungen, die sich aus von ihm nicht zu vertretenden Umständen ergeben. Zum Download angebotene Dateien und Informationen dienen ausschließlich privaten Zwecken. Elektor is the world's leading source of essential technical information and electronics products for pro engineers, electronics designers, and the companies seeking to engage them. Each day, our international team develops and delivers high-quality content - via a variety of media channels (including magazines, video, digital media, and social media) in several languages - relating to electronics design and DIY electronics. www.elektormagazine.com

●4


Inhaltsverzeichnis Warnhinweise �����������������������������������������������������������������������������������������������������������16 Programmdownload �������������������������������������������������������������������������������������������������18 Vorwort ���������������������������������������������������������������������������������������������������������������������19 Kapitel 1 – Wenn einfache Projekte an Grenzen stoßen �������������������������������������������21 1.0 Warum funktionierende Projekte plötzlich instabil werden �������������������������������������21 1.1 Das typische Sensor–If–Aktor-Projekt �����������������������������������������������������������������22 1.2 Warum Schwellwerte instabil werden �����������������������������������������������������������������23 1.3 Mehr Einflussgrößen als gedacht �����������������������������������������������������������������������23 1.4 Wenn Systeme „unerklärlich“ reagieren �������������������������������������������������������������24 1.5 Grenzen klassischer Lösungen ���������������������������������������������������������������������������24 1.6 Übergang zum neuen Ansatz �����������������������������������������������������������������������������25 1.7 Sichtbar machen der Systemgrenzen �����������������������������������������������������������������25 1.8 Beispiel Prg 1 – Poti schaltet interne LED am Pico �������������������������������������������������27 Kapitel 2 – Embedded-Systeme wirklich verstehen �������������������������������������������������28 2.0 Vom einfachen Code zum Verständnis des Gesamtsystems �����������������������������������28 2.1 Das Grundprinzip: Sensor – Verarbeitung – Aktor �������������������������������������������������28 2.2 Der Mikrocontroller als begrenzte Ressource �������������������������������������������������������29 2.3 Echtzeitverhalten ���������������������������������������������������������������������������������������������30 2.4 Der Unterschied zwischen Theorie und Realität ���������������������������������������������������31 2.5 Kontinuierliche Systeme verstehen ���������������������������������������������������������������������32 2.6 Das System sichtbar machen �����������������������������������������������������������������������������32 2.7 Beispiel Prg 2 – Poti Werte auf der Konsole ���������������������������������������������������������33 Kapitel 3 – Regelung und Stabilität verstehen ���������������������������������������������������������36 3.0 Vom direkten Reagieren zur stabilen Systemstruktur �������������������������������������������36 3.1 Steuerung und Regelung �����������������������������������������������������������������������������������36 3.2 Rückkopplung verstehen �����������������������������������������������������������������������������������37 3.3 Warum Systeme instabil werden ������������������������������������������������������������������������38 3.4 Einfache Stabilisierung �������������������������������������������������������������������������������������39 3.5 Mini-Projekt – Stabilisierung des Systems �����������������������������������������������������������41 3.6 Beispiel Prg 3 – Poti Werte werden auf der Konsole angezeigt �������������������������������42 3.7 Grenzen dieser Methode �����������������������������������������������������������������������������������43 3.8 Bedeutung für das weitere Vorgehen �����������������������������������������������������������������44 Kapitel 4 – Datenfluss im System �����������������������������������������������������������������������������45 4.0 Vom Sensor zur Entscheidung ���������������������������������������������������������������������������45 4.1 Ein Messwert ist noch keine Information �������������������������������������������������������������45 4.2 Der Weg der Daten �������������������������������������������������������������������������������������������45 4.3 Das System als kontinuierlicher Prozess �������������������������������������������������������������46 4.4 Vom Messwert zur Information ���������������������������������������������������������������������������46 4.5 Beispiel Prg 4 – Poti Werte werden auf der Konsole angezeigt �������������������������������46

●5


Intelligente Sensoren in Embedded-Systemen 4.6 Kontinuierliche Daten verstehen �������������������������������������������������������������������������47 4.7 Sampling – Wie oft messen wir? �������������������������������������������������������������������������47 4.8 Kontinuierlich oder blockweise? �������������������������������������������������������������������������48 4.9 Der eigentliche Engpass �����������������������������������������������������������������������������������48 4.10 Bedeutung für das weitere Vorgehen �����������������������������������������������������������������48 Kapitel 5 – Datenvorverarbeitung �����������������������������������������������������������������������������49 5.0 Vom Messwert zum Merkmal �����������������������������������������������������������������������������49 5.1 Rohdaten und ihre Grenzen �������������������������������������������������������������������������������49 5.2 Warum Vorverarbeitung notwendig ist ����������������������������������������������������������������49 5.3 Zeitfenster – Der Kontext der Daten �������������������������������������������������������������������50 5.4 Vom Messwert zum Merkmal �����������������������������������������������������������������������������50 5.5 Das Verhalten der Daten sichtbar machen �����������������������������������������������������������50 5.6 Beispiel Prg 5 – Poti Werte werden auf der Konsole angezeigt �������������������������������52 5.7 Grenzen dieser Methoden ���������������������������������������������������������������������������������53 5.8 Bedeutung für das weitere Vorgehen �����������������������������������������������������������������54 Kapitel 6 – Kommunikation zwischen Systemen verstehen �������������������������������������56 6.0 Vom Einzelcontroller zum vernetzten System �������������������������������������������������������56 6.1 Warum Kommunikation notwendig wird ���������������������������������������������������������������56 6.2 Das Prinzip eines Bussystems ���������������������������������������������������������������������������56 6.3 I²C – Ein einfaches Kommunikationssystem ���������������������������������������������������������56 6.4 Hardware-Grundlagen ���������������������������������������������������������������������������������������57 6.5 I²C in der Praxis �����������������������������������������������������������������������������������������������57 6.6 Aufbau des Systems �����������������������������������������������������������������������������������������57 6.7 Funktionsprinzip �����������������������������������������������������������������������������������������������58 6.8 Beispiel Prg 6 – I²C-Master mit Messwertanzeige �������������������������������������������������58 6.9 Beobachtung ���������������������������������������������������������������������������������������������������59 6.10 Interpretation �������������������������������������������������������������������������������������������������59 6.11 Ausblick – Vom Datenwert zur Darstellung ���������������������������������������������������������60 Kapitel 7 – Daten sichtbar machen ���������������������������������������������������������������������������61 7.0 Vom Messwert zur Darstellung ���������������������������������������������������������������������������61 7.1 Warum Darstellung entscheidend ist �������������������������������������������������������������������61 7.2 SPI – Ein Bussystem für schnelle Ausgaben ���������������������������������������������������������61 7.3 Erstes System – Das Display am Mikrocontroller �������������������������������������������������62 7.4 Aufbau des Systems (SPI-Display) ���������������������������������������������������������������������62 7.5 Beispiel Prg 7 – SPI-Demo ���������������������������������������������������������������������������������63 7.6 Beobachtung ���������������������������������������������������������������������������������������������������66 7.7 Zweites System – Messwerte sichtbar machen �����������������������������������������������������66 7.8 Aufbau des erweiterten Systems �����������������������������������������������������������������������66 7.9 Messwerte stabil darstellen �������������������������������������������������������������������������������67 7.10 Beispiel Prg 8 – Messwerte stabil darstellen �������������������������������������������������������67 7.11 Erkenntnis �����������������������������������������������������������������������������������������������������70 7.12 Ausblick ���������������������������������������������������������������������������������������������������������70

●6


Inhaltsverzeichnis Kapitel 8 – Werte sichtbar machen und verstehen ���������������������������������������������������71 8.0 Vom rohen Messwert zum klaren Überblick ���������������������������������������������������������71 8.1 Warum Visualisierung wichtig ist �����������������������������������������������������������������������71 8.2 Aufbau des Systems �����������������������������������������������������������������������������������������71 8.3 Messwertaufbereitung ���������������������������������������������������������������������������������������72 8.4 Anzeigeaufbau auf dem Display �������������������������������������������������������������������������72 8.5 Das Programm im Überblick �������������������������������������������������������������������������������73 8.6 Beispiel Prg 9 – Messwertaufbereitung ���������������������������������������������������������������73 8.7 Beobachtungen während des Betriebs �����������������������������������������������������������������76 8.8 Erkenntnisse ���������������������������������������������������������������������������������������������������76 8.9 Nächste Schritte �����������������������������������������������������������������������������������������������77 Kapitel 9 – Vom Beobachten zum Handeln ���������������������������������������������������������������78 9.0 Wenn ein System beginnt zu reagieren ���������������������������������������������������������������78 9.1 Der Übergang zur Reaktion �������������������������������������������������������������������������������78 9.2 Die einfachste Form der Entscheidung �����������������������������������������������������������������78 9.3 Instabilität durch Schwankungen �����������������������������������������������������������������������79 9.4 Hysterese als Lösung ���������������������������������������������������������������������������������������79 9.5 Nutzung des geglätteten Wertes �������������������������������������������������������������������������79 9.6 Erweiterung des Systems ���������������������������������������������������������������������������������80 9.7 Beispiel Prg 10 – Entscheidungsbesierte Steuerung ���������������������������������������������81 9.8 Beobachtung – Das System im Betrieb ���������������������������������������������������������������84 9.9 Erkenntnis – Vom Messwert zur Handlung �����������������������������������������������������������86 9.10 Ausblick – Vom Reagieren zum Steuern �������������������������������������������������������������86 Kapitel 10 – Vom Schalten zur kontinuierlichen Steuerung �������������������������������������88 10.0 Wenn ein System nicht mehr nur reagiert, sondern sich anpasst �������������������������88 10.1 Die Grenze diskreter Systeme �������������������������������������������������������������������������88 10.2 Der Übergang zur kontinuierlichen Steuerung ���������������������������������������������������88 10.3 Digitale Technik und das Problem der Zwischenwerte �����������������������������������������89 10.4 Pulsweitenmodulation – Zeit als Steuergröße �����������������������������������������������������89 10.5 Beispiel Prg 11 – PWM �������������������������������������������������������������������������������������89 10.6 Einbindung in das bestehende System ���������������������������������������������������������������93 10.7 Skalierung – Vom Messwert zur Stellgröße ��������������������������������������������������������94 10.8 Dynamik und Stabilität �����������������������������������������������������������������������������������94 10.9 Beobachtungen im praktischen Betrieb �������������������������������������������������������������94 10.10 Bedeutung für das Gesamtsystem �������������������������������������������������������������������94 10.11 Ausblick – Vom zentralen System zum verteilten System �����������������������������������95 Kapitel 11 – Der eigene Sensor ���������������������������������������������������������������������������������96 11.0 Vom fertigen Baustein zum eigenen Mikrocontroller �������������������������������������������96 11.1 Der Mikrocontroller als Sensor �������������������������������������������������������������������������96 11.2 Aufteilung des Systems �����������������������������������������������������������������������������������96 11.3 Kommunikation im verteilten System ���������������������������������������������������������������96 11.4 Aufbau der Anzeigeeinheit (Pico-Seite) �������������������������������������������������������������97 11.5 Aufbau des Sensorknotens (ATtiny3216) �����������������������������������������������������������98

●7


Intelligente Sensoren in Embedded-Systemen

11.6 Funktionsprinzip des Gesamtsystems ���������������������������������������������������������������98 11.7 Beispiel Prg 12 – Master ���������������������������������������������������������������������������������99 11.8 Das Programm im Pico – Anzeige und zentrale Verarbeitung ����������������������������� 101 11.9 Beispiel Prg 12 – Slave (ATtiny 3216) ������������������������������������������������������������� 103 11.10 Das Programm im ATtiny – Datenerfassung und I²C-Kommunikation ����������������� 106 11.11 Beobachtung ��������������������������������������������������������������������������������������������� 108 11.12 Erkenntnis ������������������������������������������������������������������������������������������������� 108 11.13 Ausblick ����������������������������������������������������������������������������������������������������� 108 Kapitel 12 – Vom Messwert zum Verhalten �������������������������������������������������������������109 12.0 Wenn ein Wert nicht mehr ausreicht ��������������������������������������������������������������� 109 12.1 Die Grenze des Einzelwertes ������������������������������������������������������������������������� 109 12.2 Signale verstehen bedeutet Zusammenhänge erkennen ����������������������������������� 109 12.3 Das Zeitfenster als Grundlage ����������������������������������������������������������������������� 110 12.4 Merkmalsbildung im ATtiny ��������������������������������������������������������������������������� 110 12.5 Beispiel Prg 13 – Slave ��������������������������������������������������������������������������������� 111 12.6 Merkmalsberechnung auf dem Pico ����������������������������������������������������������������� 113 12.7 Beispiel Prg 13 – Master ������������������������������������������������������������������������������� 114 12.8 Erkenntnis ��������������������������������������������������������������������������������������������������� 117 12.9 Ausblick ������������������������������������������������������������������������������������������������������� 117 Kapitel 13 – Zustände erkennen �����������������������������������������������������������������������������119 13.0 Wenn aus Messwerten Bedeutung entsteht ����������������������������������������������������� 119 13.1 Vom Messwert zum Zustand ������������������������������������������������������������������������� 119 13.2 Warum Zustände wichtig sind ������������������������������������������������������������������������� 120 13.3 Bewertung im Zeitfenster ������������������������������������������������������������������������������ 121 13.4 Beispiel Prg 14 ��������������������������������������������������������������������������������������������� 122 13.5 Erläuterung zum Programm ��������������������������������������������������������������������������� 126 13.6 Erkenntnis ��������������������������������������������������������������������������������������������������� 126 13.7 Ausblick ������������������������������������������������������������������������������������������������������� 127 Kapitel 14 – Intelligenz am Sensor �������������������������������������������������������������������������128 14.0 Wenn ein Sensor mehr wird als ein Messgerät ������������������������������������������������� 128 14.1 Die Grenze zentraler Systeme ����������������������������������������������������������������������� 128 14.2 Ein neuer Ansatz ������������������������������������������������������������������������������������������ 129 14.3 Vom Messwert zur Information ����������������������������������������������������������������������� 129 14.4 Vom Verhalten zum Zustand ������������������������������������������������������������������������� 130 14.5 Die Verlagerung der Intelligenz ��������������������������������������������������������������������� 131 14.6 Beispiel Prg 15 – Intelligenz im ATtiny ������������������������������������������������������������� 131 14.7 Verarbeitung im Pico ������������������������������������������������������������������������������������� 135 14.8 Beispiel Prg 15 – Master ������������������������������������������������������������������������������� 136 14.9 Erkenntnis ��������������������������������������������������������������������������������������������������� 140 14.10 Ausblick ����������������������������������������������������������������������������������������������������� 140 Kapitel 15 – Der Einstieg in TinyML �������������������������������������������������������������������������142 15.0 Wenn ein System beginnt zu lernen ��������������������������������������������������������������� 142 15.1 Vom Messwert zu Features und Zuständen ������������������������������������������������������ 142

●8


Inhaltsverzeichnis

15.2 TinyML – Lernen auf dem Mikrocontroller ��������������������������������������������������������� 143 15.3 Das Zusammenspiel im System ��������������������������������������������������������������������� 143 15.4 Beispiel Prg 16 – Slave ��������������������������������������������������������������������������������� 143 15.5 Beispiel Prg 16 – Master ������������������������������������������������������������������������������� 146 15.6 Der entscheidende Unterschied – vom Regelwerk zur Erfahrung ������������������������� 149 15.7 Erkenntnis – Vorteile des lernenden Systems ��������������������������������������������������� 150 15.8 Ausblick – vom intelligenten zum selbstlernenden System ��������������������������������� 151 Kapitel 16 – Training eines TinyML-Modells �����������������������������������������������������������152 16.0 Vom regelbasierten zum lernenden System ����������������������������������������������������� 152 16.1 Warum Training? ����������������������������������������������������������������������������������������� 152 16.2 Datensammlung ������������������������������������������������������������������������������������������� 153 16.3 Trainingsdaten aufbereiten ����������������������������������������������������������������������������� 153 16.4 Einfaches Modell auswählen ��������������������������������������������������������������������������� 154 16.5 Modell trainieren ������������������������������������������������������������������������������������������� 154 16.6 Umsetzung im ATtiny – Intelligenz am Sensor ������������������������������������������������� 154 16.7 Umsetzung im Pico – Ergebnisdarstellung ������������������������������������������������������� 155 16.8 Zusammenfassung ��������������������������������������������������������������������������������������� 155 16.9 Beispiel Prg 17 – Slave ��������������������������������������������������������������������������������� 156 16.10 Beispiel Prg 17 – Master (Anzeige Ergebnis) ��������������������������������������������������� 159 16.11 Beschreibung ��������������������������������������������������������������������������������������������� 161 Kapitel 17 – TinyML im Gesamtsystem �������������������������������������������������������������������162 17.0 Vom intelligenten Sensor zum Gesamtsystem ������������������������������������������������� 162 17.1 Vom Einzelmodul zum System ����������������������������������������������������������������������� 162 17.2 Datenfluss und Rollenverteilung ��������������������������������������������������������������������� 163 17.3 Erweiterter Datenfluss ����������������������������������������������������������������������������������� 164 17.4 Beispiel Prg 18 – Slave – ATtiny3216 – Zustand und Messwert ��������������������������� 165 17.5 Beispiel Prg 18 – Master ������������������������������������������������������������������������������� 169 17.6 Logging und Erweiterung ������������������������������������������������������������������������������� 172 17.7 Erkenntnis ��������������������������������������������������������������������������������������������������� 172 17.8 Ausblick ������������������������������������������������������������������������������������������������������� 173 Kapitel 18 – Führungsgrößen und Systemverhalten �����������������������������������������������174 18.0 Vom Sensorknoten zur Steuerung ������������������������������������������������������������������� 174 18.1 Führungsgrößen, Sollwert und Istwert ������������������������������������������������������������� 174 18.2 Praktische Umsetzung – Systemaufbau ����������������������������������������������������������� 175 18.3 Beispiel Prg 19 – Slave (ATtiny) ��������������������������������������������������������������������� 176 18.4 Beispiel Prg 19 – Master (Raspberry Pi Pico) ��������������������������������������������������� 179 18.5 Beispiel Prg 20 – Slave (ATtiny) ��������������������������������������������������������������������� 182 18.6 Beispiel Prg 20 – Master (Raspberry Pi Pico) ��������������������������������������������������� 185 18.7 Erkenntnis – Vom Sensorknoten zur adaptiven TinyML-Regelung ����������������������� 188 18.8 Ausblick – Weiterentwicklung mit TinyML ��������������������������������������������������������� 189 18.9 Zusammenfassung – TinyML-basierte Sensor- und Regelplattform ��������������������� 189 Kapitel 19 – Grundlagen der Regelung �������������������������������������������������������������������191 19.0 Vom Sensorknoten zur Steuerung ������������������������������������������������������������������� 191

●9


Intelligente Sensoren in Embedded-Systemen 19.1 Führungsgrößen, Sollwert und Istwert ������������������������������������������������������������� 191 19.2 Offene vs. geschlossene Systeme ������������������������������������������������������������������� 191 19.3 Rückkopplung ����������������������������������������������������������������������������������������������� 193 19.4 Stabilität ����������������������������������������������������������������������������������������������������� 194 19.5 Verhalten von Regelkreisen ��������������������������������������������������������������������������� 195 19.6 Zusammenfassung ��������������������������������������������������������������������������������������� 196 19.7 Integration von TinyML in das System ������������������������������������������������������������� 197 Kapitel 20 – Der P-Regler ���������������������������������������������������������������������������������������199 20.0 Von der Regelung zur proportionalen Steuerung ����������������������������������������������� 199 20.1 Funktionsweise des P-Reglers ������������������������������������������������������������������������� 199 20.2 Vorteile und Grenzen des P-Reglers ���������������������������������������������������������������� 200 20.3 Beispiel Prg 21 – Master (Pico) ����������������������������������������������������������������������� 201 20.4 Erklärung – Pico (Master, P-Regler mit LED) ����������������������������������������������������� 204 20.5 Einstellbare Parameter (Pico) ������������������������������������������������������������������������� 204 20.6 LED-Test (Pico) ��������������������������������������������������������������������������������������������� 205 20.7 Beispiel Prg 21 – Slave (ATtiny) ��������������������������������������������������������������������� 205 20.8 Erklärung – ATtiny (Slave, intelligenter Sensor) ����������������������������������������������� 208 20.9 Einstellbare Parameter (ATtiny) ��������������������������������������������������������������������� 208 20.10 Zusammenfassung ������������������������������������������������������������������������������������� 209 20.11 Erkenntnis ������������������������������������������������������������������������������������������������� 209 20.12 Ausblick ����������������������������������������������������������������������������������������������������� 210 Kapitel 21 – Erweiterte Regelung: PI- und PID-Regler �������������������������������������������211 21.0 Vom einfachen Regler zum intelligenten System ����������������������������������������������� 211 21.1 Grenzen des P-Reglers ��������������������������������������������������������������������������������� 211 21.2 Der I-Anteil (Integralregler) ��������������������������������������������������������������������������� 212 21.3 Der D-Anteil (Differentialregler) ��������������������������������������������������������������������� 212 21.4 Der PI-Regler ����������������������������������������������������������������������������������������������� 213 21.5 Der PID-Regler ��������������������������������������������������������������������������������������������� 213 21.6 Verhalten und Parametrierung ����������������������������������������������������������������������� 213 21.7 Erweiterung durch TinyML ����������������������������������������������������������������������������� 213 21.8 Fazit ����������������������������������������������������������������������������������������������������������� 214 Kapitel 22 – PID-Regelung und verteilte Embedded-Systeme �������������������������������215 22.0 Vom einfachen P-Regler zum stabilen PID-System ������������������������������������������� 215 22.1 Der PID-Regler als Erweiterung der klassischen Regelung ��������������������������������� 215 22.2 Deterministische und regelbasierte Systeme im Kontext des PID-Reglers ����������� 216 22.3 Stärken und Schwächen von PID-Regelung ����������������������������������������������������� 217 22.4 Beispiel Prg 22 – Slave (Sensorknoten mit Mittelwertbildung und Zustandsbewertung) �������������������������������������������������������������������������������������������� 218 22.5 Funktion ATtiny – Sensorknoten (Slave) ��������������������������������������������������������� 220 22.6 Beispiel Prg 22 – Master ������������������������������������������������������������������������������� 221 22.7 Funktion – PID-Regler und Aktorsteuerung (Master) ����������������������������������������� 223 22.8 Gesamtsystem – ATtiny und Pico als verteilte intelligente Regelstruktur ������������� 223 22.9 Erkenntnis ��������������������������������������������������������������������������������������������������� 225 22.10 Ausblick ����������������������������������������������������������������������������������������������������� 225

● 10


Inhaltsverzeichnis Kapitel 23 – Regelungstechnik und TinyML im Vergleich und Zusammenspiel �������227 23.0 Vom klassischen Regler zum intelligenten System �������������������������������������������� 227 23.1 Klassische Regelung und datenbasierte Systeme ��������������������������������������������� 227 23.2 Deterministische und lernende Systeme ��������������������������������������������������������� 228 23.3 Stärken und Schwächen im direkten Vergleich ������������������������������������������������� 228 23.4 Wann welcher Ansatz sinnvoll ist ������������������������������������������������������������������� 229 23.5 Kombination im Embedded-System ����������������������������������������������������������������� 229 23.6 Praxisbeispiel: Thermostat-System ����������������������������������������������������������������� 230 23.7 Vom klassischen Regler zur intelligenten Plattform ������������������������������������������� 230 Kapitel 24 – Zusammenarbeit von TinyML und Regelung in Embedded-Systemen � 231 24.0 Von der Reaktion zum Verständnis ����������������������������������������������������������������� 231 24.1 Grenzen klassischer Regelung und Potenzial von TinyML ����������������������������������� 231 24.2 Vom Rohsignal zur strukturierten Information ������������������������������������������������� 232 24.3 Zustandsbewertung – Vom Wert zur Bedeutung ����������������������������������������������� 232 24.4 Klassische Regelung als strukturierendes Element ������������������������������������������� 233 24.5 Hybrid-Systeme – Integration von TinyML und Regelung ����������������������������������� 233 24.6 Praxisbeispiel: Thermostat mit intelligenter Vorverarbeitung ����������������������������� 233 24.7 Erweiterung zu adaptiven Systemen ��������������������������������������������������������������� 234 24.8 Der Weg zum intelligenten Regelsystem ��������������������������������������������������������� 234 Kapitel 25 – Einordnung �����������������������������������������������������������������������������������������235 25.0 Was bedeutet TinyML wirklich? ����������������������������������������������������������������������� 235 25.1 Vom Messwert zur Bedeutung ����������������������������������������������������������������������� 235 25.2 TinyML ohne neuronale Netze ������������������������������������������������������������������������� 235 25.3 Lokale Intelligenz im Sensorknoten ����������������������������������������������������������������� 236 25.4 Adaptives Verhalten ������������������������������������������������������������������������������������� 236 25.5 Grenzen von TinyML ������������������������������������������������������������������������������������� 236 25.6 Ausblick ������������������������������������������������������������������������������������������������������� 236 Kapitel 26 – Einstellungen ���������������������������������������������������������������������������������������238 26.0 Einstellbare Parameter im Sensorknoten ��������������������������������������������������������� 238 26.1 Die Führungsgröße als zentraler Parameter ����������������������������������������������������� 238 26.2 Einstellbare Hysterese ����������������������������������������������������������������������������������� 238 26.3 Empfindlichkeit bzw. Verstärkung ������������������������������������������������������������������� 238 26.4 Zeitverhalten und Trägheit ����������������������������������������������������������������������������� 238 26.5 Schaltschwellen und Toleranzbereich ��������������������������������������������������������������� 239 26.6 Mindest- und Maximalwerte ��������������������������������������������������������������������������� 239 26.7 Kombination mehrerer Einstellgrößen ������������������������������������������������������������� 239 26.8 TinyML-Perspektive ��������������������������������������������������������������������������������������� 239 Kapitel 27 – Einstellparameter �������������������������������������������������������������������������������241 27.0 Welche Einstellparameter sind wirklich sinnvoll? ����������������������������������������������� 241 27.1 Die zentralen Einstellgrößen ��������������������������������������������������������������������������� 241 27.2 Weniger sinnvolle oder nachrangige Parameter ������������������������������������������������� 242 27.3 Die empfohlene Struktur im System ��������������������������������������������������������������� 242

● 11


Intelligente Sensoren in Embedded-Systemen Kapitel 28 – Schutzschaltung ���������������������������������������������������������������������������������244 28.0 Schutz des ADC-Eingangs bei 5 V-Betrieb ������������������������������������������������������� 244 28.1 Der ADC als empfindliche Schnittstelle ����������������������������������������������������������� 244 28.2 Erste Schutzstufe – Strombegrenzung durch Serienwiderstand ������������������������� 244 28.3 Zweite Schutzstufe – Glättung durch RC-Filter ������������������������������������������������� 245 28.4 Dritte Schutzstufe – Begrenzung durch schnelle Dioden ����������������������������������� 245 28.5 Zusammenspiel der Schutzmaßnahmen ����������������������������������������������������������� 246 28.6 Bedeutung für das Gesamtsystem ������������������������������������������������������������������ 246 Kapitel 29 – Rückmeldung �������������������������������������������������������������������������������������247 29.0 Rückmeldung des Schaltzustands an den Sensorknoten ����������������������������������� 247 29.1 Motivation für eine Rückmeldung ������������������������������������������������������������������� 247 29.2 Prinzip der bidirektionalen Kommunikation ������������������������������������������������������� 247 29.3 Anzeige am ATtiny ��������������������������������������������������������������������������������������� 247 29.4 Bedeutung für die Systemarchitektur ������������������������������������������������������������� 248 29.5 Einordnung im Gesamtsystem ����������������������������������������������������������������������� 248 Kapitel 30 – Ausgänge ���������������������������������������������������������������������������������������������249 30.0 Schaltausgänge und Aktorsteuerung ��������������������������������������������������������������� 249 30.1 Vom Signal zur Aktion ����������������������������������������������������������������������������������� 249 30.2 Rolle des Raspberry Pi Pico ��������������������������������������������������������������������������� 249 30.3 Ansteuerung eines Ventils ����������������������������������������������������������������������������� 249 30.4 Integration in das bestehende System ������������������������������������������������������������ 249 30.5 Rolle des ATtiny ������������������������������������������������������������������������������������������� 250 30.6 Sicherheit und Praxisaspekte ������������������������������������������������������������������������� 250 30.7 Bedeutung für das Gesamtsystem ������������������������������������������������������������������ 250 Kapitel 31 – Vom Aufbau zum Betrieb ���������������������������������������������������������������������251 31.0 Vom funktionierenden Aufbau zum nachhaltigen Betrieb ����������������������������������� 251 31.1 Grundlagen des Energieverbrauchs ����������������������������������������������������������������� 251 31.2 Schlafmodi als Schlüssel zur Energieeffizienz ��������������������������������������������������� 251 31.3 Das grundlegende Arbeitsprinzip: Aktiv werden – schlafen – wiederholen ����������� 252 31.4 Anwendung auf den Sensorknoten ����������������������������������������������������������������� 252 31.5 Weitere Strategien zur Energieeinsparung ������������������������������������������������������� 253 31.6 Energieeffizienz durch TinyML ����������������������������������������������������������������������� 253 31.7 Zusammenspiel von ATtiny und Pico ��������������������������������������������������������������� 253 Kapitel 32 – Abschlussprojekt – Intelligenter Feuchtesensor mit TinyML �������������255 32.0 Vom Einzelkonzept zum vollständigen System ������������������������������������������������� 255 32.1 Systemübersicht und Zusammenarbeit ����������������������������������������������������������� 255 32.2 Pinbelegung des Gesamtsystems (ATtiny & Raspberry Pi Pico) ��������������������������� 257 32.3 Raspberry Pi Pico – Anzeige und Aktor ����������������������������������������������������������� 258 32.4 ATtiny – Intelligenter Sensorknoten ��������������������������������������������������������������� 258 32.5 Beispiel Prg 23 – Master zur Systemauswertung und Visualisierung ������������������� 258 32.6 Funktionsbeschreibung des Master-Systems ����������������������������������������������������� 261 32.7 Beispiel Prg 23 – Slave Knoten zur adaptiven Messwerterfassung und

● 12


Inhaltsverzeichnis Zustandsbildung ������������������������������������������������������������������������������������������������� 261 32.8 Funktionsbeschreibung des intelligenten Sensorknotens ����������������������������������� 265 32.9 Funktion der Einstellparameter am ATtiny (PA4–PA6) ��������������������������������������� 266 32.10 Verhalten der Potentiometer an PA4, PA5 und PA6 ����������������������������������������� 268 32.11 Zusammenfassung ������������������������������������������������������������������������������������� 271 32.12 Ergebnis ��������������������������������������������������������������������������������������������������� 271 Kapitel 33 – TinyML im Embedded-System verstehen und einordnen �������������������272 33.0 TinyML – Einordnung, Ähnlichkeit und Unterschiede ����������������������������������������� 272 33.1 Ähnlichkeiten zu TinyML ������������������������������������������������������������������������������� 272 33.2 Unterschiede zu echtem TinyML ��������������������������������������������������������������������� 272 33.3 Was ist nötig, um echtes TinyML zu realisieren? ����������������������������������������������� 273 33.4 Was ist mit TinyML möglich? ������������������������������������������������������������������������� 274 Kapitel 34 – Hybrid-Systeme und TinyML im Embedded-Bereich ���������������������������276 34.0 Vom klassischen Embedded-System zum Hybrid-Ansatz ����������������������������������� 276 34.1 Vergleich – Klassische Regelung vs. Hybrid- und TinyML-Systeme ���������������������� 277 34.2 Hybrid- und TinyML-Ansatz ��������������������������������������������������������������������������� 278 34.3 Direkter Vergleich ����������������������������������������������������������������������������������������� 278 Kapitel 35 – Hybrides Entscheidungsmodell auf Basis von Sensordaten ���������������279 35.0 Grundlagen eines hybriden Entscheidungsmodells ������������������������������������������� 279 35.1 Funktionsbeschreibung ��������������������������������������������������������������������������������� 279 35.2 Beispiel Prg 24 Master Hybrid ������������������������������������������������������������������������� 280 35.3 Funktionsbeschreibung ��������������������������������������������������������������������������������� 283 35.4 Beispiel Prg 24 Slave Hybrid ��������������������������������������������������������������������������� 284 35.5 Funktionsbeschreibung ��������������������������������������������������������������������������������� 286 35.6 Zusammenhängende Funktionsbeschreibung des Gesamtsystems ���������������������� 287 35.7 Erklärung der Anzeige ����������������������������������������������������������������������������������� 288 35.8 Zusammenfassung ��������������������������������������������������������������������������������������� 288 35.9 Ergebnis ����������������������������������������������������������������������������������������������������� 289 Kapitel 36 – Weiterführende Anwendungen und Ideen �����������������������������������������290 36.0 Vom funktionierenden System zur vielseitigen Anwendung ������������������������������� 290 36.1 Mehrere Sensoren in einem System ��������������������������������������������������������������� 290 36.2 Mehrere Sensorknoten ��������������������������������������������������������������������������������� 291 36.3 Erweiterte Aktorik ����������������������������������������������������������������������������������������� 291 36.4 Mehrstufige Regelung ����������������������������������������������������������������������������������� 291 36.5 Datenaufzeichnung und Analyse ��������������������������������������������������������������������� 292 36.6 Adaptive Systeme ����������������������������������������������������������������������������������������� 292 36.7 Kombination mit klassischen Reglern ��������������������������������������������������������������� 292 36.8 Vernetzung und Fernzugriff ��������������������������������������������������������������������������� 292 36.9 Energieoptimierte Sensorknoten ��������������������������������������������������������������������� 293 36.10 Bedeutung für das Gesamtsystem ����������������������������������������������������������������� 293 Kapitel 37 – Abschluss �������������������������������������������������������������������������������������������294 37.0 Vom einfachen Messwert zum intelligenten System ������������������������������������������� 294

● 13


Intelligente Sensoren in Embedded-Systemen 37.1 Vom Messen zum Verstehen ��������������������������������������������������������������������������� 294 37.2 Vom Einzelgerät zum verteilten System ����������������������������������������������������������� 294 37.3 Das Abschlussprojekt: Ein vollständiger Regelkreis ������������������������������������������� 294 37.4 TinyML: Intelligenz direkt im System �������������������������������������������������������������� 295 37.5 Stand der Technik: Systeme im Zusammenspiel ����������������������������������������������� 295 37.6 Ausblick: Der nächste Schritt ������������������������������������������������������������������������� 296 37.7 Fazit ����������������������������������������������������������������������������������������������������������� 296 Kapitel 38 – C und MicroPython im Embedded-System �������������������������������������������297 Kapitel 39 – Analoge Sensoren ohne Kalibrierung �����������������������������������������������298 39.0 Bedeutung und Umgang ������������������������������������������������������������������������������� 298 39.1 Relative Messung statt absoluter Genauigkeit ��������������������������������������������������� 298 39.2 Einfluss von Spannungsbereich und Referenz ��������������������������������������������������� 298 39.3 Vom Rohsignal zur Information ���������������������������������������������������������������������� 299 39.4 Einordnung im Gesamtsystem ����������������������������������������������������������������������� 299 Kapitel 40 – Sensoren in der Praxis �����������������������������������������������������������������������300 40.0 Analog, digital und was die Werte wirklich bedeuten ����������������������������������������� 300 40.1 Helligkeit – Ein relativer Wert ������������������������������������������������������������������������� 300 40.2 Temperatur – Die stabile Referenz ����������������������������������������������������������������� 301 40.3 Luftfeuchte – Nur im Zusammenhang sinnvoll ������������������������������������������������� 301 40.4 Absolute vs. relative Feuchte ������������������������������������������������������������������������� 301 40.5 Muss ein Feuchtesensor geeicht werden? ��������������������������������������������������������� 302 40.6 Bodenfeuchte – Der schwierigste Sensor ��������������������������������������������������������� 302 40.7 Arbeiten mit Referenzpunkten ����������������������������������������������������������������������� 303 40.8 Intelligente Sensoren im Einsatz ��������������������������������������������������������������������� 304 40.9 Was bedeutet die Führungsgröße im System? ������������������������������������������������� 305 40.10 Eichung vs. Führungsgröße – Das ist NICHT dasselbe ������������������������������������� 305 40.11 Wann braucht man trotzdem eine Eichung? ��������������������������������������������������� 306 40.12 Messprinzipien für Bodenfeuchte ������������������������������������������������������������������� 306 40.13 Was bedeutet das für das System? ��������������������������������������������������������������� 307 Programmliste ���������������������������������������������������������������������������������������������������������310 Glossar – TinyML und Embedded-Systeme �������������������������������������������������������������311 ADC (Analog-Digital-Wandler) ������������������������������������������������������������������������������� 311 Adaptives Verhalten ��������������������������������������������������������������������������������������������� 311 Aktor ����������������������������������������������������������������������������������������������������������������� 311 Auflösung (ADC) ������������������������������������������������������������������������������������������������� 311 Datenfluss ����������������������������������������������������������������������������������������������������������� 311 Differenz (Signalstreuung) ����������������������������������������������������������������������������������� 311 Differentialanteil (D-Anteil) ����������������������������������������������������������������������������������� 311 Echtzeitverhalten ������������������������������������������������������������������������������������������������� 311 Embedded-System ����������������������������������������������������������������������������������������������� 311 Feature (Merkmal) ����������������������������������������������������������������������������������������������� 311 Führungsgröße (Sollwert) ������������������������������������������������������������������������������������� 312 GPIO (General Purpose Input/Output) ������������������������������������������������������������������� 312

● 14


Inhaltsverzeichnis Hysterese ����������������������������������������������������������������������������������������������������������� 312 I-Anteil (Integralanteil) ����������������������������������������������������������������������������������������� 312 I²C (Inter-Integrated Circuit) ��������������������������������������������������������������������������������� 312 Instabilität ��������������������������������������������������������������������������������������������������������� 312 Istwert ��������������������������������������������������������������������������������������������������������������� 312 Kontinuierliches System ��������������������������������������������������������������������������������������� 312 Mikrocontroller ����������������������������������������������������������������������������������������������������� 312 Mittelwert (Average) ��������������������������������������������������������������������������������������������� 312 Modell (TinyML) ��������������������������������������������������������������������������������������������������� 312 PID-Regler ��������������������������������������������������������������������������������������������������������� 312 PI-Regler ������������������������������������������������������������������������������������������������������������� 313 P-Regler ������������������������������������������������������������������������������������������������������������� 313 Parameter ����������������������������������������������������������������������������������������������������������� 313 Proportionalfaktor (Kp) ����������������������������������������������������������������������������������������� 313 PWM (Pulsweitenmodulation) ��������������������������������������������������������������������������������� 313 Quantisierung ����������������������������������������������������������������������������������������������������� 313 Regelabweichung (Fehler) ������������������������������������������������������������������������������������� 313 Regelkreis ����������������������������������������������������������������������������������������������������������� 313 Regelung ������������������������������������������������������������������������������������������������������������� 313 Rückkopplung ����������������������������������������������������������������������������������������������������� 313 Sampling (Abtastung) ������������������������������������������������������������������������������������������� 313 Sensorknoten ����������������������������������������������������������������������������������������������������� 313 Signalrauschen ��������������������������������������������������������������������������������������������������� 313 SPI (Serial Peripheral Interface) ����������������������������������������������������������������������������� 314 Stellgröße ����������������������������������������������������������������������������������������������������������� 314 Systemzustand ��������������������������������������������������������������������������������������������������� 314 TinyML (Tiny Machine Learning) ����������������������������������������������������������������������������� 314 Trainingsdaten ����������������������������������������������������������������������������������������������������� 314 Verstärkung �������������������������������������������������������������������������������������������������������� 314 Zeitfenster ��������������������������������������������������������������������������������������������������������� 314 Zustandsbewertung ��������������������������������������������������������������������������������������������� 314 Zykluszeit ����������������������������������������������������������������������������������������������������������� 314 Stichwortverzeichnis: ���������������������������������������������������������������������������������������������315

● 15


Warnhinweise • Die Schaltungen und Boards dürfen ausschließlich mit geprüften, doppelt isolierten Sicherheitsnetzgeräten betrieben werden. Isolationsfehler bei einfachen oder ungeeigneten Netzteilen können zu gefährlichen Berührungsspannungen an Bauteilen oder Leitungen führen. • Alle Komponenten dürfen nur innerhalb ihrer vorgesehenen Spannungs- und Strombereiche betrieben werden. Falsche Spannungspegel – insbesondere über 3,3 V am Raspberry Pi Pico – können sofortige und dauerhafte Schäden verursachen. • Der Raspberry Pi Pico sowie angeschlossene Module erzeugen empfindliche CMOS-Signale. Elektrostatische Entladungen (ESD) können Bauteile zerstören. Verwendung einer antistatischen Unterlage und vorsichtiges Arbeiten werden empfohlen. • Leistungsstarke LEDs, insbesondere Hochleistungs- oder RGB-LEDs, können Blendungen und dauerhafte Augenschäden verursachen. Niemals direkt in helle Lichtquellen schauen. • Beim Umgang mit LED-Streifen, NeoPixel/WS2812 und Displays kann eine hohe Stromaufnahme entstehen. Die Stromversorgung muss ausreichend dimensioniert sein, um Überlastungen und Überhitzung zu vermeiden. • Beim Aufbau auf dem Breadboard ist auf sichere und feste Kontaktierung zu achten. Lose oder wackelige Verbindungen können Kurzschlüsse, Fehlfunktionen oder Beschädigungen des Mikrocontrollers verursachen. • Taster und mechanische Schalter erzeugen Prellen. Unsachgemäße Entprellung kann zu Fehlauslösungen führen, besonders bei programmgesteuerten Menüs oder PIO-Abfragen. • Bei der Arbeit mit PIO-Programmen können sehr hohe Frequenzen erzeugt werden. Fehlkonfigurationen können zu instabilen Zuständen oder unerwünschtem Verhalten der Peripherie führen. • Der Autor übernimmt keinerlei Haftung für Schäden, die durch unsachgemäße Nutzung, Fehlverdrahtung, falsche Spannungen oder fehlerhafte Programme entstehen. • Alle Programme und PIO-Beispiele sind zu Lehr- und Experimentierzwecken gedacht und dürfen nur unter Aufsicht oder mit ausreichendem technischem Verständnis verwendet werden.

● 16


Warnhinweise

• Vor Änderungen an der Verdrahtung oder Bauteilen muss das gesamte System vom Strom getrennt werden, um Kurzschlüsse oder Verletzungen zu vermeiden.

● 17


Programmdownload Die vollständigen Programme aller im Buch verwendeten Projekte können kostenlos von der Elektor-Store Webseite www.elektor.de heruntergeladen werden. Sofern ein Programm nicht identisch mit dem im Buch beschriebenen ist, sollte die Version aus dem Download verwendet werden, da es sich dabei um die aktuelle Version handelt.

● 18


Vorwort Viele Projekte im Maker- und Embedded-Umfeld beginnen erstaunlich einfach: • Ein Sensor misst einen Wert. • Ein Mikrocontroller vergleicht diesen mit einem Schwellwert. • Ein Aktor reagiert. Dieses Prinzip ist leicht verständlich, schnell umgesetzt – und in vielen Fällen völlig ausreichend. Genau deshalb ist es der Einstieg in nahezu jedes Embedded-Projekt. Doch je näher ein System an die reale Welt rückt, desto deutlicher zeigen sich seine Grenzen. Wie: • Messwerte schwanken • Einflussgrößen überlagern sich • Störungen treten auf Und plötzlich verhält sich das System nicht mehr so, wie es eigentlich sollte. Der Code ist korrekt – und trotzdem wirkt das Ergebnis instabil, unvorhersehbar oder schwer erklärbar. Spätestens an diesem Punkt stellt sich eine grundlegende Frage: Reicht eine reine Schwellwertlogik noch aus, um reale Systeme zuverlässig zu beschreiben? Gleichzeitig hat sich in den letzten Jahren im Embedded-Bereich ein neuer Ansatz wie TinyML durchgesetzt. Kleine Machine-Learning-Modelle, die direkt auf Mikrocontrollern ausgeführt werden – ohne Cloud, ohne permanente Netzwerkverbindung, direkt am Ort der Messung.Für manche ist das der nächste logische Schritt. Für andere wirkt es wie unnötige Komplexität oder ein Trendbegriff ohne echten Nutzen. Dieses Buch verfolgt bewusst einen anderen Blickwinkel. TinyML wird hier weder als Ersatz für klassische Verfahren verstanden, noch als Allheilmittel. Und es wird auch nicht isoliert betrachtet. Stattdessen steht eine zentrale Frage im Mittelpunkt: Wie lassen sich Embedded-Systeme so erweitern, dass sie komplexe Zustände erkennen können – ohne ihre Stabilität und Nachvollziehbarkeit zu verlieren? Ein Schlüssel dazu ist die konsequente Trennung zweier Ebenen: Wahrnehmung und Regelung Ein Machine-Learning-Modell kann Muster erkennen und Zustände klassifizieren. Es kann aus verrauschten, mehrdimensionalen Signalen Informationen extrahieren, die mit einfachen Schwellwerten nur schwer zugänglich sind. Doch es trifft keine sicheren, deterministischen Entscheidungen im Sinne eines stabilen Systems. Diese Aufgabe bleibt klassischen Verfahren vorbehalten: Zustandsmaschinen, Regelkreisen und klar definierten Entscheidungsstrukturen.

● 19


Intelligente Sensoren in Embedded-Systemen

Erst durch die Kombination beider Welten entsteht ein robustes Gesamtsystem. Dieses Buch beginnt bewusst dort, wo viele Projekte starten: bei einfachen Sensor-AktorAufbauten, die nachvollziehbar und greifbar sind. Schritt für Schritt wird daraus mehr: • aus Messwerten werden Signale • aus Signalen werden Merkmale • aus Merkmalen werden Zustände • und aus Zuständen entstehen fundierte Entscheidungen Parallel dazu entwickelt sich das System weiter – von einer einfachen Struktur hin zu einer durchdachten Architektur mit klaren Verantwortlichkeiten. Ein durchgehendes Referenzprojekt begleitet diesen Prozess. Dabei wird nicht nur gezeigt, wie etwas funktioniert, sondern vor allem warum es so aufgebaut ist. Ziel dieses Buches ist es nicht, Machine Learning in seiner mathematischen Tiefe zu erklären. Ziel ist es, ein Verständnis dafür zu entwickeln, wie intelligente Funktionen sinnvoll in Embedded-Systeme integriert werden können – mit begrenzten Ressourcen, unter Echtzeitbedingungen und mit dem Anspruch an stabile, nachvollziehbare Ergebnisse. Dieses Buch richtet sich an technisch interessierte Maker, fortgeschrittene Bastler und Embedded-Entwickler, die ihre Systeme über einfache Logik hinaus weiterentwickeln möchten. Wenn Sie nach theoretischen Abhandlungen über neuronale Netze suchen, werden Sie hier nicht fündig. Wenn Sie jedoch verstehen möchten, wie aus einem einfachen Messsystem ein intelligentes, robustes Embedded-System wird, dann sind Sie hier richtig. Denn am Ende geht es nicht darum, „KI“ einzubauen. Es geht darum, Systeme besser zu verstehen – und sie gezielt weiterzuentwickeln.

● 20


Kapitel 1 – Wenn einfache Projekte an Grenzen stoßen 1.0 Warum funktionierende Projekte plötzlich instabil werden Der Einstieg in die Welt der Mikrocontroller ist oft motivierend und direkt erfolgreich. Ein typisches erstes Projekt könnte so aussehen: • Ein Sensor wird angeschlossen. • Ein Messwert wird eingelesen. • Eine einfache Bedingung wird formuliert. • Und ein Aktor reagiert. Sobald die gemessene Temperatur einen bestimmten Wert überschreitet, wird ein Lüfter eingeschaltet. Fällt sie darunter, wird er wieder ausgeschaltet. Dieses Prinzip ist nachvollziehbar, effizient und in vielen Fällen völlig ausreichend. Doch bereits bei leicht veränderten Bedingungen zeigt sich, dass die Realität selten so eindeutig ist. • Die Temperatur schwankt. • Der Sensor misst nicht exakt, sondern mit kleinen Abweichungen. • Umgebungsbedingungen ändern sich. • Mehrere Einflussgrößen wirken gleichzeitig. Das Ergebnis: • Der Lüfter schaltet nicht mehr sauber ein oder aus, sondern beginnt zu „flattern“. • Das System reagiert empfindlich auf kleine Änderungen. • Und das Verhalten wirkt plötzlich unruhig oder sogar unlogisch. Oft wird dann versucht, das Problem mit zusätzlichem Code zu lösen: • Der Schwellwert wird angepasst • Eine Hysterese wird eingebaut • Zeitverzögerungen werden ergänzt Diese Maßnahmen verbessern das Verhalten – aber sie lösen nicht das grundlegende Problem. Denn die eigentliche Ursache liegt tiefer: Das System versucht, eine komplexe Realität mit einer zu einfachen Entscheidungsstruktur zu beschreiben. Ein einzelner Messwert wird direkt in eine Aktion übersetzt. Zwischen Wahrnehmung und Entscheidung existiert keine Trennung.

● 21


Intelligente Sensoren in Embedded-Systemen

Genau hier beginnt das zentrale Thema dieses Buches. Denn reale Systeme liefern keine perfekten, stabilen Werte – sie liefern Signale, die interpretiert werden müssen. Und je komplexer ein System wird, desto schwieriger wird es, diese Interpretation ausschließlich mit festen Regeln abzubilden. In diesem Kapitel wird zunächst bewusst bei diesen einfachen Strukturen geblieben. Nicht, um sie zu kritisieren – sondern um ihre Grenzen sichtbar zu machen. Anhand eines konkreten, kleinen Projekts wird gezeigt: • wie ein klassischer Sensor – Aktor-System aufgebaut ist • wie es sich unter realen Bedingungen verhält • und an welchem Punkt es beginnt, instabil oder unzuverlässig zu werden Dieses Verständnis ist entscheidend. Denn erst wenn klar ist, warum einfache Systeme an ihre Grenzen stoßen, lässt sich verstehen, wann und wie neue Ansätze – wie TinyML – sinnvoll eingesetzt werden können. Das Ziel dieses Kapitels ist daher nicht, eine perfekte Lösung zu präsentieren. Das Ziel ist, ein Gefühl für das Problem zu entwickeln.

1.1 Das typische Sensor–If–Aktor-Projekt Der klassische Aufbau eines Embedded-Projekts folgt einem einfachen Muster: • Ein Sensor liefert einen Messwert. • Dieser wird im Mikrocontroller verarbeitet. • Eine Bedingung entscheidet über die Reaktion eines Aktors. In vereinfachter Form: Wenn Messwert > Schwellwert → Aktion Ein Beispiel: • Ein Potentiometer simuliert einen Sensor. • Der Mikrocontroller liest den Wert ein. • Überschreitet der Wert eine Grenze, wird eine LED eingeschaltet. Dieses Prinzip ist: • leicht verständlich • schnell implementiert • deterministisch • effizient

● 22


Kapitel 1 – Wenn einfache Projekte an Grenzen stoßen

Für viele Anwendungen ist es vollkommen ausreichend. Doch dieses Modell basiert auf einer entscheidenden Annahme: Der Messwert ist eindeutig und stabil In der Realität ist das selten der Fall.

1.2 Warum Schwellwerte instabil werden In der Praxis schwankt ein Messwert ständig – selbst wenn sich die physikalische Größe kaum verändert. Gründe dafür sind: • Elektrisches Rauschen • ADC-Auflösung • Störungen aus der Umgebung • Interne Schwankungen im Sensor Wenn ein Messwert nahe am Schwellwert liegt, führt das zu einem typischen Effekt: Das System beginnt zu „flattern“ Beispiel: • Schwellwert = 500 • Messwert schwankt zwischen 498 und 502 Ergebnis: • LED an → aus → an → aus Obwohl sich die reale Größe kaum verändert hat, reagiert das System ständig. Das Problem liegt nicht im Code. Das Problem liegt in der direkten Kopplung von Messwert und Entscheidung.

1.3 Mehr Einflussgrößen als gedacht Ein weiteres Problem entsteht, wenn mehrere Faktoren gleichzeitig wirken. Beispiel Temperatursteuerung: • Umgebungstemperatur • Luftstrom • Eigenwärme des Systems • Messposition des Sensors

● 23


Intelligente Sensoren in Embedded-Systemen

Das System berücksichtigt jedoch oft nur: einen einzigen Messwert Die Realität ist jedoch: mehrdimensional Ein einfacher Schwellwert kann diese Komplexität nicht erfassen. Das führt zu: • falschen Entscheidungen • instabilem Verhalten • schwer nachvollziehbaren Reaktionen

1.4 Wenn Systeme „unerklärlich“ reagieren Mit steigender Komplexität wird ein weiteres Problem sichtbar: Systeme werden schwer verständlich Typische Symptome: • Verhalten scheint zufällig • Änderungen im Code zeigen unerwartete Effekte • Debugging wird aufwendig Der Entwickler beginnt oft, zusätzliche Bedingungen einzubauen: • weitere Schwellwerte • zusätzliche Abfragen • komplexere Logik Das Ergebnis: mehr Code – aber nicht unbedingt ein besseres System.

1.5 Grenzen klassischer Lösungen Um die beschriebenen Probleme zu lösen, werden typische Maßnahmen eingesetzt: Hysterese • zwei Schwellwerte statt einem • reduziert Flattern Filter • Mittelwertbildung

● 24


Kapitel 1 – Wenn einfache Projekte an Grenzen stoßen

• Glättung von Signalen Zeitverzögerung • Reaktion erst nach bestimmter Zeit Diese Methoden sind sinnvoll und wichtig. Aber: Sie behandeln die Symptome – nicht die Ursache. Denn das Grundproblem bleibt bestehen: Ein komplexes Signal wird direkt in eine Entscheidung übersetzt.

1.6 Übergang zum neuen Ansatz An diesem Punkt wird eine grundlegende Erkenntnis wichtig: Ein Messwert ist noch keine Information. Ein System benötigt eine zusätzliche Ebene zwischen: • Messung und • Entscheidung Diese Ebene übernimmt die Aufgabe, aus rohen Signalen eine Bedeutung abzuleiten. Man kann diese Ebene als Wahrnehmung bezeichnen. Erst danach folgt die Entscheidung. Diese Trennung ist entscheidend: • Wahrnehmung interpretiert Daten • Entscheidung reagiert darauf Genau hier setzt TinyML an. Nicht als Ersatz für bestehende Systeme, sondern als Erweiterung dieser Wahrnehmungsebene. Im weiteren Verlauf dieses Buches wird gezeigt, wie diese zusätzliche Ebene aufgebaut werden kann – und warum sie viele der zuvor beschriebenen Probleme lösen hilft.

1.7 Sichtbar machen der Systemgrenzen Die zuvor beschriebenen Effekte lassen sich bereits mit einem sehr einfachen Aufbau beobachten. Ziel dieses Projekts ist es nicht, ein „nützliches“ System zu entwickeln, sondern ein Verhalten sichtbar zu machen, das in vielen Embedded-Anwendungen auftritt. Aufbau der Schaltung Für das Beispiel werden nur wenige Komponenten benötigt: • Mikrocontroller: Raspberry Pi Pico • Potentiometer (als verstellbare Spannungsquelle)

● 25


Intelligente Sensoren in Embedded-Systemen

Anschluss Potentiometer: • ein Anschluss an 3.3 V • ein Anschluss an GND • Mittelabgriff an GP26 (ADC) LED: • Interne LED GP25 Der Aufbau ist bewusst einfach gehalten und dient ausschließlich dazu, das Systemverhalten sichtbar zu machen.

Bild 1 Anschluss eines Potentiometers an den Pico Funktionsprinzip Die Logik des Systems ist bewusst einfach gehalten: • Messwert einlesen • mit Schwellwert vergleichen • LED ein- oder ausschalten Dieses Verhalten entspricht dem klassischen Ansatz. Ein Messwert wird direkt in eine Entscheidung übersetzt.

● 26


Kapitel 1 – Wenn einfache Projekte an Grenzen stoßen

1.8 Beispiel Prg 1 – Poti schaltet interne LED am Pico # ============================== # Beispiel Prg 1 # ============================== # Poti schaltet interne LED am Pico # ============================== from machine import ADC, Pin import time adc = ADC(26)

# Potentiometer

led = Pin(25, Pin.OUT)

# interne LED am Pico

SCHWELLWERT = 30000

# Einstellung Schaltschwelle

while True: wert = adc.read_u16()

# ADC0 Wert einlesen

if wert > SCHWELLWERT:

# Kontrolle Schwellwert

led.value(1)

# LED ein / aus

else: led.value(0)

# LED ein / aus

time.sleep(0.01)

Das Programm ist bewusst minimal gehalten und enthält keine Stabilisierung. Durchführung Das Potentiometer wird langsam in den Bereich des Schwellwerts bewegt. Beobachtung • LED flackert im Grenzbereich • Verhalten wirkt instabil Interpretation Das System arbeitet korrekt - aber es reagiert empfindlich auf kleinste Schwankungen im Messwert. Erkenntnis Ein einzelner Messwert ist nicht ausreichend, um stabile Zustände zuverlässig zu erkennen. Es gibt Methoden, die genau diese Art von Problemen adressieren – indem sie Muster in Daten erkennen, anstatt nur feste Grenzwerte zu vergleichen. Eine davon ist TinyML.

● 27


Stichwortverzeichnis: A Abstraktionsebene 119 Abtastrate 33, 34, 47, 48, 52, 253 Abtastverzögerung 209 Adaptive Systeme 13, 173, 292 ADC-Sensor 92 ADC-Wert 45, 59, 72, 101, 166, 167, 298 Aktor 5, 12, 14, 19, 20, 21, 22, 28, 29, 48, 199, 200, 209, 215, 224, 233, 247, 248, 249, 250, 253, 258, 311 Aktorsteuerung 10, 12, 223, 225, 249 Analog-Digital-Wandler 14, 106, 168, 244, 311 Analoge Sensoren 14, 298, 308 Anzeigeaufgabe 159 ATtiny3216 7, 9, 30, 96, 98, 103, 106, 111, 131, 156, 165, 251, 305, 310 B Bussystems 6, 56 D Dämpfung 196, 197, 212, 213, 215 Datenerfassung 8, 72, 106, 107, 155, 236, 258, 273, 288 Debugging 24, 172 Differentialregler 10, 212, 227 Duty Cycle 89 E Echtzeit 30, 77, 80, 93, 114, 196, 198, 217, 256, 258, 261, 271, 295 Edge Processing 128, 136 Energieeffizienz 12, 251, 253, 254 Energieverbrauch 129, 154, 251, 252, 253, 254 F Feuchtesensor 12, 14, 255, 259, 302, 303 Filterparameter 226 Flash 30 G Grenzwert 39, 41, 43, 78, 88, 165 H Helligkeit 14, 89, 91, 92, 93, 94, 191, 201, 204, 224, 267, 298, 300, 308 High-Byte 103, 105, 106, 107, 165, 168 Hybrid-Systeme 11, 13, 233, 270, 276

● 315


Intelligente Sensoren in Embedded-Systemen

Hysterese 7, 11, 15, 21, 24, 39, 40, 42, 43, 44, 45, 79, 81, 82, 84, 85, 86, 88, 109, 182, 183, 184, 185, 188, 189, 190, 193, 198, 205, 207, 208, 209, 218, 220, 224, 226, 230 I I²C-Bus 57, 60, 61, 66, 96, 98, 101, 102, 106, 107, 109, 111, 113, 114, 128, 135, 169, 171, 174, 175, 176, 179, 182, 185, 187, 188, 198, 233, 247, 252, 261, 291 Input-Features 126 Integralregler 10, 212 IoT-Anwendungen 226 Istwert 9, 10, 15, 168, 174, 175, 176, 178, 179, 180, 181, 182, 183, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 208, 209, 211 K Kapazitive Sensoren 303, 307, 309 L Lichtintensität 43 Logging 9, 172, 173 Lokale Intelligenz 11, 188, 236 Low-Byte 103, 105, 106, 107, 165, 168 M Machine-Learning-Modellen 143 Mapping 136 Master-Systems 12, 261 MCP3221 57, 58, 59, 66, 67, 68, 71, 72, 73, 74, 80, 81, 82, 89, 90, 93, 94, 96 Mehrstufige Regelung 13, 291 Messwert 5, 6, 7, 8, 9, 11, 13, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 58, 61, 62, 67, 69, 70 MicroPython 14, 297 Mittelwert 15, 46, 47, 49, 50, 51, 52, 53, 54, 72, 73, 74, 76, 79, 81, 82, 83, 84, 85, 89, 90, 91, 92, 93, 94, 109, 111, 113, 114, 115, 117, 119, 120, 121, 122, 123, 124, 128, 130, Mittelwertbildung 10, 24, 76, 85, 86, 92, 93, 109, 165, 188, 190, 195, 196, 197, 211, 213, 218, 224, 225, 228, 229, 235, 236, 237, 242, 246, 255, 261, 264, 266, 271, 272, 273 Momentzustand 119 MOSI 62, 67, 68, 72, 73, 74, 81, 82, 90, 92, 114, 115, 137, 147 N Nachvollziehbarkeit 19, 85, 214, 217, 276, 277, 287 neuronale Netze 11, 20, 228, 235, 275 O Open-Loop 192, 196

● 316


Stichwortverzeichnis:

P PA4 13, 98, 104, 105, 106, 175, 176, 179, 182, 189, 257, 262, 266, 267, 268 PA5 13, 257, 262, 267, 268, 269 PA6 13, 257, 262, 266, 267, 268, 269 Parameter 10, 11, 15, 52, 92, 131, 189, 204, 208, 213, 217, 225, 228, 229, 234, 238, 239, 240, 241, 242, 243, 255, 261, 264, 266, 267, 268, 270, 311, 313 Pegelwandler 97, 98 PID-Regler 10, 15, 196, 198, 200, 209, 211, 213, 214, 215, 216, 217, 218, 221, 223, 225, 228, 229, 230, 233, 234, 277, 312, 313 Pinbelegung 12, 257, 258 Positives Feedback 193, 194 P-Reglers 10, 199, 200, 209, 211 Proportionalfaktor 15, 204, 211, 313 Pull-Up-Widerstände 57, 58 PWM 7, 15, 89, 90, 91, 92, 93, 94, 195, 201, 202, 203, 204, 205, 209, 216, 221, 223, 224, 242, 292, 310, 313 R RAM 30 RC-Filter 12, 245 Reaktionsgeschwindigkeit 128, 131, 236, 239, 242, 243, 267, 268, 270 Reduzierte Datenmenge 135, 150 Regeldifferenz 174, 175, 176, 191, 192, 211, 212, 215, 216, 217, 227, 228, 233 Regelungstechnik 11, 191, 193, 194, 197, 198, 211, 213, 215, 216, 218, 227, 228, 230, 231, 255, 273, 277, 278 Robustheit 120, 128, 135, 140, 142, 150, 169, 188, 193, 218, 267, 295 Rohdaten 6, 44, 47, 49, 54, 102, 108, 111, 113, 126, 128, 129, 130, 131, 136, 143, 146, 155, 159, 164, 171, 198, 204, 232, 233, 255, 256, 261, 271, 272, 273, 281, 287 RST 67, 68, 72, 74, 81, 82, 90, 114, 115, 137, 147 Rückkopplung 5, 10, 15, 36, 37, 38, 191, 193, 194, 195, 197, 231, 248, 313 S Schlafmodi 12, 251, 252, 253, 254 Schwankungen 7, 23, 27, 34, 35, 37, 38, 39, 40, 41, 42, 43, 47, 49, 61, 69, 70, 71, 72, 78, 79, 82, 85, 86, 90, 92, 93, 94, 108, 109, 119, 120, 126, 128, 130, 131, 142, 155, 168 Schwellenwerten 122, 151, 236, 277, 279 SCK 62, 67, 68, 72, 73, 74, 81, 82, 90, 114, 115, 137, 147 Selbstlernende Sensoren 173 Sensorknoten 9, 10, 11, 12, 13, 15, 96, 97, 98, 101, 102, 106, 108, 109, 110, 123, 128, 129, 131, 143, 155, 168, 169, 174, 175, 176, 188, 189, 190, 191, 194, 195, 196, 197 Serienwiderstand 12, 244, 245, 246 Signalverarbeitung 28, 44, 163, 196, 220, 223, 261, 276, 279, 289, 295, 297, 298, 299 Signalverhaltens 114, 119, 126 Skalierbarkeit 142, 150

● 317


Intelligente Sensoren in Embedded-Systemen

Sollwert 9, 10, 14, 174, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 208, 209 SPI-Display 6, 62, 71, 72, 73, 80, 81, 85, 89, 97, 109, 114, 122, 136, 138, 140, 146, 149, 159, 169 Sprungantwort 195, 197 stabile Zustände 27, 44, 119 Stabilisierung 5, 27, 39, 40, 41, 44, 175, 176, 193, 225, 243, 271, 286, 295, 298 Strombegrenzung 12, 244, 245 Supervisor 113, 136 Systemstruktur 5, 36, 39, 79, 129, 189 T Taktleitung 61, 62, 159 TFT-Display 159, 169, 174, 175, 179, 182, 185, 190, 201, 209, 221, 223, 224, 255, 256, 258, 261, 271 Thermostat-System 11, 211, 230, 233 TinyML-Modellen 53, 54 Toleranzbereich 11, 239, 257, 266, 267, 268, 269, 312 Tracking 72 V Visualisierung 7, 12, 71, 72, 76, 77, 92, 126, 140, 149, 172, 182, 209, 221, 255, 256, 258, 261, 262, 271, 277, 304, 310 Z Zeitfenster 6, 8, 15, 50, 53, 92, 110, 113, 114, 116, 119, 120, 121, 122, 124, 125, 126, 130, 137, 139, 142, 144, 146, 149, 153, 156, 165, 168, 188, 198, 208, 220, 232, 311, 314 Zustandslogik 122

● 318


books books Stichwortverzeichnis:

Intelligente Sensoren in Embedded-Systemen

Vom Messwert zur stabilen Entscheidung Wie wird aus einem einfachen Mikrocontroller ein intelligentes System, das Sensorwerte erfasst, verarbeitet und sinnvoll darauf reagiert? Dieses Buch zeigt es Ihnen Schritt für Schritt – verständlich, praxisnah und ohne unnötige Vorkenntnisse. Sie beginnen mit den Grundlagen der digitalen und analogen Ein- und Ausgänge. Anschließend lernen Sie, wie Sensorwerte gelesen, geglättet und zuverlässig bewertet werden. Anschauliche Beispiele erklären, warum einzelne Messwerte oft täuschen können und wie Mittelwertbildung, Hysterese und einfache Entscheidungsregeln für stabile Ergebnisse sorgen. Nach und nach erweitern Sie Ihre Projekte um Displays, I²C-Kommunikation und mehrere vernetzte Mikrocontroller. So entstehen verteilte Systeme, in denen Raspberry Pi Pico und ATtiny-Controller Daten austauschen und gemeinsam Aufgaben übernehmen. Im fortgeschrittenen Teil erhalten Sie einen leicht verständlichen Einstieg in Merkmalsbildung, Datenvorverarbeitung, hybride Entscheidungsmodelle und TinyML-nahe Anwendungen. Dabei verbinden Sie klassische Regelungstechnik mit modernen datenbasierten Methoden.

Hans-Joachim Seeger ist ausgebildeter Radio- und Fernsehtechnikermeister sowie Elektromeister. Er verfügt über mehr als 30 Jahre Erfahrung im Service und in der Wartung elektronischer Geräte sowie in der Gebäudeleittechnik. Seit vielen Jahren beschäftigt er sich intensiv mit der Programmierung von Mikrocontrollern, insbesondere mit AVR und dem Raspberry Pi Pico, in C und Python. Darüber hinaus besitzt er umfangreiche praktische Erfahrung mit I²C-Bussystemen, Multitasking-Anwendungen und der Integration verschiedener Hardwarekomponenten.

Alle Projekte werden von ausführlich kommentierten Programmen in C und MicroPython begleitet. Das Buch richtet sich an Einsteiger, Maker, Studierende und alle, die Embedded-Systeme von Grund auf verstehen möchten. Am Ende können Sie eigene Systeme entwickeln, die nicht nur messen, sondern Informationen auswerten, zuverlässige Entscheidungen treffen und gezielt reagieren. Elektor Verlag GmbH www.elektor.de

● 319


Turn static files into dynamic content formats.

Create a flipbook
Intelligente Sensoren in Embedded-Systemen (Leseprobe) by Elektor - Issuu