Esiste una frequenza PWM ideale per i motori a spazzole CC?


26

Userò un microcontrollore per creare un segnale PWM per il controllo del motore. Capisco come funzionano PWM e duty cycle, tuttavia non sono sicuro di una frequenza ideale. Non ho ancora il motore inserito, quindi non posso semplicemente provarlo e scoprirlo.

Questo è il grafico delle prestazioni specifiche.

Non varierò la tensione, ma solo quando riceverà una determinata tensione. Quindi posso assumere una risposta lineare? Con un dazio del 10% e un'alimentazione a 24 V funzionerebbe a una velocità di 15 giri / min?

Se fa la differenza, includerò l'installazione. Sto correndo 24 V direttamente su un ponte a H che controlla il motore. Ovviamente ho due pin PWM che vanno dall'MCU alle porte dei due MOSFET abilitati.

EDIT: Siamo spiacenti, il collegamento non sembra funzionare. Immagino che al firewall al lavoro non piaccia imgur. L'immagine mostra un grafico di RPM vs Tensione. È lineare da 50 RPM a 8 V a 150 RPM a 24 V.

Risposte:


34

In breve:

Hai il controllo lineare della 'velocità' applicando un segnale pwm, ora la frequenza di quel segnale deve essere abbastanza alta in modo che il tuo motore DC passi solo il componente DC del segnale PWM, che è solo la media. Pensa al motore come a un filtro passa basso. Se osservi la funzione di trasferimento o la relazione tra la velocità angolare e la tensione, questo è ciò che hai:

Questo è il modello del primo ordine di un motore a corrente continua o semplicemente un filtro passa basso con frequenza di taglio

ω(s)V(s)=Kτs+1
fc=12πτ

Dove è la costante di tempo del motore. Finché la frequenza è oltre il limite, il motore vedrà solo la parte CC o la media del segnale PWM e si avrà una velocità in accordo con il duty cycle PWM. Certo, ci sono alcuni compromessi che dovresti considerare se vai con un'alta frequenza ...τ

Lunga storia:

Teoricamente, dovresti conoscere la costante di tempo del motore per scegliere la frequenza PWM "giusta". Come probabilmente saprai, il tempo impiegato dal motore per raggiungere quasi il 100% del suo valore finale è

tfinal5τ

La frequenza PWM deve essere abbastanza alta da consentire al motore (essenzialmente un filtro passa basso) di calcolare la media della tensione di ingresso, che è un'onda quadra. Esempio, supponiamo che tu abbia un motore con una costante di tempo . Userò un modello del primo ordine per simulare la sua risposta a diversi periodi PWM. Questo è il modello del motore DC: ωτ=10ms

ω(s)V(s)=K103s+1

Lasciamo per semplicità.k=1

inserisci qui la descrizione dell'immagine

Ma soprattutto, ecco le risposte che stiamo esaminando. Per questo primo esempio, il periodo PWM è e il ciclo di lavoro è del 50%. Ecco la risposta dal motore:3τ

inserisci qui la descrizione dell'immagine

Il grafico giallo è il segnale PWM (duty cycle del 50% e periodo ) e quello viola è la velocità del motore. Come puoi vedere, la velocità del motore oscilla ampiamente perché la frequenza del PWM non è abbastanza alta.3τ=30ms

0.1τ=1ms

inserisci qui la descrizione dell'immagine

fs52πτ

Questa è solo una spiegazione molto teorica su come scegliere la frequenza PWM. Spero che sia d'aiuto!


2
Buona risposta. Si potrebbe chiarire che nel dire " il tempo impiegato dal motore per raggiungere quasi il 100% del suo valore finale " si intende il valore corrente finale o totale . I lettori possono confonderlo con una velocità del 100% o chissà cosa?
Transistor,

Questo è stato molto istruttivo! Non sono un EE, quindi non sono estremamente istruito in questo. Probabilmente proverò solo frequenze diverse fino a quando non avrò una risposta che mi piace in tutto lo spettro in cui devo operare. Tuttavia, terrò a mente questo quando eseguirò quella configurazione! . Ho una domanda però. Hai detto che questi numeri erano tutti molto teorici, ma potresti dare un ball ball della costante di tempo prevista? È un motore a 24 V cc che assorbe al massimo 300 mA.
Nate San,

