CARTE BASIC STAMP 1 TYPE 2
réalisée pour l'éclipse de 1999
De gauche à droite, le potentiomètre 10k multi tour bleu, au centre la carte BS1 type 2 et son alimentation 18 volts et les régulateurs +10,+5 et -10 volts.
Premier montage de base pour essais :
Un convertisseur analogique numérique AD0831 ( 8 bits ) est utilisé en association avec un microcontrôleur BASIC STAMP 1. La tension à mesurer de 0 à 5 volts est fournie par un potentiomètre multi tours pour effectuer les premiers essais et mettre au point le premier programme de conversion. Le logiciel STAMP.EXE est utilisé sur un ordinateur PC sous DOS ( win95 ). Un cordon est utilisé pour effectuer la programmation du microcontrôleur, il est branché sur le port parallèle ( pour imprimante ) dont le connecteur est une prise DB25 FEMELLE. L'autre extrémité est reliée à la carte ballon, attention le repère indique la masse 0 volt.
Mise en marche et programmation : ( voir les pages sur le basic stamp 1 et les instructions )
1- PC sous DOS. ( ordinateur ancien sous WIN95 ).
2- Configurez la souris : C:\>mouse par exemple.
3- Ouvrir le répertoire STAMP ---> C:\STAMP1> ---> entrée ---> DIR/P pour consulter la liste des logiciels STAMP en .BAS
4- Ouvrir le programme STAMP.EXE --> C:\STAMP1>STAMP
5- Liste des commandes :
ALT L : charger un programme en .BAS par exemple : CONV2.BAS
ALT S : enregistrer un programme en .BAS
ALT R : exécuter un programme en .BAS
ALT Q : quitter et sortir de STAMP.EXE
Fonctionnement :
Le convertisseur est de type 8 bits, c'est à dire que la tension de 5 volts sera représentée par un nombre de 255. Le nombre zéro représente 0 volt. Chaque nombre ou résolution du convertisseur est de 5 / 256 = 0,01953 volt. La précision est suffisante mais on peut envisager l'emploi d'un convertisseur de type 12 bits. La résolution dans ce cas sera de 5 / 4096 = 0,00122 volt. La résolution est meilleure car divisée par 16. Le choix entre un convertisseur 8 bits ou 12 bits est fonction des besoins et expériences à réaliser.
La tension est appliquée à l'entrée broche 2 du convertisseur AD0831. Le code binaire sous forme d'un octet est présent en sortie B7 à B0. Les 8 sorties ne peuvent être traitée directement par le microcontrôleur, celui-ci n'aurait plus d'entrées ou sorties disponibles. Le registre à décalage interne va permettre de sortir les bits B7 à B0 en série sur la broche 6, data out. Trois broches sont utilisées au lieu de huit, deux sorties et une entrée. Le microcontrôleur BS1 va commencer par mettre l'horloge CLK au niveau bas. Le reset CS/ va au niveau bas. Le premier front de l'horloge produit la conversion tension/nombre ( convert ). Les autres fronts d'horloge 1 à 8 provoquent la sortie série sur la broche 6 data out, des bits de B7 à B0. A chaque front de l'horloge CLK il y a sortie d'un bit 0 ou 1. Le microcontrôleur BS1 reconstitue l'octet b0.
Par exemple : 2 volts en entrée donne le nombre b0 = 103.
Organigramme : CONV3.BAS Chargez CONV2.BAS
Programme Basic Stamp 1 : CONV3.BAS
symbol v = 2 |
symbol ad = PIN3 |
symbol clk = 4 |
symbol s_out = 7 |
symbol data = b0 |
symbol i = b2 |
setup: let pins = 255 |
let dirs = %11110111 |
lopp: gosub conv |
serout s_out,N1200,(#b0,13,10) |
debug b0 |
pause 100 |
goto loop |
conv: low clk |
low v |
pulsout clk,1 |
let data = 0 |
for i = 1 to 8 |
let data = data * 2 |
pulsout clk, 1 |
let data = data + ad |
next |
high v |
return |
remarque : v = CS/ lire cs barre.
Résultats :
tension d'entrée | a = U / N | nombre b0 |
4,95 V | 0,019488 | 254 |
4,5 V | 0,0194805 | 231 |
4,00 V | 0,0194174 | 206 |
3,50 V | 0,0194444 | 180 |
3,00 V | 0,0194805 | 154 |
2,50 V | 0,0193798 | 129 |
2,00 V | 0,0194174 | 103 |
1,50 V | 0,0194805 | 77 |
1,00 V | 0,0196078 | 51 |
0,6 V | 0,0193548 | 31 |
0,5 V | 0,02 | 25 |
0,3 V | 0,02 | 15 |
0,1 V | 0,02 | 5 |
Equation : La conversion tension-numérique est déterminée par une équation de droite : Y = A . X
Ici, c'est la tension = f ( nombre ) ou U = a . N Le tableau ci-dessus donne la pente a : a = U / N
a moyen : 0,019455
par exemple : quelle serait la valeur de U pour un nombre de 100 ?
U = 0,019455 . 100 = 1,9455 V
quelle serait la valeur de U pour un nombre de 101 ?
U = 0,019455 . 101 = 1,964955 V
La résolution est de 1,964955 - 1,9455 = 0,019455 V
Suite : CARTE BASIC STAMP 1 type à 16 entrées : cette carte est capable de fournir les nombres correspondant à 16 tensions de 0 à 5 volts. Pour lire les 16 tensions, il faut utiliser un commutateur à 16 positions qui sera cadencé par le microcontrôleur BASIC STAMP 1.
A gauche le support du 4067B, circuit retiré de son support, le convertisseur AD0831 et les 2 potentiomètres de 10k associés, le microcontrôleur BS1 avec son cordon relié au PC, à droite l'alimentation générale +10, +5 et -10 volts à partir du 18 volts. La sortie du BS1 pin7 n'est pas reliée ( 3 contacts tulipe ). A gauche, la carte mère verticale qui reçoit les cartes des capteurs, ici sur la photo deux capteurs de température KTY-10A sur la même carte.
à suivre,
Brochages, Carte Ballon, le 4067B, programme Basic Stamp 1, CONV4.BAS ...