BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Modellismo (https://www.baronerosso.it/forum/modellismo/)
-   -   Arduino e Turbine (https://www.baronerosso.it/forum/modellismo/341817-arduino-e-turbine.html)

romoloman 12 giugno 15 23:11

Citazione:

Originalmente inviato da aero330 (Messaggio 4659925)
Un paio di cose:
1) il comando "if(val>=0) " puoi anche levarlo tanto qualsiasi numero che viene salvato nella variabile "val" è per forza >=0 avendo dichiarato la variabile val un intero (rappresentabile da 0 a 255)
2) il codice è giusto ma non funzionerà a dovere con l'ESC
Premessa:
Il regolatore, viene pilotato con segnali aventi frequenza 50Hz, (periodo 20ms )con "impulsi" di lunghezza compresi tra 1ms e 2 ms che stabiliscono in qualche modo (per farla breve) la velocità del tuo motore.
Ora con il comando AnalogWrite, tu generi si un segnale PWM ma ad una frequenza che non può essere cambiata che di default è 490 Hz. In sostanza è come se tu parlassi italiano a un cinese: nessuna comprensione. Secondo me l'errore che fai è proprio qua anche se mi sembra strano che comunque la ventola giri lo stesso fermandosi poi.
Ripeto: parti usando gli esempi che utilizzano la libreria Servo in cui le temporizzazioni sono settate correttamente.



AnalogWrite andrebbe bene per generare un segnale PWM altrimenti che comando useresti? DigitalWrite? Se fosse così dovresti tenere conto anche delle temporizzazioni giuste, duty cicle ecc ecc...con la "servo library" si farebbe prima.

il problema è la frequenza del PWM di analogwrite, l'unico modo con arduino per generare un segnale PWM utilizzabile da un servo è la servo library o un interrupt (la mia scelta preferita)
Inoltre se uno con l'oscilloscopio guardasse il tipo di PWM generato da analogwrite, si accorgerebbe che non è costituito da un singolo impulso di larghezza variabile....
Ma nell'era di internet e del "l'ho visto su youtube", l'oscilloscopio chi lo usa più ???

aero330 12 giugno 15 23:50

Citazione:

Originalmente inviato da romoloman (Messaggio 4659946)
il problema è la frequenza del PWM di analogwrite, l'unico modo con arduino per generare un segnale PWM utilizzabile da un servo è la servo library o un interrupt (la mia scelta preferita)
Inoltre se uno con l'oscilloscopio guardasse il tipo di PWM generato da analogwrite, si accorgerebbe che non è costituito da un singolo impulso di larghezza variabile....
Ma nell'era di internet e del "l'ho visto su youtube", l'oscilloscopio chi lo usa più ???

Tra l'altro rileggendo meglio la mia risposta, noto che ho risposto alla tua domanda quando parlo di frequenza di default di 490Hz :lol::lol:
Mi rimane però il dubbio di come possa "funzionare" la ventola con il codice scritto da simone......

romoloman 13 giugno 15 00:28

Citazione:

Originalmente inviato da aero330 (Messaggio 4659973)
Tra l'altro rileggendo meglio la mia risposta, noto che ho risposto alla tua domanda quando parlo di frequenza di default di 490Hz :lol::lol:
Mi rimane però il dubbio di come possa "funzionare" la ventola con il codice scritto da simone......

l'esc becca qualche porcata in alcuni punti e per sbaglio funziona....

aero330 13 giugno 15 00:38

Citazione:

Originalmente inviato da romoloman (Messaggio 4659999)
l'esc becca qualche porcata in alcuni punti e per sbaglio funziona....

la prima cosa che funziona per sbaglio !!!! :icon_rofl:icon_rofl:icon_rofl

romoloman 13 giugno 15 00:40

Citazione:

Originalmente inviato da aero330 (Messaggio 4660005)
la prima cosa che funziona per sbaglio !!!! :icon_rofl:icon_rofl:icon_rofl

Non credere....
magari in qualche punto la frequenza di PWM viene integrata e vede qualche larghezza "interpretabile".

quello che non capisco è perché non abbia provato l'esempio di provaservo che gli era stato linkato.

PS: e comunque non funziona, altrimenti non saremmo qui a discuterne...

aero330 13 giugno 15 00:49

Citazione:

Originalmente inviato da romoloman (Messaggio 4660008)
Non credere....
magari in qualche punto la frequenza di PWM viene integrata e vede qualche larghezza "interpretabile".

quello che non capisco è perché non abbia provato l'esempio di provaservo che gli era stato linkato.

PS: e comunque non funziona, altrimenti non saremmo qui a discuterne...

Ovviamente l'ho detta in tono ironico la frase ! :wink:

Simone86 ha detto che l'ha provato l'esempio ma il risultato è sempre lo stesso...anche se mi sembra molto strana la cosa

romoloman 13 giugno 15 00:51

Citazione:

Originalmente inviato da aero330 (Messaggio 4660012)
Ovviamente l'ho detta in tono ironico la frase ! :wink:

Simone86 ha detto che l'ha provato l'esempio ma il risultato è sempre lo stesso...anche se mi sembra molto strana la cosa

Se mi permetti, ci credo poco. :wink:

L'unica possibilità è che con le porcate che aveva preso prima l'esc si fosse starato il minimo e il massimo dell'esc.

simone86 16 giugno 15 11:04

Ciao Aero,

scusa se non ho risposto prima...

grazie per la delucidazione, unico problema io sono un neofita e non ho capacità nel costruire uno sketch, posso utilizzare lo sketch che ti ho copiato inserendolo nella libreria servo e togliendo il Val 0 come mi hai detto o creo problemi?


grazie molte per l'aiuto
ciao
simone

simone86 16 giugno 15 11:07

Ciao Romoloman,

purtroppo sono un neofita :) ed è il motivo per cui vi chiedo aiuto ;), purtroppo non sapendo molto in campo informatico, ma avendo visto svariati sketch, pensavo fosse un pochino più semplice far girare un motore brushless solamente ruotando un potenziometro, ma a quanto pare o sbagliato :(



grazie per i vostro aiuto :)
ciao
simone

CarloRoma63 16 giugno 15 11:28

Citazione:

Originalmente inviato da simone86 (Messaggio 4662681)
Ciao Romoloman,

purtroppo sono un neofita :) ed è il motivo per cui vi chiedo aiuto ;), purtroppo non sapendo molto in campo informatico, ma avendo visto svariati sketch, pensavo fosse un pochino più semplice far girare un motore brushless solamente ruotando un potenziometro, ma a quanto pare o sbagliato :(



grazie per i vostro aiuto :)
ciao
simone

Si, quello è il modo sbagliato ed il fatto che comunque si sia mosso qualcosa è per puro caso.
Azzera il tuo sketch ed usa qualche esempio di servi che trovi in rete (guarda i link che ti sono stati proposti) e vedrai che andrà tutto meglio.
Prima di usare Arduino, collega il tutto ad una radio convenzionale ed accertati che l'ESC funzioni regolarmente, non è da escludere l'ipotesi fatta da Romolo che l'ESC abbia letto quel segnale che gli hai passato come un segnale di setup e si sia sconfigurato, rendendolo quindi inutilizzabile finché non lo resetterai.

Carlo


Tutti gli orari sono GMT +2. Adesso sono le 02:29.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002