Porta Parallela.
Copyright 2007: Juan Carlos Galarza Roca

Questa informazione è parte del Libro: "Porta Parallela come interfaccia di Entrada/Salida"

Acquisizione di dati analogici col temporizzatore NE555(NE 555)

www.globu.net

Acquisizione di dati analogici col temporizzatore NE555

Per leggere segni analogici, è necessario fare la rispettiva conversione a segno digitale.  Il temporizzatore NE555 genera polsi variabili, ha come risposta una frequenza, a partire da due resistenze ed un capacitor.  Questa messa a fuoco di acquisizione di dati implica i seguenti passi:

 

1. Adeguare la variabile fisica in studio affinché si comporti come resistenza elettrica
2. Calcolare i valori della resistenza restante ed il capacitor
3. Collegare l'uscita del temporizzatore ad uno dei bits del registro di stato
4. Elaborare un programma che calcoli la frequenza a partire dai polsi di entrata
5. Realizzare le misurazioni con valori conosciuti di riferimento
6. Costruire un modello di trasformazione di frequenza alla variabile in studio (regressione) interpolazione,

Descrizione del temporizzatore NE555

1
Fig. Temporizzatore NE555

Alimentazione

Vcc            5 volt         
Ground      Tierra

La fonte di 5 volt per alimentare questo circuito può ottenersi direttamente della fonte di potere del PC, o del porto di giochi (vedere fonte di alimentazione).

                                        
 Circuito generico

2
Fig. Circuito generico

Modo di operazione

Il temporizzatore NE555 genera un polso di accordo ai valori di due resistenze ed un capacitor.

La seguente formula si usa per calcolare il periodo di questo polso.

3

Dove: 


Ra

:

Valore della resistenza connessa ai pines  7 e 8

Rb

:

Valore della resistenza connessa ai pines  2 e 7

Cap

:

Valore del capacitor polarizzato connesso a terra ed i pines 2 e 6

Come esempio, se la valuta formula coi seguenti valori:
    
     Ra       :            540 ohm
     Rb       :            620 ohm
     Cap     :            1 microfarad = 4 Faradios

Risultando
    
     5

T = 0.00123354 secondi

Quello che genera un polso con una frequenza di
    
     6
     7

La frequenza calcolata può differire della frequenza che si legge del temporizzatore NE555 per gli effetti della temperatura tanto nelle resistenze come nel capacitor di questo circuito.

In un caso di applicazione pratica, si dovrà mantenere fissa la resistenza Ra ed il Capacitor, in modo che la variabile che si studia sia la resistenza Rb.  Man mano che questa resistenza vari, il temporizzatore genererà differenti frequenze.  La frequenza generata sta in funzione delle variazioni della resistenza in studio.

Programmazione

Il seguente algoritmo permette di leggere e calcolare la frequenza generata per il temporizzatore NE555.
/* Inizio */
ctd_pulso_alto =0
ctd_pulso_bajo =0
leer_tiempo_del_sistema

/* Boccolo principale */
finché il tempo trascorso non ha superato 1 segundo  fare
inizio
se bit_leido è allora in alto
inizio
                        ctd_pulso_alto = ctd_pulso_alto+1
mentre bit_leido è in alto fare
inizio
fine
fine
se bit_leido sta in sotto allora
inizio
ctd_pulso_bajo = ctd_pulso_bajo+1
mentre bit_leido sta in sotto fare
inizio
fine
fine
fine {del mentre}

/* Calcoli */
frequenza :=, ctd_ pulso_alto+ ctd_pulso_bajo)/2

/* Fine */
fine

Esempio per un bulbo di temperatura (termometro digitale)

In questo esempio si definiscono le variabili del circuito generico per realizzare la lettura di temperatura con l'uso di una termoresistencia.

La termoresistencia che si usa fu ottenuta del bulbo di temperatura del sistema di controllo di refrigerazione di un'automobile.

Di seguito si descrive il circuito coi parametri specifici di questa pratica.

Circuito pratico

8
Fig. Circuito pratico

La termoresistencia (bulbo) varia sua resistenza di accordo alla temperatura.  Variando questa resistenza, anche il circuito genera una frequenza variabile. 

In questo caso specifico, risulta più semplice realizzare una serie di misurazioni con l'aiuto di un termometro, in modo che si registri la frequenza rispettiva per ogni misurazione. 

I seguenti dati si ottennero con un circuito come quello descritto anteriormente, e con l'aiuto di un termometro di mercurio

Dati sperimentali:

Temperatura
(gradi centigradi)

Frequenza
(hertz)

120.0

1500

89.0

870

82.0

820

70.0

725

60.0

640

40.0

460

35.8

420

33.8

405

30.0

366

27.0

339

24.7

318

22.5

297

20.2

280

10.0

204

0.0

135

A partire da questi dati può utilizzarsi il seguente algoritmo di interpolazione:

/* Si definiscono i tipi di dati */

tipo puntos=es un registro coi tipi x,y di tipo reale

e dati è una variabile di quello tipo
 
dati è una sistemazione da 1 a 50 di tipo punti

/* Inizio */
Caricare il vettore datos[i]. x e datos[i]. e coi valori della tavola di
Dati sperimentali.

Tama_vector ha il numero di file della tavola di dati sperimentali

/* costruire la funzione */
funzione interpolar(con parametro num_buscado di tipo reale, restituisce un dato di tipo reale
variabile               i                              di tipo Intero
                               x1,x2,y1,y2            di tipo Reale
                               salida                    di tipo Reale
                               sale                       di tipo Booleano
inizio
i=1
sale=falso;
mentre, i < tama_vector, e (sale=false) fare
inizio
si           , num_buscado>=datos[i+1]. y)        e
(num_buscado <= datos[i]. y)            allora
inizio
x1=datos[i]. x
y1=datos[i]. e
x2=datos[i+1]. x
y2=datos[i+1]. e
sale=verdadero
fine
                               i=i+1
fine
salida=0
se esce è vero allora
inizio
salida=(x2-x1)/(y2-y1)*(num_buscado-y1)+x1
fine
interpolar=salida
fine
/* Utilizzare */
Richiamare previamente alla funzione con la frequenza colta
Spiegare, fare grafiche, etc.
/* Fine */

 

Se desidera ma informazione sul Porta Parallela, non dubiti di comunicarsi con  pparalelo@hotmail.com

 

 

 

Google