Radiocomando modellismo e Arduino

Salve a tutti,
sono nuovo del forum, e come detto nella presentazione ho in mente un progetto un po più avanzato ora che ho preso un po di confidenza con il mio Arduino.

Schematizzando il mio progetto avrei in mente una cosa del genere:
PC(vb2010) → ARDUINO(pwm) → RADIOCOMANDO RC(pwm invece che i trimmer) → RICEVENTE RC → (elicottero)

Ho gia dato un occhio in svariate parti della rete compreso questo forum, e ho capito che non sono il primo ad averlo fatto, e che quindi si può fare, solo vorrei chiarire alcuni aspetti più dettagliati, magari con l’aiuto di qualche esperto o qualcuno che già ha fatto una cosa simile a quella che schematizzo.

Utilizzo un Arduino UNO Rev.3, e il radiocomando in origine vuole una tensione di alimentazione di 9v, quindi il primo dubbio è che con un massimo di 5v funzioni (ho provato), ma perda potenza a lunga distanza diminuendo la portata.

Quindi vorrei delucidazioni su come poter sostituire i trimmer (potenziometri) presenti sul mio radiocomando usando un segnale analogico da Arduino(PWM, magari filtrato per renderlo stabile).

Dai test che ho fatto sembra che il potenziometro che ho sul radiocomando mandi in uscita una tensione da 4.11 a 4.01 V e questa poca differenza tra il minimo e il massimo sinceramente non me la spiego, forse ho sbagliato a misurare qualcosa o c’è qualcosa che non conosco, dato che le mie conoscenze in elettronica sono molto basilari.

Aspetto news o di essere indirizzato a dovere :slight_smile:

Non credo che un programma su un PC possa commadare un elicottero in modo che quello non precipiti.
Perché non usi un telecomando con entrata digitale?
Ciao Uwe

Ciao,
l’onore della prima risposta da uno dei tre guru di questo forum, almeno a quanto leggo in ogni sezione, tu, guglielmo e lesto siete i più ferrati in tutti i campi…
Ma vorrei precisarti che dal VB potrei dare un qualsiasi comando ad arduino e farlo rispondere a dovere, esempio banale:

VB invia 1 ------ Arduino riceve 1 ---- if pippo = 1 pin 3 analogWrite(1);
VB invia 2 ------ Arduino riceve 2 ---- if pippo = 2 pin 3 analogWrite(2);

ho gia fatto un po di programmi a variabile multipla e stringhe più o meno complesse con schermi lcd e sensori luce temperatura per scambiare e monitorare, e il PC non è il problema base, il problema base a mio parere è capire se posso variare la tensione sulla scheda del radiocomando che è nato a 9v dandogli tensione a 5v senza compromettere il raggio d’azione, o se è possibile variare un circuito 9v come quello del radiocomando con segnali a 5v dall’arduino usando per esempio transistor, MOSFET, o altre possibili soluzioni… praticamete non vorrei ricorrere al metodo semplice ma “contadino” di servomotore con motoriduttore collegato al trimmer… :smiley:

una cosa tipo questa:

ma per elicottero, e con quei maledetti 9v... :slight_smile:

Il_Capa:
Ma vorrei precisarti che dal VB potrei dare un qualsiasi comando ad arduino e farlo rispondere a dovere, esempio banale:
VB invia 1 ------ Arduino riceve 1 ---- if pippo = 1 pin 3 analogWrite(1);
VB invia 2 ------ Arduino riceve 2 ---- if pippo = 2 pin 3 analogWrite(2);

Hai le idee molto confuse, sopratutto non sai come funziona un radiocomando RC e, da quello che scrivi, nemmeno Arduino
Premesso che è praticamente impossibile pilotare un ely da un pc se su questo non prevedi un sistema di stabilizzazione molto efficiente dotato di varie funzionalità di volo autonomo, quello che vuoi fare si realizza semplicemente interfacciandosi col trasmettitore RF del telecomando inviandogli il corretto treno di impulsi o la corretta sequenza di comandi digitali, cosa e come fare dipende da quale apparato radio possiedi.

Adresso hai conosciuto il quarto Guru Astrobeed :wink: :wink: :wink: e poi stai attento anche al quinto Guru leo, il sesto pittuso, il settimo...
Ciao Uwe

Il_Capa:
una cosa tipo questa:
How To Control Your Cheap RC Car With A Computer | Hackaday
ma per elicottero, e con quei maledetti 9v... :slight_smile:

Il problema é che a differenza delle maggiore tipti di aggeggi (escluso certi aerei militari) un elicottero non é autostabilizzante.
Per esempio una macchinina se la spingi o le investi di vento la devii e eventualmente la porti fuori strada ma anche senza contromisura non viene portato in una condizione di pericolo (se escludiamo gli ostacoli) Un elicottero senza pilotaggio del rotore e senza "controsterzo" del elica di coda non é stabile. Un PC a terra non conose le forze di disturbo e percui non puó controreagire.
La maggior parte di macchine se molli il pilotaggio si portano in una posizione di stabilitá.
Il problema non é realizzare il collegamento PC-elicottero. Il problema é far volare l' elicottero e non trasformarlo in tosaerba.

