|
|
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
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
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;
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
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025