Go Down

Topic: Telecomandare macchinina rc (Read 321 times) previous topic - next topic

Alepolid

Ciao a tutti,
ho intenzione di cambiare l'elettronica di una macchinina radiocomandata mettendoci un esp32 e di controllarla con un altro esp32. Sono indeciso su come fare comunicare i due microcontrollori. Non ho grandi esigenze, mi basterebbe un raggio di un centinaio di metri e che non ciucci troppa energia. Ho visto che ci sono diverse opzioni:
-usare wifi direct con protocollo esp-now
-usare Bluetooth low Energy
-usare due moduli HC-12 (mi sembra la più semplice per quanto riguarda il codice)

In base alla vostra esperienza voi cosa fareste?
L'obiettivo è avere una macchinina che possa essere comandata in un raggio di 100-150 metri (in futuro ci monterò altra roba, ma per adesso l'obiettivo è avere una macchina con un cervello riprogrammabile che funge anche da semplice macchinina radiocomandata)

gpb01

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :)

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. ;)
Search is Your friend ... or I am Your enemy !

Alepolid

Ok, mi sono presentato in quel thread e ho letto il regolamento.

pgiagno

Molto tempo fa (all'uscita sul mercato dei primi moduli RX-TX da due soldi) ho fatto un progetto del genere, ma me lo ricordo poco. Ricordo solo che mi sono dovuto reinventare il protocollo di trasmissione, perché non avevo idea di come agiva l'originale. Inoltre, oltre a motore (controllo velocità avanti/indietro) e sterzo (controllo sterzata destra/sinistra), volevo aggiungere anche luci di posizione, fari, retromarcia, frecce, doppie frecce e stop, che nell'originale non c'erano.

Se ho capito bene tu vorresti sostituire SOLO la parte trasmissione/ricezione con ESP32 o HC12, esatto?

Per quanto ne so il TX è composto da due sezioni: la parte di codifica dei comandi (avanti/indietro, destra/sinistra) e la parte di trasmissione vera e propria (27MHz? 40MHz? 2,4GHz?). Altrettanto per quanto riguarda il RX sulla macchinina (parte ricevente vera e propria e parte di decodifica del segnale)..

Se riesci a identificare il confine fra le due sezioni puoi fare il tentativo di sostituire la parte TX/RX con i moduli, ma dovrai capire che codifica viene usata e per questo ci vuole al minimo un oscilloscopio.

Ciao,
P.

daysleeper

Ciao a tutti,
ho intenzione di cambiare l'elettronica di una macchinina radiocomandata mettendoci un esp32 e di controllarla con un altro esp32. Sono indeciso su come fare comunicare i due microcontrollori.
C'è un motivo particolare per cui le MCU di controllo siano ESP32?
Sono schede nate per essere usate "senza fili", quindi mi sembra strano aver scelto queste per poi volerci aggiungere moduli per comunicazioni "senza fili". Inoltre, che modulo hai di preciso? Perchè quando si parla di superare qualche decina di metri di distanza l'antenna diventa "vagamente" importante. Se hai solo quella sul PCB la faccenda è abbastanza limitata, a prescindere dal sistema di comunicazione scelto.

In ogni caso, wifi e bluetooth non sono (di base) in grado di coprire 150m, anzi.
Gli HC-12 hanno sicuramente più raggio, e come dici tu sono abbastanza semplici da usare.

Come range vedrei bene anche questi nRF24L01, un po' più complessi da utilizzare lato software (niente di assurdo) ma sono abbastanza diffusi nei radiocomandi fai da te e nelle telemetrie di veicoli radiocomandati. Anzi, a dirla tutta sono proprio i moduli che generalmente montano i telecomandi dei droni (giocattolame) sotto i 100€. Con questi moduli infatti ci si può fare da soli dei "traduttori" multiprotocollo per connettere dei telecomandi seri a quei giocattolini che vengono venduti con il loro specifico (e insostituibile) telecomandino per mani minuscole.


Come al solito i 1100m pubblicizzati sono ottenibili in condizioni ottimali, ma questo vale per tutti i dispositivi. Essendo una macchina e non un veivolo tieni presente molti più ostacoli di trasmissione, ma qualche centinaio di metri non li vedo un problema in campo aperto.
I moduli di pgiano mi stupirebbero davvero se arrivassero a 50m, invece. :smiley-sweat:


Se è stupido ma funziona allora non è stupido.

Alepolid

Molto tempo fa (all'uscita sul mercato dei primi moduli RX-TX da due soldi) ho fatto un progetto del genere, ma me lo ricordo poco. Ricordo solo che mi sono dovuto reinventare il protocollo di trasmissione, perché non avevo idea di come agiva l'originale. Inoltre, oltre a motore (controllo velocità avanti/indietro) e sterzo (controllo sterzata destra/sinistra), volevo aggiungere anche luci di posizione, fari, retromarcia, frecce, doppie frecce e stop, che nell'originale non c'erano.

Se ho capito bene tu vorresti sostituire SOLO la parte trasmissione/ricezione con ESP32 o HC12, esatto?

Per quanto ne so il TX è composto da due sezioni: la parte di codifica dei comandi (avanti/indietro, destra/sinistra) e la parte di trasmissione vera e propria (27MHz? 40MHz? 2,4GHz?). Altrettanto per quanto riguarda il RX sulla macchinina (parte ricevente vera e propria e parte di decodifica del segnale)..

Se riesci a identificare il confine fra le due sezioni puoi fare il tentativo di sostituire la parte TX/RX con i moduli, ma dovrai capire che codifica viene usata e per questo ci vuole al minimo un oscilloscopio.

Ciao,
P.
Nono, voglio sostituire tutto. Tolgo l'elettronica pre-esistente e attacco il servo e l'ESC(che è collegata a sua volta al motore) all'esp32 (o all'arduino con modulo HC-12)

pgiagno

#6
May 22, 2019, 07:13 am Last Edit: May 22, 2019, 07:14 am by pgiagno
Se intendi sostituire tutto è necessario sapere:
- quante "cose" intendi comandare (SOLO sterzo e motore o anche altro?)
- le caratteristiche del servo che comanda lo sterzo
- le caratteristiche dell'ESC che comanda il motore.

In base a quello che vuoi comandare, dividi i comandi in due gruppi: comandi analogici (sterzo e velocità motore) e comandi digitali (marcia avanti/indietro, fari, frecce, etc.).

Poi puoi pensare al protocollo di comunicazione.

Ciao,
P.

daysleeper

Pgiano, il 99% dei servo e delle esc si comandano (o, almeno, si possono comandare) con un semplice PWM.
Il fatto che l'OP voglia
un cervello riprogrammabile che funge anche da semplice macchinina radiocomandata
mi fa pensare che un esc e un servo siano il minore dei problemi, c'è sicuramente da pensare ad un sistema di trasmissione generico e facilmente espandibile. Infatti i sistemi proposti dall'OP non hanno limitazioni in questo senso.

In più c'è il piccolo dettaglio che la comunicazione potrebbe servire bidirezionale (ricevere indietro la tensione di batteria per vedere se si ha abbastanza carica per tornare?).
Se così non fosse, un'altra strada veloce che si potrebbe tranquillamente prendere è quella di usare una coppia telecomando/ricevente commerciale e usare solo un arduino a bordo per decodificare il protocollo di comunicazione e smistare le uscite. Si fa già tranquillamente con riceventi che forniscono PPM, o protocollo i-bus, ecc...

Con gli nRF24 da un lato "codifichi" i comandi che più ti piacciono e non c'è un limite pratico al numero, li trasmetti e dall'altro lato decodifichi e smisti in giro per gli azionamenti. In più puoi farti rimandare indietro la "telemetria", che in pratica vuol dire solo swappare chi legge e trasmette i sensori, e chi riceve i dati.

Tutto questo si può fare sia col bluetooth (che è una seriale alla fin fine), sia con gli HC-12, sia con una vera e propria rete Wi-Fi, ecc.

Personalmente andrei di nRF24 per portata del segnale e basso costo (se è quello che viene genericamente usato per queste cose ci sarà un perchè  :)  ) ma anche gli HC-12 sarebbero interessanti da provare vista la semplicità del codice. Il resto non mi ispira troppo e/o non lo conosco bene.





Se è stupido ma funziona allora non è stupido.

Standardoil

Io avrei votato per hc12 e softserial
Poi mi è venuto in mente che softserial e servo non vanno d'accordo
Se lo op vuole si potrebbe provare con la altsoftserial o magari usare la hwserial...
Per quello che costano due hc12, varrebbe la pena...
Prima legge di Nelson (che sono io): Se vuoi il mio aiuto dimostrami almeno che hai letto il nostro "aiutateCi ad aiutarVi"

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

daysleeper

#9
May 22, 2019, 11:11 am Last Edit: May 22, 2019, 11:11 am by daysleeper
Per quello che costano due hc12, varrebbe la pena...
Più o meno come gli nRF24, non ne farei una questione di prezzo ma di funzionalità.

Ma mi sfugge una cosa: se gli HC-12 praticamente sono una "seriale senza fili", perchè avrei bisogno di seriali virtuali? Non posso semplicemente usare quella hardware del micro (ipotizzando che ne abbia solo una, se ne ha di più ancora meglio), senza dare fastidio ai servo?

Questioni de debug?
Se è stupido ma funziona allora non è stupido.

Standardoil

#10
May 22, 2019, 11:38 am Last Edit: May 22, 2019, 11:39 am by Standardoil
Giuseppe de Bug, quinto conte di Bug, in Cornovaglia
Scherzi a parte, solo quello sì
Per gli nrf24, vero che costano anche meno degli hc12, ma non sono semplici da usare come loro
Con un hc12 io provo usando la seriale del pc. Elimino tutti i problemi, stacco il cavo usb e metto un hc12. Lavoro finito
Poi, da esperti, anche nrf vanno alla grande...
Prima legge di Nelson (che sono io): Se vuoi il mio aiuto dimostrami almeno che hai letto il nostro "aiutateCi ad aiutarVi"

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

