PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Für dieses Projekt gibt es auch ein Video auf Youtube: Arduino PulseIn - Wie analoge PWM-Signale einer RC Fernsteuerung eingelesen und ausgewertet werden
Die meisten Fernsteuerungen aus dem Modellbau (Drohnen, Boote, Flieger etc.) arbeiten mit analogen PWM-Signalen. Es gibt zwar auch digitale Übertragungen wie PCM, die bereits viele Fernsteuerungen haben. Dennoch wird PWM weiterhin sehr stark verwendet. Mit einem Arduino Board können diese Signale über digitale Eingänge eingelesen werden. Dadurch ist es möglich, dass das Arduino Board auch im Modellbau als zentrale Steuereinheit verwendet werden kann. In unserem Beispiel lesen wir drei PWM-Signale von einer Fernsteuerung ein. Für das Arduino Board ist es kein Problem, mehrere PWM-Signale hintereinander auf verschiedenen Pins einzulesen.
Die meisten Empfänger arbeiten mit 5 Volt. Das bietet den Vorteil, dass der Empfänger direkt vom Arduino versorgt werden kann. Neben den zwei Leitungen für die Stromversorgung wird noch eine weitere Leitung für das PWM-Signal benötigt. Pro Kanal, der eingelesen werden soll, muss eine Leitung angeschlossen werden. Das Arduino kann zwar nur an bestimmten digitalen Pins PWM-Signale erzeugen, jedoch an allen Pins die Signale einlesen.
Das PWM (Pulsweitenmodulation) Signal liegt beim kleinsten Wert knapp unter 1000 und beim höchsten Wert knapp unter 2000. Durch eine mathematische Formel könnte man den Wert in einen Prozentwert umwandeln und so beispielsweise die Drehzahl von einem Motor von 0-100% regeln. Die folgende Grafik aus dem Serial Plotter zeigt, wie auf der Fernsteuerung ein Regler von unten nach oben bewegt wird und anschließend in der Mitte positioniert wird.
Das Codebeispiel ist sehr einfach aufgebaut und funktioniert ähnlich wie analoge Inputs. Zuerst werden die I/O-Pins sowie deren Funktion definiert. Anschließend wird das PWM-Signal über PulseIn eingelesen und im Serial Monitor angezeigt. Das PWM-Signal wird im Code immer zu bestimmten Zeiten eingelesen. Wenn es notwendig ist, dass eine Veränderung des Signales zu jeder Zeit erfasst wird, so kann man auch mit Interrupts arbeiten, die dann nicht von einem Delay oder einer anderen Operation blockiert werden können. Der folgende Screenshot zeigt die Ausgabe von drei PWM-Kanälen der Fernsteuerung im Serial Monitor an.
PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?
WeiterlesenDer PT100 ist ein sehr präziser industrieller Temperatursensor. In diesem Artikel geht es um den Bau eines Messverstärkers zum Einlesen eines PT100 am Arduino
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved