INDICE

 

 

Prefazione del consiglio di classe

 

 

Capitolo 1: Schemi a blocchi

                   - Progetto completo

                   - Progetto ridotto

 

Capitolo 2: Il blocco remoto

-        Le fotocellule

-        L’amplificatore per le fotocellule

-        Il modulatore

-        Lo schema elettrico

 

Capitolo 3: Il blocco locale

-        Il demodulatore

-        Il microprocessore

-        Il software di centrale

 

Capitolo 4: Il microprocessore locale

                     Il software del PC centrale

 

 

 

Capitolo 5:Approfondimenti teorici

                - RS 232

                - Oscillatori a sfasamento

                - Modulazione FSK

                - Ricevitore supereterodina

 

 

Appendici:

-        Programma di centrale

-        Programma nel PIC 16F84

-        Data Sheet PIC 16F84

-        Data Sheet fotocellule

-        Data Sheet modulo trasmettitore

-        Data Sheet ricevitore

-        Circuito stampato filtri

-        Circuito stampato modulatore

-        Circuito stampato oscillatore

 

 

 

 

 

 

 

CAPITOLO 1

 

 

 

SCHEMI A BLOCCHI

·        PROGETTO COMPLETO

·        PROGETTO RIDOTTO

 

 

 

 

 

 

 

 

                               

 

 

1.1 Introduzione

 

Il progetto multidisciplinare di quest’anno consiste nella progettazione e nella realizzazione di un contatore elettronico in grado di indicare il numero di persone che entrano ed escono da un luogo chiuso il cui accesso è permesso a un solo utente alla volta.


                     

 


Il passaggio di una persona è rilevato da due fotocellule, il cui segnale viene trasmesso via radio ad una stazione ricevente remota che provvederà a elaborare l’informazione e mostrarlo sul video di un PC.

È così possibile sia la visualizzazione in tempo reale del “traffico”, sia la memorizzazione dei dati in un supporto permanente (disco rigido) permettendo così l’analisi dei dati di periodi precedenti, e  la produzione di eventuali statistiche. (Aspetto questo non sviluppato nel presente lavoro).

È evidente che per fare una rilevazione esatta delle persone che passano, è necessario permettere il passaggio a uno per volta, ad esempio con corridoi o cabine appositamente preparate.

Il lavoro è stato suddviso nei seguenti blocchi funzionali:

1.      Apparato fotocellule

2.    Apparato radio ricevitore e trasmettitore

3.    Modem

4.    Software della stazione ricevente

Gli studenti sono stati divisi a gruppi, che hanno portato avanti il lavoro relativo il blocco loro assegnato.
1.2 PROGETTO COMPLETO

 


SCHEMA A  BLOCCHI  LOGICI

Modulatore

 

Trasmettitore

 

Fotocellule

 
 

 


 


                                                                 


Casella di testo: Il segnale ricevuto viene demodulato e convertito in un segnale binario
letto dal microprocessore locale, che provvede a descrivere la sequenza
di attivazione delle fotocellule, al fine di discriminare se è una persona
che entra o che esce o se sono segnali di disturbo.
I dati ricavati sono inviati al PC con un collegamento seriale.
Il PC è preposto alla visualizzazione,  memorizzazione e all’analisi statistica dei dati.

Casella di testo: BLOCCO LOCALE

Cpu locale

 
Casella di testo: Demodulatore


       PC

 

Ricevitore

 
 



 


1.3 PROGETTO RIDOTTO

Per rendere più spedita la messa a punto dei vari elementi, abbiamo sviluppato un progetto ridotto. A questo proposito

lo schema a blocchi precedente può essere cosi modificato:


                                                             

Blocco 1: Sensore

Blocco 2: Ricetrasmittente e canale di trasmissione

Blocco 3: Elaborazione dati

 

.

Il blocco 2, durante la fase di realizzazione e di messa a punto, può essere sostituito momentaneamente da un cavo seriale. Così facendo possiamo concentrare il lavoro esclusivamente sulla progettazione e il montaggio dei blocchi 1 e 3. Il computer del laboratorio di TDP verrà collegato al blocco delle fotocellule mediante un cavo seriale che ci permetterà di simulare l’arrivo dei dati al software.

Nella prima fase di messa a punto il blocco delle fotocellule è stato simulato con un PC . Abbiamo così ottenuto uno schema ridotto composto da due soli blocchi funzionali collegati con una linea seriale.

 


 


BLOCCO 1: Simulatore di fotocellule

BLOCCO 2: Cavo seriale

BLOCCO 3: PC

 

Il programma del Pc del blocco 1 genera dei segnali che simulano le fotocellule. Il programma principale riceve i segnali come se ci fosse il sistema completo collegato. L’utilizzo del simulatore ha il vantaggio aggiuntivo di poter generare situazioni limite difficilmente realizzabili nel sistema reale : permettendoci di realizzare una migliore messa a punto del software.

 

 

 

 

 

 

    CAPITOLO 2

 

 

 

IL BLOCCO REMOTO

·        LE FOTOCELLULE

·        L’AMPLIFICATORE PER LE FOTOCELLULE

·        IL MODULATORE

·        LO SCHEMA ELETTRICO

 

 

 

 

 

2.1 Le fotocellule

 Le due fotocellule sono installate in modo tale da riconoscere se una persona entra o esce dall’istituto inviando ad un microprocessore una sequenza di dati che sarà di tipo “Fotocellula 1   ®   Fotocellula 2 ” o viceversa.

Il tutto è collegato ad un modem con una trasmittente che invierà i dati ad un ricevente collegato ad un PC .Il software nel PC conterà la persone in entrata e quelle in uscita.


 


 

Il segnale generato dai sensori dovrà essere amplificato e quindi modulato per consentire la trasmissione radio. Abbiamo utilizzato la seguente codifica:

fotocellula 1®segnale sinusoidale a 1kHz; 

fotocellula 2®segnale sinusoidale a 4kHz.

 


 


Il segnale inviato dal sistema remoto viene ricevuto dall’apparato radio e quindi demodulato in modo da riportarlo in forma digitale. Il microprocessore provvederà quindi a spedirli al PC mediante una linea seriale.

Un altro compito importante del microprocessore locale è quello di verificare l’integrità e la correttezza logica della sorgente ricevuta, annullando situazioni anomale come ad esempio una persona che non abbia attraversato tutte e due le fotocellule in un determinato lasso di tempo, o che si fermi a metà strada mentre un'altra persona attraversa tutte e due le fotocellule: se queste operazioni non venissero annullate potrebbero verificarsi delle sequenze non conosciute e creare così dei problemi all’interno del sistema .

 


Il blocco PC è l’interfaccia verso l’utente finale; qui i dati delle fotocellule vengono elaborati.

Il software calcola tutte le persone in entrata e in uscita e le visualizza tramite grafico.

Come accennato in precedenza sarebbe possibile eseguire anche elaborazioni: statistiche, tenere archivi storici, ecc.

Ma nel presente lavoro questi aspetti non sono stati trattati.

 

 

2.2 Amplificatore cellule fotoelettriche

 

 

Schema a blocchi:

Comparatore con

interesi

 

 Amplificatore

 

  Sensore

 
                                                                                                                                                       

Rif

 
                                                                                                                                                                             Out     

 

 

 

 

Principio di funzionamento:

 

Il sensore collegato agli ingressi genera un segnale elettrico. L’amplificatore  provvede ad amplificarlo e a mandarlo al comparatore che genera un’uscita alta o bassa a seconda se il sensore sia aperto o chiuso.

 


Grafico:

Uscita

 
 

 

 

 

 


La figura seguente mostra lo schema dell’amplificatore non invertente che amplifica il segnale d’ingresso proveniente dalle fotocellule per poi inviarlo al comparatore l’elemento attivo, è costituito da un unico integrato, l’ LM324 contenente al suo interno 4 amplificatori operazionali.

 

 

 


                             

                                          

 

 

 

Il comparatore utilizzato è un trigger di Schmitt: se il segnale al suo ingresso supera il livello di soglia (fissato dal potenziometro), pone l’uscita a 0, altrimenti a 1.


 

 

 

 


Questo segnale deve essere elaborato per pilotare i due oscillatori sinusoidale utilizzati per modulare i segnali logici. Le frequenze scelte sono 1 KHz e 4 KHz : abbastanza bassa per semplificarne la realizzazione dei circuiti e nel contempo sufficientemente distanti (2 ottave) tali da rendere agevole la loro demodulazione.

Il circuito che permette di elaborare il segnale deve soddisfare seguente tabella di verità:

 

 

 


Foto1    Foto2    Out    Selez. Freq.    Oscillatore              

                                           (nessuna persona)

0          0          0

1         0           1           1                    O1 (1Khz)

0         1            1         0                   O2 (4Khz)

1         1           0          tutte e due le fotocellule sono occupate: non si accetta

               

E’  facile verificare che la funzione finale è:

                _      _

Out = F1*F2 + F1*F2

 

Per la realizzazione finale abbiamo utilizzato tutte porte NAND, come illustrato nella figura successiva che si realizza con il circuito della figura seguente

 

 

 


 



                                                    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Schema amplifoto

 

 

 

 

 

 

 

 

 

 

              

                2.3        Il modulatore

 

 

 

 

 

 

 

 


La funzione del modulatore è quella di trasformare i segnai digitali provenienti dagli amplificatori delle fotocellule in segnali analogici, adatti ad essere trasmessi  via radio.

 

 

 

 

 


 


La frequenza del segnale DATA, molto minore rispetto a quella dei due oscillatori, è generata dal blocco fotocellule descritto nel paragrafo precedente.

 

Abbiamo visto che l’uscita del modem dipende dallo stato logico dell’entrata. Quando l’entrata è stato logico 0 in uscita abbiamo la frequenza generata dall’oscillatore 2 mentre se lo stato logico dell’ingresso è 1 in uscita si si avrà la frequenza generata dall’oscillatore 1.

 

 

La figura seguente mostra un diagramma temporale dei segnali di ingresso e di uscita dal modulatore.

 


 

 


Gli oscillatori

Data la semplicità funzionamento, abbiamo utilizzato oscilatori a sfasamento.

Questo tipo di oscillatore è costituito da un amplificatore invertente e da una rete di retroazione che deve produrre uno sfasamento di 180°; per far ciò vengono usati 3 celle di ritardo composte ognuna da due impedenze Z1,Z2 (di solito capacità o resistenze).

Nel seguente disegno è riportato lo schema di principio


dell’oscillatore:

 

 


Dalla teoria della reazione si ha:                    

                        Vf = V0 * b = - Av * Vf  * b

b è la funzione di trasferimento della rete di retroazione.

