Vai al contenuto
PLC Forum


Costruire Un Pid


roberto8303

Messaggi consigliati

ma I nei valori quanto vale? questo non ho capito bene! sad.gif/quote]

Inizialmemente vale 0. Se leggi bene i miei esempi ==> I = I +(errore*Ki)

Se, ad esempio, VD46=Ki, VD42 = I, VD22= errore, VD26= Kp, VD30=Kp, VD34=P e VD38=Corr avrai:

VD34 = VD22*VD30

VD42=VD42+(VD22*VD46)

VD38=VD42+VD34

Ricordarsi di azzerare VD42 alla partenza della regolazione e quando il processo lo richiede

Link al commento
Condividi su altri siti


  • Risposte 89
  • Created
  • Ultima risposta

Top Posters In This Topic

  • roberto8303

    58

  • Livio Orsini

    32

VD42=VD42+(VD22*VD46)

ah ecco questo mi mancava! perche non avevo pensato al fatto poi di azzerarla quindi mi mandava in confusione :(

Ricordarsi di azzerare VD42 alla partenza

e giustamente perche all inizio l errore vale il massimo, poi I cioe la parte integrale va azzerata e anche esclusa dalla scansione del programma?sia alla partenza che quando il processo lo richiede? e per escluderla cioe saltarla uso la funzione JMP?

Grazie per i chiarimenti come sempre molto paziente!! ;)

Link al commento
Condividi su altri siti

Solitamente, quando si comanda la marcia si azzera l'integrale. Questo è fatto anche negli anelli analogi dei convertitori.

Se non ci sono casi particolari al comando di marcia, dopo che è statoa zzerato, l'integrale è attivo; anzi deve essere attivo sempre quando l'azionamento è "vivo", anche se il riferimento di velocità è 0.

Per escludere l'integrale io uso azzerare la memoria che rappresenta Ki.

Nella funzione PI(D) si entra sempre ad ogni interrupt.

Si testa un flag (merker) che se è vero indica che la funzione è attiva. Se il flag è alto si esegue la funzione, altrimenti si azzera l'uscita del riferimento e si esce.

Sul comando di marcia si azzera l'integrale, poi sia lza il flag di regolazione attiva, questo fuori dalla funzione

Il primo ramo da eseguire è la parte P, se Kp è 0 si considera la funzione non attiva, si alza un flag di errore, si azzera il riferimento e si esce.

Dopo la componente P sie segue la parte di I. Se |Ki| > 0 si esegue, altrimenti si azzera I e si salta alla aprte P. Idem se |Kp| > 0 si esegue, altrimenti si va alla fine dove si esegue la somma delle 3 componenti e si mette in uscita il Riferimento.

Io sugerisco di scrivere il riferimento su una variabile, ma di non metterlo in uscita. Sarà messp effettivamente sul D/A come prima operazione di un nuovo ciclo. In questo modo si introduce un ritardo costante, che ha un effetto praticamente nullo, però l'aggiornamento è eseguito in assoluta costanza di periodo.

Come vedi ci son parecchi ammenicoli aggiuntivi

Link al commento
Condividi su altri siti

ok non resta nient altro che mettermi a lavoro, preparo il tutto e tra domani e domenica spero di fare le prove, per fortuna ho trovato anche un motorino dc che a 1400rpm mi consegna 10volt, quindi non devo fare scalture nel programma.inizio a scrivere l equazione pid nel programma e capire bene come si comporta, dopo aggiungo tutte le altre righe per gestire perfettamente il pid, ovviamente ti terro' aggiornato :)

Link al commento
Condividi su altri siti

Eccomi, allora ho preparato tutto , ma ancora non ho scritto il programma :) , volevo dirti questo prima di andare avanti.

Ho settato in Aqw0 32000, con il tester misuro sui morsetti =9volt li butto nell inverter ingresso analogico in tensione, misuro la tachimetrica e mi restituisce solo 9,qualcosa... cosi aggiusto nell inverter il segnale analogico in ingresso in relazione con la frequenza di uscita, porto quindi la tensione della tachimetrica a 9,9 Volt con il motore che va a 58.8hz.

