» Elektronik » Arduino »Funksteuerung auf Arduino

Funksteuerungsausrüstung auf Arduino



Dieser Artikel beschreibt die Herstellung von Funksteuergeräten auf Proportionalplatinenbasis Arduino. Ein interessantes Merkmal des Projekts ist, dass die Ausrüstung als Alternative zur "Erwachsenen" -Ausrüstung konzipiert wurde, aber von Ihnen selbst hergestellt werden kann. Am Sender befinden sich Trimmschlüssel, die beispielsweise für die Steuerung wichtig sind Modelle Flugzeug ist der Sender auch mit einem kleinen Display mit organischen LEDs ausgestattet, das grundlegende Informationen über den Betrieb des Senders anzeigt. Das Gerät ist für 6 Kanäle ausgelegt, 4 proportional und 2 diskret. Der Autor legte auch den Grundstein für die künftige Hinzufügung von zwei weiteren Proportional-Kanälen. Dem Fall wurden 2 Potentiometer hinzugefügt, die jedoch derzeit nicht beteiligt sind. Dies reicht jedoch aus, um das Modell eines Flugzeugs, Schiffs oder Autos zu steuern, und über diskrete Kanäle können Sie die zusätzliche Last steuern, z. B. die Aufnahme von Scheinwerfern, Deckslichtern, Navigationslichtern oder sogar den Start kleiner Raketen. Das Gerät verfügt über zwei Steuermodi - linear und exponentiell.




Für den Sender benötigen Sie:

1 x Arduino NANO / UNO / ProMini
1 x BMS-Schutzplatine für drei Li-Ionen-Dosen
1 x 5,5 x 2,1 mm Stecker
1 x Step Up DC / DC-Wandler XL6009
1 x LM2596 kleiner Abwärtswandler (ich werde separat darüber sprechen)
3 x 18650:
2 x Joysticks JH-D202X (verkauft bei Ali)
2 x Kippschalter
1 x i2c OLED-Bildschirm 0,96 Zoll 128 x 64
1 x NRF24l01 Funkmodul mit Verstärker und Antenne
9 x Taktknopf 6 * 6 * 5 mm
Ausgangswiderstände (siehe Diagramm)

Für den Empfänger benötigen Sie:

1 x Arduino NANO / UNO / Pro Mini
1 x Funkmodul NRF24l01
1 x AMS1117 3,3 V Spannungsregler
30 x pls Kämme
1 x Steckbrett
1 x 10 uF Kondensator

Unten sehen Sie ein grafisches Bild aller Komponenten und ein Diagramm ihrer Verbindung. Vor dem Zusammenbau müssen die Abwärtswandler konfiguriert werden: XL6009 bis 12,6 V (dieses Modul ist für das Laden verantwortlich), LM2596 bis 3,3 V (Stromversorgung des Funkmoduls). Anstelle von LM2596 ist es theoretisch möglich, ASM117 zu verwenden. Laut Datenblatt beträgt die maximale Eingangsspannung dieses Stabilisators 15 V, es wird jedoch empfohlen, ihn nicht höher als 12 V zu liefern. Aufgrund dieser Überlegungen hat der Autor offenbar einen anderen DC / DC-Wandler verwendet. Stattdessen können Sie auch einen einstellbaren Stabilisator verwenden, z. B. LM317.




Gehäuse

Funksteuerungsausrüstung auf Arduino


Der Fall besteht aus zwei Hauptteilen: dem oberen und dem unteren. Zusätzlich werden 9 Tasten (8 zum Trimmen und eine Modustaste), 5 Backups für Tasten, eine Blende des Displays und ein Power Slider gedruckt.Der Autor druckte eine PLA mit einem Radiergummi mit 20% Deckung, einer 0,4 mm Düse und einer Schichthöhe von 0,3 mm. Übrigens verbietet niemand die Verwendung eines anderen Koffers. Sie können einfach eine geeignete Schachtel nehmen, sie selbst kleben oder einen ziemlich großen Koffer aus einem chinesischen Spielzeug nehmen. Sie werden fast in Taschen auf klassifizierten Websites verkauft.


Sendermontage

Batterien sind in Reihe geschaltet. Der Autor hat dies mit Löten gemacht. Ich möchte darauf hinweisen, dass das Löten von Dosen von 18650 einige Fähigkeiten erfordert. Wenn Sie also keine solche Erfahrung haben, kaufen Sie Batterien mit bereits geschweißten Blütenblättern und löten Sie sie an. Außerdem werden die Batterien gemäß dem obigen Schema mit dem BMS-Modul verlötet, dessen Eingang vom XL6009-Wandler mit Spannung versorgt wird (stattdessen kann MT3608 verwendet werden). Das BMS ist dafür verantwortlich, alle Dosen gleichmäßig zu laden / entladen und den Strom auszuschalten, wenn die Batterien leer sind. Die Spannung kann auch über das Display überwacht werden. Die Batterien werden über ein 9-V-Netzteil mit einem Strom von nicht mehr als 3 A (maximal für XL6009) aufgeladen. Tatsächlich muss der Ladestrom in Abhängigkeit von der Kapazität der Batterien berechnet werden und das Netzteil mit einem etwas niedrigeren Strom versorgen oder begrenzen. Es ist zweckmäßig, die Module mit Hilfe eines doppelseitigen Klebebands "Automobil" im Gehäuse zu montieren.




Die Uhrknöpfe werden auf speziellen Plattformen installiert und anschließend mit kleinen Schrauben an den entsprechenden Halterungen im Gehäuse befestigt. Hier ist in der Tat alles auf der Ebene des Designers und wird auf dem Foto gut verstanden.




Die Tasten sind durch Widerstände miteinander verbunden, so dass im Wesentlichen eine kleine resistive Tastatur übrig bleibt, mit der Sie nur einen Pin der Arduino-Platine verwenden können. Die Drähte sind mit den Joystick-Potentiometern verlötet, die extremen Leitungen gehen gegen Masse und 5 V, die durchschnittlichen Leitungen mit dem entsprechenden Arduino-Pin. Ich habe vor, dieses Schema zu wiederholen, ich habe bereits ein wenig experimentiert und ich kann sagen, dass der Code die Funktion hat, Kanäle nach Bedarf automatisch zu invertieren, aber ich habe noch nicht verstanden, wie das Schema genau diesen Bedarf bestimmt. Dies bedeutet, dass die Kanalinversion im Wesentlichen durch Löten der extremen Schlussfolgerungen an Stellen durchgeführt wird. Solche Joysticks werden zum Zeitpunkt des Schreibens in Ali zu einem Preis von etwa 7 USD pro Stück verkauft, unabhängig davon, ob es an Ihnen liegt oder nicht. Stattdessen können Sie die Joystick-Module für Arduino oder Joysticks von Gamecontrollern verwenden.

Tatsächlich arbeitet der Joystick als Teiler und lenkt den Griff ab. Wir ändern die Spannung am mittleren Ausgang des Potentiometers. Abhängig von dieser Spannung bestimmt das Arduino die Abweichung.
[Mitte] [/ Mitte]
Becher sind ebenfalls angeschlossen. Ein- und Ausschalter sind erforderlich, da der Kanal diskret ist und nur zwei Werte hat - 0 oder 1, je nachdem, ob der Ausgang des Arduino vom Boden oder von einer 5-V-Stromversorgung angezogen wird. Außerdem ist der Ein-Aus-Schalter erforderlich, wenn Sie den Ausgang "in der Luft hängen lassen". Was würde passieren, wenn drei Positionen verwendet werden? Der Controller versteht nicht, was passiert, und der Wert springt zufällig nach meiner Erfahrung entweder auf 0 oder 1. Sie können keine zusätzlichen Potentiometer einstellen, da diese nicht beteiligt sind. Oder Sie können die Quellseite einfügen und überwachen. Möglicherweise veröffentlicht der Autor die aktualisierte Firmware.




Als nächstes werden ein Arduino, ein Funkmodul und eine Funkmodul-Leistungsplatine installiert. Wie oben beschrieben, muss eine Spannung von 3,3 Volt eingestellt werden. Es ist fast unmöglich, dies mit einem standardmäßigen variablen Widerstand zu tun, daher löte der Autor ihn ab und löte stattdessen einen Multi-Turn-Trimmer. Als nächstes wird das Display montiert und alle Komponenten werden gemäß Diagramm an die Arduino-Anschlüsse angeschlossen.




Firmware

Die Arduino-Firmware wurde bereits 1000 Mal erwähnt. Zu diesem Zeitpunkt ist die Fähigkeit, dies zu tun, während Sie an einem Arduino-Projekt festhalten, standardmäßig genauso wichtig wie die Fähigkeit, einen Lötkolben in Ihren Händen zu halten, während Sie etwas zum Löten halten.Der Code für den Sender, den Empfänger, die erforderlichen Bibliotheken und eine Datei für den 3D-Druck des Gehäuses kann am Ende des Artikels in einem Archiv heruntergeladen werden.


Empfänger



Für den Empfänger benötigen Sie eine weitere Arduino-Karte, ein Funkmodul (ohne Antenne ist hier noch keine Telemetrie implementiert) und einen 3,3-Volt-Stabilisator. Der Empfänger ist mit dem Steckbrett verlötet. Die Leistung des Empfängers erfolgt auf die gleiche Weise wie die Leistung eines anderen Werksempfängers über einen speziellen Ausgang des Drehzahlreglers.




Ich möchte alleine hinzufügen, dass es wünschenswert ist, anstelle der Standardantenne dieses Moduls dieselbe Antenne zu löten, die mit einem Verstärker im Modul installiert ist (nur ohne Gehäuse). Dies wirkt sich nicht besonders auf den Empfangsbereich aus, beeinflusst jedoch die Empfangsqualität in Abhängigkeit von der Position des gesteuerten Modells in verschiedenen Ebenen erheblich. Für moderne Empfänger und Sender werden zu diesem Zweck sogar zwei Antennen installiert, die senkrecht zueinander angeordnet sind.


Darüber hinaus hat der Autor eine sehr wichtige Funktion implementiert - die Ausgabe des PPM-Empfängersignals. Schematisch ändert sich in diesem Fall nichts, Sie müssen nur eine andere Firmware eintragen, das PPM-Signal wird auf die gleiche Weise wie bei den meisten Werksempfängern ausgegeben - vom ersten Kanal (Gas).




Das ist alles Persönlich hat mir das Projekt sehr gut gefallen, und wie ich bereits sagte, ist geplant, es im Fall von der Fernbedienung eines Kinderspielzeugs aus zu wiederholen. Im Menü können Sie den Modus von linear bis exponentiell auswählen und den Wert jedes Sticks fein einstellen. Beachten Sie, dass der Durchschnittswert jedes Kanals 127 betragen sollte.


Sie können alles herunterladen, was Sie brauchen hier.

Alles Erfolg in der Arbeit!
8.9
8.6
8.6

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
30 Kommentare
feonor12 richtig schreibt, dass nicht verwendete Eingänge entweder auf den Boden oder zur Stromversorgung gezogen werden müssen. Ich begann mich an diese Regel zu halten, sobald ich gelernt hatte, mit CMOS-Chips zu arbeiten. Oh, wie lange ist es her ... Und in Mikrocontrollern hat natürlich niemand diese Regel aufgehoben.
vielen Dank!!!!!
Der Autor
Während des Kompilierungsprozesses habe ich auch einige Variablen neu zugewiesen und auch geschrieben, dass wenig Speicher vorhanden ist, obwohl sofort geschrieben wurde, dass die Skizze 77% des Speichers belegt. Die Skizze ist ungeschickt, niemand bestreitet, aber es funktioniert. Die Hauptsache, die zusammengestellt wurde. Erstellen Sie eine Testschaltung und überprüfen Sie, wie sie funktioniert. Probleme müssen gelöst werden, sobald sie verfügbar sind. Wenn Sie die Testschaltung des Senders zusammenbauen - alle nicht verwendeten Kanäle, seien es Joysticks, ein Kippschalter oder eine Tastatur, muss im Allgemeinen alles, was nicht angeschlossen ist, an Masse oder an 5 V angeschlossen werden. Wenn Sie das Gerät "in der Luft hängen lassen", funktioniert dies nicht ausreichend kollidierte bei Wiederholung.

