Vai al contenuto
PLC Forum


Altivar 66 E Encoder - Retroazione impossibile?


suppaman

Messaggi consigliati

Buongiorno a tutti.

Volevo chiedere informazioni riguardo a questi (presumo dato il colore giallognolo..) inverter Altivar 66 della Telemecanique.

Vi spiego in breve la situazione, ho due motori comandati da questi inverter. I motori hanno già un encoder a bordo ma gli inverter invece sembra non avere nessuna interfaccia/morsettiera/connettore per il loro collegamento.

Qualcuno di voi sa se esistono magari schede aggiuntive per far funzionare il tutto in anello chiuso collegando quindi l'encoder del motore ?

Ho provato a cercare manuali ma la poca documentazione che ho trovato non mi è stata di aiuto..

Nel sito schneider sembrano addirittura non esistere, mi da solo i modelli 61 e 71.. o forse o cercato male io non so.

Eventualmente se non fosse possibile utilizzare l'encoder direttamente sull'azionamento, pensate che sia possibile fare qualcosa del genere tramite plc ?

Grazie a tutti in anticipo

Link al commento
Condividi su altri siti


difficilmente troverai una scheda di retroazione per encoder su ATV66 (non viene più venduto da circa 5 anni). Puoi retroazionarlo da PLC sicuramente

Modificato: da biros66
Link al commento
Condividi su altri siti

E' quello che immaginavo infatti..

Nella cpu ho gia integrati gli ingressi veloci per collegare gli encoder, ma come fare per retroazionarlo da PLC ?

Grazie intanto per le informazioni

Link al commento
Condividi su altri siti

l'Altivar 66 non ha nessuna opzione per alcun feedback, è tuttavia possibile eseguire un controllo di frequenza ad anello chiuso col DT.

E' invece l'Altivar 66 F che ha l'opzione per retroazione da encoder (5V)

Link al commento
Condividi su altri siti

..ma come fare per retroazionarlo da PLC ?

Devi farti un anello di velocità esterno, semplice :) . E' veramente abbastanza semplice se, come al solito, lo sai fare. Per progettarlo correttamente dovresti stabilere quale precisione ti necessita e quali devono essere le prestazioni dinamiche del tuo sistema.

Se, come presumo, ti necessita soprattutto mantenere costante nel tempo la velocità evitando le inivitabili derive del controllo ad anello aperto, allora è sufficiente che stabilisca un periodo di campionamento di circa 20/50 ms.

Una volta fissato il timer richiami ad interrupt una funzione PI per ogni motore, l'uscita del PI la mandi in somma al riferimento di velocità attuale ed "il gioco è fatto".

Questo semplificando e banalizzando i concetti.

Se ti necessitano maggiori informazioni e dettagli, puoi leggere il mio tutorial sulle regolazioni, questo argomento è trattato subito nei primi capitoli. Il tutorial lotrovi nella sezione didattica, sottosezione elettrotecnica.

Link al commento
Condividi su altri siti

Se, come presumo, ti necessita soprattutto mantenere costante nel tempo la velocità evitando le inivitabili derive del controllo ad anello aperto

Si direi che è proprio quello che mi serve.

Quando parli di PI intende proporzionale ed integrale giusto? Avevo gia scaricato e letto nel frattempo il tutorial.

Da una parte mi rendo conto della semplicita del problema, ma affrontandolo per la prima volta non è così facile (almeno per me), e sinceramente non ho ancora ben chiaro il concetto dell'integrale e di come e quando utilizzarlo.

Proverò a studiarci ancora un po su..

Link al commento
Condividi su altri siti

  • 2 weeks later...

Rieccomi qua.. nel frattempo sono andato un po avanti ed ho provato a buttar giu una funzione per implementare il regolatore PI.

Sto provando il tutto con un motorino e un Sinamics G110 qui in laboratorio:

Il risultato è abbastanza scoraggiante.. non riesco a rendere per niente stabile il motore e oscilla continuamente intorno al setpoint oppure non riesce a raggiungerlo mantendendo un errore troppo elevato.

Ho seguito i consigli del tutorial di Livio per quanto riguarda la regolazione facendo lavorare prima solo la parte P e aggiungendo poi l'integrale ma niente da fare.

Facendo le prove senza il pid dando il riferimento fisso direi che si comporta nettamente meglio.

Ora mi sta venendo il dubbio se la funzione che ho sviluppato è corretta, non vorrei che magari c'è qualche intoppo di cui non mi rendo conto:

      L     #diEncoder
      L     #diEncoderOld
      -D    
      DTR   
      L     2.048000e+003               // 2048 impulsi a giro dell'encoder
      /R    
      L     1.000000e+002               // ob35 = 10ms, moltiplico x100 = giri/sec 
      *R    
      L     6.000000e+001               // giri/sec * 60 = impulsi/min
      *R    
      L     3.000000e+001               // trasformo rpm in frequenza del motore
      /R                                // rpm = 60 *  f
      T     #rHz_Rilevati               //            ----
//                                                    poli

      L     #rSetpointHz
      L     #rHz_Rilevati
      -R    
      T     #rErroreHZ

// Correzione proporzionale
      L     #rErroreHZ
      L     #rKP
      *R    
      T     #rCorrezioneP

// Correzione integrale
      L     #rErroreHZ
      L     #rKI
      *R    
      L     #rCorrezioneI
      +R    
      T     #rCorrezioneI

// Trasferimento analogica uscita
      L     #rCorrezioneI
      L     #rCorrezioneP
      +R    
      TRUNC 
      T     PAW  256

      U     A    124.0                  // Run motore
      SPB   runI                        // Con motore fermo azzero la parte integrale
      L     0.000000e+000
      T     #rCorrezioneI
runI: NOP   0

      L     #diEncoder
      T     #diEncoderOld

La seconda cosa che pensavo è che magari si potrebbe "filtrare" la lettura dell'encoder magari facendo una media dei valori per evitare disturbi. Sarebbe controproducente?

Se invece ho fatto tutto correttamente allora non mi resta che mettere a punto la regolazione giusta, ma prima volevo essere sicuro del resto.

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...