L’oscillazione si innesca se b presenta un argomento pari a 180° e Avb ha un modulo pari a 1. Si può determinare b applicando il teorema di Thevenin:

 

 

             b= 1/[(Z1/Z2)3 +5(Z1/Z2)2 +6(Z1/Z2)+1

 

Per determinare la frequenza di oscillazione bisogna annullare la parte immaginaria di b.

Quindi:

 

                                                        (Z1/Z2)3  + 6(Z1/Z2) = 0

 

da cui:

                                                        (Z1/Z2)2  = -6

 

Ponendo w = 2pfo, diventa:

 

                                                         1 / (j2pfoRC) 2  = -6

 

da qui ricaviamo che:

                                                          fo = 1/ (2p (Ö6) RC)

A questa frequenza il b si riduce a:

 

            b = 1 / [5(Z1/Z2)2 +1] = 1 / [5 * (-6) +1] = - 1/29

 

Si vede che la rete di retroazione riporta in ingresso dell’amplificatore invertente il segnale di uscita sfasato di 180°, infatti la parte reale di b è negativa. Affinché sia verificata l’equazione deve essere:

 
                                Av = -1 / b = 29

 

Le due tabelle seguenti contengono i valori utilizzati nel nostro progetto.

Casella di testo: Oscillatore a sfasamento:
f = 1000 Hz
                1                                            1
f = --------------------- è R = -------------------------
        2p * Ö3 * RC                     2p * Ö3 * f *C

Abbiamo fissato il condensatore a 100 nF per comodità.

                               1
R = ----------------------------------------- = 920W @ 1 KW
       2 * 3.14 *1.73 * 1000 * 100*10-9
 

Casella di testo: Oscillatore a sfasamento:
f = 4000 Hz
                1                                            1
f = --------------------- è C = -------------------------
        2p * Ö3 * RC                     2p * Ö3 * f *R

Abbiamo fissato la resistenza a 1KW per comodità.

                               1
C = ----------------------------------------- = 22 nF
       2 * 3.14 *1.73 * 4000 * 1000
 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.4      Lo schema elettrico del modulatore

 

L’oscillatore per il modem è composto principalmente da due oscillatori a sfasamento realizzati con mA 741. I due oscillatori hanno la stessa configurazione, ma generano due segnali di frequenza diversa:  1KHz e l’altro a 4KHz.

Dopo gli oscillatori vi sono due potenziometri che ci permettono di regolare l’ampiezza dei segnali presenti all’uscita.

 


 

 


Dopo i potenziometri vi sono due interruttori logici che si collegano tra loro in modo che se uno dei due è attivo, l’altro è disabilitato.

Gli interruttori logici funzionano come dei normali interruttori, ma , danno la possibilità di abilitarli o disabilitarli attraverso degli impulsi inviati su il piedino di Enable.


 

All’utente finale

 
 


I segnali di Enable sono da un circuito composto da un transistor e delle porte NOT.

Il transistor volge una la funzione di prevenire eventuali danni dovuti a sovratensioni, le porte NOT vengono utilizzate per generare i segnali con i livelli di tensione opportuni.

 

 

 


 

 

 


Per fare in modo che possa avere tre stati: 1KHz, 4KHz o zero, abbiamo inserito un altro interruttore logico finale che attiva o disabilita il passaggio del segnale.

 

 


 

 

 


Lo schema seguente mostra il circuito completo.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Schema oscillatore per modem

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       CAPITOLO 3

 

 

 

 

IL BLOCCO LOCALE

·        IL DEMODULATORE

·        IL MICROPROCESSORE

·        IL SOFTWARE DI CENTRALE

 

 

 


 

3.1 Stadio ricevente

 

I due segnali a 1 KHz e 4 KHz trasmessi dal modulatore vengono selezionati mediante un filtro passa basso ed uno passa alto collegati a un circuito di comparazione. Vengono poi trasformati in segnali logici digitali.

     

                  

A = 1 se fin è 1 KHz

B = 1 se fin è 4 KHz

Il filtro passa basso serve per eliminare il segnale ad alta frequenza e di conseguenza permette il passaggio del segnale a 1KHZ, mentre il filtro passa alto serve per eliminare il segnale a bassa frequenza e di conseguenza permette il passaggio del segnale a 4KHz..

 


  

La figura mostra schematicamente la risposta in frequenza complessiva.

 

 

 

 

 

 

 

 

 

 

I Filtri

I filtri utilizzati sono quelli della configurazione di Butterworth illustrati nella figura seguente.


Essendo le due frequenze da discriminare sufficientemente distanti (2 ottave) abbiamo optato per semplici filtri del 2° ordine.

Casella di testo: Filtro passa-basso:
ft = 1500 Hz
         1                       1                                    1                        1  
wt= ------ è 2pf = ------ è 6.28 * 1500 = ------ è R = --------------
        RC                   RC                                RC                 9420 * C

Fisso il condensatore a 100 nF per comodità.
                     1                                         
R = --------------------------------  = 1061 @ 1 KW
       (6.28 * 1500 * 100 * 10-9)
Per la realizzazione del filtro si preferisce ,nella maggior parte dei casi pratici , ricorrere alla soluzione detta a “componenti uguali” che prevede C1=C2=C e R1=R2=R; in questo modo si ottiene : w=1/RC, mentre l’amplificazione è fissata dal rapporto RB/RA .Le due tabelle seguenti contengono i valori utilizzati nel nostro progetto:

Casella di testo: Filtro passa-alto:
ft = 4000 Hz
         1                       1                                    1   
wt= ------ è 2pf = ------ è 6.28 * 4000 = ------ 
        RC                   RC                                RC  

Fisso il condensatore a 100 nF per comodità.
                     1                          
R = -------------------------------- @ 400 W
       (6.28 * 4000 * 100 * 10-9 )
 


Abbiamo controllato la risposta in frequenza dei filtri ottenendo i seguenti risultati:

 

 

Filtro passa alto

Filtro passa basso

 

 

 

 

 

 

frequenza di ingresso

tensione di uscita

tensione di uscita

 

 

 

500

0,25

2,6

1000

1

2,2

1500

1,5

2

2000

2

1,2

2500

2,1

1

3000

2,2

0,6

3500

2,4

0,55

4000

2,4

0,5

4500

2,4

0,45

5000

2,4

0,4

5500

2,4

0,35

6000

2,4

0,3

 

 

I disegni seguenti evidenziano il corretto funzionamento:

 

 


 

 


Dopo i filtri è necessario inserire un rivelatore d’inviluppo e quindi un comparatore per individuare quando l’ampiezza del segnale rivelato è sufficiente per decidere se è presente del segnale utile.


In definitiva si ottiene quanto in figura.

 

 


La coppia diodo-condensatore a valle del filtro è sostanzialmente un rivelatore di inviluppo: serve per raddrizzare e livellare il segnale; per scaricare il condensatore in assenza di segnale si mette una resistenza in parallelo. Il segnale arriva ad un comparatore che confronta un segnale di riferimento con quello che arriva dando in uscita o 0V o 5V.


 

 

 

 

 

 

 

 

 

Schema filtri per modem


ANALISI DELLA FORMA D’ONDA RICAVATA DAL DEMODULATORE

 

Per l’analisi del demodulatore prenderemo in considerazione il canale relativo  al filtro passa basso (ft  = 1000Hz)

 

Filtro Passa – Basso

(PUNTO A)

 

Il segnale generato dal ricevitore è posto all’ingresso del filtro ed è riportato nella figura seguente:

 

 


 


(PUNTO B)

 


Prima di amplificarlo, è necessario togliere l’eventuale componente continua che altrimenti saturerebbe l’amplificatore successivo. Questo viene ottenuto mettendo in serie al segnale il condensatore C7 .

 

 


La figura seguente mostra il risultato:

 

 

 

 

(PUNTO C)

L’amplificatore è ottenuto con un LM324 alimentato a tensione singola. Essendo il segnale di ingresso non traslato in alto rispetto a massa, all’uscita dell’amplificatore avremo solo le semionde positive: questo non inficia il risultato, anzi ci permette di poter spingere l’amplificatore al massimo possibile.

Il risultato è il seguente:


 

 

 

 

 


Segue quindi un rilevatore di inviluppo per trovare il valore di picco come illustrato nella figura seguente:

 


 

 

 


Il comparatore finale serve per ottenere un valore logico alto quando in ingresso è presente la frequenza a 1 KHz. La soglia di ritardo del trigger di Smith è regolata col trimmer POT2

 

0Seguono le forme d’onda ricavate dallo stesso filtro quando in ingresso è presente la frequenza di 4 KHz .Si nota che il canale a frequenza minore è praticamente insensibile alla frequenza più alta.


 

 


Forma d’onda  ricavata sull’uscita  del filtro passa basso, quando in ingresso si ha un segnale con frequenza di 4 KHz.


 


Forma d’onda dopo il condensatore C7 presa per una frequenza di 4KHz

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Forma d’onda all’uscita dell’amplificatore per una frequenza a 4KHz

 

 
 
 

Forma d’onda in ingresso al comparatore per 4 KHz

 

 

 

 

 

 

 

CAPITOLO 4

 

Il Microprocessore locale

Il software del PC centrale

 


 

4.1 Il Microprocessore locale

 

 

 

 

Recentemente l’impiego dei microcontrollori si sta diffondendo, oltre che nelle grandi industrie, anche a livello personale ed hobbistico, sia per la semplicità di programmazione che per l’esiguo numero di componenti esterni richiesto.

Il PIC16C84 è un microcontrollore in tecnologia CMOS a 8 bit caratterizzato dal basso  costo e dalle alte prestazioni.

Tutta la famiglia dei PIC16/17 impiega un’avanzata tecnologia RISC che permette il controllo completo del dispositivo con solamente 35 istruzioni. Quasi tutte le istruzioni sono eseguibili in un solo ciclo di 400 ns. E’ dotato di una memoria programmabile da 1K di tipo EEPROM, 15 registri per funzioni speciali, 64 registri ad 8 bit EEPROM per i dati, 8 livelli di stack, 36 registri interni general pourpouse da 8 bit, 8 livelli di stack e 4 sorgenti di interrupt:

 

·  Pin INT esterno;

·  Overflow del TIMER 0;

·  Cambio di stato sulla porta B <4..7>;

·  Fine ciclo di scrittura in EEPROM dati.

 

 

 

PRESTAZIONI DELLE PERIFERICHE:

 

Esistono 13 I/O pin con controllo individuale di direzione. Possono erogare 20 mA per pin come source e 25 mA come sink.

 

PRESTAZIONI SPECIALI DEL MICROCONTROLLORE:

 

La famiglia dei PIC16XX ha alcune funzioni speciali che permettono di ridurre i componenti esterni e quindi anche i costi, sia economici che di corrente; infatti si possono utilizzare quattro tipi di oscillatori:

 

1. Oscillatore RC, che comporta una soluzione a basso costo;

2. Oscillatore LP, che minimizza il consumo di energia;

3. XT, che è un quarzo standard;

4. HS, che viene utilizzato per quarzi ad alte frequenze.

 

Per ridurre ulteriormente i consumi è prevista la modalità  SLEEP; l’assorbimento a 5V e 4 MHz minore di 2 mA, mentre l’assorbimento in fase di SLEEP è minore di 1 uA.

 

 

 

L’ HARDWARE:

 

L’hardware del PIC è particolarmente ricco di componenti elettronici; andremo ora a spiegare il funzionamento base dei principali componenti:

    

·  Lo Status Register permette di far conoscere l’esito di una istruzione immediatamente dopo che è stata eseguita.

·  Il Working Register è il più sfruttato, essendo  l’unico che consente il passaggio dei dati da un registro all’altro.

·  Le periferiche sono: i 64 byte di EEPROM, il timer RTCC (Real Time Clock Counter) e i registri delle porte vere e proprie. 

·  I registri SRAM sono suddivisi in due banchi, banco 0 e banco 1; quindi per poter effettuare operazioni su di essi, dovremo prima settare correttamente il bit che seleziona l’uno o l’altro.

 


4.2: Analisi del problema


La prima cosa da fare nel leggere le fotocellule è di eliminare eventuali disturbi veloci(glitch)


 

 


Per far ciò ci siamo serviti del seguente algoritmo: 

 

1.      Controllo fotocellule

2.    Se = 0; restituisce 0

3.     Se=1: Ritardo di 1ms

4.    Legge fotocellule

5.    Se = 1; restituisce 0

6.    Se = 1; restituisce 1

 

 

Dopo aver testato le due fotocellule, bisogna sapere se una persona è entrata o uscita.

Per stabilirlo basta determinare il senso di attraversamento: se una persona entra, vengono interrotte le fotocellule con una certa sequenza(es:1-2), mentre se qualcuno esce, vengono interrotte le fotocellule nel senso inverso(2-1).


 


L’algoritmo che permette di stabilire la sequenza di attraversamento è il seguente:

Per leggere la fotocellula 1:

 

1.      Controllo fotocellula 1

2.    Se fotocellula 1 = 1

3.    Controllo fotocellula 2

4.    Se fotocellula 2 = 1

5.    Trasmette “D”

6.    Altrimenti niente

 

Per la fotocellula 2, stesso algoritmo, ma, trasmette “F”.

Una volta che il PIC ha ricevuto il segnale dalle fotocellule e dopo averne stabilito il senso di percorrenza bisogna spedire il dato(“D” o ”F”),  al PC, tramite la porta seriale.

 

L’algoritmo utilizzato è il seguente:

 

1.      Legge il segnale

2.    Se la sequenza=1-2:spedisce “D”

3.    Se la sequenza=2-1: spedisce “F”

 

 

I dati trasmessi dal mP, tramite la porta seriale, vengono ricevuti dal PC che, tramite un programma, li visualizza sul monitor.

 

 

 

 

 

 

La figura seguente mostra il diagramma di flusso completo del software del PIC:

 

 

 

 

 

 

 


Decisione: Se=1                                              NO

 


 SI                                            SI   

Legge la 2° fotocellula

 
Decisione: Se=1                                              

                         NO 

Decisione: Se=1
 


            SI                                               NO

Controlla la 1° fotocellula

 
                                                SI    

Spedisce “D”

 
                                                           

Decisione: Se=1                      NO

 


                SI                                                                 

 

 

 


                                    

 

 

 

 

 

Per testare il software del PIC abbiamo realizzato un programma che simuli la stazione centrale.

 

L’algoritmo utilizzato è il seguente:

 

1.      Apre il canale di trasmissione

2.    Riceve il dato

3.    Se = “D”; emette un tipo di suono

4.    Se = “F” ; emette un altro tipo di suono


4.3: Il software nel PC centrale

 

 

Lo staff della sez. software del contapersone ha ideato e costruito un semplice contapersone grafico sviluppato grazie al Software Microsoft Visual Basic (versione 4.0).

Questo programma è in grado di visualizzare un grafico delle persone in ingresso ed uscita in funzione del tempo.

Il programma riceve dall’esterno (per mezzo della porta seriale) i segnali rilevati dalle fotocellule

 

 

 

 


I segnali generati delle fotocellule sono cosi  codificati:  

“F” :=>  Fuori                                                                        “D” :=> Dentro

Il programma visualizza un grafico numero di persone in entrata ed uscita, aggiornato automaticamente all’arrivo di un nuovo dato

E’ mostrato inoltre l’orario corrente (preso dall’orologio di sistema).

La seguente figura mostra l’interfaccia grafica del programma.


 

 

 

 

 

 

 

 


Schema a Blocchi Del Programma

 

Ovale:     Start               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 


Analisi dei blocchi del programma

 

RICEZIONE DEI CARATTERI DELLA SERIALE

 

La ricezione dei dati seriali è gestita dal componente MSCOMM.OCX.

E’ un modulo software fornito col Visual Basic, in grado di gestire completamente la seriale: dal settaggio dei parametri alla routine di ricezione seriale, gestito a interrupt.

La ricezione a interrupt garantisce che nessun dato venga perduto.

Il codice di ricezione e l’elaborazione dei caratteri ricevuti diventa cosi decisamente semplice:


 

Private Sub MSComm_OnComm()

 

 

Dim a$

a = MSComm.input       ‘stringa di comando per l’input

 ‘della  porta seriale

Text1.Text = Text1.Text & a   ‘Casella di testo per

                                             ‘appoggio e conferma

                                             ‘ingresso dati.

If (a = “D”) Then                             

        Call Input_Click              ‘Routine per gestione input

Elseif (a = “F”) Then   ‘Se l’ingresso e diverso da D ‘(ossiaF)

        Call Output_Click      ‘Routine gestione output 

End If                     

 

 

GESTIONE INGRESSO/USCITA PERSONE

 

La sub Input_Click gestisce l’ingresso di una persona e l’Output_Click ne gestisce l’uscita.

Anche in questo caso il codice si riduce a poche righe; in pratica si incrementa o decrementa il contatore interno.

La procedura di uscita delle persone gestisce anche l’eccezione in cui il contatore sia < 0.

E’ evidente che non è fisicamente pensabile un numero negativo di persone all’interno dell’edificio.

 

Private Sub Input_Click()

   

    tot_in = tot_in + 1                         ‘calcolo del comando di ingresso   ‘nel label totale

lbl_count_tot.Caption = tot_in ‘visualizzazione del comando di ‘ingresso nel label totale

 

    tot_tot = tot_in - tot_out      'calcolo del totale

 

lbl_count_tot.Caption = tot_tot 'visualizzazione del totale

                                                   ‘nel label totale

   

    Call traccia_punto(tot_tot)    'richiama il sottoprogramma

                                                   ‘del grafico

End Sub

 


Private Sub Output_Click()

  

tot_out = tot_out + 1                    ‘Al totale in uscita aggiungi 1

lbl_count_tot.Caption = tot_out ‘Visualizza sul label il 

                                            ‘totale di uscita

tot_tot = tot_in - tot_out       ‘Esegui il calcolo del totale                                                         

lbl_count_tot.Caption = tot_tot  ‘Visualizzazione del

                                                    ‘risultato sul label di uscita

 

‘Esecuzione del ciclo per l'arresto del contatore a 0    

If tot_tot <= 0 Then                  

       lbl_count_tot.Caption = 0    ‘il contatore totale deve 

                                                    ‘essere uguale a 0

       tot_tot = 0                         'impostazione del totale

                                                    ‘uguale a 0

       tot_out = tot_in - 1             'impostazione del totale come

                                                    ‘tot_in – 1

End If                          'Termine dell'esecuzione del ciclo      

Call traccia_punto(tot_tot)

End Sub

_____________________________________________

Dal codice si rileva che queste due funzioni provvedono a lanciare dal sottoprogramma che genera il grafico delle persone (Call traccia_punto)

 

GESTIONE GRAFICO

 

E’ generato dalla sub Traccia_punto ( y )

Il parametro di ingresso rappresenta il valore dell’ordinata, mentre l’ascissa è data dall’ora corrente.

Si riesce cosi ad avere il diagramma delle persone all’ingresso dell’edificio alle varie ore del giorno.

 

Il codice, pur non essendo banale, non è complesso; la posizione del punto del grafico è ottenuta facendo la proporzione tra il valore reale in ingresso è la dimensione in twips (unità di misura della dimensione dello schermo)  delle aree del grafico.

 

           

         Max_y

 

 

        Max_y_twips                                                   Max_x

   0

                                                                                          

Ad esempio per l’asse y si avrà :

 

 

     Max_y                       Y                                                                 

------------------ = -------------------------

Max_y_twips           Coordinate_y video

 

Dove Coordinate_y video sarà =

 

           Max_y_twips 

y * ------------------------------

               Max_y

 

Analogamente per l’asse x ma con la seguente limitazione:

Viene preso in considerazione solo l’intervallo di tempo che va dalle 8 del mattino sino alle ore 13.20 (orario di fine lezione )

 

Descrizione Programma Simulatore

 

Per effettuare i test sul software, abbiamo messo a punto un programma che simula le fotocellule e che ci permette di trasmettere tramite porta seriale, una “D” o una “F”,a seconda che si voglia un dato ingresso oppure uno in uscita, creando così due segnali distinti come “0” ed “1”.

Sostanzialmente il programma legge la tastiera e spedisce sulla seriale il segnale di “ Persona in entrata “ o di “ Persona in uscita “dietro pressione di un tasto.

Il programma è il seguente:

‘* Countsim.bas

‘*

‘* Simula il segnale generato dal up collegato alle fotocellule

 

CLS

PRINT “Premi “; “D”; per dentro

PRINT “Premi” ; ”F” ; per fuori

OPEN “COM1:1200;N;8;1;CD0;CS0;DS0;OP0;RS;TB2048,RB2048” FOR OUTPUT AS#1

DO

        a$  =  INKEYS$

        IF (a$ =”D”) THEN

                PRINT #1,a$ ;

                PRINT a$

ELSEIF  ( a$ = “F” )THEN

        PRINT #1,a$ ;

        PRINT a$

END IF

LOOP UNTIL a$ = CHR$(27)

END

 

 

 

 

 

 

 

 

 

 

CAPITOLO 5

 

 

 

APROFONDIMENTI TEORICI

·        RS232

·        OSCILLATORI A SFASAMENTO

·        LA MODULAZIONE FSK

·        RICEVITORE SUPERETERODINA

 

 

 

5.1            LO STANDARD RS-232

Per trasferire dati digitali tra due dispositivi sono disponibili due tipi di metodologia: trasmissione seriale e parallelo. La trasmissione parallelo permette di trasferire un’intera parola ( solitamente un byte) contemporaneamente.

 

 

               TRASFERIMENTO DATI TIPO PARALLELO Casella di testo: 1                 PARITA’                 
1                      MSB                                
0
0
0
0
0                       LSB
1
Casella di testo: 7 BIT ASCII

 

 

 


Con il trasferimento seriale invece si trasmette un solo bit per volta

                 

 

                        TRASFERIMENTO DATI TIPO SERIALE

 

Casella di testo:  PARITA’

 

Casella di testo: ( DISPARI )

 


È evidente che il primo tipo di trasmissione permette velocità di trasmissione maggiore di quella seriale ma, quando la distanza fra TX e RX è notevole, i segnali digitali che transitano sulla linea degradano, e diventa sempre più difficile operare senza errori. Questo succede perché in questo caso si fanno sentire i problemi di diafonia e d’impianto, legati all’uso di cavi multipolari; questo fatto limita l’impiego a collegamenti di lunghezza ridotta  (solitamente pochi metri).

La trasmissione di tipo seriale si ottiene invece quando il numero dei bit che costituiscono un carattere sono trasmessi sequenzialmente e tramite un solo circuito. Da ciò deriva evidentemente la maggiore robustezza di questo tipo di trasferimento inoltre il numero ridotto di conduttori che utilizza fa si che si possano utilizzare anche le linee telefoniche, dotandoci di appositi dispositivi denominati MODEM.

 

 

SEGNALI A LIVELLO TTL

 
 


 



 

 

CPU

 
 

 

 

 


Il modem provvede a modulare il segnale in trasmissione e a demodularlo in ricezione per far si che la velocità di trasmissione si adatti alla banda del canale telefonico (da 300Hz a 3400Hz).


 


ANDAMENTO DELLO SPETTRO ALLA VELOCITA’ DI TX =      1200 BAUD

 

Normalmente si fa ricorso ad una modulazione FSK binaria che associa toni a frequenza diversa al MARK (“1 logico”) e allo SPACE (“0 logico”).

 

 

 

              TRASMISSIONE DATI ASINCRONA

Quando la distanza tra due caratteri consecutivi non è costante, la trasmissione è detta di tipo asincrono e per indicare l’inizio e la fine di ciascun carattere si fa uso rispettivamente di uno SPACE, come bit di start, e di un MARK, come bit di stop.

 

 

 

start

 

stop

 


 

 

 

 

 


Dopo ogni trasmissione da 1 a 0 l’interfaccia in ricezione inizia una procedura di controllo che consiste nel verificare se dopo T\2 secondi (T è la durata del bit) la linea è ancora a livello 0. Se la risposta è affermativa il segnale ricevuto viene campionato 9 volte consecutive ad intervalli di 1/T secondi. Naturalmente perché i bit costituenti ogni carattere siano campionati correttamente e cioè nel centro di ciascun bit, è necessario conoscere con buona precisione la velocità di trasmissione 1/T. Il principale svantaggio della trasmissione asincrona è nella sua limitata efficienza, infatti, il 20% del tempo è dedicato alla trasmissione dei bit di start e di stop.

 

Normalmente al complesso del computer viene attribuito il nome di DTE (Data Terminal Equipment) e al modem il nome di DCE (Data Communications Equipment). Lo standard RS-232/C definisce le caratteristiche d’interfacciamento fra DTE e DCE.

Innanzitutto per il collegamento dei cavi di connessione tra DTE e DCE sono previsti dei connettori di tipo D a 25 poli. Questi segnali sono suddivisi in segnali per il trasferimento dei dati, segnali di controllo e segnali di temporizzazione:   

 

·        CARATTERISTICHE DEI SEGNALI

La  tensione in uscita sia per il DTE che per il DCE deve essere compresa tra ±5V e ±15V

In realtà i comuni PC riconoscono correttamente anche un segnale d’ingresso che lavori a livelli TTL (0 – 3.2V). I segnali di controllo sono attivi in condizione di SPACE.

 

 

·        MODALITA’ DI COLLEGAMENTO

Per rendere possibile l’ interfacciamento tra due dispositivi è necessario che le rispettive interfacce siano tra loro compatibili e soddisfino entrambe a certe specifiche. La normativa EIA RS-232/C è stata studiata per collegamenti seriali tramite modem e, per collegamenti a breve distanza senza l’uso del modem (null modem).  

Nella connessione tra DTE e  DCE il numero dei segnali da utilizzare può variare secondo il tipo di collegamento che deve essere effettuato e del modem utilizzato.

 

·        RS-232/C SPECIFICHE ELETTRICHE

Trasmettitore

  

Tensione a vuoto :                  Vo <  25 V

Corrente di corto circuito :      Io  < 0.5A

Max valore di slew rate :         30 V/us

Capacità del carico:                  CL< 2500pF

 

Ricevitore

 

Impedenza di ingresso:              3KΩ

Livello 0= SPACE=CTR ON:   Vi>3V

Livello 1=MARK= CTR OFF:  Vi<-3V

 

Velocità di trasmissione in Bit/sec.

 

   50       300       4800

   75       600       9600

  110      1200     19200

  150      2400

 

      SCHEMA TIPICO DI COLLEGAMENTO

 

 

·        Trasferimento dati             DTE®DCE   trasmitted  data

 

I dati che provengono su questo circuito al DCE vengono trasmessi al DCE remoto.

 

              DTE¬DCE   received data

I dati ricevuti e demodulati dal DCE (modem) vengono trasferiti su questo circuito al DTE.

 

·        Controlli                                 DTE®DCE     request to send

                                                        DTE¬DCE     clear to send

Quando il DTE vuole iniziare una trasmissione pone RTS  ON , quindi aspetta che il DCE dia il permesso di trasmissione (CTS ON).

 

                                           DTE¬DCE    data set  ready

La condizione ON significa che il DTE è alimentato e non sta effettuando operazioni di collegamento su rete commutata.

                                             DTE®DCE     data terminal ready

 

con la condizione ON il DTE segnala al DCE di essere alimentato e in grado di ricevere e/o trasmettere.

                                                      DTE¬DCE      ring indicator

Questo circuito è utilizzato dal DCE per avvisare il DTE dell’arrivo di una chiamata in linea.

                                                     DTE¬DCE     carrier detect

Il DCE usa questo circuito per indicare al DTE che in linea è presente un segnale di tipo numerico.

 

 

SCHEMA TIPICO DI INTERFACCIAMENTO TRA DTE E DCE

DTE

 

DCE

 

TRASMITTED DATA

 

RECEIVED      DATA

 

REQUEST TO SEND

 

CLEAR TO SEND

 

DATA SET READY

 

GROUND

 

 

 

DATA TERMINAL         READY

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


   SCHEMA TIPICO DI COLLEGAMENTO CON NULL-MODEM

 

TRASMITTED DATA

 

RECEIVED DATA

 

REQUEST TO SEND

 

CLEAR TO SEND

 

DATA SET READY

 

GROUND

 

CARRIER DETECT

 

DATA TERMINAL READY

 
 

 

 

 

 

 

 


QWQrtidkdtxkrykktddkiygioygikvghykiujvguando s’intende usare la RS-232 per collegamenti su distanza limitata è possibile evitare l’uso del modem mediante opportuni cavi invertenti detti NULL-MODEM.

In questo caso tutti i connettori RS-232/C devono essere collegati tra loro in modo tale che lo stato dei segnali sia in grado di effettuare sia la TX che la RX.

 

L’interfaccia RS-232/C presenta limiti in molte applicazioni essendo adatta per collegamenti a distanze non particolarmente elevate quando non è usato il modem. Ha l’ulteriore limitazione di essere utilizzata per collegare tra loro solo due utenti. Si nota che il Range di tensioni di lavoro  (-15V ¸ -5V e  5V ¸ 15V ) con cui opera presenta caratteristiche tali da richiedere appositi sistemi di alimentazione.

 

 

 

 

 

 

 

5.2 MODULAZIONE FSK (FREQUENCY SHIFT  KEYING)

 

Nella modulazione digitale di frequenza, ad ogni simbolo della sorgente binaria viene assegnata una frequenza di valore compreso all’interno della banda passante del mezzo trasmissivo.

Al simbolo “1” viene associata la frequenza fz, mentre, al simbolo “0” viene associata la frequenza fA, tipicamente di valore maggiore rispetto a fz.


 

 


La scelta delle due frequenze viene fatta in modo da realizzare il miglior compromesso tra le seguenti esigenze:

 

·        Minimizzazione dell’occupazione di banda;

·        Minimizzazione delle interferenze tra i simboli;

·        Periodo relativo alle due frequenze minore del tempo di bit;

·        Continuità di fase per il corretto funzionamento del demodulatore.

 

L’indice di modulazione nella FSK si calcola mediante la seguente formula:

 

    m = Df / fm = Df / (Vb / 2) = (2 Df ) / Vb = (fA - fz) / Vb

 

dove:

 

Df = (fA - fz) / 2  ® è la deviazione di frequenza;

fm ® è la frequenza massima della modulante;

Vb ® è la velocità del segnale dati [bit / s].

 

Questo tipo di modulazione può essere effettuata in modo analogico commutando l’uscita dei due oscillatori a frequenza diversa, oppure, con una tecnica digitale che si basa sull’utilizzo di circuiti, che a partire dal segnali prodotto da un oscillatore quarzato, realizzano la eliminazione o l’inserzione di impulsi per generare le due frequenze desiderate.

 

 

5.3     RICEVITORI SUPERETERODINA

 

CONCETTI GENERALI SUI RICEVITORI

 

Un radioricevitore è un’apparecchiatura che esegue l’operazione inversa rispetto a quella compiuta da un trasmettitore. Deve riportare lo spettro del segnale modulante in banda base (quella occupata in origine dal segnale, prima della modulazione), ed utilizzare il segnale demodulato per pilotare un traduttore elettroacustico (altoparlante), in modo da rendere intelligibile il messaggio ricevuto.

La maggior parte dei ricevitori utilizza la tecnica eterodina, la quale consiste nella rilocazione spettrale del segnale ricevuto dall’antenna.

Questa operazione viene effettuata mediante l’utilizzo di un miscelatore e un oscillatore locale.

Il miscelatore acquisisce, in ingresso, le forme d’onda della portante e dell’oscillatore locale, e, in uscita, fornisce la differenza tra le due frequenze (fosc. - fp).

La frequenza ottenuta è denominata frequenza intermedia.

 


Schema a blocchi di un ricevitore a supereterodina

 


Il segnale che viene ricevuto dall’antenna viene inviato ad uno stadio preselettore, costituito da un filtro passa banda, che ne esegue il filtraggio.

Lo stadio successivo è costituito dal primo miscelatore collegato al primo oscillatore locale; questo stadio riceve il segnale dell’antenna e il segnale dell’oscillatore locale.

Lo stadio preselettore e l’oscillatore locale devono essere in sintonia, ovvero, il valore di frequenza della portante trasmessa dalla stazione che ci interessa riceve.

Dopo aver subito la prima conversione, il segnale viene amplificato e quindi effettuata una seconda conversione che porta la frequenza del segnale ad un valore, generalmente fisso, di 455 KHz.

Il segnale ottenuto viene amplificato e inviato ad un rivelatore di inviluppo che ricostruisce il segnale a bassa frequenza.  

 

Il primo processo di conversione è di tipo infradina (la frequenza dell’oscillatore locale è più piccola della frequenza del segnale ricevuto), e quindi si ha:

 

fIF1 = fRF - fLO

 

La frequenza dell’oscillatore locale viene scelta superiore alla fIF1 , per cui la seconda conversione sarà di tipo supereterodina, quindi si ha:

 

fIF2 = fLO – fIF1

 

 

Caratteristiche del ricevitore

 

·        Sensibilità:

  

      La sensibilità di un ricevitore è la capacità di ricevere segnali deboli. Un ricevitore sensibile deve avere un’amplificazione elevata.

      I ricevitori sono normalmente provvisti di controllo automatico di guadagno, detto anche AGC (Automatic Gain Control).

      Infatti se il segnale in antenna è debole, l’amplificazione deve essere alta, in modo da consentire    

      al demodulatore di operare soddisfacentemente e da avere un uscita a livello sufficiente;  

      viceversa, se il segnale è forte, l’amplificazione deve essere ridotta, in modo che i dispositivi  

      attivi non  lavorino in condizioni di non linearità, con conseguente distorsione.

L’ AGC  viene realizzato rivelando e filtrando il segnale ricevuto; la tensione di controllo       

      ottenuta è utilizzata per controllare il guadagno degli stadi precedenti al rivelatore.

 

·        Selettività:

 

La selettività di un ricevitore è la capacità di selezionare la portante e le bande laterali relative alla stazione desiderata e di attenuare il più possibile tutti gli altri segnali presenti in antenna.

Nei ricevitori supereterodina la selettività dipende soprattutto dagli stadi a frequenza intermedia. Vi è da tenere presente, però, che segnali ampi, non desiderati all’ingresso di un dispositivo non lineare, causano l’apparire di armoniche che possono cadere nella banda desiderata; i circuiti preselettori, pur non essendo caratterizzati da un alta selettività, hanno anche lo scopo di eliminare tali componenti spurie, prima che pervengano al dispositivo attivo con caratteristiche non lineari e migliorano così la selettività del ricevitore.

 

 

 

·        Fedeltà:

 

La fedeltà di un ricevitore è la capacità di riprodurre l’informazione senza introdurre distorsioni.

La non linearità dell’amplificatore audio o video che segue il demodulatore è la principale causa di distorsioni, però, anche gli stadi a frequenza intermedia influiscono sulla fedeltà.

 

·        Sensibilità alle interferenze:

 

Un buon ricevitore non deve essere sensibile alle interferenze, deve cioè essere in grado di consentire l’intelligibilità delle informazioni anche in presenza di disturbi e di interferenze di vario genere.  

 

 

 

 

 

 

RADIOTRASMETTITORE MK 1645

 

Il radiotrasmettitore MK 1645, alimentato a 12 Volt, ha una portata di circa 400 metri.

L’MK 1645 può modulare la portante sia in FM (Frequency Modulation) che in FSK (Frequency Shift Keeing).

La struttura di questo trasmettitore si può riassumere nel seguente schema a blocchi:

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Spiegazione dello schema a blocchi:

 

Il primo stadio è costituito da un oscillatore al quarzo che lavora ad una frequenza di 16,630 MHZ. La frequenza di lavoro dipende dal tipo di quarzo.


 


Le oscillazioni prodotte devono essere modulate in frequenza; per far ciò, il segnale viene mandato ad un transistor  in configurazione Collettore – Emettitore comune.

Tale configurazione fa lavorare il transistor come un diodo varicap, ovvero, si verificano delle variazioni di capacità tra emettitore – collettore e base in proporzione alla tensione applicata al nodo comune.


 


Le variazioni di capacità provocano uno spostamento in frequenza  delle oscillazioni prodotte,  generando così la modulazione FM.

Il segnale modulato viene applicato ad un amplificatore triplicatore che amplifica il debole segnale dell’oscillatore e ne triplica la frequenza, quindi avremo:

 

 

f = 16,630 X 3 = 49,89 MHz


 



Il segnale in uscita dall’amplificatore viene filtrato e

 


riamplificato per poi essere irradiato dall’antenna. 

  

 

 

RADIORICEVITORE MK1945

 

Le caratteristiche di questo radioricevitore sono:

 

·        Gamma di ricezione utilizzabile da 48 a 52 MHz.

·        Sistema di ricezione supereterodina a doppia conversione.

·        Preamplificatore d’ingresso per eliminare le interferenze.

·        Il segnale di bassa frequenza è disponibile su due diverse uscite.

 


La struttura di questo trasmettitore si può riassumere nel seguente schema a blocchi:

 

 


Spiegazione dello schema a blocchi:

 

Il segnale trasmesso viene captato dall’antenna, filtrato e amplificato.

Dopo di che viene applicato all’ingresso di un mixer.

Questo si miscela con il segnale prodotto dall’oscillatore locale a 39,190 MHz ed avviene la prima conversione, ovvero, il segnale diventa a 10,7 MHz.

Il segnale viene inviato al secondo mixer ed avviene la seconda conversione, il segnale diventa a 455 KHz.

Successivamente il segnale viene filtrato e demodulato, poi viene amplificato e inviato all’integrato LM 358 che provvede a ricostruirlo per poi renderlo disponibile alla sua uscita in forma digitale. 

 

Da prove fatte in laboratorio, abbiamo verificato che la ricostruzione del segnale digitale non avviene correttamente.

Siamo stati costretti ad utilizzare la sola uscita analogica ricorrendo ad un modem esterno (Vedi cap. 2).

 

 

 

 

 

 

 

 

       

 

    

     APPENDICI

 

 

 

 

 

·         PROGRAMMA DI CENTRALE

·        PROGRAMMA NEL PIC 16F84

·        DATA SHEET PIC 16F84

·        DATA SHEET FOTOCELLULE

·        DATA SHEET MODULO TRASMETTITORE

·        DATA SHEET RICEVITORE

·        CIRCUITO STAMPATO FILTRI

·        CIRCUITO STAMPATO MODULATORE

·       CIRCUITO STAMPATO OSCILLATORE