Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

AREA DI PROGETTO - Realizzazione di un impianto semaforico

tdp








AREA DI PROGETTO


Realizzazione di un impianto semaforico




INDICE

Pag.

4 Introduzione



4 Descrizione generale

5 Schema a blocchi

6 Grafo e funzionamento dettagliato

8 Descrizione circuito per circuito:

9 Generatore 5Vdc e 12Vdc

10 Clock

11 Reset

14 Sensore

14 Interruttore

15 PLD

20 Potenza

21 Avvertimenti

21 Modalità di utilizzo

21 Lista componenti e costi

22 Conclusioni





Introduzione

Durante l'anno nelle ore di laboratorio di TDP abbiamo realizzato il progetto e la messa in funzione di un impianto semaforico. Questo integra la conoscenza di più materie: sistemi per il funzionamento delle PLD e il linguaggio di programmazion 717h79h e Galaxi, elettronica per le parti riguardanti gli amplificatori operazionali e TDP che ha integrato le varie nozioni aggiungendone altre riguardanti vari componenti come i relè, gli optoisolatori,ecc.

In una prima fase ci sono stati presentati i vari circuiti da unire per creare il semaforo: il generatore dei 5 e 12 Volt continui partendo da 18 Volt efficaci alternati, il clock cioè un onda rettangolare con frequenza 100Hz e ampiezza 0-5Volt, Il circuito generatore di Reset ovvero generatore di un onda che va da 5 a 0 Volt per qualche secondo grazie alla pressione di un pulsante, il circuito che rende leggibile alla PLD il sensore che rileva la presenza di ferro nelle vicinanze, le PLD che sono il cuore del circuito e dagli ingessi decidono il funzionamento delle lampade, il circuito della potenza dove il debole segnale di uscita delle PLD viene amplificato e adattato per le lampade.

Dopo una prima fase di verifica e riprogetto di alcune parti, abbiamo montato ogni circuito su basetta bianca. Quando funzionavano correttamente abbiamo conservato i componenti e gli schemi elettrici per montarli sulle due schede dove verrà assemblato definitivamente il semaforo. Tutti i collegamenti di ogni circuito e fra i vari circuiti sono stati effettuati mediante wrappatura manuale.



Descrizione generale

Gli ingressi di alimentazione del nostro circuito sono: una tensione alternata di 18Volt efficaci per il generatore dei 5 e 12 Vdc e per il Clock, 24 Volt efficaci alternati per alimentare le lampade istallate sopra l'incrocio e visibili dagli automobilisti e 30 V a tensione continua per alimentare il sensore rilevatore di metallo.

Gli ingressi per il controllo del semaforo sono i pulsante di reset per riportare ad una situazione nota il semaforo(verde sulla strada principale e rossa su quella secondaria), l'interruttore mediante il quale si decide se il semaforo è in modalità di giallo lampeggiante o è in funzione e il sensore per segnalare se sulla strada secondaria sono presenti auto e quindi far diventare verde quel semaforo.

Gli output del progetto sono: un LED verde che segnala il corretto funzionamento del Clock, un LED rosso che segnala quando il reset è attivo cioè a 0 Volt per 4 secondi quando si preme il pulsante. Sono presenti inoltre 6 LED (2 rossi, 2 gialli e 2 verdi) che mostrano il funzionamento delle lampade per agevolare il lavoro di un tecnico nel caso le lampade principali del semaforo fossero lontane o non tutte visibili. Sono poi presenti le sei uscite per le lampade alimentate a 24Vac.


Schema a blocchi

Mostriamo ora come può essere schematizzato e diviso in vari blocchi(parti di circuito) l'intero progetto del semaforo evidenziando gli ingressi e le uscite.  Questa suddivisione del lavoro da compiere semplifica notevolmente il procedimento risolvendo un problema alla volta.










Il lavoro verrà suddiviso in due tronconi fondamentali: la scheda di potenza e quella della logica. Nella prima monteremo gli alimentari, il clock e il circuito che rende il segnale delle PLD compatibili alle lampade(detto potenza).Nella scheda di logica ubicheremo il generatore di reset, il circuito del sensore ferro-magnetico e le PLD.




Grafo e funzionamento dettagliato

Il diagramma che segue mostra tutte le transizioni degli stati del semaforo. Serve per capirne meglio il funzionamento. Il grafo è realizzato con il programma Galaxi durante le ori di sistemi. Presenta otto stati, il minimo numero possibile, non che il massimo numero di stati che può contenere la PLD 22V10, molto meno costosa della

CY37064PL44 125JXC.





reset = pone il sistema nello stato iniziale

cl  = rileva veicoli sulla strada secondaria(sensore)

tl = conteggio temporale di maggiore durata(5sec)

ts = conteggio temporale di minore durata(20sec)

hw = stato semaforo sulla strada principale

fr = stato semaforo sulla strada secondaria

en = pone il sistema nello stato di lampeggio

resetimer = avvia uno dei due conteggi temporali

E' spiegato di seguito per ognuno degli otto stati il preciso funzionamento.

S1:  E' lo stadio di partenza del semaforo e viene chiamato tramite l'attivazione del segnale di reset, al termine della durata dello stadio S6, o tramite la disattivazione del segnale en. Durante la permanenza di questo stato, i segnali cl e tl rimangono a "0", mentre il segnale resetimer viene attivato per effettuare un conteggio di maggiore durata. Sulla strada principale il semaforo è verde, mentre sulla secondaria risulta essere rosso.


S2:  E' il secondo stadio di funzionamento dell'impianto semaforico e viene chiamato tramite l'attivazione dei segnali cl e tl. Durante la permanenza di questo stato, il segnale ts rimane a "0", mentre il segnale resetimer viene attivato per effettuare un conteggio di minore durata. Sulla strada principale il semaforo è giallo, mentre sulla secondaria risulta essere rosso.


S3: E' il terzo stadio di funzionamento dell'impianto semaforico e viene chiamato tramite l'attivazione del segnale ts. Durante la permanenza di questo stato, i segnali non vengono modificati e il semaforo si limita a rimanere in questa situazione per un breve lasso di tempo. Sia sulla strada principale che su quella secondaria, il semaforo è rosso.


S4:  E' il quarto stadio di funzionamento dell'impianto semaforico e viene chiamato al termine della durata dello stadio S3. Durante la permanenza di questo stato, il segnale tl rimane a "0", mentre il segnale resetimer viene attivato per effettuare un conteggio di maggiore durata. Sulla strada principale il semaforo è rosso, mentre sulla secondaria risulta essere verde.


S5:  E' il quinto stadio di funzionamento dell'impianto semaforico e viene chiamato tramite l'attivazione del segnale tl. Durante la permanenza di questo stato, il segnale ts rimane a "0", mentre il segnale resetimer viene attivato per effettuare un conteggio di minore durata. Sulla strada principale il semaforo è rosso, mentre sulla secondaria risulta essere giallo.


S6:  E' il sesto stadio di funzionamento dell'impianto semaforico e viene chiamato tramite l'attivazione del segnale ts. Durante la permanenza di questo stato, i segnali non vengono modificati e il semaforo si limita a rimanere in questa situazione per un breve lasso di tempo. Sia sulla strada principale che su quella secondaria, il semaforo è rosso.


S7:  E' il settimo stadio di funzionamento dell'impianto semaforico e viene chiamato al termine della durata dello stadio S8. Durante la permanenza di questo stato, i segnali non vengono modificati e il semaforo si limita a rimanere in questa situazione per un breve lasso di tempo o nel caso in cui venga disattivato il segnale en. Sia sulla strada principale che su quella secondaria, il semaforo è giallo.


S8:  E' l'ottavo stadio di funzionamento dell'impianto semaforico e viene chiamato al termine della durata dello stadio S7 o tramite l'attivazione del segnale en durante la presenza di qualsiasi altro stadio. Durante la permanenza di questo stato, i segnali non vengono modificati e il semaforo si limita a rimanere in questa situazione per un breve lasso di tempo. Sia sulla strada principale che su quella secondaria, il semaforo è spento.



Descrizione circuito per circuito

Avendo deciso di utilizzare due schede per comporre il circuito occorre trasferire i segnali interessati tra le due schede. La soluzione migliore è, l'utilizzo di connettori detti BUS. Noi abbiamo scelto di impiegare due BUS, uno da 10 fili e uno da 16 fili, che dovranno trasportare da una scheda all'altra i segnali in base alla seguente suddivisione:


BUS 1 (10 PIN)


Clock

GND

+5V

N/A

+5V

N/A

+12V

N/A

+12V

GND



BUS2 (16 PIN)


Rosso Principale

N/A

Giallo Principale

N/A

Verde Principale

N/A

Rosso Secondaria

N/A

Giallo Secondaria

N/A

Verde Secondaria

N/A

N/A

N/A

  1. GND


Generatore 5Vdc e 12Vdc

I circuiti alimentatori hanno lo scopo di trasformare la tensione di rete (alternata 50Hz, 18Veff ) in una tensione continua (+5V e +12V) che possa poi essere utilizzata come fonte di alimentazione per tutti gli altri circuiti.

Come prima operazione raddrizziamo la sinusoide con un ponte di diodi W06. A questo punto inseriamo in parallelo alle uscite del ponte un condensatore che sia in grado di assorbire carica durante i picchi e cederla negli istanti con tensione nulla. La forme d'onda saranno le seguenti:




Quella ottenuta è già una discreta tensione, ma è presente un ripple non trascurabile e soprattutto il valore non è quello desiderato. Questi inconvenienti possono essere eliminati attraverso un TRIAC. Questo componente è in grado di mantenere ai capi dei suoi morsetti di uscita una tensione di 5V per il 7805 e di 12V per il 7812. Inoltre l'utilizzo di un TRIAC consente di rendere la tensione erogata uniforme per qualsiasi carico, sia a vuoto, sia con un elevato carico. Per il suo corretto funzionamento occorre però inserire nel circuito due capacità in ingresso e in uscita. Occorre montare sui TRIAC una aletta di raffreddamento affinché aiuti a dissipare il calore che generarno.

Lo schema elettrico è il seguente:





NOTA ALLO SCHEMA ELETTRICO: lo schema sopra serve unicamente per mostrare i collegamenti tra i componenti e gli integrati 7805 e 7812 non sono validi in windraft.


Clock  

Per creare il clock, ovvero un generatore di onda quadra a 100hz tra 0 e 5 Volt,compariamo l'onda sinusoidale che arriva dalla rete elettrica raddrizzata con un ponte di diodi con una tensione di riferimento creata da noi tramite un partitore di tensione. L'uscita del comparatore LM339 alimentato con 5 Volt e' l'onda voluta.






DIMENSIONAMENTO DEI COMPONENTI


R1 = [(18x √2) - 2,2] / 10m = 2.3kΩ 2.2kΩ valore commerciale per la serie E12


R2 la scegliamo a 12 kΩ


Poniamo la corrente sul partitore a 1mAe calcoliamo R£ per avere un'onda sinusoidale raddrizzata ai suoi capi di circa 5V di valore efficace.


R3 = 4.7k


Come tensione di riferimento scegliamo 3V e usiamo la regola del partitore:


I= 1ma


R4 = 2kΩ 2.2kΩ valore commerciale per la serie E12


R5 = 3kΩ 2.7kΩ valore commerciale per la serie E12


R6 = 10kΩ su consiglio del costruttore


D1 = diodo 1N4148


D2 = LED verde




Reset


Questo circuito ha lo scopo di generare un segnale (detto di reset)da portare in ingresso alla PLD che ha il compito di riportare il semaforo nello stato iniziale, cioè quello che prevede il verde sulla strada principale e il rosso sulla strada secondaria. Per questo motivo il reset non deve essere un segnale periodico, ma un segnale digitale a 0-5[V] il cui stato logico "0" possa essere deciso manualmente attraverso un interruttore.

Per ottenere tale scopo utilizzeremo un comparatore a finestra formato da due amplificatori operazionali LM339.

Per la realizzazione di questo circuito ci siamo attenuti al circuito standard consigliatoci dai prof.







