Controllo PWM per ESC

Sezione dedicata all'elettronica in generale.
Rispondi
Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Controllo PWM per ESC

Messaggio da Vecchietto67 » domenica 17 maggio 2020, 8:30

Ciao a tutti.
Volevo riprendere un vecchio progetto che prevede l'utilizzo di un motore Brushless per modellismo. Ho già il controllo di potenza e il regolatore PWM per il motore (simili a quelli della foto allegata) ma non mi piace il tipo di controllo della velocità che viene fatto.
In pratica quando alimento tutto il sistema il motore non parte ma devo ruotare il potenziometro sul suo zero e poi portarlo nella posizione di velocità desiderata. Anche la velocità non è controllata in modo costante, ma viene aumentata o diminuita a scatti.
Credo che il problema sia legato al generatore PWM ma non ne ho la certezza. Se devo cambiare il controllo non c'è problema basta sapere quale usare.
Le condizioni da rispettare sono la partenza immediata alla velocità impostata quando viene fornita l'alimentazione ( o eventualmente se necessario viene chiuso un contatto di consenso) e la regolazione abbastanza costante della velocità.
Chi ha qualche idea in merito?
Grazie
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
hellfire39
God
God
Messaggi: 3435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Controllo PWM per ESC

Messaggio da hellfire39 » domenica 17 maggio 2020, 8:44

Il funzionamento è voluto.
Considera che questi oggetti sono utilizzati su modellini (macchine, elicotteri, droni, ecc...)
Cosa succede se accendo il telecomando e ho la levetta messa al massimo?
Se non ci fosse un meccanismo di protezione, il modellino schizzerebbe via.

Ecco perché, per sicurezza, devi portare la levetta tutta verso l'alto e poi tutta verso il basso. Non appena la porti tutta verso il basso (e quindi con la manetta al minimo) il controllo si ingaggia e puoi iniziare ad utilizzarlo.
Partendo da una situazione di sicurezza.

Di solito, gli smanettoni utilizzano il buon Arduino per questi giochetti. Avendo la libreria per controllare i servo già bella che pronta, lo sforzo di programmazione è molto limitato. Anzi, dovrebbe esserci già un esempio bello e pronto per servo + potenziometro.
Arduino, essendo programmabile, può farsi di nascosto le operazioni di avvio dell'ESC

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » domenica 17 maggio 2020, 9:06

Io smanetto con i PIC e quindi posso con un banale micro della serie 12xx (che con pochissimi componenti esterni è autonomo) realizzare quello che mi serve. Però per quanto riguarda i segnali che devono essere inviati all'ESC sono inGNURAnte a livelli cosmici e quindi mi serve qualche informazione per capire come generare le temporizzazioni e quale sequenza usare per effettuare un corretto avviamento. Purtroppo in rete non ho trovato nulla
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » domenica 17 maggio 2020, 10:54

Curiosando nella rete ho visto qualche applicazione ma non ho capito come è stato realizzato il firmware.
Sembra che sia sufficiente applicare ogni 20ms un impulso a larghezza variabile da 0 a 100% per passare dalla velocità 0 alla velocità massima ma non sono sicuro di ciò che ho dedotto.
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
hellfire39
God
God
Messaggi: 3435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Controllo PWM per ESC

Messaggio da hellfire39 » domenica 17 maggio 2020, 12:32

Palo... :D
Ci sei andato vicino, ma non è proprio così.

I segnali per i servo sono impulsi di larghezza variabile, da 1 ms (pari a 0%) a 2 ms (pari al 100%) spaziati tipicamente 20 ms.

Ma, mentre per il PWM, il valore di comando è dato dal duty cycle, ovvero dalla percentuale di tempo che il segnale sta a 1 rispetto all'intero periodo dell'onda quadra, nel segnale di controllo dei servo si misura il tempo che il segnale sta a 1.
La differenza è minima, ma va capita.

https://en.wikipedia.org/wiki/Servo_control

Con Arduino, al giorno d'oggi, si fatica meno. La libreria è già presente e, senza faticare, hai un segnale funzionante.
Con il Pic, se, hai un pwm, basta che lo configuri con un periodo sui 20 ms e duty cycle appropriato per ottenere impulsi da 1 a 2 millisecondi.

