» elettronica » Arduino »Apparecchiature di controllo radio su Arduino

Apparecchiature di controllo radio su Arduino



In questo articolo viene illustrata la produzione di apparecchiature di controllo radio proporzionale su scheda Arduino. Una caratteristica interessante del progetto è che l'attrezzatura è stata concepita come alternativa all'attrezzatura "adulta", ma che puoi realizzare da solo. Ci sono i tasti di regolazione sul trasmettitore, che è importante per il controllo, ad esempio modelli aereo, il trasmettitore è inoltre dotato di un piccolo display con LED organici, che visualizza le informazioni di base sul funzionamento del trasmettitore. L'apparecchiatura è progettata per 6 canali, 4 proporzionali e 2 discreti. L'autore ha anche gettato le basi per l'aggiunta futura di altri due canali proporzionali, 2 potenziometri aggiunti al caso, ma al momento non sono coinvolti. Tuttavia, questo è sufficiente per controllare il modello di un aereo, una nave o un'auto e canali discreti ti consentiranno di controllare il carico aggiuntivo, ad esempio l'inclusione di fari, luci di coperta, luci di navigazione o persino lanciare piccoli missili. L'apparecchiatura ha due modalità di controllo: lineare ed esponenziale.




Per il trasmettitore avrai bisogno di:

1 x Arduino NANO / UNO / ProMini
1 x scheda di protezione BMS per tre lattine agli ioni di litio
1 connettore 5,5 x 2,1 mm
1 x Convertitore DC / DC Step Up XL6009
1 piccolo convertitore step-down LM2596 (ne parlerò separatamente)
3 x 18650:
2 x joystick JH-D202X (venduti su Ali)
2 interruttori a levetta
1 x schermo OLED i2c da 0,96 pollici 128X64
1 modulo radio NRF24l01 con amplificatore e antenna
9 x pulsante tattile 6 * 6 * 5 mm
Resistori di uscita (vedi diagramma)

Per il ricevitore avrai bisogno di:

1 x Arduino NANO / UNO / Pro Mini
1 x modulo radio NRF24l01
1 x regolatore di tensione AMS1117 3.3V
30 pettini in plastica
1 tagliere
1 condensatore da 10 uF

Di seguito puoi vedere un'immagine grafica di tutti i componenti e uno schema della loro connessione. Prima dell'assemblaggio, è necessario configurare i convertitori buck, da XL6009 a 12,6 V (questo modulo è responsabile della ricarica), da LM2596 a 3,3 V (alimentazione al modulo radio). Invece di LM2596, è teoricamente possibile utilizzare ASM117, secondo il foglio dati, la tensione di ingresso massima di questo stabilizzatore è di 15 V, ma si consiglia di non applicarlo più di 12 V. Apparentemente, in base a queste considerazioni, l'autore ha usato un altro convertitore DC / DC. Invece, puoi anche utilizzare uno stabilizzatore regolabile, ad esempio LM317.




alloggiamento

Apparecchiature di controllo radio su Arduino


La custodia è composta da due parti principali: la parte superiore e inferiore. Inoltre, vengono stampati 9 pulsanti (8 per il ritaglio e un pulsante modalità), 5 backup per i pulsanti, una cornice del display e un dispositivo di scorrimento dell'alimentazione.L'autore ha stampato un PLA con una gomma con una copertura del 20%, un ugello da 0,4 mm e un'altezza dello strato di 0,3 mm. A proposito, nessuno vieta l'uso di un'altra custodia, puoi semplicemente prendere una scatola adatta, incollarla da solo o prendere una custodia abbastanza grande da un giocattolo cinese, sono quasi vendute in sacchetti in siti classificati.


Montaggio del trasmettitore

