roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 ok...ci sto lavorando ma i calcoli per ''normalizzare'' i tre valori da pannello set point kp e chi mi stanno portando via un bel po di tempo,o escono numeri infiniti o il box diventa rosso, sto sbagliando qualcosa, tutto questo perche, nella differenza del SET POINT - RIF TACHO voglio che sia un box in real,e non un box sottrazione di numeri intero, in modo da non perdere decimali nella sottrazzione. quindi il fermo del motore avviene perche nel riferimento ci dovra essere 0 punti e 0volt non solo con il contatto aperto forward o reverse...
roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 sottrazzione.sottrazione...sono un po nervoso...
Livio Orsini Inserita: 24 gennaio 2010 Segnala Inserita: 24 gennaio 2010 (modificato) SET POINT - RIF TACHORoberto azzzz..., ma guarda un poco come sono le variabili! Tacho la leggi e la converti A/D in numero 0<n<32000, che è intero! Idem per il set point o valore di consegna.L'errore in questo caso può essere solo un intero. Idem se lavori con un encoder, non esistono decimanli d'impulsi, almeno il contatore o conta un impulso o non lo conta L'unico calcolo dove serve veramente il real è l'integrale. Perchè? perchè se moltiplichi un errore >=1 per un coefficiente <1 hai dei decimali, decimali che integrati, cioè sommati, alla fine possono causare un errore grande se trascurati.Quindi tutto in integer trannne il calcolo dell'integrale che, alla fine, ritrasformi in intero per sommarlo al proporzionale. idem per l'eventuale derivativo.Anche l'uscita del D/A_C può essere solo un intero. Se anche usi bus di campo per collegarti all'inverter tutti i comandi ed i dati sono in interi. Modificato: 24 gennaio 2010 da Livio Orsini
roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 voglio che sia un box in real,e non un box sottrazione di numeri intero, in modo da non perdere decimali nella sottrazzione. non farci caso stamattina ero un po nervoso e confuso per via del hmi, delle cifre prima e dopo il punto e il punto ecc ecccomunque, ti aggiorno come va, ho completato tutto e i calcoli li ho corretti tutti, anche quelli integer che volevo fare in real c era ancora il problema della divsione per 100 per il riferimento da pannello, che poi ho spostato nell interrupt e li rimane stabile come lo scrivo nel pannello Allora, sono partito con riferimento 25000 e kp 0.55 e chi 0,25 e tutto sembra funzionare, il motore ruota costante il riferimento è preciso a 5,70volt anche se vedo sull inverter che la frequenza oscilla, freno il motore il valore della frequenza si alza, è cosa piu bella sull osciolloscopio è ancora piu stabile il segnale! quindi rilascio il motore, riprende i giri e lo faccio ruotare a vuoto,dopo circa 7-8 secondi sul andamento della tabella di stato, dove l andamento del segnale della tacho e dell uscita al motore 0-10v era una ''linea bella dritta'' incomincia ad increstarsi...e il motore appena appena a singhiozzare, quindi lo rifreno e si appiattisce di nuovo tutto, che vuole dire? perche con il tempo nasce un instabilita? entra forse in gioco la parte Derivativa??
Livio Orsini Inserita: 24 gennaio 2010 Segnala Inserita: 24 gennaio 2010 entra forse in gioco la parte Derivativa??Se la componente derivativa non ce l'hai non può essere dovuto al derivativo.Da come descrivi sembra esserci un guadagno tropo elevato; potrebbe anche trattarsi di disturbi, ma in questo caso l'instabilità va e viene...anche se vedo sull inverter che la frequenza oscilla,... Questo dovrebbe essere corretto; il regolatore varia la frequenza per mantenere costante la velocità, se fosse un motore in cc vedresti variare la tensione di armatura.Tieni presente che il proporzionale corregge gli errori dinamici e l'integrale quelli statici (non proprio corretto al 100% ma può andare ).Quindi se abbassi il Ki impiega più tempo a recuperare l'errore ma aumenta la stabilità; idem se riduci Kp: l'errore istantaneo aumenta ma il sistema è più stabile.Comunque Roberto l'esperienza bisogna farsela poco alla volta; ascoltare i consigli di uno più esperto aiuta, ma certe cose si devono imparare sulla propria pelle enon esiste altro metodo.
roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 Se la componente derivativa non ce l'hai non può essere dovuto al derivativo.no io intendevo che la devo implementare, è il caso? che effetto avra in tal caso?Quindi se abbassi il chi impiega più tempo a recuperare l'errore ma aumenta la stabilitàe infatti poi ho provato anche ad aumentarlo ed inizia ad oscillare ancora di piu!L unica cosa non so se si puo fare, vorrei che quando freno il motore invece di aumentare es di 100 la correzione proporzionale, di 150volte, cosi ho piu riferimento o su un sistema a motore dc piu volt sull armatura. come posso fare? secondo me non sto chiedendo troppo, perche ora la regolazione si tiene costante per tenermi il riferimento tacho preciso quando il motore assorbe sull display inverter 0.50A a 0.51A quando lo freno, se lo freno un po di piu a 0.52A il rif tacho se ne scende di 15millivolt...io vorrei recuperarli è possibile?purtroppo se aumento il kp il sistema diventa instabile!Comunque Roberto l'esperienza bisogna farsela poco alla volta; ascoltare i consigli di uno più esperto aiuta, ma certe cose si devono imparare sulla propria pelle enon esiste altro metodo.Purtroppo io ho avuto sempre un po questo ''limite'' cio che studio, puo darsi che l ho capito, ma non è detto che lo sappia fare se non lo metto in pratica e funziona! Comunque i tuoi consigli sono piu che preziosi!! l altra giorno ho dato uno sguardo sul pid assistito della cpu, e ti giuro che mi sembra molto piu facile questo che mi hai consigliato,fatto nascere da 0 che non quelli belli e pronti! so che ci vorra un po di tempo e prove per poi capire le differenze tra i due!
Livio Orsini Inserita: 24 gennaio 2010 Segnala Inserita: 24 gennaio 2010 ...vorrei che quando freno il motore invece di aumentare es di 100 la correzione proporzionale,.....Ohh andiamo nel sofisticato! Certo che si può fare, ma comincia ad essere una ricetta per chef raffinati, non per casalinghi/e alle prime armi Queste son tutte "porcate" immonde che si fanno con l'esperienza e quando si è arrivati alla canna del gas Però comicia a fare qualche prova con un bell'anticipo di reazione. E' un derivativo, ma non sull'errore bensì sulla tachimetrica. Gli analogici ce l'anna tutti.Leggi la tachimetrica e confronta con la lettura precedente. Ci sarà una differenza. Metti una soglia, se il delta supera la soglia allora correggi. In che modo? Iniziamo in modo semplice. Moltiplichi la differenza per un Kd e sommi al proporzionale ed all'integrale, verificando che il totale non ecceda i famosi 2047. Ovviamente attenzione al segno! Non ti dico di più così ci ragioni sopra e lo capisci meglio
roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 mi sembra un indovinello comunque avevo pensato gia di fare in un modo sara di sicuro sbagliato scommetto...cioe:Adesso quando il motore ruota ''libero'' io ho fatto in modo che es 25000punti di set point l inverter fa ruotare il motore ad una velocita che la tachimetrica mi restituisce 24950 punti posso manipolare il segnale di 0-10volt che mando all inverter affinche mia dia una frequenza di uscita diversa...quindi avevo pensato, se invece di farmi restituire 24950, faccio in modo da avere es 24000 l errore sara invece di 25000-24950, 25000-24000 quindi 1000! quando il motore pero ruota libero quindi a sistema neutro metto un limite in modo che non si considerano quei 1000punti, ma che servono solo per amplificare l errore e quindi l azione di correzione quando ce ne bisogno.è solo un pensiero eh, sicuro sara sbagliato, quindi ora mi concentro un po a capire quello che mi hai scritto sperando di arrivarci...
roberto8303 Inserita: 24 gennaio 2010 Autore Segnala Inserita: 24 gennaio 2010 Network 14 // CALCOLO LA DIFFERENZA DEL VALORE TACHIMETRICA ISTANTANEO - IL VECCHIO VALORE 20MS PRIMA.LD SM0.0INVW VW200INCW VW200+I AIW0, VW200Network 15 // TRASFORMO IL RISULTATO IN DOPPIO INTERO LD SM0.0ITD VW200, VD60Network 16 // TRASFORMO IL DOPPIO INTERO IN REAL PER POTERLO MOLTIPLICARE CON KDLD SM0.0DTR VD60, VD64Network 17 // KD=0.15 LO MOLTIPLICO PER IL VECCHIO VALORE DELLA TACHIMETRICALD SM0.0MOVR VD64, VD74*R 0.15, VD74Network 18 // LIMITI SUL DERIVATIVO POSITIVOLD SM0.0AR> VD74, 2047.0MOVR 2047.0, VD74Network 19 // LIMITI SUL DERIVATIVO NEGATIVOLD SM0.0AR< VD74, -2047.0MOVR -2047.0, VD74Network 20 // ARROTONDO IL DERIVATIVO REAL A DOPPIO INTEROLD SM0.0ROUND VD74, VD68Network 21 // TRASFORMO IL DERIVATIVO VD68 IN NUMERO INTEROLD SM0.0DTI VD68, VW300Network 22 // SOMMO IL PROPORZIONALE + L INTEGRALE RISULTATO IN VW108LD SM0.0MOVW VW100, VW108+I VW106, VW108Network 23 // SOMMO (P+I) + D RISULTATO IN VW110LD SM0.0MOVW VW108, VW110+I VW300, VW110Network 24 // SOMMO VW110 CON SET POINT VW102 E METTO IN USCITA.LD SM0.0MOVW VW110, VW112+I VW102, VW112Network 25 LD SM0.0MOVW VW112, AQW0comincia ad essere una ricetta per chef raffinati, non per casalinghi/e alle prime armipurtoppo non sono bravo a cucinare Queste son tutte "porcate" immonde che si fanno con l'esperienza e quando si è arrivati alla canna del gasdove sta l errore? che il box differenza del primo segmento mi diventa rosso a volte? e il riferimento derivativo cambia spesso di segno?? non farmi aprire la canna del gas!!
roberto8303 Inserita: 25 gennaio 2010 Autore Segnala Inserita: 25 gennaio 2010 Leggi la tachimetrica e confronta con la lettura precedente. Ci sarà una differenzaTITLE=COMMENTI SUL PROGRAMMANetwork 1 // Titolo del segmento// trasferisco AIW0 IN VW200LD SM0.0MOVW AIW0, VW200Network 2 // VW200-VW202 RISULTATO IN VW204LD SM0.0MOVW VW200, VW204-I VW202, VW204Network 3 // SPOSTO IL RIFERIMENTO ISTANTANEO VW200 IN VW202 CHE SARA LA MEMORIA DEL VECCHIO CAMPIONAMENTOLD SM0.0MOVW VW200, VW202purtroppo oggi non ho avuto modo di provare, ma penso si faccia cosi per leggere la tachimetrica e poi confrontarla con la memoria della vecchia lettura...è giusto??
Livio Orsini Inserita: 26 gennaio 2010 Segnala Inserita: 26 gennaio 2010 Si, hai messo in VW204 il differenziale di velocità (con dt = 20ms) ed in VW202 la memoria dell'ultimo campionamento
roberto8303 Inserita: 26 gennaio 2010 Autore Segnala Inserita: 26 gennaio 2010 ok,grazie,stasera dopo il lavoro lo provo e ti faccio sapere
roberto8303 Inserita: 26 gennaio 2010 Autore Segnala Inserita: 26 gennaio 2010 Allora, ho provato anche il derivativo, non sono tanto soddisfatto di come il sistema risponde, devo riuscire a regolare bene i tre fattori kp chi e kd, con il metodo che mi hai detto,non l ho fatto perche ho rimasto nella prova kp a 0,4 chi a 0,18 e kd l ho provato sia a 0.05 che fino a 0,4 e ho notato due funzionamenti diversi, con kd basso il sistema sembra rispondere bene, aumentando la frequenza, ma a motore libero comunque ci sono oscillazioni che in ogni modo modificando o kp o chi non riesco a stabilizzare. quando invece alzo kd succede che a motore libero le oscillazioni sono piu deboli meno nervose, ma piu lunghe nel tempo nel variare da un min di 6,70 volt a 7,30volt circa , valore misurato sulla tachimetrica con l oscilloscopio.e in piu andando a vedere nella tabella di stato, il limite che ho messo alla derivata di 2047 e -2047 spesso fa avverare il confronto. ah comunque il derivativo cambia spesso di segno è normale?
Livio Orsini Inserita: 27 gennaio 2010 Segnala Inserita: 27 gennaio 2010 Il derivativo è un filtro passa alto, quindi esalta tutti i transitori disturbi compresi; va usato con moderazione e molta attenzione. E' normale che inverta spesso di segno, se ci ragioni bene capisci che deve essere così.Attenzione, non si può spremere sangue da un rapa. Più di tanto un sistema non può dare. Un azioanmento composta da asincrono e inverter V/f non può dare le prestazioni di un cc. Con l'anello esterno di velocità puoi arrivare ad annullare, a regime, gli errori di velocità; le prestazioni di reattività alle prese di carico rimarranno inevitabilmente legate alle prestazioni del sistema, cioè lente.
roberto8303 Inserita: 27 gennaio 2010 Autore Segnala Inserita: 27 gennaio 2010 ho capito, vabbe a me è servito per imparare praticamente, comunque il prossimo regolatore con plc devo avere la possibilita di collegare il pannello e plc sulla cpu! è molto comodo visualizzare nella tabella di stato le variazioni del P I D variando kp chi kd.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora