LE PORT PARALLÈLE
LE PORT PARALLÈLE

Port parallèle.
Copyright 2007: Juan Carlos Galarza Roca

Cette information fait partie du Livre: "Le Port parallèle comme interfac d'Entrée / Sortie"

Acquisition de données analogiques avec le temporizador NE555 (NE 555)

www.globu.net

Acquisition de données analogiques avec le temporizador NE555

Pour lire des signes analogiques, c'est nécessaire à faire la conversion respective à signe numérique.  Le temporizador NE555 produit des pulsations variables (il/elle a comme réponse une fréquence) qui démarrent à partir de deux résistances et un condensateur.  Ce centre d'acquisition de données implique les pas suivants:

 

1. Adapter la variable physique dans l'étude afin qu'il/elle il/elle comporte comme résistance électrique
2. Calculer les valeurs de la résistance restante et le condensateur
3. Relier la sortie du temporizador à un des morceaux de l'inscription de l'état
4. Élaborer un programme qu'il calcule la fréquence qui démarre à partir des pulsations d'entrée
5. Emporter les mesures avec valeurs célèbres de référence
6. Pour construire un modèle de transformation de fréquence à la variable dans l'étude (retour en arrière, interpolation)

Description du temporizador NE555

1
Fig. Temporizador NE555

Nourrir

Vcc 5 volts         
Monde moulu

La source de 5 volts nourrir ce circuit peut obtenir directement de la source de pouvoir du PC, ou du port de jeux (voir la source de l'alimentation).

                                        
 Circuit générique

2
Fig. Circuit générique

Chemin de l'opération

Le temporizador NE555 produit une pulsation d'après les valeurs de deux résistances et un condensateur.

La formule suivante est utilisée pour calculer la période de cette pulsation.

3

Où: 


Ra

:

Valeur de la résistance suivie aux pins 7 et 8

Rb

:

Valeur de la résistance suivie aux pins 2 et 7

Casquette

:

Valeur du condensateur suivi polarisé à monde et les pins 2 et 6

Comme exemple, il est évalué l'il formule avec les valeurs suivantes:
    
     Ra: 540 ohm
     Rb: 620 ohm
     Casquette: 1 microfarad = Farads4

Être
    
     5

T = 0.00123354 secondes

Cela de qui produit une pulsation avec une fréquence
    
     6
     7

La fréquence calculée peut différer de la fréquence qui est lue du temporizador NE555 pour les effets de la température comme beaucoup dans les résistances comme dans le condensateur de ce circuit.

Dans un cas d'application pratique, il/elle restera fixe la résistance Ra et Condensateur, donc la variable qu'un études sont la résistance Rb.  Comme cette résistance varie, les temporizador produiront des fréquences différentes.  La fréquence produite est dans la fonction des variations de la résistance dans l'étude.

Programmer

L'algorithme suivant autorise à lire et calculer la fréquence a produit par le temporizador NE555.
/* Commencer */
ctd_pulso_alto = 0
ctd_pulso_bajo = 0
leer_tiempo_del_sistema

/* Principale boucle */
pendant que le temps périmé n'a pas vaincu 1 seconde pour faire
commencer
si le bit_leido alors est sur haut
commencer
                        ctd_pulso_alto = ctd_pulso_alto+1
pendant que les bit_leido font sur haut
commencer
fin
fin
si le bit_leido alors est dans sous
commencer
ctd_pulso_bajo = ctd_pulso_bajo+1
pendant que le bit_leido est dans sous faire
commencer
fin
fin
fin {du temps}

/* Calculs */
fréquence: = (ctd_pulso_bajo du pulso_alto+ du ctd_) /2

/* Fin */
fin

Exemple pour une ampoule de température (thermomètre numérique)

Dans cet exemple ils sont définis les variables du circuit générique pour emporter la lecture de température avec l'usage d'un termoresistencia.

Le termoresistencia qui est utilisé a été obtenu de l'ampoule de température du système de contrôle de réfrigération d'une automobile.

Ensuite le circuit est décrit avec les paramètres spécifiques de cet entraînement.

Circuit pratique

8
Fig. Entraînements du circuit

Le termoresistencia (ampoule) varie sa résistance d'après la température.  Quand varier cette résistance, le circuit produit aussi une variable de la fréquence. 

Dans ce cas spécifique, c'est plus simple pour emporter une série de mesures avec l'aide d'un thermomètre, donc il/elle enregistre la fréquence respective pour chaque mesure. 

Les données suivantes ont été obtenues avec un circuit comme celui décrit précédemment, et avec l'aide d'un thermomètre de mercure

Données expérimentales:

Température
(niveaux centigrades)

Fréquence
(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

Démarrer à partir de ces données vous peut utiliser l'algorithme de l'interpolation suivant:

/* Ils sont définis les types de données */

tapez puntos=es une inscription avec les types x, et de vrai type

et les données sont une variable de ce type
 
les données sont un arrangement de 1 à 50 de points du type

/* Commencer */
Pour charger les données vectorielles [i] .x et données [i] .y avec les valeurs du tableau de
Données expérimentales.

Tama_vector a le nombre de lignes du tableau de données expérimentales

/* pour construire la fonction */
fonctionnez pour interpoler (avec num_buscado du paramètre de vrai type) des recettes un fait de vrai type
i variable de type Entier
                               x1, x2, y1, y2 de Vrai type,
                               sortie de Vrai type
                               il laisse le type de Boolean
commencer
i=1
sale=falso;
pendant que (i & lt; tama_vector) et (sale=false) faire
commencer
si (num_buscado & gt; = données [i+1] .y) et
(num_buscado & lt; = données [i] .y) alors
commencer
x1=datos [i] .x
y1=datos [i] .y
x2=datos [i+1] .x
y2=datos [i+1] .y
sale=verdadero
fin
                               i=i+1
fin
salida=0
s'il part c'est vrai alors
commencer
sortie = (x2-x1) / (y2-y1) * (num_buscado-y1) + x1
fin
interpolar=salida
fin
/* Utiliser */
Appeler précédemment à la fonction avec la fréquence lue
Déployer, faire graphique, etc.,
/* Fin */

 

Toute consultation ne doute pas pour communiquer avec pparalelo@hotmail.com

Google