controllo della velocità del motore CC utilizzando l'algoritmo pid (stm32f4)
Casa » Blog » controllo della velocità del motore DC utilizzando l'algoritmo pid (stm32f4)

controllo della velocità del motore CC utilizzando l'algoritmo pid (stm32f4)

Visualizzazioni: 0     Autore: Editor del sito Orario di pubblicazione: 2020-09-02 Origine: Sito

Informarsi

pulsante di condivisione di Facebook
pulsante di condivisione su Twitter
pulsante di condivisione della linea
pulsante di condivisione wechat
pulsante di condivisione linkedin
pulsante di condivisione di Pinterest
pulsante di condivisione di whatsapp
pulsante di condivisione Kakao
pulsante di condivisione di Snapchat
pulsante di condivisione del telegramma
condividi questo pulsante di condivisione

Ciao a tutti, sono Tahir ul Haq di un altro progetto.
Questa volta è stato il momento di fare l'MC utilizzato dal 407-11-2017.
Questa è la fine del programma di medio termine.
Spero che ti piaccia.
Richiede molti concetti e teorie, quindi diamo un'occhiata prima.
Con l’avvento dei computer e del processo industrializzato, nella storia degli esseri umani sono state effettuate ricerche per sviluppare metodi per ridefinire il processo e, cosa più importante, per utilizzare macchine per controllare il processo in modo autonomo.
L’obiettivo è ridurre la partecipazione umana a questi processi, riducendo così gli errori in questi processi.
Così è nato il campo della \'ingegneria dei sistemi di controllo\'.
L'ingegneria del sistema di controllo può essere definita come l'uso di vari metodi per controllare il lavoro del processo o il mantenimento di un ambiente costante e preferito, sia manuale che automatico.
Un semplice esempio è controllare la temperatura della stanza.
Il controllo manuale si riferisce alla presenza di una persona che verifica le condizioni attuali sul posto (sensore)
, con le aspettative (elaborazione)
e intraprende le azioni appropriate per ottenere il valore desiderato (attuatore).
Il problema con questo approccio è che non è molto affidabile perché si è soggetti a errori o negligenze sul lavoro.
Inoltre, un altro problema è che la velocità del processo avviato dall'attuatore non è sempre uniforme, il che significa che a volte può essere più veloce della velocità richiesta, a volte può essere lenta.
La soluzione a questo problema è utilizzare un microcontrollore per controllare il sistema.
Secondo le specifiche fornite, il microcontrollore è programmato per controllare il processo di connessione nel circuito (
Discutere più avanti)
Il valore o la condizione di, controllando così il processo per mantenere il valore desiderato.
Il vantaggio di questo processo è che non è necessario l'intervento umano in questo processo.
Inoltre, la velocità di questo processo è costante.
Prima di procedere, è fondamentale determinare i vari termini a questo punto: Controllo del feedback: in questo sistema, l'input in un determinato momento dipende da una o più variabili, incluso l'output del sistema.
Feedback negativo: In questo sistema, riferimento (ingresso)
Come feedback, l'errore viene sottratto e la fase dell'ingresso è di 180 gradi.
Feedback positivo: in questo sistema, gli errori di riferimento (input)
vengono aggiunti quando feedback e input sono in fase.
Segnale di errore: la differenza tra l'output desiderato e l'output effettivo.
Sensore: un dispositivo utilizzato per rilevare un certo numero di dispositivi in ​​un circuito.
Di solito viene posizionato nell'output o ovunque vogliamo effettuare delle misurazioni.
Processore: parte del sistema di controllo che viene elaborata in base ad algoritmi di programmazione.
Richiede alcuni input e produce alcuni output.
Attuatore: nel sistema di controllo, l'attuatore viene utilizzato per eseguire eventi in base al segnale generato dal microcontrollore per influenzare l'uscita.
Sistema a circuito chiuso: un sistema con uno o più circuiti di feedback.
Sistema a ciclo aperto: non esiste un sistema per il ciclo di feedback.
Tempo di salita: il tempo necessario affinché l'uscita salga dal 10% dell'ampiezza massima del segnale al 90%.
Drop Time: il tempo necessario affinché l'output scenda dal 90% al 10%.
Superamento del picco: il superamento del picco è la quantità di uscita che supera il suo valore di stato stazionario (
normale durante la risposta transitoria del sistema).
Tempo stabile: il tempo necessario affinché l'uscita raggiunga uno stato stabile.
Errore di stato stazionario: la differenza tra la produzione effettiva e quella prevista una volta che il sistema raggiunge lo stato stazionario. L'immagine sopra mostra una versione molto semplificata del sistema di controllo.
Il microcontrollore è il nucleo di qualsiasi sistema di controllo.
Questo è un componente molto importante, quindi dovrebbe essere selezionato attentamente in base ai requisiti del sistema.
Il microcontrollore riceve input dall'utente.
Questo input definisce le condizioni richieste per il sistema.
Il microcontrollore riceve anche input dal sensore.
Il sensore è collegato all'uscita e le sue informazioni vengono restituite all'ingresso.
Questo input può anche essere chiamato feedback negativo.
Il feedback negativo è stato spiegato in precedenza.
In base alla sua programmazione, il microprocessore esegue vari calcoli e invia all'attuatore.
L'impianto di controllo degli attuatori basato sull'output tenta di mantenere queste condizioni.
Un esempio potrebbe essere il macchinista che guida il motore, dove il macchinista è il macchinista e il motore è la fabbrica.
Pertanto, il motore ruota ad una determinata velocità.
Il sensore collegato legge lo stato della fabbrica attuale e lo trasmette al microcontrollore.
Il microcontrollore viene nuovamente confrontato e calcolato, quindi il ciclo viene ripetuto.
Il processo è ripetitivo e infinito e il microcontrollore può mantenere le condizioni desiderate.
Ecco due modi principali per controllare la velocità del motore CC)
Controllo manuale della tensione: nelle applicazioni industriali, il meccanismo di controllo della velocità del motore CC è fondamentale.
A volte potremmo aver bisogno di velocità superiori o inferiori al normale.
Pertanto, abbiamo bisogno di un metodo di controllo della velocità efficace.
Il controllo della tensione di alimentazione è uno dei metodi di controllo della velocità più semplici.
Possiamo cambiare la tensione per cambiare la velocità. b)
Controllare il PWM utilizzando il PID: un altro modo più efficiente è utilizzare un microcontrollore.
Il motore DC è collegato al microcontrollore tramite il driver del motore.
Il driver del motore è un IC che riceve l'ingresso PWM (
modulazione della larghezza dell'impulso)
dal microcontrollore e l'uscita al motore CC in base all'ingresso. Figura
1.2: Capitolo 1 del segnale PWM.
Introduzione 3 Considerando il segnale PWM, è possibile spiegare innanzitutto il funzionamento del PWM.
Consiste in impulsi continui per un certo periodo di tempo.
Il periodo di tempo è il tempo trascorso da un punto che si muove a una distanza pari a una lunghezza d'onda.
Questi impulsi possono avere solo valori binari (HIGH o LOW).
Abbiamo anche altre due quantità, l'ampiezza dell'impulso e il ciclo di lavoro.
L'ampiezza dell'impulso è il tempo in cui l'uscita PWM è alta.
Il ciclo di lavoro è la percentuale dell'ampiezza dell'impulso rispetto al periodo di tempo.
Per il resto del periodo la produzione è bassa.
Il ciclo di lavoro controlla direttamente la velocità del motore.
Se il motore CC fornisce una tensione positiva entro un certo periodo di tempo, si sposterà ad una certa velocità.
Se viene fornita tensione positiva per un periodo di tempo più lungo, la velocità sarà maggiore.
Pertanto, il ciclo di lavoro del PWM può essere modificato modificando l'ampiezza dell'impulso.
Modificando il ciclo di lavoro del motore CC, è possibile modificare la velocità del motore.
Controllo della velocità per problemi con motori DC: il problema con il primo metodo di controllo della velocità è che la tensione può cambiare nel tempo.
Questi cambiamenti significano velocità irregolare.
Pertanto, il primo metodo è indesiderabile.
Soluzione: utilizziamo il secondo metodo per controllare la velocità.
Usiamo l'algoritmo PID per integrare il secondo metodo.
Il PID rappresenta la derivata integrale proporzionale.
Nell'algoritmo PID, la velocità attuale del motore viene misurata e confrontata con la velocità desiderata.
Questo errore viene utilizzato per calcoli complessi per modificare il ciclo di lavoro del motore in base al tempo.
C'è questo processo in ogni ciclo.
Se la velocità supera la velocità desiderata, il ciclo di lavoro viene ridotto e aumenta se la velocità è inferiore alla velocità desiderata.
Questa regolazione non viene effettuata finché non viene raggiunta la velocità migliore.
Controllare e controllare costantemente questa velocità.
Di seguito sono riportati i componenti del sistema utilizzati in questo progetto e una breve introduzione ai dettagli di ciascun componente.
STM 32F407: microcontrollore progettato da ST Micro-section.
Funziona sull'ARM Cortex. Architettura M.
È al primo posto della sua famiglia con un'elevata frequenza di clock di 168 MHz.
Driver motore L298N: questo circuito integrato viene utilizzato per far funzionare il motore.
Ha due ingressi esterni.
Uno dal microcontrollore.
Il microcontrollore fornisce un segnale PWM.
La velocità del motore può essere regolata regolando l'ampiezza dell'impulso.
Il suo secondo ingresso è la sorgente di tensione necessaria per azionare il motore.
Motore CC: il motore CC funziona con l'alimentazione CC.
In questo esperimento il motore DC viene azionato tramite un accoppiamento fotoelettrico collegato al driver del motore.
Sensore a infrarossi: il sensore a infrarossi è in realtà un ricetrasmettitore a infrarossi.
Invia e riceve onde infrarosse che possono essere utilizzate per eseguire varie attività.
Accoppiatore ottico encoder IR 4N35: l'accoppiatore ottico è un dispositivo utilizzato per isolare la parte a bassa tensione del circuito e la parte ad alta tensione.
Come suggerisce il nome, funziona sulla base della luce.
Quando la parte a bassa tensione riceve il segnale, la corrente scorre nella parte ad alta tensione.
Il sistema è un sistema di controllo della velocità.
Come accennato in precedenza, il sistema è implementato utilizzando il PID proporzionale integrale e derivativo.
Il sistema di controllo della velocità ha i componenti di cui sopra.
La prima parte è il sensore di velocità.
Il sensore di velocità è un circuito trasmettitore e ricevitore a infrarossi.
Quando il solido passa attraverso la fessura a forma di U, il sensore entra in uno stato basso.
Normalmente è in uno stato elevato.
L'uscita del sensore è collegata ad un filtro passa basso per eliminare l'attenuazione causata dal transitorio generato quando cambia lo stato del sensore.
Il filtro passa basso è costituito da resistori e condensatori.
I valori sono stati selezionati come richiesto.
Il condensatore utilizzato è 1100nf e la resistenza utilizzata è di circa 25 ohm.
Il filtro passa-basso elimina le condizioni transitorie non necessarie che potrebbero comportare letture aggiuntive e valori inutili.
Il filtro passa-basso viene quindi emesso attraverso il condensatore al pin digitale di ingresso del microcontrollore stm.
L'altra parte è il motore controllato da pwm fornito dal microcontrollore stm.
Questa impostazione è dotata di isolamento elettrico utilizzando l'accoppiatore ottico ic.
L'accoppiatore ottico include un LED che emette luce all'interno del pacchetto circuito integrato e quando viene fornito un impulso elevato al terminale di ingresso, cortocircuita il terminale di uscita.
Il terminale di ingresso fornisce pwm attraverso un resistore che limita la corrente del led collegato all'accoppiatore ottico.
Un resistore di discesa è collegato all'uscita in modo che quando il terminale è cortocircuitato, la tensione viene generata sul resistore di discesa e il pin collegato al terminale sul resistore riceve uno stato alto.
L'uscita dell'accoppiatore fotoelettrico è collegata a IN1 del circuito integrato del driver del motore che mantiene l'altezza del pin di abilitazione.
Quando il ciclo di lavoro pwm cambia all'ingresso dell'accoppiatore ottico, il pin del driver del motore commuta il motore e controlla la velocità del motore.
Dopo il PWM fornito al motore, il driver del motore fornisce solitamente una tensione di 12 volt.
Il driver del motore consente quindi al motore di funzionare.
Introduciamo l'algoritmo che abbiamo utilizzato nell'implementazione di questo progetto di regolazione della velocità del motore.
La pwm del motore è fornita da un unico timer.
La configurazione del timer viene effettuata e impostata per fornire pwm.
Quando il motore si avvia, fa ruotare la fessura fissata all'albero del motore.
La fessura passa attraverso la cavità del sensore e produce un impulso basso.
A impulsi bassi, il codice si avvia e attende che la fessura si muova.
Una volta che la fessura scompare, il sensore fornisce uno stato alto e il timer inizia a contare.
Il timer ci fornisce il tempo tra le due fenditure.
Ora, quando appare un altro impulso basso, l'istruzione IF viene eseguita nuovamente, aspettando il successivo fronte di salita e fermando il contatore.
Dopo aver calcolato la velocità, calcolare la differenza tra la velocità e il valore di riferimento effettivo e fornire il pid.
Pid calcola il valore del duty cycle che raggiunge il valore di riferimento in un dato istante.
Questo valore viene fornito a CCR (
registro di confronto).
A seconda dell'errore, la velocità del timer viene ridotta o aumentata.
Il codice Atollic Truestudio è stato implementato.
Potrebbe essere necessario installare STM studio per il debug.
Importa il progetto in STM studio e importa le variabili che desideri visualizzare.
Il leggero cambiamento riguarda il 2017-11-4xx.
Cambia la frequenza dell'orologio con precisione in un file h a 168 MHz.
Lo snippet di codice è stato fornito sopra.
La conclusione è che la velocità del motore è controllata utilizzando il PID.
Tuttavia, la curva non è esattamente una linea liscia.
Ci sono molte ragioni per questo: sebbene il sensore collegato al filtro passa-basso presenti ancora alcuni difetti, questi sono dovuti ad alcuni motivi inevitabili per resistori non lineari e dispositivi elettronici analogici, il motore non può ruotare agevolmente a bassa tensione o pwm.
Fornisce stronzi che potrebbero far sì che il sistema inserisca un valore sbagliato.
A causa del jitter, il sensore potrebbe perdere qualche fessura che fornisce un valore più alto e il motivo principale di un altro errore potrebbe essere la frequenza del core clock dell'stm.
Il core clock di STM è 168 MHz.
Sebbene questo problema sia stato affrontato in questo progetto, esiste un concetto olistico di questo modello che non fornisce una frequenza così elevata.
La velocità ad anello aperto fornisce una linea molto fluida con solo pochi valori imprevisti.
Anche il PID funziona e fornisce un tempo di stabilità del motore molto basso.
Il PID del motore è stato testato a varie tensioni che hanno mantenuto costante la velocità di riferimento.
La variazione di tensione non modifica la velocità del motore, indicando che il PID funziona.
Ecco alcuni segmenti dell'output finale del PID. a)
Circuito chiuso a 110 giri al minutob)
Circuito chiuso a 120 giri al minutoQuesto progetto non potrebbe essere completato senza l'aiuto dei membri del mio gruppo.
Voglio ringraziarli.
Grazie per aver guardato questo progetto.
Spero di aiutarti.
Per favore, aspettatevi di più.
Continua a benedire prima :)

Il gruppo HOPRIO, un produttore professionale di controller e motori, è stato fondato nel 2000. Sede del gruppo nella città di Changzhou, provincia di Jiangsu.

Collegamenti rapidi

Contattaci

WhatsApp: +86 18921090987 
Tel: + 18921090987 
Aggiungere: No.19 Mahang South Road, distretto high-tech di Wujin, città di Changzhou, provincia di Jiangsu, Cina 213167
Lasciate un messaggio
CONTATTACI
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Tutti i diritti riservati. Mappa del sito | politica sulla riservatezza