• Non ci sono risultati.

Modulazione di un’onda quadra

Per poter effettuare il controllo pressione mediante la tecnica PWM, lo step successivo è modulare l’onda quadra. A questo scopo, è stata introdotta all’interno del programma una

variabile di tipo "Real", denominata "Duty Cycle", che potrà assumere valori compresi tra 0 e 1. Moltiplicando quest’ultima per il periodo T dell’onda quadra, si otterrà il valore del tempo di apertura della valvola, "tON", il quale verrà fatto coincidere con il valore del PT del secondo TON dei programmi utili alla generazione dell’onda quadra (ton_4 e ton_6). Nella figura 6.6 viene riportata la parte di programmazione in cui sono presenti queste nuove variabili.

Figura 6.6: Modulazione Onda quadra

Dalla figura 6.6 è possibile notare che prima e dopo la moltiplicazione, avvenuta grazie al box

"MUL", è presente il blocco "T_CONV", il quale permette la conversione di un dato di tipo

"Time" in uno di tipo "Int" e viceversa. Questi sono stati inseriti in quanto non è possibile molti-plicare direttamente un dato di tipo "Time" con uno di tipo "Real", mentre è consentito farlo tra un dato "Int" e uno "Real". In questa maniera, dunque, andando ad applicare questa procedura ai due codici precedentemente descritti e variando opportunamente il valore della variabile "Duty Cycle", è possibile modulare le due onde quadre generate. In particolare, supponendo di fissare un periodo T di 2 s:

• se la variabile "Duty Cycle" vale "0", si avrà in uscita un segnale sempre basso, ovvero con valore sempre pari a 0;

• se la variabile "Duty Cycle" vale "0.25", si avrà in uscita un’onda quadra non simmetrica che assumerà per un quarto di periodo T valore "1" e per il restante tempo "0";

• se la variabile "Duty Cycle" vale "0.50", si avrà in uscita un’onda quadra simmetrica che assumerà per mezzo periodo valore "1" e per il restante mezzo "0";

• se la variabile "Duty Cycle" vale "0.75", si avrà in uscita un’onda quadra simmetrica non simmetrica che assumerà per i primi tre quarti del periodo T valore "1" e per il restante tempo "0";

• se la variabile "Duty Cycle" vale "1", si avrà in uscita un segnale sempre alto, ovvero con valore sempre pari a 1.

Gli stessi cinque esempi, vengono riportati graficamente nel medesimo ordine, nella figura 6.7.

Figura 6.7: Esempi di diverse onde quadre al variare del "Duty Cycle"

Ponendo l’attenzione sull’ultimo grafico, ovvero quello in cui il "Duty Cycle" è posto pari a 100%, ci si può accorgere che ad ogni periodo T la curva mostra degli impulsi. Per quello che si vuole realizzare, nonché un controllo PWM, questo andamento non potrebbe andare bene in quanto a Duty Cycle pari a 100% la valvola dovrebbe essere sempre aperta. Per ovviare a questo problema si è pensato di generare prima un’onda quadra per estrapolarne il periodo e con quello creare un treno di impulsi. La modulazione, invece, verrà effettuata prolungando gli impulsi appena generati in base alle esigenze richieste dal sistema. Per realizzare un programma di questo tipo, si è modificato il primo codice utilizzato per la generazione dell’onda quadra riportato nel paragrafo precedente. Di seguito, vengono riportati nella figura 6.8 i nuovi grafici dettati dal nuovo programma e nella pagina successiva il nuovo codice che tiene conto anche della nuova variabile "Duty Cycle".

Figura 6.8: Esempi di diverse onde quadre al variare del "Duty Cycle", programma finale

Totally Integrated Automation Portal

1_onda_quadra [FC1]

1_onda_quadra Proprietà Generale

Nome 1_onda_quadra Numero 1 Tipo FC

Linguaggio KOP Numerazione Automatico

Informazioni

Titolo Autore Commento

Famiglia Versione 0.1 ID definito

dall'utente

Nome Tipo di dati Valore di default Commento

Input Output InOut Temp Constant Return

1_onda_quadra Void

Segmento 1: Definizione del t_ON

Per poter calcolare il t_ON, bisogna moltiplicare un valore compreso tra 0 e 1 per il periodo T dell'onda quadra generata.

Prima di questa moltiplicazione, bisogna convertire il periodo T da dato di tipo "Time" in "Int". Dopo la moltiplica‐

zione

invece bisogna riconvertirlo in un dato di tipo "Time" per poterlo inserire nel TON.

Segmento 1: Definizione del t_ON

T_CONV TO

Time Int

MUL Real

T_CONV TO

Int Time

1

1 2

2

"Dati_onda_

quadra".Periodo "Dati_onda_

quadra".

Periodo_conv_

int

"Dati_onda_

quadra"."Duty Cycle"

"Dati_onda_

quadra".

Periodo_conv_

int

"Dati_onda_

quadra"."PT T_

ON da convertire"

"Dati_onda_

quadra"."PT T_

ON da convertire"

"Dati_onda_

quadra"."PT T_

ON"

EN

IN

ENO

OUT TO

Time Int

EN

IN1

IN2 ENO

OUT Real

EN

IN

ENO

OUT TO

Int Time

EN

IN

ENO

OUT TO

Time Int

EN

IN1

IN2 ENO

OUT Real

EN

IN

ENO

OUT TO

Int Time

Totally Integrated Automation Portal

Segmento 2: Calcolo del mezzo periodo

Dovendo lavorare con un onda simmetrica di periodo T, si è pensato di dividere il periodo in 2 parti uguali e impos‐

tare per entrambi i TON i mezzi periodi.

DIV Auto (Int)

T_CONV TO

Int Time

"Dati_onda_

quadra".

Periodo_conv_

int 2

"Dati_onda_

quadra".Mezzo_

Periodo_int

"Dati_onda_

quadra".Mezzo_

Periodo_int

"Dati_onda_

quadra"."Mezzo Periodo"

EN

IN1 IN2

ENO

OUT Auto (Int)

EN

IN

ENO

OUT TO

Int Time

EN

IN1 IN2

ENO

OUT Auto (Int)

EN

IN

ENO

OUT TO

Int Time

Segmento 3: Generazione Onda quadra simmetrica con 2 TON e generazione treno di impulsi Avendo impostato ai due TON lo stesso PT, verrà generata un'onda quadra simmetrica. Viene attivato prima il TON_1 e allo scadere del tempo impostato viene attivato il TON_2. Quando anche quest'ultimo termina di con‐

tare, si apre il contatto "TON_2.Q" e viene riattivato il ciclo.

Attraverso il secondo rung è possibile creare un treno di impulsi a frequenza costante. Ciò è reso possibile dall'atti‐

vazione della bobina "Q0.0" e dall'apertura del contatto NC "Q0.0". La bobina viene attivata quando l'uscita del TON_1 si attiva.

ATTENZIONE ALLA DISPOSIZIONE DEI RUNG (il PLC legge dall'alto verso il basso e da sinistra verso destra).

TON Time

TON Time

"TON_2".Q

"TON_1"%DB1%DB1

"Dati_onda_

quadra"."Mezzo Periodo"

T#0ms

"TON_1".Q

"TON_2"

%DB2

%DB2

"Dati_onda_

quadra"."Mezzo Periodo"

T#0ms

"Onda quadra Simmetrica"

%Q0.0

%Q0.0

"Impulso"

%Q0.1

%Q0.1

"Onda quadra Simmetrica"

%Q0.0

%Q0.0 IN

PT Q ET Time

IN

PT Q ET Time IN

PT Q ET Time

IN

PT Q ET Time

Segmento 4: Modulazione dell'onda quadra

Mediante il TOF in questione è possibile modulare l'onda quadra sfruttando gli impulsi generati nel segmento 2.

Ad esempio, in questo caso, avendo messo un PT pari a1 secondo, si è generata un'onda simmetrica di periodo 2 secondi.

Totally Integrated Automation Portal

TOF

"Impulso" Time

%Q0.1

%Q0.1

"TOF"

%DB3

%DB3

"Dati_onda_

quadra"."PT T_

ON"

T#0ms

"Onda quadra Modulata"

%Q0.2

%Q0.2

IN

PT Q ET Time IN

PT Q ET Time

Analizzando nel complesso l’intero programma, è possibile notare che i PT dei diversi TON sono sempre fissi contrariamente a quello che accadeva nei primi due codici; questo perchè nel programma completo costruito per il controllo pressione, il periodo T dell’onda quadra non ri-maneva mai costante e, in particolare, diminuiva con il passare del tempo. Come seconda grossa modifica, si può osservare che nel segmento 3, oltre i soliti TON, sono presenti altre due dirama-zioni parallele al secondo TON. Ciò è stato fatto per generare un treno di impulsi avente lo stesso periodo dell’onda quadra definita dai due temporizzatori. L’impulso è dettato dal contatto nor-malmente chiuso legato all’uscita "Q0.0", il quale si apre subito dopo l’attivazione dell’uscita del

"TON_1": infatti, così facendo, nel primo ciclo di scansione subito dopo l’attivazione dell’uscita del primo TON, l’uscita "Q0.1" viene attivata, mentre nel secondo ciclo viene disattivata grazie all’attivazione dell’uscita "Q0.0" che va ad aprire il contatto in serie all’uscita "Q0.1". Infine, nell’ultimo segmento, è possibile notare un blocco TOF (Ritardo alla disinserzione), il quale ritarda il reset dell’uscita Q della durata PT parametrizzata e che nel caso in esame si occupa della modulazione dell’onda quadra. L’attivazione impulsiva dell’uscita "Q0.1", fa funzionare il TOF e attiva l’uscita "Q0.2", sulla quale si potrà visualizzare l’onda modulata. Il PT del TOF è dettato dalla variabile "Duty Cycle" che permette la modulazione dell’onda in base alle esigenze del sistema.