DIMENSIONAMENTO DEI COMPONENTI


Scegliamo come tempo di reset, cioè quello in cui il segnare è a livello logico basso, 4 secondi.


Per dimensionare il condensatore C6 e la resistenza R12 occorre ricordare la legge di carica e scarica del condensatore:


Vc1(t) = Vfin + (Viniz - Vfin) x e -t/(RC)


Sappiamo che Viniz = 0V, Vfin = 5], Vc1(t1) = Vc1 (4 sec) = 3V


= R12 x C6 = t1 x 1 / [ln (Viniz - Vfin) / (Vc (t1) - Vfin)] = 4 x 1/ ln ((0- 5)/(3-5)) = 4,37sec


Poniamo C6 = 4,7 µF


R12 = (τ /C1) = 929k Ω 1MΩ


Dimensioniamo ora il partitore R13 ed R14.


Vref = 3V


Scegliamo la corrente nel ramo pari a 10mA I = 10mA


R13 = (Vcc - Vref) / I = 200Ω


R14 = Vref / I = 300Ω


Per dimensionare R11 è sufficiente sapere che essa deve essere molto più piccola di R12 per garantire una rapida scarica del condensatore, ma di valore sufficientemente elevato da impedire il passaggio di una corrente eccessiva sul pulsante P1. Imponiamo quindi di avere un valore resistivo di 1[Ω] per ogni µF del condensatore C1.


R13 = 4,7Ω


Anche in questo caso dobbiamo dimensionare le resistenze di pull-up basandoci sui valori forniti dal datasheet.


Rup3 = 1k


Per dimensionare R14 teniamo presente che la corrente sullo stesso ramo deve essere sufficiente ad accendere il diodo D9.


Rup2 = (Vcc - Vd) / Id = 457Ω 


D9 = LED rosso


Sono riportati i grafici che mostrano l'andamento gli andamenti delle tensioni ai capi del condensatore C6 e del segnale RESET.


Sensore

Il sensore è un segnale che agisce in ingresso alla PLD che serve per segnalare la presenza di macchine sulla strada secondaria. Mostriamo in seguito lo schema di principio per capire i collegamenti tra i vari componenti, sottolineando che non è lo schema corretto in windraft.




Il modello di optoisolatore è il 4N25.


La resistenza R1 vale 1k Ω ed è da 1W.


La resistenza R2 è da 10k Ω da 1/4W, come tutte le altre nel progetto, esclusa la precedente.


Se il sensore rileva metallo e quindi c'è un auto in attesa l'uscita sensore è a +5V, altrimenti è a 0V. Questo comportamento sarà da tenere in considerazione nella fase di scrittura del programma in Galaxi.


Interruttore

Il deviatore a due vie serve per decidere se il semaforo deve funzionare in modalità di giallo lampeggiante o funzionare nella modalità regolare.

Il circuito è stato inserito per evitare che l'interruttore,dispositivo meccanico, mandi alla PLD picchi di tensione in grado di danneggiarla. Grazie a questo circuito, durante la commutazione da "0" a "1", il segnale non viene inviato subito in ingresso alla PLD, ma carica il condensatore, che mantiene poi costante la tensione ai suoi capi.




Scegliamo un τ di 500μsec


Scegliamo un C1 =  100nF


R1 = τ / C1 = 5k Ω



PLD

Per la parte relativa alla logica programmabile abbiamo utilizzato 3 PAL22V10: una come divisore di frequenza, una come timer e l'ultima come Highway.

Il divisore di frequenza riceve in ingresso l'uscita del clock a 100Hz ,creata dal circuito precedentemente descritto, e come uscita ha un segnale  che è un onda rettangolare con un picco di tensione a 5V ogni secondo. L'uscita di questa PAL funge da Clock per le alter due PLD.

In seguito riporto il testo del programma scritto in Galaxi contenuto in questa PLD.


library ieee;

use IEEE.std_logic_1164.all;

use work.std_arith.all;

--use IEEE.std_logic_arith.all;


entity div100 is