Le batterie sono collegate in serie. L'autore ha fatto questo con la saldatura, voglio notare che le lattine di saldatura del 18650 richiedono alcune abilità, quindi se non si dispone di tale esperienza, acquistare batterie con petali già saldati e saldarle. Inoltre, le batterie secondo lo schema sopra sono saldate al modulo BMS, il cui ingresso viene alimentato con la tensione dal convertitore XL6009 (al suo posto è possibile utilizzare MT3608). Il BMS è responsabile per caricare / scaricare uniformemente tutte le lattine e spegnere l'alimentazione quando le batterie sono scariche. La tensione può anche essere monitorata usando il display. Le batterie sono caricate da un alimentatore da 9 V con una corrente non superiore a 3 A (massimo per XL6009). In effetti, la corrente di carica deve essere calcolata in base alla capacità delle batterie e prendere l'alimentazione con una corrente leggermente inferiore o limitarla. È conveniente montare i moduli nell'alloggiamento con l'aiuto del nastro biadesivo "automobile".




I pulsanti dell'orologio vengono installati su piattaforme speciali, dopodiché vengono fissati con piccole viti ai corrispondenti supporti all'interno della custodia. Qui, infatti, tutto è a livello del designer ed è ben compreso dalla foto.




I pulsanti sono interconnessi da resistori, quindi essenzialmente lasciano una piccola tastiera resistiva, che consente di utilizzare solo un pin della scheda Arduino. I fili sono saldati ai potenziometri del joystick, i cavi estremi vanno a terra e 5 V, la media porta al corrispondente pin Arduino. Ho in programma di ripetere questo schema, ho già sperimentato un po 'e posso dire che il codice ha la funzione di invertire automaticamente i canali secondo necessità, ma non ho ancora capito come lo schema determini proprio questa necessità. Questo per dire che l'inversione del canale si realizza essenzialmente saldando le conclusioni estreme in alcuni punti. Tali joystick, al momento della stesura, sono venduti in Ali ad un prezzo di circa $ 7 ciascuno, che dipende da te se dipende o meno da te. Invece, puoi usare i moduli joystick per arduino o joystick dai controller di gioco.

In effetti, il joystick funziona come un divisore, deviando la maniglia, cambiamo la tensione all'uscita centrale del potenziometro e, a seconda di questa tensione, l'arduino determina la deviazione.
[center] [/ center]
Anche i bicchieri sono collegati. Gli interruttori a levetta sono necessari on-off, poiché il canale è discreto e ha solo due valori - 0 o 1, a seconda che l'uscita dell'arduino sia attratta da terra o da un alimentatore da 5 V. Inoltre, l'interruttore on-off è necessario, se si lascia l'uscita "sospesa in aria", cosa succederebbe usando tre posizioni, il controller non capisce cosa sta succedendo e il valore salta casualmente 0 o 1 (nella mia esperienza). Non è possibile impostare potenziometri aggiuntivi, al momento non sono coinvolti. Oppure puoi mettere e monitorare la pagina di origine, forse l'autore alla fine pubblicherà il firmware aggiornato.




Successivamente, vengono installati un arduino, un modulo radio e una scheda di alimentazione del modulo radio. Come descritto sopra, è necessario impostare una tensione di 3,3 volt su di esso. È quasi impossibile farlo usando un resistore variabile standard, quindi l'autore lo ha dissaldato e invece ha saldato un trimmer multigiro. Successivamente, viene montato il display e tutti i componenti sono collegati ai terminali arduino secondo lo schema.




inserimento

Il firmware di Arduino è già stato parlato di 1000 volte, a questo punto nel tempo, la capacità di farlo mentre si tiene un progetto Arduino è altrettanto importante per impostazione predefinita quanto la capacità di tenere un saldatore tra le mani mentre si tiene qualcosa da saldare.Il codice per il trasmettitore, il ricevitore, le librerie necessarie e un file per la stampa 3D della custodia possono essere scaricati in un archivio alla fine dell'articolo.


ricevitore



Per il ricevitore, avrai bisogno di un'altra scheda Arduino, un modulo radio (senza antenna, la telemetria non è ancora implementata qui) e uno stabilizzatore da 3,3 volt. Il ricevitore è saldato alla breadboard. La potenza del ricevitore viene eseguita allo stesso modo della potenza di qualsiasi altro ricevitore di fabbrica, da un'uscita speciale del regolatore di velocità.




