Sei sulla pagina 1di 12

Progetto e realizzazione di un sistema apri-cancello

1. Scopo del progetto


Realizzare un sistema elettronico in grado di comandare un motore elettrico in corrente continua al fine di
aprire un cancello automatico.
Il progetto verr proposto in tre vesti, elettronica combinatoria, elettronica sequenziale ed elettronica
programmabile, al fine di presentare vantaggi e svantaggi di ognuna delle soluzioni e fornire la soluzione ai
problemi di progettazione tipici che possono essere incontrati sia in fase di progetto che di realizzazione.

2. Definizione del progetto


Il sistema da realizzare costituisce un modello in scala ridotta e semplificato delle automazioni civili che si
trovano in commercio.
La prima fase del progetto costituita dalla definizione degli ingressi e delle uscite.
Come ingressi possibile identificare:

Pulsante normalmente aperto di comando apertura


Pulsante normalmente aperto di comando chiusura
Finecorsa di segnalazione cancello aperto
Finecorsa di segnalazione cancello chiuso
Fotocellula di rilevazione passaggio

Le uscite minime saranno:

Motore elettrico in corrente continua


LED di segnalazione errori

In particolare dovr essere previsto che il motore possa permanere nei tre stati di movimento di apertura,
movimento di chiusura e fermo, portando cos il totale delle uscite a 3 (una per il LED e due per i tra stati
del motore).
Gli switch di ingresso saranno collegati mediante resistenze di pull-up, come fotocellula verr utilizzata una
fotoresistenza ed un BJT, il LED verr acceso mediante BJT ed il motore verr comandato tramite BJT e rel.

3. Progetto di ingressi ed uscite


Questa parte comune alle tre realizzazioni a meno di eventuali modifiche che verranno presentate in
seguito.

a. Comando rel
Si faccia riferimento allo schema in figura. I dati andranno reperiti nei
datasheet dei componenti indicati.
Inizialmente si prenda in considerazione la famiglia logica TTL-LS per la
realizzazione della parte digitale e si scelga di attivare il rel sul livello
logico alto.

R1 la resistenza di base che andr calcolata;


R2 = 47; rappresenta la bobina del rel: la scelta di tale rel
imposta dai componenti a disposizione;

VOH = 3,4V; la tensione di uscita dalle porte logiche sul livello alto per la famiglia TTL-LS;
IOH = 0,4mA; la corrente che la porta pu fornire sul livello logico alto;
hFEmin = 50; guadagno di tensione del BJT scelto;
VBEsat = 1,3V; VCEsat = 0,4V; dai datasheet del 2N2222 per IC prossimo a 100mA.

Calcolo di RB:
IB deve garantire la saturazione del BJT:

>


= 98
2


3,4 1,3
> 1 <
50 1 < 1071
98
1

Inoltre IB deve essere fornita dal TTL-LS:


<



< 1 >
1 > 7,5
1

Ma tale risultato assurdo per via del fatto che la porta TTL-LS non riesce a mandare il BJT in saturazione.
Una possibile soluzione quella di attivare il BJT sul livello logico basso secondo lo schema seguente, nel
quale il transistor adoperato PNP e i parametri di riferimento sono:

VOL = 0,5V; la tensione di uscita dalle porte logiche sul livello basso per
la famiglia TTL-LS;
IOL = 8mA; la corrente che la porta pu fornire sul livello logico basso;
hFEmin = 100; guadagno di tensione del BJT scelto;
VBEsat = 1,3V; VCEsat = 0,4V; dai datasheet del 2N2907 per IC prossimo a
100mA.

Utilizzando formule analoghe alle precedenti si ottiene:


=


= 98
3


5 0,5 0,4
> 4 <
100 4 < 4184
98
4

<



< 4 >
4 > 512
4

Volendo utilizzare un valore intermedio, si pu scegliere il valore commerciale R4 = 2400.

Una soluzione ulteriore pu essere quella di optare per la famiglia logica TTL-HC per la quale si ha:

VOH = 4,75V;
IOH = 8mA;
VOL = 0,1V;
IOL = 8mA.

Utilizzando il primo schema con i valori sopra riportati e le formule gi adoperate, si ricava che:

1 < 1760
1 = 1
1 > 430

b. Fotocellula con foto-resistenza


Operazione preliminare per questo dimensionamento la misura dei valori presentati dalla foto-resistenza
quando illuminata (RON) e quando al buio (ROFF).
Per fare questo occorre inserire la foto-resistenza in un tubo nero opaco lungo
circa 2cm disposto in orizzontale ed utilizzare un multimetro per leggere il
valore. In assenza di illuminazione, per le foto-resistenze in dotazione, la
resistenza di buio pari a circa 30k. Illuminando la foto-resistenza con un
LED alta luminosit a circa 20cm di distanza la resistenza scende a 1,3k.
Utilizzando lo schema riportato, bisogna dimensionare R1 in modo che la
tensione VOUT sia inferiore alla VIL delle porte logiche quando il transistor in
saturazione; per fare questo basta garantire che IC < 100mA poich per tale
valore si ha VCEsat < 0,3V:
< 100



< 100 1 >
4 > 47
1
100

Scegliendo per R1 il valore commerciale di 100 si ottiene una IC pari a:


=


= 47
1

Per dimensionare R3 dobbiamo essere sicuri che in assenza di luce (FR = 30k) la tensione VIN sia minore
della VBEsat del transistor. Quindi:
=

3
< 3 <
30 3 < 10,54
30 + 3

Una ulteriore limitazione per R3 che, quando la foto resistenza illuminata, vogliamo una tensione VIN
sufficientemente alta da portare in saturazione il BJT; possiamo quindi imporre che per FR = 1,3k si abbia
VIN > 2,6V (valore doppio di VBEsat) ottenendo:
=

2
3
> 2 3 >
1,3 3 > 1,41
1,3 + 3
2

Scegliamo quindi un valore intermedio tra i due estremi calcolati e prendiamo il valore standard R3 = 5,6k
ottenendo come estremi per VIN i valori di 0,78V (Vmin) e 4,06V (Vmax)
In assenza di luce quindi il valore minimo di VIN circa la met della
VBEsat e il transistor interdetto; per garantire la saturazione quando la
foto-resistenza illuminata sostituiamo al partitore il suo equivalente
di Thevenin (Rt = FR // R3 = 1055) e procediamo come per il
dimensionamento dellaccensione del rel:

>
2 +
4,06 1,3
50 2 + < 2936
2 + <
47
2 < 2936 2 < 1881

>

Possiamo scegliere quindi il valore commerciale R2 = 1,2k.

NB: senza alterare i risultati possibile sostituire la resistenza R3 con un trimmer da 10k per ottenere una
regolazione della sensibilit del circuito.

c. Pulsanti e finecorsa
Per i pulsanti e i finecorsa si utilizzer una configurazione con resistenza di pull-up
collegata allingresso di un inverter in modo da eliminare il problema del livello logico
per lingresso ed ottenere comunque un valore 1 per lingresso attivo.
Il valore scelto per la resistenza 4,6k.

4. Logica combinatoria
Poich un sistema in logica combinatoria non ha memoria, sar necessario definire il
valore delle uscite solo in funzione degli ingressi attuali. In pratica dovremo decidere
cosa fa il sistema quando gli ingressi sono in una data configurazione e mantenere gli ingressi in quella
configurazione perch le uscite restino le stesse. Conseguenza diretta di questo fatto che, ad esempio,
per aprire o chiudere il cancello dovremo tenere premuto il pulsante di apertura o quello di chiusura e che,
in caso di passaggio dalla fotocellula il massimo che possibile ottenere che il cancello si fermi.
Per scrivere la tabella della verit del sistema definiamo gli ingressi come:

A: pulsante di apertura;
C: pulsante di chiusura;
FCA: fine corsa cancello aperto;
FCC: fine corsa cancello chiuso;
F: fotocellula.

Per quel che riguarda le uscite, avremo bisogno di tre variabili che assumeranno i seguenti significati:
MDX
0
0
1
0

MSX
0
0
0
1

E
0
1
0
0

Azione
Cancello fermo
Errore
Apertura cancello
Chiusura cancello

Sulla base di quanto definito possibile compilare la tabella di pagina seguente e le successive mappe di
Karnaugh per la semplificazione.
I risultati della semplificazione sono:

= +

Per realizzare le funzioni saranno necessarie 5 porte NOT, 7 porte AND a due ingressi (si comporranno le
porte a pi ingressi collegandone 2 o 3 in cascata) ed una porta OR a due ingressi. Per questultima si
potranno utilizzare due diodi realizzando la OR in logica DRL.
In totale saranno necessari quindi:

2 integrati 74HC08 (4 porte AND a due ingressi ognuno),


1 integrato 74HC04 (6 porte NOT) oppure un integrato 74HC14 (6 porte NOT a trigger),
2 diodi 1N4148.

Il risultato della semplificazione, secondo lo schema allegato, dovr essere implementato su breadboard e
testato.

F
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

C
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

FCA
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

FCC
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

MDX
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0

MSX
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

E
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1

Calcolo di MDX
FCA FCC
AC
00
01
11
10
FCA FCC
AC
00
01
11
10

00

01

1
F=0

00

01

1
F=1

00

01

MDX = A /C /FCA

11

10

11

10

11

10

Calcolo di MSX
FCA FCC
AC
00
01
11
10
FCA FCC
AC
00
01
11
10

F=0
00

MSX = /A C /FCC /F

01

11

10

11
1
1
1
1

10

11
1
1
1
1

10

F=1

Calcolo di E
FCA FCC
AC
00
01
11
10
FCA FCC
AC
00
01
11
10

00

01

F=0
00

01

E = FCA FCC + A C

F=1

5. Logica sequenziale
Al fine di progettare la logica di controllo in elettronica sequenziale facciamo notare che il cancello presenta
4 stati di funzionamento distinti e mutuamente esclusivi:

Aperto: motore fermo, FCA attivo e timer di chiusura attivo;


Chiusura: motore attivo per chiudere;
Chiuso: motore fermo, FCC attivo;
Apertura: motore attivo per aprire.

Per quanto riguarda la logica, questa pu essere vista come una macchina a stati finiti il cui diagramma
delle transizioni quello di seguito rappresentato:

Aperto
T

Chiusura

FCA

Apertura

F
A
FCC

Chiuso

Le frecce rappresentano le condizioni necessarie per passare da uno stato allaltro. Il funzionamento
quindi definito nel seguente modo:

Se il cancello Aperto e interviene il timer di chiusura T oppure si preme il pulsante di chiusura,


allora il cancello va in Chiusura;
Se il cancello si sta chiudendo (Chiusura) e scatta il finecorsa chiuso (FCC), allora il cancello diventa
Chiuso; se invece viene attivata la fotocellula F oppure si preme il pulsante per aprire A, allora il
cancello passa in Apertura;
Se il cancello Chiuso e si preme il pulsante di apertura A, allora il cancello passa in Apertura;
Se il cancello si sta aprendo (Apertura) e scatta il finecorsa aperto FCA, allora il cancello diventa
Aperto.

Volendo memorizzare ciascuno stato in un bit e volendo realizzare la logica di controllo nel modo pi
semplice, possibile utilizzare come elementi di memoria dei flip-flop JK (74HC112) e ricavare le funzioni di
comando dei flip-flop direttamente dalla precedente descrizione; in particolare, identificando gli stati con i
nomi da S0 ad S3 rispettivamente per Aperto, Chiusura, Chiuso e Apertura, ricordando che un flip-flop JK
viene settato (uscita ad 1) quando, in corrispondenza del fronte attivo del clock, lingresso J a 1 e K a 0,
si ricava che:

Attivazione stato Aperto (J0): se lo stato attuale S3 e se attivo il finecorsa FCA


o 0 = 3
Disattivazione stato Aperto (K0): se lo stato attuale S0 e se sono attivi o il timer T o il pulsante di
chiusura C
o 0 = 0 ( + )
Attivazione stato Chiusura (J1): se lo stato attuale S0 e se sono attivi o il timer T o il pulsante di
chiusura C
o 1 = 0 ( + ) = 0

Disattivazione stato Chiusura (K1): se lo stato attuale S1 e se sono attivi o la fotocellula F o il


pulsante di apertura A, oppure se lo stato attuale S1 ed attivo il finecorsa FCC
o 0 = 1 ( + ) + 1 = 1 + 2
Attivazione stato Chiuso (J2): se lo stato attuale S1 ed attivo il finecorsa FCC
o 2 = 1 = 2
Disattivazione stato Chiuso (K2): se lo stato attuale S2 ed attivo il pulsante di apertura A
o 2 = 2
Attivazione stato Apertura (J3): se lo stato attuale S2 ed attivo il pulsante di apertura A oppure
se lo stato attuale S1 e se sono attivi o la fotocellula F o il pulsante di apertura A
o 3 = 1 ( + ) + 2 = 1 + 2
Disattivazione stato Apertura (K3): se lo stato attuale S3 e se attivo il finecorsa FCA
o 3 = 3 = 0

Oltre al precedente funzionamento bisogner garantire che allaccensione lo stato del sistema sia quello di
Chiusura, che il clock sia tale da non avere troppo ritardo tra lattivazione dei comandi e la loro esecuzione
e che siano assenti rimbalzi durante la pressione dei tasti e dei finecorsa. Per fare ci si utilizzano i circuiti
rappresentati negli schemi allegati; in particolare notare che ingressi e i timer si basano tutti sulla carica del
condensatore e sulle NOT a trigger 74HC14 mentre le uscite e la fotocellula sono le stesse della logica
combinatoria.
Per la realizzazione delle uscite a partire dagli stati si fa riferimento alla seguente tabella nella quale luscita
L rappresenta il LED di segnalazione di cancello in movimento e sostituisce il lampeggiante:
S3
0
0
0
1

S2
0
0
1
0

S1
0
1
0
0

S0
1
0
0
0

MSX
0
1
0
0

MDX
0
0
0
1

L
0
1
0
1

Da una semplice analisi si nota che possibile scegliere le funzioni:


=
0
2

= 1

= 3

Il circuito andr provato su Multisim e realizzato su PCB.

NB: al fine di semplificare la realizzazione possibile dividere lo schema su tre PCB, macchina a stati finiti
(compreso il la logica combinatoria delle uscite), circuiti anti-rimbalzo e clock, attivazione LED e rel.

U3A

U1A
U1B

C
B

U3D

FCc

U1C

U3E

Msx

U2A

FCa
U3B

U2B

Mdx

U3C

U2C

D1

U2D

1N4148
D2

1N4148
E

Nota bene: per il calcolo della resistenza in


serie al LED di segnalazione errore, occorre
considerare la corrente massima delle porte
74HC (8mA) e la caduta di tensione dovuta
ai diodi (circa 0,7V).

E
R1
220

LED1

S0

S0n

S1

S1n

S2

S2n

S3

S3n
A

VCC

5.0V

14

~2CLR

7
~2Q
2CLK

~2PR

Reset
C

2K
12

13

U2A

11

2J

10

15

~1CLR

1CLK

2Q

6
2

1K

~1Q

1Q
3

~1PR
1J

14

~2CLR

~2Q
2CLK

2K
12

13

U1B

9
~2PR
11

2J

10

15

~1CLR

2Q

6
1CLK

1K
2

1J
3

~1Q

1Q
~1PR

4
C

U1A

U2B
Clock

U4B

U5A

U3C

U3D

U4A
U3A

U4C

FCa
T
C
F
A
FCc

U4D

U3B

Macchina a stati finiti


0

VCC
A

Clock

10k
B

R7
J1

GND

FCa

VCC

J3
P1 1
P2 2

R3
5.6k

R14
4.7k

D6
A

R13
J4

47k

U8C

P1 1
P2 2

C6
220nF
GND

GND

D1

5.0V

R11

C2
470F

VCC

D5

GND

U7C
C5
220nF
GND

GND

R12
4.7k

C1
100nF

U6A

FCc

5.0V

Reset

FCc

47k

P1 1
P2 2

C4
220nF
GND

VCC

R1
10k

S0

R9
J2

U6C

GND

5.0V

FCa

47k

P1 1
P2 2

D2
1N4148

D4
B

C3
220nF

R10
4.7k

D3

U6B

5.0V

R8
4.7k

47k

VCC
5.0V

R4
R5

47k

U9C
C7
220nF
GND

GND

VCC

R2
120k

J7

5.0V

P1 1
P2 2

GND

GND

Alimentazione

GND

Ingressi e timer
0

VCC

5.0V

R6

VCC

K1

GND

330
U5C

K2

VCC

5.0V

5.0V
J5

D7

S1

LED1

U5B

S0n
S2n

U5D

D8

P1 1
P2 2

S3
Motore
C

VCC

5.0V

RELAY_DPDT

LED6

R24
120

GND

1k

R17
100

P1 1
P2 2

GND

1.2k

LED4
S0

R20

Q3
2N2222A

R19

GND

LED2

Fotoresistenza

330

330

LED3

GND
LED5

S2

R21

GND

R22

GND

330

R23
330

GND

GND

GND

Uscite e fotocellula
0

5.0V

J6

R18
5.6k

Q2
2N2222A

R16

VCC
5.0V

GND

1k

LED Fotocellula
VCC

Q1
2N2222A

R15

RELAY_DPDT