Z.Y. Registrieren Sie sich und Sie können.
Gast Andrew
Es stellte sich fast wie auf Ihrem Foto heraus.
erst jetzt schwört kurz hier
C: \ Benutzer \ Mozga \ Dokumente \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: in der Mitgliedsfunktion 'Boolescher Wert Adafruit_GFX_Button :: enthält (int16_t, int16_t)':

C: \ Benutzer \ Mozga \ Dokumente \ Arduino \ Bibliothek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen ganzzahligen Ausdrücken [-Wsign-compare]

return ((x> = _x1) && (x <(_ x1 + _w)) &&

                             ^

C: \ Benutzer \ Mozga \ Dokumente \ Arduino \ Bibliothek \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen ganzzahligen Ausdrücken [-Wsign-compare]

(y> = _y1) && (y <(_y1 + _h)));
Schließlich wurde die Kompilierung abgeschlossen
und schreibt nicht genug Speicher und das Programm funktioniert möglicherweise nicht stabil.
Entschuldigung, ich kann hier kein Foto einfügen.
Der Autor
Entfernen Sie zwei Schrägstriche.

#define SSD1306_128_64
// #define SSD1306_128_32
// #define SSD1306_96_16

So sollte es sein.
Gast Andrew
vielen Dank.
schwöre nicht viel.
Jetzt werde ich googeln, was bedeutet:
(Kommentieren Sie die zweite und die erste aus.)
Der Autor
Für zwei, verdammt noch mal, Google Minuten. In der Datei Adafruit_SSD1306.h müssen Sie diese Zeilen finden

// #define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16

Kommentieren Sie die zweite aus und kommentieren Sie die erste aus.
Der Autor
Hören Sie, ich habe diesen Code nicht geschrieben und bin kein Spezialist für Programmierung. Was ich wusste, dann aufgefordert, passt es nicht zu Ihnen. Es funktioniert für den Autor, ich habe es gesammelt - es funktioniert auch für mich. Es funktioniert bei Ihnen nicht, daher befindet sich der Fehler nicht im Code oder in der Bibliothek. Kontaktieren Sie das thematische Forum, gehen Sie zur Quelle und schreiben Sie an den Autor oder warten Sie, bis jemand, der hier Bescheid weiß, antwortet. Ich sagte, dass ich nicht wüsste, was los ist, was sonst noch von mir benötigt wird, damit ich alles fallen lasse und anfange, das Problem für Sie zu lösen? Entschuldigung, nein.
Gast Andrew
" Ich danke Ihnen für Ihre Hilfe"
Fehler in der Bibliothek Adafruit_SSD1306.h
Und ich habe ein Problem der "privaten Ordnung".
das ist es, was herausgibt.
Transmitter_code: 102: 2: Fehler: #error ("Falsche Höhe, korrigieren Sie sie in Adafruit_SSD1306.h!");
Vielleicht sollte die Nummer oder der Buchstabe dort geändert werden, aber ich weiß es nicht
Der Autor
Dann weiß ich nicht, alles zusammengestellt und genäht. Jetzt habe ich aus Interesse nachgesehen, alles wurde auch zusammengestellt. Also ein privates Problem.

Gast Andrew
Adafruit_SSD1306-Master-Bibliothek
installierte das arduino ide Programm im Programm selbst
Der Autor
Gibt es einen Fehler beim Kompilieren? Er flucht in der Ausstellungsbibliothek. Haben Sie am Mittwoch die Adafruit_SSD1306-Master-Bibliothek aus dem Archiv installiert?
Gast Andrew
Guten Tag.
Ich beschloss, zuerst die Skizzen zu überprüfen. PPM- und PWM-Empfänger (lesen.)
Ich habe angefangen, den Sender zu überprüfen, es gibt einen Fehler.
#error ("Höhe falsch, bitte korrigieren Sie dies in Adafruit_SSD1306.h!");
Google Übersetzer übersetzt.
#error ("Höhe ist falsch, bitte korrigieren Sie dies in Adafruit_SSD1306.h!");
Und was soll ich jetzt tun, ich weiß nicht einmal ..............
Der Autor
Hallo an alle. Im Allgemeinen habe ich weder die Zeit noch den Wunsch, die App in naher Zukunft fertigzustellen, damit ich einen Artikel darüber schreiben kann, aber ich habe lange Zeit ein Siegel des Empfängers gezeichnet, der genommen werden muss. Ich habe das Board nicht gesammelt, aber ich habe es mehrmals überprüft, alles scheint korrekt zu sein. Ein paar Worte, dass es keine Fragen geben würde:
Der Funkmodulstabilisator ist in smd auf der Platine verlötet (ASM1117 bei 3,3 V, Einschalten per Datenblatt). Wenn es instabil oder auf kurze Distanz funktioniert, hängen Sie 10 Mikrofarad Conder direkt an die Stromkontakte des Moduls (ich konnte keinen Platz auf der Platine finden).
Wir löten die smd, dann die Jumper, gefolgt vom Arduino (Pfoten der Programmierung auf den Kamm der Ausgänge), dem zweiten "Stock" des Funkmoduls, wie ich es im Flugregler getan habe. Das Funkmodul überlappt den Reset-Knopf des Arduino, also habe ich ihn auf die Rückseite des Siegels gebracht (einfach vom Arduino löten und löten). Wenn Ihr Programmierer den Reset selbst durchführt oder Sie nach dem Zusammenbau nicht erneut blinken möchten, können Sie den Knopf und die Spuren aus der Gießkanne entfernen. Der Schal wird einige Millimeter schmaler und kürzer (20 x 50 mm). In jedem Fall kam der Schal sehr kompakt heraus. Beim Funkmodul ist es wünschenswert, die gedruckte Antenne abzuschneiden und wie bei Standard-2,4-GHz-Empfängern zu löten (Foto unten). Dies hat keine Auswirkungen auf die Reichweite, aber der Empfang verbessert sich mit unterschiedlichen Ausrichtungen im Raum. 5V Stromversorgung an einen beliebigen Anschluss vom Gewichtsregler oder extern.
Legen Sie die fertige Platte in einen transparenten Schrumpfschlauch. Sie können ein Typenschild mit der Bezeichnung Kontaktgruppen vorzeichnen, drucken und einfügen. Oder machen Sie ein Butebread wie den gleichen Flugstabilisator.
Nun, alles scheint zu sein Hier können Sie ein Siegel herunterladen.



Hier ist der Stummel. Flug, ein Artikel dazu in meinem Profil.


Gast Vladislav
Lass mich dir helfen, ich habe die Skizze in Stücken gesammelt, da mein Muttersprachler nicht angefangen hat, jetzt funktioniert alles einwandfrei, Viber 0993482290
der Roboter
Hilfe beim Skatech. Es gibt viele Fehler !!
Der Autor
Ich mache Appu in meiner Freizeit sogar aus der Freizeit, einer Tautologie, aber es ist wahr.Denn es gibt eine Fabrik-App flysky i6, die ich aus sportlichen Gründen sammle. Wenn ich fertig bin, sammle ich den normalen Empfänger - ich werde alles in einem separaten Artikel zusammenfassen.
Aber damit Sie keine Zweifel an seiner Leistung haben, winkte hier das Querruder:

Wie Sie sehen können, funktioniert es. Zum Beispiel ein Kanal angeschlossen. Das Kabel zum Empfänger wird mit Strom versorgt und über das Telefon aufgeladen.

Obwohl es viel zu entwickeln gibt, liegt es im Großen und Ganzen im Softwareteil, die Wahl des geräuschlosesten Kanals zu realisieren, zu binden, mehrere Empfänger zu sammeln und Speicher für mindestens 5 Modelle hinzuzufügen. Sogar Telemetrie kann heruntergespült werden, wenn Sie möchten. Aber dies erfordert entweder die Hilfe von Enthusiasten, oder die Arduino-Sprache selbst ist besser zu lernen oder der Autor zu schreiben, vielleicht interessiert ihn das. Ich werde dies in naher Zukunft definitiv nicht tun.

Und ich habe schon über das Essen gesagt. 1 Dose 18650 + MT3608 + ASM1117 + TP4056 mit Schutz von ≈4-5 Dollar. Als Option, aber es gibt viele davon, zumindest aus Batterien.
Andrew1978
Zeigen Sie das Video Ihrer Fernbedienung ..... Über Unsinn - Unsinn mag für Sie sein, aber er macht 65% der Kosten der gesamten Fernbedienung aus - drei Stubs, ein Ladegerät und drei Lithien ....
Der Autor
Niemand stört sich daran, Mahlzeiten anders zu organisieren. Aus irgendeinem Grund klammert sich jeder an Unsinn und lässt die Hauptnuance weg - dies sind vorgefertigte "Gehirne", der Empfänger und Sender auf einem Standard-PPM-Signal, und wie man sie speist und in welchem ​​Fall zu schieben ist die zehnte Sache. Es ist möglich, eine Dose über einen verstärkenden DC / DC-Wandler mit Strom zu versorgen, wobei der Code korrigiert wird, um die Ladung einer Dose korrekt anzuzeigen. Bisher habe ich von der Krone gegessen, für den dauerhaften Gebrauch habe ich mir keine eigene Version ausgedacht.
Andrew1978
Was für eine Perversion, um die drei Lithien mit einer Fernbedienung zu versorgen, die 5 V und 3,3 V verwendet ...
Der Autor
Der Autor
Möchten Sie selbst einen Fall machen? Dies ist Zeitverschwendung, normalerweise funktioniert es immer noch nicht. Auf Websites verkaufen Kleinanzeigen eine Reihe von Fernbedienungen aus Spielzeug, einschließlich Pistolenart. Für einen Cent verkaufen (das Kind hat das Spielzeug getötet, aber die Fernbedienung bleibt). Wählen Sie weniger massiv und wiederholen Sie. Die Änderung reduziert sich darauf, die gesamte Füllung wegzuwerfen und die Steuerungen der linearen Potentiometer aufzuspüren.
Eine andere Möglichkeit ist, eine App mit einer versengten Füllung zu kaufen, aber die gesamte Mechanik. Auf den Websites von Modellierern tauchen solche von Zeit zu Zeit auf.
Mein Appa sieht ungefähr so ​​aus (das Typenschild ist Test, dann mache ich es schöner)
Gast Eugene
Das ist die Mechanik und die Interessen, und es gibt nichts, mit dem man neu zeichnen könnte
Der Autor
Warum? Ja, und wer stört, das ist eine Frage der Mechanik. Nehmen Sie die Pistolen-Konsole aus dem Spielzeug, modifizieren Sie sie und es wird so sein. Sie können alles mitnehmen, einen Computer-Joystick für Flugsimulatoren, sogar ein Gamepad von Sonya. Hier das Hauptschema.
Ich baue mich bereits an einer Spielzeugkonsole zusammen.
Gast Eugene
Pistolenausrüstung würde gemacht werden ...
Der Autor
Einfach überprüft, alles wird geöffnet und heruntergeladen. Vielleicht haben Sie eine Art Werbeblocker oder so.
Wenn jemand anderes Probleme beim Herunterladen hat - schreiben Sie, werde ich mich an den Administrator wenden.
Dieser funktioniert hier nicht
Der Autor
Hier können Sie alles herunterladen, was Sie brauchen.

Klicken Sie hier
Der Autor
Hier können Sie alles herunterladen, was Sie brauchen.

Klicken Sie hier
und wo ist die Skizze für die Ausrüstung

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...