Ciao Uwe

Uuuh, qui finisco lapidato per eresia :smiley:
Scherzo son contento quando qualcuno mi critica e mi dice che una cosa è impossibile, è una motivazione immensa a impegnarmi di più.. :slight_smile:
Forse mi sono spiegato male, non intendo ne creare un radiocomando da zero con arduino, ne creare un drone (almeno per ora), dato che capisco bene il fatto vento che potrebbe disturbare l'elicottero e farlo cadere, ma quello che voglio fare per il momento è molto più semplice:
voglio capire se e come posso sostituire i potenziometri presenti sul radiocomando con sengnali provenienti dall'arduino, e quindi capire come funzionano gli stessi potenziometri, quindi il controllo sarà sempre attivo solo che invece di usare le dita per muovere i joystick vorrei mandare l'equivalente segnale che produce il terzo piedino del potenziometro, dall'arduino,
evitando come già detto di usare metodi contadini come servomotori collegati all'asse dei trimmer, cosi da muoverli meccanicamente, sicuramente risolve il mio problema in modo più veloce, ma non lo trovo per niente didattico, e io sono qui per imparare :slight_smile:
Detto questo ciò che ho in possesso è un elicottero comprato in fiera a circa 30€, con un radiocomando a 3 canali, e leggendo su internet ho trovato che quell'elicottero simula il quarto canale con un giroscopio montato sulla ricevente.
L'elicottero è il JM806.
Ho trovato alcuni esempi come quello che ho messo nel link prima che dicono di far passare un segnale PWM attraverso un filtro passa basso per mediare il segnale dell'onda quadra ad un segnale continuo, e mandare questo segnale dove sarebbe stato il piedino di uscita del potenziometro.

Questi link descrivono praticamente la stessa cosa, solo non capisco essendo novizio come agire su tensioni più alte di quelle che può inviare arduino, ovvero un pwm sara composto sempre da 0v e 5v e quindi troppo basso in confronto ai 9v che pilotano i potenziometri, ma allora mi chiedo quei 9v sono così importanti? e a cosa?
A domani sera, e spero di trovare altre critiche costruttive :slight_smile:

Il_Capa:
Questi link descrivono praticamente la stessa cosa, solo non capisco essendo novizio come agire su tensioni più alte di quelle che può inviare arduino, ovvero un pwm sara composto sempre da 0v e 5v e quindi troppo basso in confronto ai 9v che pilotano i potenziometri, ma allora mi chiedo quei 9v sono così importanti? e a cosa?
A domani sera, e spero di trovare altre critiche costruttive :slight_smile:

Convertire il pwm di Arduino in una tensione continua richiede un filtro passa basso con costante di tempo non maggiore di 200 ms, il che rende molto lenta la risposta, e gli step realmente ottenibili sono pochi per via del range utile di un joystick che è meno di 1/3 della corsa reale di un potenziometro (solo 90° su 270° possibili).
La tensione di alimentazione del radiocomando non è certo quella di funzionamento della parte digitale, dove sicuramente c'è un qualche micro che funziona a 5V o 3.3V, semmai questa viene utilizzata per la parte RF dove una tensione maggiore può fare comodo.
Da notare che il tuo giocattolo, perché di questo si tratta, non è un vero elicottero in quanto non possiede il pacco ciclico, consente solo di volare in avanti e indietro, grazie all'elica sulla coda orientata verso l'alto, e ruotare su se stesso, un vero elicottero può traslare in qualunque direzione.

Un elicottero giocattolo é un altra cosa. Quelli costruttivamente sono autostabilizzanti/con il necessario controllo elettronico per essere stabili.
Potresti usare dei potenziometri digitali alta tensione come un AD5260/AD5262 o un MAX5436–MAX5439 con in serie a 2 resistenze per avere lo stesso range di tensione. Purtroppo non sono DIL.
Ciao Uwe

Se la vuoi fare semplice, collega gli stick della radio con dei servo comandati da arduino. In questo modo potrai muovere gli stick.
Solitamente all'interno delle radio ci sono dei potenziometri, ecco, come dicevo devi trova il modo di "robotizzare" quelli, appunto con dei servocomandi. Credo che questa sia la soluzione più semplice.
Ah, io non sono un guro, ma semplicemente uno a cui vengono spesso idee malsane :stuck_out_tongue:

Convertire il pwm di Arduino in una tensione continua richiede un filtro passa basso con costante di tempo non maggiore di 200 ms, il che rende molto lenta la risposta, e gli step realmente ottenibili sono pochi per via del range utile di un joystick che è meno di 1/3 della corsa reale di un potenziometro (solo 90° su 270° possibili).
La tensione di alimentazione del radiocomando non è certo quella di funzionamento della parte digitale, dove sicuramente c'è un qualche micro che funziona a 5V o 3.3V, semmai questa viene utilizzata per la parte RF dove una tensione maggiore può fare comodo.
Da notare che il tuo giocattolo, perché di questo si tratta, non è un vero elicottero in quanto non possiede il pacco ciclico, consente solo di volare in avanti e indietro, grazie all'elica sulla coda orientata verso l'alto, e ruotare su se stesso, un vero elicottero può traslare in qualunque direzione.

Si mi sto documentando su come funziona nello specifico un filtro passa basso, e come viene utilizzato comunemente, inoltre correggimi se sbaglio esistono già degli integrati (che ormai esistono per tutto :slight_smile: ) che fanno lo stesso lavoro del filtro giusto?
Per quanto riguarda il modello dell'elicottero, è proprio perché sapevo essere un modellino giocattolo che volevo chiarire il mio progetto nel dettaglio, non sono esperto di modellismo ma arrivo a capire che un elicottero "professionale" ha bisogno di molti più accorgimenti in fatto di comando, e sempre se non erro quelli che dici tu sono almeno a 6 canali, o ho detto una blasfemia?
Altra cosa, cosa intendi per massimo 200ms, definendo la cosa troppo lenta, se è un massimo posso benissimo scendere, o è un massimo inteso come minimo? :slight_smile:
Inoltre ( tu sei quello più gettonato per le mie domande ), il fatto che sicuramente i 9v non potevano passare dai chip che sono sulla scheda della trasmittente l'avevo intuito, ma essendo i potenziometri direttamente alla 9v, mi veniva il dubbio, poi ho fatto qualche prova ad elicottero smontato e ho visto che a secondo di come muovo i potenziometri i motori rispondono come se il segnale di un potenziometro annullasse l'altro, o addirittura si sovrapponesse all'altro... hai un idea di cosa possa generare questo effetto, o chiedo troppo :slight_smile:

Potresti usare dei potenziometri digitali alta tensione come un AD5260/AD5262 o un MAX5436–MAX5439 con in serie a 2 resistenze per avere lo stesso range di tensione. Purtroppo non sono DIL.

Allora, avevo già dato un occhio ai potenziometri digitali, e avevo visto in principio che quelli comuni potevano sopportare una tensione di 5v sui capi delle resistenze, approfondendo le ricerche avevo trovato anch'io qualcosa che reggeva maggior tensione, per la precisione questo (DS3502):

Ho guardato i datasheet di quelli che mi hai scritto e volevo chiederti due cose a proposito:
il primo AD5260 ha uno schema diverso da quelli comuni e da quello usato nell'esempio che è anche qui sul sito scuola di arduino, vedo che ha due ingressi di wire, ma nella descrizione ne cita tre, essendo un novizio del settore e basandomi sempre sull'esempio trovato su questo sito, inizio a confondermi un po...

Il secondo, MAX5436 credo che sia un po grossino come resistenza, dato che i potenziometri più comuni a quello che vedo in giro sono di 10K, e se non ho capito male ( lapidazione accettata :slight_smile: ) quello ha una base di 50K fino a 100K.

Se la vuoi fare semplice, collega gli stick della radio con dei servo comandati da arduino. In questo modo potrai muovere gli stick.
Solitamente all'interno delle radio ci sono dei potenziometri, ecco, come dicevo devi trova il modo di "robotizzare" quelli, appunto con dei servocomandi. Credo che questa sia la soluzione più semplice.
Ah, io non sono un guro, ma semplicemente uno a cui vengono spesso idee malsane smiley-razz

:smiley: avevo già pensato a questo, ma se scorri su avevo definito la cosa come "metodo contadino" non dico che non sia ottimale, perché è vero che ogni cosa basta che funzioni, ma la trovo poco istruttiva a chi come me, deve imparare tante tante cose di questo mondo :slight_smile:
E credo che gli esperti qui sopra, siano d'accordo con me, dato che banalmente potrebbe essere l'ottimale in fatto di tempo di realizzazione finché si tratta di applicarla come comando da terra, ma supponendo in un futuro di dover gestire un potenziometro che si trova in aria, il fattore "peso" potrebbe giocare a mio sfavore anche di pochi grammi :slight_smile:

Grazie a tutti per l'aiuto che date da subito, direi uno dei forum più efficienti che ho mai frequentato :slight_smile:

uwefed:
Adresso hai conosciuto il quarto Guru Astrobeed :wink: :wink: :wink: e poi stai attento anche al quinto Guru leo, il sesto pittuso, il settimo…
Ciao Uwe

… e l’ottavo nano… :grin:

Ciao ottavo nano.. :slight_smile: tu hai nozioni da poter mettere sul piatto per aiutare u povero metalmeccanico fallito, con tanta voglia di imparare come si sbucciano i fili? :slight_smile: