[Automazione] Costruzione di un controllore
Ciao, tra pochi giorni ho l'esame di automatica e sono un pò impanicato... L'esame consiste nel risolvere un controllore utilizzando il metodo della sintesi per tentativi tramite matlab in modo che siano soddisfatte le richieste del testo (errore a regime, rampa unitaria, sovraelongazione, tempo di salita,....). Il problema è che non riesco a capire come leggere queste informazioni dai grafici di matlab e inserire di conseguenza le reti anticipatrici e/o ritardatrici. Faccio un esempio:
Ho il seguente sistema:
[tex]P(s)=\frac{0.025s+0.1}{0.0003315s^3+0.0695s^2+0.645s+1}[/tex]
Devo progettare [tex]G(s)[/tex] tale che rispetti le seguenti caratteristiche:
1) Errore a regime nullo per ingresso di riferimento costante
2) Errore a regime costante inferiore a 0.01 per riferimento a rampa
3) sovraelongazione non superiore al 15%
4) tempo di salita non superiore a 0.3sec.
A lezione il professore lo ha risolto tramite matlab (senza spiegare più di tamto lo svolgimento), riporto di seguito i comandi matlab:
Quello che non mi è chiaro è come faccio a mettere le reti in modo da soddisfare le specifiche.
Grazie.
Ho il seguente sistema:
[tex]P(s)=\frac{0.025s+0.1}{0.0003315s^3+0.0695s^2+0.645s+1}[/tex]
Devo progettare [tex]G(s)[/tex] tale che rispetti le seguenti caratteristiche:
1) Errore a regime nullo per ingresso di riferimento costante
2) Errore a regime costante inferiore a 0.01 per riferimento a rampa
3) sovraelongazione non superiore al 15%
4) tempo di salita non superiore a 0.3sec.
A lezione il professore lo ha risolto tramite matlab (senza spiegare più di tamto lo svolgimento), riporto di seguito i comandi matlab:
clear; clc; clear all; numP=[0.025 0.1]; denP=[0.0003315 0.0695 0.645 1]; processo=tf(numP,denP) pause; %QUI INIVIA PROGRAMMAZIONE CONTROLLORE numG=1001; denG=[1 0]; %RETE ANTICIPATRICE ma=3; taua=2/7; numG=conv(numG,[taua 1]); denG=conv(denG,[taua/ma 1]); %RETE RITARDATRICE mi=10; taui=10^4; numG=conv(numG,[taui/mi 1]); denG=conv(denG,[taui 1]); %QUI TERMINA PROGRAMMAZIONE CONTROLLORE numF=conv(numP,numG); denF=conv(denP,denG); sistema=tf(numF,denF); bode(sistema),grid; pause; nichols(sistema),grid; pause; sysclo=feedback(sistema,1); step(sysclo),grid; pause; bode(sysclo),grid; pause; controllore=tf(numG,denG)
Quello che non mi è chiaro è come faccio a mettere le reti in modo da soddisfare le specifiche.
Grazie.
Risposte
Ad esempio in questo primo grafico della funzione di trasferimento, cosa devo guardare per vedere se le specifiche sono rispettate?