Altrimenti, se il pic non fa altro, con il classico:
- metto a 1
- delay
- metto a zero
- delay

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » lunedì 18 maggio 2020, 7:13

Nel mio caso considerando che mi interessa gestire solo la velocità di rotazione e non la posizione angolare, se ho ben capito devo solo solo dare ogni 20 ms un impulso con un tempo variabile da 1 ms (motore fermo) a 2 ms (motore alla massima velocità). Tutti i valori intermedi tra 1000 e 2000 µs danno il valore di velocità del motore. Per quanto riguarda sequenze di avviamento del motore non dovrebbe servire nulla (per saltare la protezione da avviamenti accidentali). Al limite devo utilizzare una rampa di accelerazione.
Confermi?
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
hellfire39
God
God
Messaggi: 3435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Controllo PWM per ESC

Messaggio da hellfire39 » lunedì 18 maggio 2020, 8:28

Ti confermo che il setpoint di velocità viene dato con impulsi di larghezza variabile da 1 a 2 millisecondi (distanziati di una ventina di millisecondi, più o meno).

Però la sequenza di accensione devi comunque farla. Altrimenti l'ESC non si abilita.
mi interessa gestire solo la velocità di rotazione e non la posizione angolare
Dopotutto, con un ESC, che è un controllore di velocità, puoi fare solo quello!

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » lunedì 18 maggio 2020, 8:35

Per sequenza di accensione intendi dare alimentazione, attendere i vari biiip e poi dare il segnale PWM oppure ci sono altri comandi?
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
hellfire39
God
God
Messaggi: 3435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Controllo PWM per ESC

Messaggio da hellfire39 » lunedì 18 maggio 2020, 9:58

Intendo dare il 100% e poi tornare allo 0% in modo da attivare l'ESC

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » lunedì 18 maggio 2020, 10:23

Ok grazie. Credo di aver capito.
Provo di scrivere qualche riga di codice poi nei prossimi giorni se funziona posto schema elettrico e codice nel caso serva a qualche altro smanettone.
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » domenica 24 maggio 2020, 17:59

Ho iniziato le prove ma mi sfugge qualcosa.
Il motore gira e viene regolato in velocità, ma anche se nel codice ho impostato un tempo che va da 1 a 2 ms con un ingresso analogico che varia da 0 a 5V, in realtà mi trovo che da 2.5 a 5V gira in un senso e tra 2.5 e 0V gira nel senso opposto. Se fosse un servo sarebbe corretto ma in questo caso uso un BLDC e quindi non comprendo dove sbaglio. Se interpreto correttamente lo schema allegato. dovrei avere a 0V 1ms e a 5V 2ms. Dai simulatori (non possiedo l'oscilloscopio quindi vado con i simulatori software) vedo che il firmware fa quello che ho descritto ma evidentemente sbaglio qualcosa.
L'immagine proviene da https://howtomechatronics.com/tutorials ... -esc-bldc/
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » lunedì 25 maggio 2020, 18:07

Ok ci sono riuscito. Con qualche prova ho capito dove era l'errore.
Per chi è interessato allego i file del progetto con il codice ASM e HEX per il PIC, oltre ovviamente allo stampato ( che potrebbe essere fatto su millefori).
Nel firmware è presente l'inizializzazione dell'ESC per evitare di portare a ZERO il potenziometro ad ogni accensione, e una rampa di accelerazione per far arrivare gradualmente il motore alla velocità impostata dal potenziometro.
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » martedì 26 maggio 2020, 9:36

Alcune immagini del tutto............
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
Non sono un genio ma voglio farvi credere che lo sono .........

Avatar utente
hellfire39
God
God
Messaggi: 3435
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Controllo PWM per ESC

Messaggio da hellfire39 » martedì 26 maggio 2020, 9:38

=D>

Giusto una domanda: come mai in assembler?

Avatar utente
Vecchietto67
Senior
Senior
Messaggi: 637
Iscritto il: lunedì 9 ottobre 2017, 7:28
Località: Bologna

Re: Controllo PWM per ESC

Messaggio da Vecchietto67 » martedì 26 maggio 2020, 9:54

E' il formato di file che usavo in passato. Comunque è disponibile il formato .asm, .c, .casm, .hex, .cof , .lst
ovvero tutti quelli generati dal compilatore
Non sono un genio ma voglio farvi credere che lo sono .........

Rispondi

Torna a “Elettronica”