Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    Arduino read analog PWM Signals from RC

    Arduino PWM Fernsteuerung

    Alex @ AEQ-WEB

    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.

    Empfänger am Arduino

    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.

    Werbung:

    PWM Signal

    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.

    Die Software

    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.

    Werbung:

    Arduino PulseIn
    Download

    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino IRFZ44N PWM MOSFET Load Control

    Arduino MOSFET Steuerung

    • Video
    • DE/EN

    In diesen Artikel zeigen wir wie man große Lasten mittels eines MOSFET-Transistors über das Arduino Board steuert und die Drehzahl von einem Motor regelt

    Weiterlesen
    Arduino LM358 PT1000 Sensor Converter

    Temperatur messen mit PT1000 & Arduino

    • Video
    • DE/EN

    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?

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden