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?
Settare PID da risposta al gradino
Moderatori:
dimaios,
carlomariamanenti
27 messaggi
• Pagina 1 di 3 • 1, 2, 3
0
voti
0
voti
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?
0
voti
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à.
Per quanto riguarda la risposta al gradino do invece in ingresso la tensione e plotto in uscita la velocità.
2
voti
Parli di risposta al gradino ....
.... e subito dopo di Ziegler-Nichols.
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
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.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
Mi riferivo alla taratura del PID col metodo ziegler-nichols a catena aperta. Non al metodo in frequenza.
0
voti
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.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
Per utilizzare il "no overshoot" dovrei comunque ricavare i parametri
e
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.
e
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.0
voti
tino20 ha scritto:Per utilizzare il "no overshoot" dovrei comunque ricavare i parametrie
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.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
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
27 messaggi
• Pagina 1 di 3 • 1, 2, 3
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