quindi sono andato nel programma plc e vedo l andamento di Aqw0 e Aiw0 Aqw0=settata a 32000 da all inverter 9 volt. Aiw0 riceve dalla tachimetrica 9,9volt e mi esce una tensione variabile di pochi mv ma nella tabella di stato Aiw0 varia da 30700 a 32700! la variazione avviene nell ordine di mezzo secondo seguendo la curva nella tabella di stato. Chiedo è normale che avvenga questo? o la tachimetrica non è propio precisa?posso andare avanti anche se a vuoto cè questo pendolamento? capisco che pochi mv rispecchiano molti punti dei 32000...

Link al commento
Condividi su altri siti

un altra cosa, osservando questo, posso mettere un valore di Kp diciamo di 0,2? cosi la parte proporzionale risulta essere molto piccola e la correzione a regime non è molto significatica da poter portare instabilita?

Link al commento
Condividi su altri siti

aggiorno quello che sto combinando :) ho fatto solo la parte Proporzionale, ho provato a mettere un kp 0.2 ho dato un riferimento di 12000 e via, freno il motore ma la frequenza si incrementa di poco :( allora aumento il kp a 0,4 rischiando l instabilita a vuoto infatti il motore tende appena ad andare a scatti con la frequenza visualizzata nell inverter che oscilla tra i 20 e 23hz poi come freno il motore la frequenza si porta a max 24-25hz, ma non riesco a rimanere costante con i volt della tachimetrica! cioe anche se la frequenza aumenta non riesco a riprendere abbastanza giri del motore! perche??

Link al commento
Condividi su altri siti

1 - Hai provato ad osservare la tachimetrica all'oscilloscopio? Se nonlo hai mai fatto fallo perchè è istruttivo. E' molto ripplata, questo dovrebbe spiegare l'oscillazione di lettura sul PLC. Devi filtrarla, basta un RC; visto che campioni a 20 ms (50Hz) un RC con taglio a 75 HZ dovrebbe essere suffiiciente.

2 - Tarare un P, un PI, o un PID non è un'operazione da eseguirsi secondo metodo "pene di molosso". Deve essere fatto secondo logica. Per come esguire questa operazione ho dedicato una paginetta del tutorial, subito al primo capitolo.

Link al commento
Condividi su altri siti

Hai provato ad osservare la tachimetrica all'oscilloscopio?

no :(

Se nonlo hai mai fatto fallo perchè è istruttivo.

certo che lo faccio, anzi vado a recuperare l oscilloscopio propio oggi!

Devi filtrarla, basta un RC

va bene collegato cosi come da disegno? ho messo la formula mi aiuti a calcolare il valore della resistenza e del condensatore? sono un po a digiuno di elettronica :(

Tarare un P, un PI, o un PID non è un'operazione da eseguirsi secondo metodo "pene di molosso". Deve essere fatto secondo logica

eppure teoricamente sembrava semplice!!! comunque se non ti scocci di seguirmi io voglio completare questo controllo! cerchero sempre di tenere come riferimento il tutorial in ogni caso,quindi devo prima cosa osservare il tutto con l oscilloscopio filtrando la tensione di uscita e poi, ora vado a rivedermelo,misurare il valore di consegna della tachimetrica e farmi una tabella di comparazione per osservarne meglio il comportamento.

Link al commento
Condividi su altri siti

Si la formula è corretta; cerca di tenere un valore di R abbastanza basso per minimizzare la cdt, molto dipende dalla resistenza d'ingresso del tuo A/D, più elevata è e minor cdt hai ed il filtro funziona meglio.

Si tratta solo di togliere la parte più fastidiosa del ripple. Il guaio delle tachimetriche un po' scalerce è che hanno molto ripple, si filtri pesantemente lo elimini ma rallenti il regolatore.

Comunque quando sarai riuscito a mettere a punto il tuo primo regolatore, dopo moccoli ordinari e straordinari :) , avrai capito come dovrai realizzare il secondo :D

Link al commento
Condividi su altri siti

ok di resistenze ne ho e vado per tentativi, ma il condensatore deve essere polarizzato ? e che capacita piu o meno posso provare? < 220mF o di piu? la resistenza di ingresso del A/D non saprei è l em235...

ci vuole molta pazienza e molte prove da fare ma sopratutto molta preparazione teorica e basi di elettronica, cerchero da autodidatta di osservare il comportamento del sistema e cercare spiegazioni e regole che ancora non conosco,per perferzionarlo e sopratutto imparare! comunque ancora grazie perche senza il tuo aiuto probabilmente avrei abbondonato propio prima ancora di iniziare!:(

Link al commento
Condividi su altri siti

Se vai in un solo senso puoi usare un elettrolitico, altrimenti no. Guarda il foglio tencnico della EM235, dovrebbe esserci l'impedenza d'ingresso (o la corrente assorbita)

Link al commento
Condividi su altri siti

sapevo che i condensatori elettrolitici erano usati tipicamente per i filtri di alimentatori....che vuol dire andare in un solo senso?cioe non cambiare mai polarita?

allora posso usarlo tanto la tachimetrica ruota sempre nello stesso verso e da il + fisso sul cavo A e - cavetto B.

comunquei i dati del em235 sono impedenza di ingresso >di 2Megaohm sugli ingressi in tensione, 250ohm sugli ingressi in corrente. tensione max di ingresso 30vdc , corrente max di ingresso 32mA non trovo altro...

Link al commento
Condividi su altri siti

sto provando a filtrare, ma non ottengo nessun risultato :(

comunque posto le foto perche mi sorge un piccolissimo dubbio :) io non sto usando una tachimetrica ma un motorino dc a spazzole a 2800rpm a 24volt...sperando che posso comunque fare questo controllo allego anche le foto dove si vede la forma d onda senza essere filtrata...

Link al commento
Condividi su altri siti

Hai dimenticato di dire se le due foto sono ad anello aperto o con chiusura del P.

Seho capito bene le scale dei tempi son 50ns/div, il che mi fa supporre che son 8Vpp di disturbi a quella frequenza, che non può essere dovuta all'oscillazione di regolazione. Butta via quel trasduttore e cercane uno più adatto.

Scusa ma non potresti betereci un bell'encoder ed usare lo HSC?

Link al commento
Condividi su altri siti

Eccomii, allora hai detto

Butta via quel trasduttore e cercane uno più adatto

ok e quello che cercavo come conferma!!

no Livio le foto le ho fatte a parametro P disinserito!! cioe con interrutore abbassato scrivo 0 nella costante kp! quindi figurati quando inserivo la correzione P che oscillazioni!! propio mentre aspettavo la tua risposta mi è venuta un altra idea, ho preso un alimentatore stabilizzato e l ho collegato al posto di questa ehm diciamo tachimetrica... :) e l ho tarato a circa 3.5volt cioe 11500punti perche il set point era a 12000punti quindi errore 12000-11500, ti mostro le foto fatte prima con il riferimento da alimentatore stabilizzato e poi con la tachimetrica.

nel primo caso ho notato che il comportamento è a ''specchio'' cioe come muovevo anche di scatto la manopola dell alimentatore stabilizzato l andamento del segnale Aiw0 e Aqw0 sono identici! mentre visualizzando l andamento con la tachimetrica e con la correzione P attiva, cerca di essere uguale...al 10 secondo mi sembra che si vede quel buco della forma, li è dove ho frenato di colpo il motore.

Link al commento
Condividi su altri siti

comunque cambiamo completamente strada senza problema, tutto questo non lo considero per me solo tempo perso, perche sbagliando si impara! quindi siccome non mi arrendo facilmente ora passiamo a fare il controllo con un encoder :) ! ho a disposizione solo uno con 3600imp giri quello utilizzato per il posizionatore della antenna! sono troppi penso, hco non li conta tutti quegli imp a 1400rpm e 3600impci vorrebbe un contatore da 84khz se ho fatto bene il conto, devo vedere se posso ridurli o se no cambiare encoder... :( con 20 khz e 3600 imp posso far ruotare l encoder massimo ad una velocita di circa 340 rpm giusto? posso farlo secondo te il controllo con questo materiale? o mi consigli di ridurre i giri encoder con due ruote di diametro diverso?

Link al commento
Condividi su altri siti

Comunque pensando di fare il riferimento con l encoder, sono andato a rivedere una mia disucssione dove chiedo come fare il controllo di velocita con l encoder, e mi hai detto

Attenzione, questo metodo ha vantaggi e svantaggi, come tutti i metodi. Quando al velcità è bassa per avere una buona precisione dovresti avere la base tempi di misura, i 50 ms. dell'esempio, molto lunga, magari anche alcuni secondi. però se l'allunghi troppo l'aggiornamento della velocità è molto lento. Quindi devi scegliere l'interrupt a tempo in funzione del numero d'impulsi che ti danno una precisione decente a bassa velocità.

Con quel numero d'impulsi e le velocità in gioco io comincerei con 100 ms di tempo di campionamento.

questo che hai detto potrebbe essere un problema in questo caso? anche se io il set point lo imposto solo a circa 600-700rpm...

Link al commento
Condividi su altri siti

Bhee forse è prematuro pensare ad un cambio di strategia. Ci sono metodi per misurare la velocità da encoder con campionamenti veloci. SI fa un misto di misura di periodo e frequenza così da avere precisione a bassa ed ad alta velocità. Poi ci sono altri metodi, ma qui entriamo nello specialistico e non è facile condensare in poche righe certi concetti.

Io ti consiglio di insistere, per il momento, con il trasduttore analogico, tanto per impratichirti con queste tecniche.

COmincia a verificarne bene il comportamento ad anello aperto su tutta la gamma. Cerca di ottenre un segnale pulito, magari cambiando trasduttore ed usando una vera e propria tachimetrica.

Link al commento
Condividi su altri siti

Detto...Fatto! ho trovato una tachimetrica dietro ad un motorino dc...e siccome non ho un convertitore con segnale ingresso 0-10volt uscita proporzionale di potenza 0-170volt ho tolto la tachimetrica dal motore dc e l ho messa al ac da 0.12hp insomma se Maometto non va alla montagna...e poi quel trasduttore trascinato poi..era veramente una idea brutta anche da vedere :)

Ho dovuto perderci circa 40 min per adattare il coperchio del motore ac e l albero motore con il tornio, ma niente di cosi complicato. ora ti mostro le foto perche ho anche provato con alimentazione diretta il motore per vedere con l oscilloscopio la tensione che veniva fuori a circa 1400rpm...purtroppo devo fermarmi un po per il lavoro, spero di provare di nuovo in settimana se mi libero...

Link al commento
Condividi su altri siti

Questa è una tachimetrica degna del suo nome!

Tra l'altro è un classico: Radio Energie; qual'è la sua costate? 60v/1000rpm (60mV per giro/1')?

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

e infatti volevo saperlo anch io sulla targhetta non cè scritto :( comunque provandola a 1400rpm mi da 14volt quindi dovrebbe essere 10mv/rpm...?

tu dici che non cè bisogna di filtrarne la sua uscita ? osservando l andamento del segnale a me sembra pulito...

Link al commento
Condividi su altri siti

sono andato a vedere sulla targa del motore che è un movinor e cè stampato tacho V/k rpm 10volt

Movinor o mavilor? Se è un cc a magneti permanenti è facile che sia 10v/1000rpm.

No non c'è bisogno di filtrarla; questa è una vera tachimetrica, di quelle decenti come si facevan una volta.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...