Da solo, voglio aggiungere che invece dell'antenna standard di questo modulo, è preferibile saldare la stessa antenna che è installata nel modulo con un amplificatore (solo senza un alloggiamento). Ciò non influirà in modo particolare sul raggio di ricezione, ma influirà in modo significativo sulla qualità di ricezione in base alla posizione del modello controllato su piani diversi. Per i moderni ricevitori e trasmettitori, a tal fine, sono installate anche due antenne, che si trovano perpendicolari l'una all'altra.


Inoltre, l'autore ha implementato una funzione molto importante: l'output dal segnale del ricevitore PPM. Schematicamente, non cambia nulla, devi solo compilare un altro firmware, il segnale PPM viene emesso come nella maggior parte dei ricevitori di fabbrica - dal primo canale (gas).




Questo è tutto. Personalmente, mi è piaciuto molto il progetto e, come ho già detto, ha intenzione di ripeterlo nel caso dal telecomando di un giocattolo per bambini. Nel menu è possibile selezionare la modalità da lineare a esponenziale e mettere a punto il valore di ogni stick. Tieni presente che il valore medio di ciascun canale dovrebbe essere 127.


Puoi scaricare tutto ciò di cui hai bisogno qui.

Tutto il successo nel lavoro!
8.9
8.6
8.6

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
30 commento
feonor12 scrive correttamente che gli ingressi non utilizzati devono essere tirati a terra o alla corrente. Ho iniziato ad aderire a questa regola non appena ho imparato a lavorare con i chip CMOS. Oh, quanto tempo fa ... E nei microcontrollori, ovviamente, nessuno ha cancellato questa regola.
grazie mille !!!!!
L'autore
Nel processo di compilazione, ho anche riassegnato alcune variabili e ho anche scritto che c'era poca memoria, anche se è stato immediatamente scritto che lo schizzo utilizza il 77% della memoria. Lo schizzo è goffo, nessuno nega, ma funziona. La cosa principale che ha compilato. Costruisci un circuito di prova e controlla come funziona, i problemi devono essere risolti non appena diventano disponibili. Quando monti il ​​circuito di prova del trasmettitore - tutti i canali non utilizzati, che si tratti di joystick, interruttore a levetta o tastiera, in generale, tutto ciò che non è collegato deve essere collegato a terra o a 5 V, se lasci il dispositivo "sospeso in aria" non funzionerà adeguatamente, con questo urtato quando ripetuto.

ZY Registrati e puoi.
Ospite Andrew
quasi si è rivelato come nella tua foto.
solo ora giura, insomma, qui
C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: nella funzione membro 'valore booleano Adafruit_GFX_Button :: contiene (int16_t, int16_t)':

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: avviso: confronto tra espressioni intere con segno e senza segno [-Wsign-compare]

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

                             ^

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: avviso: confronto tra espressioni intere con segno e senza segno [-Wsign-compare]

(y> = _y1) && (y <(_ y1 + _h)));
alla fine compilazione completata
e scrive memoria insufficiente e il programma potrebbe non funzionare stabilmente.
scusa, non posso mettere una foto qui.
L'autore
Rimuovi / metti due barre.

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

Ecco come dovrebbe essere.
Ospite Andrew
grazie mille
non imprecare molto.
Ora farò google, il che significa:
(Commenta il secondo e commenta il primo.)
L'autore
Per due, maledizione, minuti di Google. Nel file Adafruit_SSD1306.h è necessario trovare queste righe

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