port(

ck : in std_logic;

reset : in std_logic;

clk : out std_logic

);


end div100;



architecture arch1 of div100 is

signal L:std_logic_vector(6 downto 0);

begin

process(ck,reset)

begin

if Ck 'event and Ck='1' then L<=L+1;

if reset='0' then L<="0000000"; clk<='0';

end if;


if L="1100100" then clk<='1'; L<="0000000";

end if;

if L="0110010" then clk<='0';

end if;

end if;

end process;

end arch1;


Il timer ha come ingressi il RESET e RESETTIMER e come uscite TS e TL. Quando il RESET non è a 0 e riceve il segnale RESETTIMER da Highway questo componente ca in uscita su TS (time_short) un segnale alto ogni 5 sec e su TL (time_long) un segnale alto ogni 20 sec. Sono i tempi di durata del giallo e del verde. La durata del rosso è data dalla somma dei 2 tempi cioè 25sec. Il softwere contenuto è quello sottostante.



ibrary ieee;  

use ieee.std_logic_1164.all;

use work.std_arith.all; -- Galaxy

-- use ieee.std_logic_arith.all; -- LogicWorks5


entity timer is


port(

ts : out std_logic;

tl : out std_logic;

rest : in std_logic;

q : out std_logic_vector(5 downto 0);

reset : in std_logic;

ck : in std_logic

);


end timer;



architecture arch1 of timer is


begin

process(rest,ck,reset)

begin

if reset='0' then ts<='0';

tl<='0';

Q<= (others=>'0');

elsif ck'event and ck='1' then

if rest='1' then Q<=Q+1;

ts<='0';

tl<='0';

if Q="000101" then ts<='1';

tl<='0';

elsif Q="010100" then ts<='0';

tl<='1';

end if;

else Q<= (others=>'0');

ts<='0';

tl<='0';

end if;

end if;

end process;



La PAL 22V10 chiamata Highway controlla lo stato di RESET, INTERRUTTORE e SENSORE e in base ad essi,grazie anche al Clock e a TL e TS, decide lo stato delle uscite. I semafori sono rappresentati con vettori di tre numeri binari che rappresentano lo stato delle lampade rossa,gialla e verde. Il vettore per la strada principale è chiamato HW(Highway) e quello secondario FR(farm road).



library ieee;  

use ieee.std_logic_1164.all;

use work.std_arith.all; -- Galaxy

-- use ieee.std_logic_arith.all; -- LogicWorks5

entity highlight is


port(

lamp : in std_logic;

sensore   : in std_logic;

ts : in std_logic;

tl : in std_logic;

rest : out std_logic;

hw : out std_logic_vector(2 downto 0);

fr : out std_logic_vector(2 downto 0);

ck : in std_logic;

reset : in std_logic

);


end highlight;



architecture arch1 of highlight is

type stati is (s0,s1,s2,s3,s4,s5,s6,s7);

signal stato_semaforo :stati;

begin

process(lamp,ck,sensore,ts,tl,reset)

begin


if reset='0' then hw<="000";

fr<="000";

rest<='1';

elsif ck 'event and ck='1' then

case stato_semaforo is

when s0=>

if lamp='1' then stato_semaforo<=s6 ;

hw<="000";

fr<="000";

rest<='1';

elsif sensore='1'and tl='1' then stato_semaforo<= s1;

hw<="010";

fr<="100";

rest<='0';

else stato_semaforo<=s0;

hw<="001";

fr<="100";

rest<='1';

end if;

when s1=>

rest<='1';

if ts='1' then stato_semaforo<=s2;

hw<="100";

fr<="100";

rest<='1';

elsif lamp='1' then stato_semaforo<=s6 ;

end if;

when s2=>

if lamp='1' then stato_semaforo<=s6 ;

end if;

stato_semaforo<=s3;

hw<="100";

fr<="001";

rest<='0';


when s3=>

rest<='1';

if tl='1' then stato_semaforo<=s4;

hw<="100";

fr<="010";

rest<='0';

elsif lamp='1' then stato_semaforo<=s6 ;

end if;

when s4=>

rest<='1';

if ts='1' then stato_semaforo<=s5;

