Ich möchte ein Arduino verwenden, um das Gassignal zu steuern, das zu einem Hochleistungsmotor-ESC geht. Das Problem, das ich habe, ist, dass der ESC reagiert, indem er die Leistung an den Motor pulsiert, wenn der Arduino eine PWM ausgibt. Also habe ich ein bisschen gesucht und verstehe, dass ich einen RC-Filter verwenden kann, um den PWM-Ausgang des Arduino in ein analoges Signal umzuwandeln. Ich habe mich auch gefragt, ob DAC-ICs PWMs tatsächlich in Analog umwandeln. Da Sie wissen, dass der Arduino eine PWM-Frequenz von 490 Hz hat, welche der beiden Methoden würden Sie empfehlen? Vielen Dank für Ihre Hilfe!
Wenn Ihr Motortreiber (AKA Electronic Speed Control) von dem Typ ist, der in ferngesteuerten Modellen verwendet wird, ist das erwartete Geschwindigkeitssteuersignal nicht nur ein Spannungspegel . Es lauscht auf das RC-Servo-"Protokoll" : Eine Rechteckwelle mit konstanter Frequenz (normalerweise 50 Hz) mit einer hohen Zeit zwischen 1 ms (Motor an einem Flugzeug gestoppt, voller Rückwärtsgang bei Auto-/Boots-Reglern) und 2 ms (voller Vorwärtsgang). Obwohl dies oft als PWM bezeichnet wird, können Sie nicht einfach ein beliebiges PWM-Signal einspeisen und erwarten, dass es funktioniert.
Ein Servosteuersignal mit dem richtigen Timing wird einfach von einem Arduino mit der mitgelieferten Servobibliothek erzeugt.
Wenn der Motortreiber tatsächlich ein Signal in Form eines Spannungspegels erwartet (wie zum Beispiel einige E-Bike-Motortreiber), benötigen Sie einen echten Digital-Analog-Wandler (DAC), um die Geschwindigkeit einzustellen.
Wie Sie bereits vorgeschlagen haben, ist es wahrscheinlich am einfachsten, die PWM-Ausgangsbibliotheksfunktion zu verwenden analogWrite()
und die Wellenform mit einem Tiefpass zu filtern. Dies ist eine tatsächliche, rudimentäre Form eines Digital-Analog-Wandlers und sollte für Ihre Anwendung mehr als gut genug sein.
Sie können einen dedizierten DAC-Chip verwenden. Während ich noch nie einen DAC-Chip gesehen habe, der einen PWM-Eingang verwendet (ein PWM-Signal ist eigentlich nicht digital , obwohl es nur zwei Spannungspegel hat, da die Impulsbreite eine kontinuierliche analoge Eigenschaft ist), können Sie DACs entweder mit einem seriellen (z I2C oder SPI) oder eine parallele Schnittstelle (ein Eingangspin für jedes Bit).
PWM ist eine Möglichkeit, eine Digital-Analog-Umwandlung (DAC) zu implementieren. Aber nicht der einzige Weg. Es ist NICHT richtig zu sagen "DAC-ICs wandeln PWMs tatsächlich in analog um."
Ihre Frage ist zu komplex, um sie als einfache allgemeine Frage zu beantworten. Es gibt viele Variablen im Gesamtdesign, die bei der Entscheidung, ob PWM oder eine traditionellere Konvertierungsmethode verwendet werden soll, berücksichtigt werden müssen.
Es gab Hunderte oder Tausende von Schaltungsentwürfen, die genau dieselbe Funktion implementierten, nach der Sie fragen. Typischerweise verwenden Motorsteuerungen die spezielle UN-gefilterte Form von PWM, die für herkömmliche ferngesteuerte Modellflugzeuge usw. definiert ist.
Ihre Frage scheint darauf hinzudeuten, dass Sie das Problem noch nicht ausreichend verstanden haben. Deine Frage ergibt keinen Sinn, so wie du sie gestellt hast. Herkömmliche Motordrehzahlregler und R/C-Empfänger usw. verwenden überhaupt keine herkömmlichen DACs. Sie führen letztendlich eine DAC-Funktion aus, verwenden dafür jedoch keine DAC-Chips.
Andi aka
Eliott W
Andi aka
Eliott W