RC-Controller-Design für Kleinwagen

Ich erstelle ein kleines Auto, das von einer kleinen Hand-Joystick-Fernbedienung gesteuert werden soll.

Im Grunde versuche ich, die beste Option für diese Aufgabe zu finden.

Das Fahrzeug verfügt über zwei 24-V-Motoren, einen für die Vorwärts- und Rückwärtsbewegung, den anderen für die Links- und Rechtslenkung. Die Motoren müssen in dem Sinne analog steuerbar sein, dass ihre Geschwindigkeit variiert werden kann. Die Handfernbedienung soll einen 2-Achsen-Joystick haben, eine Achse entspricht dem Lenkmotor und die andere Achse dem Fahrmotor.

Um die Frage richtig zu beantworten, müssen Sie wahrscheinlich wissen, was ich bisher getan habe. Ich habe es geschafft, dies zu tun, indem ich einfache HF-Sender- und Empfängermodule von ebay verwendet habe. Wie hier zu sehen, http://www.ebay.com/itm/433Mhz-WL-RF-Transmitter-Receiver-Module-Link-Kit-for-Arduino-ARM-MCU-Wireless-/380717845396?hash=item58a48d4b94:g :x9cAAMXQigBSMp4X Ich habe zwei Arduino-MCU verwendet, eine in der Fernbedienung, die benötigt wird, um die Joystick-Achsenwerte zu lesen und diese Werte dann über die oben genannte Sendeeinheit zu senden. Die zweite MCU im Auto wird mit dem HF-Empfängermodul verwendet, um die Joystick-Messwerte vom Sender zu erhalten und dann die Motortreiberplatine des Autos entsprechend zu steuern.

Das funktioniert genau so, wie ich es brauche, aber ... ist es der beste Weg, es zu tun?

Dies sind meine Fragen:

1) Führen herkömmliche RC-Cars diese analoge Steuerung ohne MCU durch? Wenn ja, wie?

2) Die Fernbedienung, die ich erstellt habe, ist nur ein Nano, 2-Achsen-Joystick und Sendermodul, aber die Batterie entlädt sich sehr schnell. Was ist die beste Option für eine Fernbedienung mit geringem Stromverbrauch, die in der Lage ist, 2-Achsen-Joystick-Messwerte zu senden? Ich frage dies, da ich der Meinung bin, dass der Nano hohe Batterieanforderungen hat.

3) Schließlich sollen die Autos umeinander herum verwendet werden und die HF-Einheiten, die ich derzeit verwende, befinden sich alle auf demselben Kanal, und daher bekomme ich Interferenzen. Wie kann ich einen Sender und einen Empfänger koppeln, sodass sie nur miteinander funktionieren? Vorzugsweise möchte ich in der Lage sein, Dip-Schalter zum Einstellen von Kanälen zu verwenden, sodass beispielsweise 100 dieser Autos jeweils auf einem anderen Kanal sein könnten.

PS hoffentlich nicht, aber ich habe das Gefühl, dass all dies ohne 2 MCU möglich ist, was bedeutet, dass die Schaltung das tut, was mein Code gerade tut. Wenn dies der Fall ist, wo fange ich an zu lernen, wie man eine Schaltung baut, die dies kann? guck! weit über meine Fähigkeiten!

EDIT, damit Geschwindigkeit und Drehrichtung* der Motoren variiert werden können.
RC-Spielzeuge können ohne MCU funktionieren. Über den Widerstand des Joysticks wird die Länge eines gesendeten PWM-Signals beeinflusst. Der Empfänger wandelt die PWM zurück in einen analogen Wert.

Antworten (2)

Das 433-MHz-Band ist in einigen Ländern ein öffentliches Band, in dem jederzeit jede Form von Funkstörungen auftreten kann. Daher können Sie zunächst jede Form von analogem Funk ausschließen, da solche Lösungen möglicherweise Störungen auffangen und als Steuersignal behandeln.

Die Verwendung eines digitalen Funkprotokolls bedeutet, dass Sie entweder Folgendes verwenden müssen:

  • eine MCU
  • oder eine integrierte Codierer/Decoder-Schaltung
  • oder ein Funkchip mit eingebauter Protokollunterstützung (im Grunde eine eingebaute MCU)

Die 2. Alternative ist heutzutage weniger verbreitet, die Hersteller machen solche ICs gerne obsolet.

Die einfachste Form eines digitalen Protokolls beinhaltet den analogen Wert und eine Prüfsumme. Es kann ratsam sein, auch den DIP-Schalterwert als eindeutigen Identitätscode anzugeben, wenn Sie verhindern möchten, dass die Fernbedienung von Kabine 1 Kabine 2 usw. steuert.

Sie müssen sicherstellen, dass Ihre Autos nicht auf demselben Kanal arbeiten. Wahrscheinlich haben Sie nicht viele Möglichkeiten, den Funkkanal auf einem billigen Mistradio wie dem verlinkten zu konfigurieren, aber Sie benötigen mindestens unterschiedliche Frequenzen für die verschiedenen Autos.

