Sommario:
- Passaggio 1: selezione e specifiche dei componenti
- Passaggio 2: costruzione e layout
- Passaggio 3: programmazione di Arduino
- Passaggio 4: test e conclusione
Video: Azionamento di velocità del motore CC: 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo istruibile approfondirà la progettazione, la simulazione, la costruzione e il collaudo di un convertitore da cc a cc in modalità di commutazione e di un controller del sistema di controllo per un motore a corrente continua. Questo convertitore verrà quindi utilizzato per il controllo digitale di un motore in corrente continua in derivazione con un carico. Il circuito sarà sviluppato e testato in diverse fasi.
La prima fase sarà quella di realizzare un convertitore che funzioni a 40V. Questo viene fatto per garantire che non ci siano induttanze parassite da cavi e altri componenti del circuito che possono danneggiare il driver ad alte tensioni. Nella seconda fase il convertitore farà funzionare il motore a 400 V con un carico massimo. Lo stadio finale è controllare la velocità del motore con un carico variabile con l'arduino che controlla un'onda pwm per regolare la tensione.
I componenti non sono sempre economici e quindi è stato fatto un tentativo di costruire il sistema nel modo più economico possibile. Il risultato finale di questa pratica sarà la costruzione di un convertitore cc-cc e di un controller del sistema di controllo per controllare la velocità del motore entro l'1% a un set point in regime stazionario e impostare la velocità entro 2 secondi con un carico variabile.
Passaggio 1: selezione e specifiche dei componenti
Il motore che avevo a disposizione aveva le seguenti specifiche.
Specifiche del motore: Indotto: 380 Vdc, 3,6 A
Eccitazione (shunt): 380 Vdc, 0,23 A
Velocità nominale: 1500 giri/min
Potenza: 1,1 kW
Alimentazione motore DC = 380V
Fotoaccoppiatore e alimentazione driver = 21V
Ciò implicherebbe che la corrente massima e la tensione nominale dei componenti collegati o che controllano il motore avrebbero valori nominali superiori o equivalenti.
Il diodo a ruota libera, etichettato come D1 nello schema elettrico, viene utilizzato per fornire alla fem inversa del motore un percorso per il flusso impedendo alla corrente di invertire e danneggiare i componenti quando l'alimentazione viene interrotta e il motore sta ancora girando (modalità generatore). È valutato per una tensione inversa massima di 600 V e una corrente CC diretta massima di 15 A. Pertanto si può presumere che il diodo del volano sarà in grado di funzionare a un livello di tensione e corrente sufficiente per questo compito.
L'IGBT viene utilizzato per commutare l'alimentazione al motore ricevendo un segnale pwm a 5 V dall'Arduino attraverso l'accoppiatore ottico e il driver IGBT per commutare la tensione di alimentazione del motore a 380 V molto grande. L'IGBT utilizzato ha una corrente continua massima del collettore di 4.5A ad una temperatura di giunzione di 100°C. La tensione massima dell'emettitore del collettore è 600V. Pertanto si può presumere che il diodo del volano sarà in grado di funzionare a un livello di tensione e corrente sufficiente per la pratica. È importante aggiungere un dissipatore di calore all'IGBT preferibilmente di grandi dimensioni. Se gli IGBT non sono disponibili, è possibile utilizzare un MOSFET a commutazione rapida.
L'IGBT ha una tensione di soglia del gate compresa tra 3,75 V e 5,75 V ed è necessario un driver per fornire questa tensione. La frequenza alla quale verrà utilizzato il circuito è di 10 kHz, quindi i tempi di commutazione dell'IGBT devono essere ordini più veloci di 100 us, il tempo di un'onda intera. Il tempo di commutazione per l'IGBT è di 15 ns, il che è sufficiente.
Il driver TC4421 selezionato ha tempi di commutazione di almeno 3000 volte l'onda PWM. Ciò garantisce che il driver sia in grado di cambiare abbastanza velocemente per il funzionamento del circuito. Il driver è necessario per fornire più corrente di quella che Arduino può fornire. Il driver ottiene la corrente necessaria per far funzionare l'IGBT dall'alimentatore invece di estrarlo dall'Arduino. Questo serve a proteggere l'Arduino perché prelevare troppa potenza surriscalda l'Arduino e uscirà del fumo e l'Arduino verrà distrutto (provato e testato).
Il driver sarà isolato dal microcontrollore che fornisce l'onda PWM utilizzando un fotoaccoppiatore. Il fotoaccoppiatore Isola completamente l'Arduino che è la parte più importante e preziosa del tuo circuito.
Per motori con parametri diversi è necessario sostituire solo l'IGBT con uno con caratteristiche simili al motore che sarà in grado di gestire la tensione inversa e la corrente continua del collettore necessarie.
Un condensatore WIMA viene utilizzato insieme a un condensatore elettrolitico attraverso l'alimentazione del motore. Questo immagazzina una carica per stabilizzare l'alimentazione e, soprattutto, aiuta ad eliminare le induttanze dai cavi e dai connettori nel sistema
Passaggio 2: costruzione e layout
Il layout del circuito è stato definito in modo da ridurre al minimo la distanza tra i componenti per eliminare le induttanze non necessarie. Ciò è stato fatto soprattutto nel ciclo tra il driver IGBT e l'IGBT. È stato fatto un tentativo di eliminare il rumore e lo squillo con grandi resistenze che sono state messe a terra tra Arduino, Optoaccoppiatore, Driver e IGBT.
I componenti sono saldati su una Veroboard. Un modo semplice per costruire il circuito è disegnare i componenti dello schema elettrico sulla veroboard prima di iniziare a saldare. Saldare in un'area ben ventilata. Gratta il percorso conduttivo di con un file per creare uno spazio tra i componenti che non dovrebbero essere collegati. Utilizzare i pacchetti DIP in modo che i componenti possano essere facilmente sostituiti. Questo aiuta quando i componenti non riescono a non doverli saldare e risaldare la parte di ricambio.
Ho usato spine a banana (prese nere e rosse) per collegare facilmente i miei alimentatori alla veroboard, questo può essere saltato e i fili possono essere saldati direttamente sul circuito.
Passaggio 3: programmazione di Arduino
L'onda pwm viene generata includendo la libreria Arduino PWM (allegata come file ZIP). Un controller PI (regolatore proporzionale integrale) viene utilizzato per controllare la velocità del rotore. Il guadagno proporzionale e integrale può essere calcolato o stimato fino ad ottenere tempi di assestamento e sovraelongazioni sufficienti.
Il controller PI è implementato nel ciclo while() di Arduino. Il Tachimetro misura la velocità del rotore. Questo ingresso di misura all'arduino in uno degli ingressi analogici utilizzando analogRead. L'errore viene calcolato sottraendo la velocità corrente del rotore dalla velocità del rotore di riferimento e impostata uguale all'errore. L'integrazione temporale è stata eseguita aggiungendo il campione di volta in volta ad ogni ciclo e impostandolo uguale al tempo e aumentando così ad ogni iterazione del ciclo. Il ciclo di lavoro che l'arduino può emettere varia da 0 a 255. Il ciclo di lavoro viene calcolato e inviato al pin PWM dell'uscita digitale selezionato con pwmWrite dalla libreria PWM.
Implementazione del controller PI
doppio errore = ref - rpm;
Tempo = Tempo + 20e-6;
double pwm = iniziale + kp * errore + ki * Tempo * errore;
Implementazione di PWM
doppio sensore = analogRead(A1);
pwmWrite(3, pwm-255);
Il codice completo del progetto può essere visto nel file ArduinoCode.rar. Il codice nel file è stato adattato per un driver invertente. Il driver invertente ha avuto il seguente effetto sul ciclo di lavoro del circuito, ovvero new_dutycycle = 255 -dutycycle. Questo può essere cambiato per i driver non invertenti invertendo l'equazione di cui sopra.
Passaggio 4: test e conclusione
Il circuito è stato infine testato e sono state effettuate misurazioni per determinare se il risultato desiderato è stato raggiunto. Il controller è stato impostato su due diverse velocità e caricato su arduino. Gli alimentatori si sono accesi. Il motore accelera rapidamente oltre la velocità desiderata, quindi si stabilizza alla velocità selezionata.
Questa tecnica di controllo di un motore è molto efficace e funzionerebbe su tutti i motori CC.
Consigliato:
Motore passo-passo controllato da motore passo-passo - Motore passo-passo come encoder rotativo: 11 passaggi (con immagini)
Motore passo-passo controllato da motore passo-passo | Motore passo-passo come encoder rotativo: hai un paio di motori passo-passo in giro e vuoi fare qualcosa? In questo Instructable, utilizziamo un motore passo-passo come encoder rotativo per controllare la posizione di un altro motore passo-passo utilizzando un microcontrollore Arduino. Quindi, senza ulteriori indugi, ge
Azionamento del motore proporzionale Atmega128A - Timer ATMEL ICE AVR Controllo UART PWM: 4 passaggi
Atmega128A Proportional Motor Driving - ATMEL ICE AVR Timer Controllo UART PWM: in questo tutorial, ti spiegherò come controllare un motore DC con comunicazione PWM tramite gli interrupt del timer della maniglia UART Prima di tutto, useremo una scheda di sviluppo del sistema AVR Core che puoi trovare su Aliexpress intorno ai 4 USD. La scheda di sviluppo
Come far funzionare il motore DC brushless Drone Quadcopter utilizzando il controller di velocità del motore brushless HW30A e il servo tester: 3 passaggi
Come eseguire il motore DC brushless Drone Quadcopter utilizzando il controller di velocità del motore brushless HW30A e il servo tester: Descrizione: questo dispositivo è chiamato Servo Motor Tester che può essere utilizzato per far funzionare il servomotore semplicemente collegandolo al servomotore e alimentandolo. Il dispositivo può essere utilizzato anche come generatore di segnale per il regolatore di velocità elettrico (ESC), quindi è possibile
Usa un motore di azionamento CC per tapis roulant e un controller di velocità PWM per gli strumenti di alimentazione: 13 passaggi (con immagini)
Utilizzare un motore di azionamento CC per tapis roulant e un controller di velocità PWM per utensili elettrici: utensili elettrici come frese e torni per il taglio di metalli, trapani a colonna, seghe a nastro, levigatrici e altro possono richiedere. Motori da 5 HP a 2 HP con la capacità di regolare la velocità mantenendo la coppia .Per coincidenza la maggior parte dei tapis roulant utilizza un motore da 80-260 VDC con
Come controllare il motore DC brushless Drone Quadcopter (tipo 3 fili) utilizzando il controller di velocità del motore HW30A e Arduino UNO: 5 passaggi
Come controllare il motore DC brushless Drone Quadcopter (tipo 3 fili) utilizzando il controller di velocità del motore HW30A e Arduino UNO: Descrizione: Il controller di velocità del motore HW30A può essere utilizzato con batterie LiPo da 4-10 NiMH/NiCd o 2-3 celle. Il BEC è funzionale con un massimo di 3 celle LiPo. Può essere utilizzato per controllare la velocità del motore Brushless DC (3 fili) con un massimo fino a 12Vdc.Specific