Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Settare PID da risposta al gradino

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[1] Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 14 feb 2019, 18:04

Salve a tutti, sto lavorando alla tesi di laurea, in pratica utizizzando arduino e un modulo L298H, devo controllare un motorino in posizione, con interfaccia grafica in matlab.Ho già implementato il codice di controllo e funziona perfettamente. Il professore mi ha chiesto di fare la risposta al gradino e poi da li ricavare analiticamente i parametri per tarare il PID.Ho però alcuni dubbi.
La risposta al gradino la faccio dando in ingresso la tensione e plottando in uscita la velocità del motorino, in quanto se plottassi la posizione otterrei una risposta divergente. E' sbagliato?
Se do per buona la risposta al gradino con uscita la velocità e da li ricavo costante di tempo e guadagno per poi calcolare col metodo di ziegler-nichols a catena aperta ottego una taratura del PID non corretta.
Dove sbaglio?
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

0
voti

[2] Re: Settare PID da risposta al gradino

Messaggioda Foto UtenteEcoTan » 14 feb 2019, 18:11

tino20 ha scritto: utizizzando arduino e un modulo L298H, devo controllare un motorino in posizione

Significa che al gradino di tensione che dai in ingresso, il sistema deve rispondere con un gradino di posizione.
C'è un encoder di posizione? Un potenziometro? E' un motore stepper?
Avatar utente
Foto UtenteEcoTan
5.360 4 10 13
Expert EY
Expert EY
 
Messaggi: 3248
Iscritto il: 29 gen 2014, 8:54

0
voti

[3] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 14 feb 2019, 18:16

La tensione in ingresso la do tramite arduino, quindi PWM,io inserisco il valore di cui intendo far ruotare il motore e deve ruotare di tale valore. C'è un encoder di posizione e il motorino non è uno stepper.

Per quanto riguarda la risposta al gradino do invece in ingresso la tensione e plotto in uscita la velocità.
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

2
voti

[4] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentedimaios » 15 feb 2019, 10:43

Parli di risposta al gradino ....

tino20 ha scritto:Il professore mi ha chiesto di fare la risposta al gradino e poi da li ricavare analiticamente i parametri per tarare il PID.


.... e subito dopo di Ziegler-Nichols.
tino20 ha scritto:
Se do per buona la risposta al gradino con uscita la velocità e da li ricavo costante di tempo e guadagno per poi calcolare col metodo di ziegler-nichols a catena aperta ottego una taratura del PID non corretta.


C'è una netta contraddizione in quanto il metodo di Ziegler-Nichols parte da altri presupposti.

La cosa più sensata da fare è la seguente :

1. Tari il PID con parametri iniziali derivanti dalla tecnica di Ziegler-Nichols.
2. Verifichi a posteriori la risposta al gradino ( in posizione quindi ad anello chiuso con il PID precedentemente sintetizzato ).
3. Se la riposta non è soddisfacente muovi i parametri per ottenere la risposta desiderata utilizzando magari qualche algoritmo più evoluto.

La tecnica di Ziegler-Nichols non è ottimale per i controlli di posizione per due motivi:
1. E' valida per sistemi del primo ordine per cui l'approssimazione del modello può generare risposte non desiderate.
2. Genera un overshoot di posizione che non è tollerabile in molte applicazioni.

Se dal punto di vista della dinamica è plausibile prova almeno la tecnica "no overshoot" con i parametri indicati anche su wikipedia. Non è il massimo ma si può partire da quelli.

link
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3206
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[5] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 15 feb 2019, 11:41

Mi riferivo alla taratura del PID col metodo ziegler-nichols a catena aperta. Non al metodo in frequenza.
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

0
voti

[6] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentedimaios » 15 feb 2019, 15:12

tino20 ha scritto:Mi riferivo alla taratura del PID col metodo ziegler-nichols a catena aperta. Non al metodo in frequenza.


Appunto. Il metodo in catena aperta non è applicabile perché il modello del sistema non è coerente con quello richiesto.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3206
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[7] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 15 feb 2019, 17:55

Per utilizzare il "no overshoot" dovrei comunque ricavare i parametri K_{u} e T_{u} se non ho capito male e non è un operazione fattibile nel mio caso. A questo punto credo che dovrei stimare la funzione di trasferimento dalla risposta algradino e poi settare il PID analiticamente.
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

0
voti

[8] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentedimaios » 15 feb 2019, 18:43

tino20 ha scritto:Per utilizzare il "no overshoot" dovrei comunque ricavare i parametri K_{u} e T_{u} se non ho capito male e non è un operazione fattibile nel mio caso


Certo che poi farlo. Chiudi il loop con quello che hai a disposizione e aumenti il guadagno finché il sistema non oscilla. Misuri guadagno e periodo dell'oscillazione. Partendo da questo calcoli i parametri del PID con le formule.
A questo punto puoi partire con l'ottimizzazione finale.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3206
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[9] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 15 feb 2019, 19:20

Questo è il primo valore per cui ho oscillazioni. Non sono regolari perché sul motore c'è una barra che funge da carico ed oscilla poiché non è perfettamente rigida. Provo a ricavarli da qui
Allegati
Screenshot (2).png
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

0
voti

[10] Re: Settare PID da risposta al gradino

Messaggioda Foto Utentetino20 » 15 feb 2019, 19:45

Niente non funziona
Avatar utente
Foto Utentetino20
5 5
New entry
New entry
 
Messaggi: 71
Iscritto il: 13 lug 2011, 13:40

Prossimo

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti