Vai al contenuto
PLC Forum


Sincronizzatore per parallelo generatore sincrono


Marco00

Messaggi consigliati

Buongiorno a tutti,

 

Nel progettare un nuovo regolatore per una turbina idroelettrica ho messo mano anche alla sequenza che porta la macchina da fermo al parallelo con la rete. 

Il regolatore progettato è composto da due pid, il primo che ha come feedback la posizione del distributore che in questo caso è la posizione della spina, mentre il secondo pid ha come feedback il livello della vasca di carico o la potenza da inseguire. L'uscita del secondo pid va sul setpoint del primo pid. Fino a qui tutto funziona bene ma vorrei ottimizzare anche la regolazione che faccio all'atto del parallelo.

Da macchina ferma al parallelo è in funzione il pid di posizione del distributore, nel suo feedback entra il pid di velocità, che ha come feedback la velocità della macchina con setpoint d 1000 rpm.

Anche il regolatore di velocità funziona bene ma per il parallelo c'è bisogno del controllo della fase tra generatore e rete.

Per questo controllo c'è una scheda dedicata che guarda la fase tra rete e generatore e restituisce solo due contatti, aumenta se la fase generatore è in ritardo sulla rete o diminuisci se il contrario.

Il feedback per questo dispositivo è la differenza di tensione tra due fasi.

Per adesso ho risolto così: 

Si porta in velocità la macchina al setpoint desiderato, mi maniera lenta, una volta li anche se si è ottenuto il sincronismo tra rete e generatore non è detto che sia in fase. A questo punto si prende in considerazione "l'aumenta e diminuisci" della scheda che controlla le fasi e si mette il segnale direttamente sul controllo pwm delle valvole.

 

Funziona ma non mi piace molto, quel segnale "aumenta diminuisci" mi piacerebbe integrarlo nel pid del controllo di velocità.

Se lo introduco modificando il setpoint di velocità funziona ma è molto lento a reagire, forse avrei bisogno di introdurre il feedforward per un breve tempo e poi il setpoint di velocità lo riporta in sincronismo.

Avete consigli su come ottimizzare? 

 

Per il controllo della tensione c'è un pid che lavora autonomamente.

 

Come automazione utilizzo codesys.

 

Link al commento
Condividi su altri siti


 

 

1 ora fa, Marco00 ha scritto:

Funziona ma non mi piace molto, quel segnale "aumenta diminuisci" mi piacerebbe integrarlo nel pid del controllo di velocità.

 

Invece di un controllo di velocità fai un controllo di fase: se le 2 fasi sono identiche anche la frequenza è identica.

Se il generatore è un trifase a 50 Hz hai un 3 fasi sfasate di 120° con periodo di 20ms. Puoi campionare e paragonare sempre una sola fase.

Per fare questo ti basta realizzare un rivelatore di passaggio per lo 0 della fase di riferimento; se campioni a 5.5µs hai la precisione di 0,1°.

Poi usi la differenza di fase per correggere la velocità accelerando o decelarando in fuzione del segno dell'errore.

Link al commento
Condividi su altri siti

Ciao Livio,

La tua strategia di controllo è ottima, però il dispositivo che controlla la fase è esterno al plc e non ho nessun parametro che posso modificare. Come ingressi ha le tensioni di generatore e rete e uscite solo due contatti aumenta e diminuisci.

Però mi interessa approfondire, un rivelatore di 0 crossing come lo faccio? ho schede 4-20 mA che sono relative al livello di tensione, non so se si riesce a campionare così basso, 5 us.

Come cpu si, anche 1 us le analogiche di ingresso non so.

 

 

Link al commento
Condividi su altri siti

Ci vorrebbe un po' di Hw aggiuntivo, perchè è meglio non usare gli ingressi analogici, che sono per loro natura molto lenti.

Non ho sottomano la sigla, ma so per certo che c'èalmeno un'ottima AN microchip relativa al riconoscimento di di zero di una AC. Loro l'hanno sviluppata per inviare pacchetti dati sulla rete elettrica.

Io ho fatto un'analoga sincronizzazione anni usando un micro, si genera un impulso al passaggio per lo zero, questo impulso genera un interrupt.

L'interrupt del master per il passagio a zero del master, analogamente per lo slave.

Usavo un micro. Il primo interrupt faceva partire un timer con clock a 0.1 µs, e alzava il flag di master o slave, secondo il tipo di interrupt. Il secondo interrupt congelava il contatore.

I flags master o slave indicavanp anticipo o ritardo dello slave sul master, il conteggio quantificava l'errore. Processavo l'errore in PI(D) per effettuare la regolazione di fase.

E una strategia di regolazione che mutuai dalle esperienze giovanili quando mi occupavo di sintesi di frequenza con PLL.

 

Ora non so se puoi replicare questa filosofia con il PLC che stai usando.

Dal punto di vista HW necessiti solo del riconoscimento dello zero; oramai tutte le CPU di PLC accettano almeno un paio di interrupt. Più difficile è la realizzazione del timer, che abbia un clock sufficinetemente veloce, per conteggiare la quantità di errore con buona risoluzione.

 

Daltro canto, senza poter agire differentemente per il riconoscimento di errore di fase, la strategia che hai adottato è forse la migliore possiible.

Link al commento
Condividi su altri siti

Ciao, il generatore è da 1 mw sicuramente non ne vale la pena, l'implementazione che ho fatto funziona e riesco a gestire la macchina molto bene. Ero abituato a lavorare con i cogeneratori e li i sincronizzatori esterni al plc sono spariti da tempo perchè è molto utilizzato come plc il b&r che ha una scheda apposita con ingressi 400 Vac di generatore e rete, poi gestisci tutto nell'ambiente di sviluppo dove setti la fase max di errore per il sincronismo.

In questo progetto volevo portare il b&r, proprio per il vantaggio della sudetta scheda ma dopo aver ricevuto l'offerta ho declinato, purtroppo da quando sono diventati abb hanno alzato i listini.

Allora ho proposto o siemens o per abbattere i prezzi ultimamente mi trovo bene con phoenix contact, in realtà utilizzo le loro schede IO e come cpu utilizzo un un loro pc fanless con installato su linux poi a bordo ho un runtime di codesys. 

 

Livio, sarebbe bello integrare il tuo controllo nella cpu e credo che il sincronizzatore che ho esegua una cosa simile a quella che hai descritto, è il thytronic scf 25

 

Per il rilevare lo 0 crossing della tensione più di 10 anni fa feci un circuito con un chip analog device e fpga, mi serviva per commutare i comandi degli igbt del chopper.

 

 

 

 

 

Link al commento
Condividi su altri siti

15 ore fa, Marco00 ha scritto:

Livio, sarebbe bello integrare il tuo controllo nella cpu e credo che il sincronizzatore che ho esegua una cosa simile a quella che hai descritto, è il thytronic scf 25

 

Non lo conosco, ma la filosofia di regolazione se non uguale sarà molto simile.

Ricordo anche la sincronizzazione di un inverter per prendere "al volo" un motore da altro inverter, lavoro risalente ai primi anni '80, fatto in Hw e pasato sul CD4046 che è un VCO + un rivelatore di fase; praticamente si era usato il primo integrato per PLL, risalente al 1975.

 

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