Comando in frequenza di inverter Power-One per eolico
Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Comando in frequenza di inverter Power-One per eolico
- Questo topic ha 7 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 5 mesi fa da
Sergio Bertana.
-
AutorePost
-
Settembre 20, 2013 alle 3:52 pm #35418
Anonimo
InattivoL’inverter Power-One che usiamo per generare energia da un impianto eolico necessita di un segnale ad onda quadra, in frequenza variabile da 50 a 150 Hz a cui corrisponde rispettivamente P=0 per f=50 Hz e P=Pn per f=150 (andamento lineare). Ora a noi servirebbe uno SlimLine programmato in maniera tale da restituire in uscita un segnale, onda quadra, in frequenza avendo come ingresso una tensione proveniente da un trasduttore (già a bordo del nostro controller) con range 0-10 VDC.
In sintesi noi di questo SlimLine aggiuntivo useremo un ingresso analogico ed una ed una uscita digitale PWM, occorre tenere presente quanto scritto nel documento Power-One che indica di limitare la salita (e solo la salita) del segnale in frequenza in maniera tale da avere variazioni di potenza non superiori a 2 KW/sec.
Allego estratto documento Power-One che illustra il circuito di ingresso dell’inverter, verificare se l’uscita dello SlimLine è compatibile con l’inverter, oppure se occorre inserire un circuito di adattamento.
Settembre 20, 2013 alle 3:55 pm #37787Sergio Bertana
Amministratore del forumI moduli SlimLine CPU ARM7 IEC61131-3, dispongono di una uscita PWM hardware (Out 0), che può generare segnali ad onda quadra con un limite di 1 Khz. Tramite il blocco funzione SysSetPWMOut, set PWM output (Estratto manuale), è possibile impostare sia la frequenza di uscita che il duty cycle.
Aggiungendo al modulo CPU un modulo di acquisizione analogica è possibile acquisire il valore analogico di comando ed un semplice programma in ST può agevolmente gestire la tua applicazione. In merito all’interfacciamento con l’inverter, l’uscita è realizzata con un Opto-MOS quindi se utilizzi una sola uscita delle due presenti (Si ha un unico comune per entrambe le uscite) puoi direttamente collegarla all’inverter senza nessuna interfaccia aggiuntiva.
Novembre 12, 2013 alle 4:15 pm #37888Anonimo
InattivoNon ho grande esperienza con i vostri tools, ma dove si trova la funzione SysSetPWMOut, ho trovato nella libreria PLCUtyLib la funzione PWMOut ha le stesse caratteristiche ?
Novembre 13, 2013 alle 4:13 pm #37889Sergio Bertana
Amministratore del forumIl blocco funzione PWMOut permette di gestisce una qualsiasi uscita logica per comandare un carico in modulazione di potenza variando il tempo di On/Off di comando del dispositivo. Questo è un blocco “tutto software” è scritto in linguaggio ST ed utilizza i temporizzatori per gestire i tempi.
Il blocco funzione SysSetPWMOut invece gestisce moduli che hanno il circuito PWM realizzato in hardware, e questo permette di gestire uscite PWM con frequenze di lavoro elevate. Questo blocco funzione sarà disponibile dalla prossima versione firmware (Codice SFW184A800).
Novembre 14, 2013 alle 12:22 pm #37894Anonimo
InattivoNel frattempo abbiamo provato due programmi in ST sulla nostra CPU ha codice MPS046B100;
IF SysFirstLoop THEN
RefTimeBuf:=SysGetSysTime(TRUE); (* Save the reference time *)
END_IF;(* Check if is passed 2*K_Time and invert the logic DO_0uscita state. *)
IF (SysGetSysTime(TRUE) > (RefTimeBuf+K_Time)) THEN
RefTimeBuf:=SysGetSysTime(TRUE); (* Save the reference time *)
DO_0uscita:=NOT(DO_0uscita);
END_IF;Variando il valore di K_Time non si riesce ad andare oltre i 25 Hz sull’uscita DO_0. Usando invece questa semplice routine:
k := k+1;
IF (k >K_Time) THEN
k := 0; (* reset *)
DO_0uscita:=NOT(DO_0uscita);
END_IF;Abbiamo raggiunto i 45Hz sull’uscita DO_0, con k=10 Siamo lontani dal generare quello che a noi serve ovvero 150Hz Max. Speriamo che non ci sia un limite tecnologico…
Novembre 14, 2013 alle 2:54 pm #37895Sergio Bertana
Amministratore del forumIl tuo errore è che non hai gestito direttamente le uscite del modulo CPU ma ne hai demandata la gestione all’immagine di processo che la esegue ogni 10 mS (Topic) e non so in che task hai eseguito il programma. Se vedi nel programma che ti allego (Stampa e Download), viene eseguita la gestione nella task fast a cui ho modificato il tempo di esecuzione portandolo da 1 mS a 100 uS.
Con questo programma si riescono ad ottenere frequenze anche vicine ad 1 Khz, naturalmente si ha una “granulosità” nella impostazione del tempo di 100 uS che è il tempo con cui è eseguita la task fast.
Completamente diverso invece è l’approccio utilizzando la funzione SysSetPWMOut la quale opera in hardware con una granulosità inferiore al uS.
Novembre 15, 2013 alle 6:04 pm #37897Luca
PartecipanteMi interessa molto questa funzionalità dell’uscita a 1 kHz. Quando sarà operativa la nuova versione di FW. Permetterà di gestire entrambe le uscite digitali presenti sulla CPU ARM7 ? Ho giusto giusto da comandare una coppia di motori passo passo e sarebbe perfetto… se in tempi ristretti però…
Novembre 16, 2013 alle 7:20 am #37898Sergio Bertana
Amministratore del forumIl blocco funzione SysSetPWMOut può operare solo sulla uscita DO00 del modulo CPU ARM7. La nuova versione del firmware SFW184A800 è pronta, stiamo facendo gli ultimi aggiornamenti sull’ambiente di sviluppo LogicLab per implementare le nuove funzionalità, non ho ancora una data certa di rilascio ma è sicuramente questione di un paio di settimane.
Per la gestione di stepping motors ho trovato interessante l’approccio che ho consigliato ad un nostro cliente un po di tempo fa (Topic).
-
AutorePost
- Devi essere connesso per rispondere a questo topic.