commentare il secondo e rimuovere il commento dal primo.
L'autore
Ascolta, non ho scritto questo codice e non sono uno specialista in programmazione. Quello che sapevo, poi suggerito, non ti andava bene. Funziona per l'autore, l'ho raccolto - funziona anche per me. Non funziona per te, quindi l'errore non è nel codice o nella libreria. Contatta il forum tematico, vai alla fonte e scrivi all'autore o attendi che qualcuno che conosce qui risponda. Ho detto che non sapevo quale fosse il problema, cos'altro era necessario da me, in modo che avrei lasciato cadere tutto e iniziare a gestire il problema per te? Scusa, no
Ospite Andrew
"grazie per l'aiuto"
errore nella libreria Adafruit_SSD1306.h
E ho un problema di "ordine privato".
questo è ciò che dà.
Transmitter_code: 102: 2: errore: #error ("Altezza errata, risolvilo in Adafruit_SSD1306.h!");
forse quale numero o lettera dovrebbe essere cambiato lì, ma non lo so
L'autore
Quindi non lo so, tutto è stato compilato ed è stato cucito. Ora ho controllato per interesse, anche tutto è stato compilato. Quindi un problema privato.

Ospite Andrew
Adafruit_SSD1306-libreria principale
installato il programma ide arduino nel programma stesso
L'autore
C'è un errore durante la compilazione? Sta imprecando contro la biblioteca del display. Mercoledì hai installato la libreria Adafruit_SSD1306-master dall'archivio?
Ospite Andrew
Ciao
Ho deciso di controllare prima gli schizzi Ricevitori PPM e PWM (leggi)
Ho iniziato a controllare il trasmettitore, mi dà un errore.
#error ("Altezza errata, correggi questo in Adafruit_SSD1306.h!");
Traduttore di Google tradotto.
#error ("L'altezza non è corretta, correggila in Adafruit_SSD1306.h!");
E cosa dovrei fare ora, non so nemmeno ..............
L'autore
Ciao a tutti In generale, non ho né il tempo né il desiderio di finire l'app in un prossimo futuro in modo da poter scrivere un articolo su di esso, ma per molto tempo ho disegnato un sigillo del ricevitore che deve essere preso. Non ho raccolto il tabellone, ma l'ho controllato più volte, tutto sembra essere corretto. Alcune parole che non ci sarebbero domande:
Lo stabilizzatore del modulo radio è saldato in formato SMD sulla scheda (ASM1117 a 3,3 V, accensione tramite scheda tecnica). Se funzionerà in modo instabile o per una breve distanza, appendi 10 microfarad di conder direttamente sui contatti di alimentazione del modulo (non sono riuscito a trovare un posto dove spingere sulla scheda).
Abbiamo saldato lo smd, quindi i jumper, seguito dall'arduino (zampe di programmazione al pettine delle uscite), il secondo "piano" del modulo radio, come ho fatto nel controller di volo. Il modulo radio si sovrappone al pulsante di ripristino di Arduino, quindi l'ho portato sul retro del sigillo (basta saldarlo dall'Arduino e saldarlo). Se il programmatore esegue il reset da solo o non si prevede di eseguire il reflash dopo il montaggio, è possibile rimuovere il pulsante e le tracce dall'annaffiatoio, la sciarpa uscirà di alcuni millimetri più stretta e più corta (20x50 mm). In ogni caso, la sciarpa è risultata molto compatta. Sul modulo radio, è preferibile tagliare l'antenna e la saldatura stampate come sui ricevitori standard da 2,4 GHz (foto sotto). Ciò non influirà sulla portata, ma la ricezione migliorerà con diversi orientamenti nello spazio. 5 V di potenza a qualsiasi connettore dal regolatore PESO o esterno.
Impostare la scheda finita in un termorestringente trasparente, è possibile pre-disegnare, stampare e inserire una targhetta con la designazione dei gruppi di contatti. O fai un butebread come lo stesso stabilizzatore di volo.
Bene, tutto sembra essere puoi scaricare un sigillo qui.



Ecco il troncone. volo, un articolo su di esso nel mio profilo.


Ospite Vladislav
Scrivi per aiutare, ho raccolto lo schizzo in pezzi, dal momento che il mio nativo non è iniziato, ora tutto funziona bene, Viber 0993482290
il robot
aiuto con lo skatech. ci sono molti errori !!
L'autore
Faccio Appu nel mio tempo libero anche dal tempo libero, una tautologia, ma è vero.Perché c'è un'app di fabbrica flysky i6, questa, per motivi di interesse sportivo, la sto collezionando. Quando lo finirò completamente, raccoglierò il normale ricevitore - elaborerò tutto in un articolo separato.
Ma in modo da non avere dubbi sulle sue prestazioni, qui ha agitato l'alettone:

Come puoi vedere, funziona. Un canale collegato, ad esempio. Il cavo al ricevitore è alimentato, alimentato caricando dal telefono.

Sebbene ci sia molto da sviluppare, in linea di massima è nella parte software, realizzare la scelta del canale più silenzioso, vincolante, per raccogliere più ricevitori, aggiungere memoria per almeno 5 modelli. Anche la telemetria può essere lavata se vuoi. Ma per questo abbiamo bisogno dell'aiuto degli appassionati, o la stessa lingua di Arduino è meglio imparare, o l'autore di scrivere, forse questo lo interesserà. Io, nel prossimo futuro, sicuramente non lo farò.

E ho già detto del cibo. 1 lattina da 18650 + MT3608 + ASM1117 + TP4056 con protezione di ≈4-5 dollari. Come opzione, ma ce ne sono molti, almeno dalle batterie.
Andrew1978
Mostra il video del tuo telecomando ..... Informazioni su Sciocchezze - le sciocchezze potrebbero fare per te, ma è il 65% del costo dell'intero telecomando: tre stub, un caricabatterie e tre litio ...
L'autore
Nessuno si preoccupa di organizzare i pasti altrimenti. Per qualche ragione, tutti si aggrappano alle sciocchezze, omettendo la sfumatura principale: questi sono "cervelli" già pronti, il ricevitore e il trasmettitore su un segnale PPM standard, e come nutrirli e in tal caso spingere è la decima cosa. Puoi anche alimentare da una lattina attraverso un convertitore DC / DC potenziante, correggendo il codice per indicare correttamente la carica di una lattina. Finora ho mangiato dalla corona, per un uso permanente non ho concepito la mia versione.
Andrew1978
Che perversione alimentare i tre litio con un telecomando che utilizza 5v e 3.3v ....
L'autore
L'autore
Vuoi fare un caso da solo? Questa è una perdita di tempo, normalmente non funzionerà ancora. Su siti annunci pubblicitari vendono un sacco di telecomandi da giocattoli, incluso il tipo di pistola. Vendi per un soldo (il bambino ha ucciso il giocattolo, ma il telecomando rimane). Scegli meno massiccio e rifare. L'alterazione si riduce a eliminare l'intero riempimento e fare leva sui controlli dei potenziometri lineari.
Un'altra opzione è quella di acquistare un appu con un riempimento cantato, ma l'intera meccanica. Sui siti di modellisti di volta in volta pop-up.
Il mio appa assomiglierà a questo (la targhetta è test, quindi la renderò più bella)
Ospite Eugene
questa è la meccanica e gli interessi e non c'è nulla da ridisegnare
L'autore
Perché? Sì, e chi sta interferendo, questa è una questione di meccanica. Prendi la console della pistola dal giocattolo, modificala e sarà così. Puoi prendere qualsiasi cosa, un joystick per computer per simulatori di volo, persino un gamepad di Sonya. Ecco lo schema principale.
Mi sto già assemblando da una console giocattolo.
Ospite Eugene
le apparecchiature a pistola sarebbero state realizzate ...
L'autore
Appena controllato, tutto si apre e si scarica. Forse hai una sorta di blocco degli annunci o qualcosa del genere.
Se qualcun altro ha problemi con il download - scrivi, mi rivolgerò all'amministratore.
questo non funziona qui
L'autore
Puoi scaricare tutto ciò di cui hai bisogno qui.

Clicca qui
L'autore
Puoi scaricare tutto ciò di cui hai bisogno qui.

Clicca qui
e dov'è lo schizzo per l'attrezzatura

Ti consigliamo di leggere:

Passalo per lo smartphone ...