pgiagno

Concorquoto Standardoil (questa te l'ho rubata!  ;) ).

Dopo gli Rx-TX da due suldi di cui sopra ho usato gli nrf24, ma effettivamente non sono semplici. Quando sono passato agli HC-12 è andato tutto più liscio. Inoltre mi è sembrato (non ho fatto esperimenti mirati) che gli HC-12 avessero una portata sensibilmente superiore agli nrf24. Ma è solo una impressione.

Alepolid è sparito?

Ciao,
P.

Datman

#12
May 25, 2019, 10:43 am Last Edit: May 25, 2019, 10:53 am by Datman
I 100mW sui 433-437 MHz sono decisamente illegali:
https://www.ecodocdb.dk/download/25c41779-cd6e/Rec7003e.pdf
(v. Annesso 1 e Annesso 9)
Hi,I'm Gianluca from Roma.I play&work with electronics since I was16(1984).
After 25yrs of maintenance on cameras&video mixers,since 2013myJob is HDTVstudios design.
Since Jan2015 IPlayWith Arduino:bit.ly/2F3LPWP
Thanks 4 a Karma if U like my answer

miky_police

Lasciate stare l'abbinata Software Serial/ Libreria Servo poiché usano lo stesso timer e quindi diventa quasi inutilizzabile il pwm. Si può aggirare il problema usando librerie diverse, ma con altre limitazioni. Esperienza personale... Al massimo usare la seriale pura del MCU...
Il vero stupido è colui che fa e rifa la stessa cosa aspettandosi risultati diversi. A.E.

Go Up