Stellen Sie sicher, dass es kein Breitband-Mist ist, der sich über das 433-Band schmiert, denn dann ist dies nicht möglich. Suchen Sie nach Modulen, die einen festen Kanal haben, oder die Möglichkeit, den Kanal einzustellen. Idealerweise sollte ein Kanal im 433-Band 25 kHz breit sein, um die Wahrscheinlichkeit von Interferenzen zu minimieren.

In den meisten Ländern dürfen Sie nur bis zu 1 mW ERP von 433 bis 434 MHz senden, also müssen Sie dies auch überprüfen. Über 434.040 MHz hinaus können Sie in den meisten Ländern bis zu 10 mW verwenden. In anderen Ländern wäre die Nutzung des 433-MHz-Bands für ferngesteuerte Autos illegal, da das Band für RFID-Systeme von Schiffscontainern usw. reserviert ist. Wo befinden Sie sich?


In Bezug auf die Batterielebensdauer können Sie den Joystick in bestimmten Intervallen abtasten. Stellen Sie sicher, dass der Joystick nur dann mit Strom versorgt wird, wenn Sie den Wert ablesen. Hierfür könnte ein einfacher Transistor oder MOSFET verwendet werden. Ebenso könnten Sie das Radio ausschalten, wenn es nicht verwendet wird. Denken Sie jedoch daran, dass das beschissene Ebay-Radio möglicherweise einige Zeit benötigt, um sich auf die richtige Frequenz einzustellen.

1) RC-Car-Sender mit proportionaler Steuerung verwenden im Allgemeinen einen Mikrocontroller, um die Potis auszulesen und das Übertragungsprotokoll zu erstellen. Dies ist billiger als die Verwendung diskreter Komponenten.

2) Der Arduino Nano selbst zieht nur etwa 20 mA und das FS1000A-TX-Modul zieht 4-15 mA. Wenn Ihre Batterie also „sehr schnell“ entladen wird, muss sie eine sehr geringe Kapazität haben oder eine andere externe Schaltung zieht übermäßig hohen Strom.

3) Ihr Empfänger verwendet einen superregenerativen Detektor mit geringer Selektivität, sodass er alles empfängt , was auf dem 433-MHz-Band sendet. Theoretisch könnten Sie 100 Funkgeräte auf verschiedenen Frequenzen haben, aber das würde sehr schmalbandige Filter und eine niedrige Datenrate erfordern. Der andere Weg ist das Frequenzsprung-Spreizspektrum. Aber mit nur 1,75 MHz im Band kann es immer noch eine ziemlich niedrige Grenze geben, wie viele Sender Sie gleichzeitig betreiben können.

Es könnte besser sein, 2,4-GHz-Module zu verwenden. Das 2,4-GHz-Band ist viel breiter, sodass es viel mehr Sender gleichzeitig verarbeiten kann (Beispiel: Test mit 100 Spektrum DSMX-Sendern ). Die überwiegende Mehrheit der Hobby-RC-Sender verwendet heute 2,4 GHz, und auch RC-Spielzeuge bewegen sich auf dieses Band.

Bei Spreizspektrum-Funksteuereinheiten wird das „Pairing“ normalerweise dadurch erreicht, dass jeder Sender einen eindeutigen ID-Code hat, der zusammen mit den Daten übertragen wird. Der Empfänger hat einen nichtflüchtigen Speicher, der diesen ID-Code speichert, und antwortet nur auf Übertragungen, die dieselbe ID enthalten. Der Kopplungs- oder „Bindungs“-Prozess wird oft aufgerufen, indem eine Taste am Sender gedrückt und ein Jumper über 2 Pins am Empfänger gesteckt wird. Es gibt andere Methoden, aber alle beinhalten das Umschalten sowohl des Senders als auch des Empfängers in den „Bindungsmodus“, damit der Empfänger weiß, dass er den ID-Code von diesem Sender speichern muss.

Wenn es Ihnen nichts ausmacht, dass jeder Empfänger seinem entsprechenden Sender dauerhaft zugewiesen ist, können Sie die ID fest in den Empfänger codieren, und dann müsste er nicht gekoppelt werden.

Ich habe das Gefühl, dass all dies ohne 2 MCU möglich ist, was bedeutet, dass die Schaltung das tut, was mein Code gerade tut.

Früher wurden diese Dinge ohne MCUs erledigt, und es war nicht einfach, einen zuverlässigen, fehlerfreien Empfang auf mehreren Kanälen zu erreichen. Es war auch sehr teuer.

Es gibt jedoch andere Probleme mit 2,4 GHz: Es funktioniert nur bei Sichtverbindung. Aber ich denke, das ist kein großes Problem mit RC-Autos (im Gegensatz zu RC-Flugzeugen, Drohnen usw.).
@Lundin Es ist schwer, ein RC-Flugzeug zu fliegen, ohne es zu sehen. In meinem Land ist es illegal, es sei denn, Sie haben ein Unmanned Aircraft Operator Certificate.
Flugzeuge können vorübergehend hinter einem Objekt einfliegen, oder der Bediener könnte hinter einem einfahren, ein Lastwagen hält vor ihnen, die Landschaft könnte uneben sein usw. usw. Ingenieuralltag: Denken Sie an unerwartete Situationen.