hw<="100";

fr<="100";

rest<='1';

elsif lamp='1' then stato_semaforo<=s6 ;

end if;

when s5=>

if lamp='1' then stato_semaforo<=s6 ;

end if;

stato_semaforo<=s0;

hw<="001";

fr<="100";

rest<='0';


when s6=>

rest<='1';

if lamp='1' then stato_semaforo<=s7;

hw<="000";

fr<="000";

rest<='1';

elsif lamp='0' then stato_semaforo<=s0 ;

end if;

when s7=>

if lamp='0' then stato_semaforo<=s0;

else   stato_semaforo<=s6;

hw<="010";

fr<="010";

rest<='1';

end if;

when others=>

stato_semaforo<=s0;

hw<="001";

fr<="100";

rest<='1';

end case;

end if;

end process;  

end arch1;



Potenza

Il circuito della potenza serve per fare commutare le lampade come i LED. Le lampade alimentate esternamente in alternata a 24Veff necessitano di una corrente maggiore di quella che può fornire la PLD quindi utilizzeremo l'ULN2803 e un relè per ognuna delle sei uscite alle lampade.

Lo schema interno dellULN2803 è quello sottostante:


In figura è mostrato il collegamento tra l'uscita del rosso principale e la lampada, ma questo circuito è stato utilizzato anche per gli altri 5 segnali.

Il diodo DRp è il LED che visualizza sulla scheda lo stato della lampada rossa principale. Lo stesso principio vale per gli altri 5 circuiti. Abbiamo scelto di usare relè a 12V e di inserire un diodo Dn di protezione.


Avvertimenti

Per il funzionamento con la rete elettrica nazionale (230Vac a 50Hz) NON sono inclusi i trasformatori 230Vac-18Vac e 230Vac-24Vac, ne quello per generare i 30 Volt continui. NON sono presenti inoltre sei lampade e il sensore ferro-magnetico


Modalità di utilizzo

Il prodotto deve essere assemblato e messo in funzione da un esperto onde evitare il totale o parziale mal funzionamento. Il semaforo non deve entrare in contatto con acqua e/o materiali infiammabili. Si consiglia di istallarlo su un piano orizzontale e in un luogo leggermente areato per evitare l'eccessivo riscaldamento di alcuni componenti.


Lista componenti e costi

COMPONENTE

NUMERO

COSTO COMPONENTE

PREZZO

Resistori (ĵ[W])




Resistori (1[W])




Condensatori




Diodo LED




Diodo 1N4148




ULN2803




Amp.op. LM339N




Ponte di diodi W06M




TRIAC 7805




TRIAC 7812




Pulsante unipolare




Deviatore (due vie)




Optoisolatore (Fototransistor)




RELE'




PLD GAL22V10 (no UES)




Alette dissipatrici




Connettori per lampade (maschio)




Connettori per lampade (femmina)




Zoccoli per wire-wrap




Strip femmina




Strip maschio




Connettori per BUS (16 PIN)




Connettori per BUS (10 PIN)




BUS (10 PIN)




BUS (16 PIN)




Schede




Distanziatori tra le schede




Altro





Il costo totale della componentistica è di



Conclusione

Riteniamo questa esperienza estremamente positiva. È stata interessante e formativa la modalità con cui si è volto il tutto:partendo cioè partendo cioè dalla richiesta di un cliente (prof) di un prodotto fino alla consegna dello stesso in una data concordata comunemente, passando per il lavoro di progetto prova e montaggio definitivo del tutto.

Sono state usate le conoscenze di più materie specialistiche togliendole dalla rola teoria e rendendole più interessanti per la realizzazione di qualcosa di concreto e funzionante.

È stato formativo anche il fatto di lavorare in coppia per il raggiungimento di un unico risultato,la suddivisione del lavoro e la successiva unione delle parti, procedimento abituale nel mondo del lavoro.





Alleghiamo in seguito alcune immagini dell'impianto semaforico che possono risultare utili al fine di comprendere ed analizzare in modo appropriato il progetto.




Privacy




Articolo informazione


Hits: 9325
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024