1
@NateSan Grazie! Come una delle risposte, che sono davvero buone, il meglio che puoi fare è iniziare con frequenze nella gamma KHz, come ad esempio 2KHz. Non c'è modo di stimare la costante di tempo in base alle informazioni fornite o almeno non lo so. Puoi trovarlo sperimentalmente, ma stai meglio provando solo frequenze diverse finché non ti avvicini a quello che vuoi.
Big6,

I fatti presentati non supportano la conclusione: entrambi i grafici hanno una media di 0,5. Penso che questo rifletta la realtà, la linearità non dipende dalla frequenza PWM. L'unico compromesso da fare è l'ondulazione di corrente / coppia e il rumore sul lato inferiore e la corrente parassita e le perdite di commutazione sul lato superiore.
alain,

1
@PageDavid È passato un momento da quando l'ho fatto, ma puoi misurarlo sperimentalmente applicando una tensione di ingresso al motore e vedere quanto tempo impiega la velocità angolare a raggiungere il 63,2% del suo valore finale. Potrebbe essere necessario ripetere l'iterazione un paio di volte e trovare la media (anche se dovrebbe essere abbastanza vicina da una misurazione all'altra). Per questo avresti bisogno dell'attrezzatura giusta, come tachimetri / altri strumenti. Forse questo link ti aiuterà: mech.utah.edu/~me3200/labs/motors.pdf o google "trova costante di tempo motore cc" - questo è uno degli esperimenti più comuni nel corso dei controlli di introduzione.
Big6,

9

Il tuo motore è probabilmente abbassato, perché 150 rpm sono solo 2,5 giri al secondo. A 50 rpm, il motore richiederà più di un secondo per eseguire un giro.

Detto questo, gli interruttori nel tuo h-bridge non dissipano molta potenza quando sono accesi (essenzialmente zero volt) o quando sono spenti (zero corrente). Hanno solo tensione e corrente presenti quando cambiano, quindi una frequenza di commutazione più alta significa più calore nei tuoi FET.

Resta nel range 5-20 KHz e probabilmente sarai al sicuro. Se si scende troppo in basso, l'ondulazione della corrente del motore (e l'ondulazione della coppia) potrebbero essere evidenti, ma è possibile sperimentare questo. Troppo più in alto e riscalderai i tuoi interruttori. Potresti anche voler andare verso l'estremità superiore per uscire dalla gamma udibile.


È un motore per una pompa peristaltica, non sono sicuro dell'ingranaggio. Quindi stai dicendo che se avessi eseguito il PWM a 20 KHz avrei potuto variare il ciclo di lavoro tra 0 e 100 per ottenere un cambiamento quasi lineare in RPM (che si traduce in portata della pompa per me).
Nate San,

Se gli interruttori si surriscaldano non è a causa della frequenza operativa (comunque non inferiore a 1 MHz). Come hai affermato, la maggior parte delle perdite di commutazione si verificano quando il FET non è né completamente acceso o spento. Il trucco per mantenerli freschi è guidare il loro cancello abbastanza forte da ridurre al minimo Ton e Toff. Scegli FET con bassa carica di gate, Toff a bassa tonnellata e RDSon basso.
Drunken Code Monkey,

7

Un motore pratico si comporta approssimativamente come un resistore e un induttore in serie con un motore reale. Per un funzionamento efficiente è necessario passare tra il collegamento del motore all'alimentazione e il cortocircuito. Mentre il motore è collegato all'alimentazione, la corrente diventerà più positiva. Quando è in corto, diventerà più negativo. L'efficienza diminuirà notevolmente se la corrente cambia polarità, perché il motore trascorrerà parte di ogni ciclo cercando di combattere meccanicamente ciò che sta facendo in altre parti.

Dal punto di vista del motore stesso, l'efficienza sarà al suo meglio quando la velocità PWM è il più alta possibile. Due fattori limitano la velocità PWM ottimale, tuttavia:

  1. Molti motori hanno un condensatore in parallelo con loro nel tentativo di ridurre al minimo le interferenze elettromagnetiche. Ogni ciclo PWM dovrà caricare e scaricare quel tappo, sprecando un pieno carico di energia. Le perdite qui saranno proporzionali alla frequenza.

  2. Molti switch H-bridge impiegano un certo tempo per passare; mentre stanno cambiando, gran parte del potere che entra in loro sarà sprecato. Man mano che le durate di accensione e spegnimento del PWM si riducono verso il punto in cui il bridge sta trascorrendo la maggior parte del tempo di commutazione attivo o inattivo, le perdite di commutazione aumenteranno.

La cosa più critica è che la velocità PWM sia abbastanza veloce da non far combattere il motore. Andare più veloce oltre questo migliorerà in qualche modo l'efficienza del motore, ma a scapito di aumentare le altre perdite di cui sopra. A condizione che non ci sia troppa capacità parallela, in genere ci sarà una gamma abbastanza ampia di frequenze dove le perdite PWM sono minime e la polarità della corrente del motore rimane in avanti; una frequenza da qualche parte vicino al centro di quell'intervallo sarà probabilmente la migliore, ma qualsiasi cosa all'interno di quell'intervallo dovrebbe essere adeguata.


In realtà non lo metterò a terra durante il periodo di spegnimento, l'attrito fermerà il motore molto rapidamente. Quindi non ho visto un motivo per non lasciarlo fluttuare tra i periodi di servizio.
Nate San,

@NateSan: Poiché il motore ha induttanza, la corrente si continuerà a scorrere anche quando si tenta di spegnerlo. Il cortocircuito del motore consentirà all'energia di continuare a svolgere un lavoro utile durante il periodo di spegnimento e ridurrà la quantità di energia necessaria per dissipare all'esterno del motore
supercat

In alternativa, utilizzare un diodo flyback. Per un carico induttivo (ad es. Motore) è importante avere un percorso per la corrente quando l'alimentazione è disattivata, per evitare un picco di tensione che potrebbe uccidere il transistor di commutazione.
Craig McQueen,

@CraigMcQueen: un diodo flyback cortocircuita efficacemente il motore mentre la corrente diretta continua, meno una caduta di 0,7 volt. A 24 V CC, la caduta di 0,7 V potrebbe non essere un problema, ma le prestazioni sarebbero migliori senza di essa.
supercat,

@supercat: Qual è la tua alternativa consigliata per cortocircuitare il motore nello stato "off"? Un secondo FET? Potresti mostrare o fare riferimento a uno schema circuitale di esempio?
Craig McQueen,

3

Ho progettato e lavorato su un sistema di controllo della posizione / velocità PWM che ha guidato 16 motori DC a spazzole alcuni anni fa. Stavamo acquistando da Mabuchi, che all'epoca vendeva motori 350M. Hanno raccomandato una frequenza PWM a 2 kHz che rispondeva alle raccomandazioni di altre fonti, inclusi gli aerei R / C dell'epoca. Abbiamo avuto buoni risultati e l'ho usato da allora.

C'è una teoria secondo cui una frequenza superiore a 20 kHz non significa fischio / rumore ma abbiamo scoperto che non era vero. Non ne conosco la vera fisica, ma c'è un movimento meccanico che puoi sentire. Io, giustamente o erroneamente, ho ritenuto che fossero le sub-armoniche (frase giusta?) Della frequenza mentre bobine o componenti tentano di spostarsi leggermente all'alta frequenza ma non riescono a tenere il passo. Ho caricabatterie per telefoni cellulari a casa che sento chiaramente fischiare e so che i loro oscillatori PWM funzionano bene fino a 100 kHz. (In effetti, spesso spengo quello in cucina quando lo oltrepasso perché sento il fischio "senza carico" acuto quando nessun telefono è collegato. Sento anche il tono che si abbassa e si abbassa quando il telefono viene collegato per la prima volta .)


2

A volte è desiderabile rimanere al di sopra della frequenza udibile (20KhZ) se il motore e il driver lo supportano. Se fosse una persona può sentirlo, una frequenza acuta costante può essere fastidiosa. I giovani possono sentirlo, dopo i 40 anni, si assottiglia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.