1001 C, ELEKTRONIKA
[ Pobierz całość w formacie PDF ]
1001
•ELEKTOR•
0030
AdaptateursCMS
-
> DIL
page 1 / 2
Nous avons dessiné ces adaptateurs à
l’intention de ceux d’entre nos lecteurs
qui trouvent de plus en plus difficile
d’expérimenter avec certains circuits
intégrés dont il n’existe (plus) que la
version CMS (
C
omposant pour
M
on-
tage en
S
urface). Il apparaît en effet
qu’un certain nombre de circuits inté-
grés classiques, tels que le 74LS163A,
ne sont plus fabriqués en version DIL
étant remplacés par leur modèle CMS.
Il est évident que la taille minuscule
de ces composants est l’un des obs-
tacles majeurs à leur mise en oeuvre,
la manipulation des CMS demandant
une grande précision. Les CMS ont un
second handicap, celui de ne pas pou-
voir être mis dans un support, ce qui ne
facilite sans doute pas leur extraction
pour un test de bon fonctionnement
lors d’un dépannage. La platine dont
nous vous proposons le dessin ci-dessus
permet de réaliser trois adaptateurs.
Chaque adaptateur est composé de
deux mini-platines. La première étape
de l’opération d’adaptation consiste à
souder avec soin le composant CMS
sur la mini-platine dotée du dessin de
pistes correspondant. On fait ensuite
passer les broches extraites d’un
support à contacts « tulipe » par les
trous des deux rangées centrales de la
seconde partie du set et on procède à
leur soudure. On peut également envi-
sager d’utiliser des morceaux de fil de
câblage rigide. On s’assurera que les
rangées de contacts ainsi réalisées sont
parfaitement alignées et qu’il est pos-
sible de les enficher dans un support
pour circuit intégré DIL classique. Ceci
fait, on fixe la mini-platine au CMS sur
la platine dotées de contacts à l’aide
de courtes longueurs de fil de câblage
semi-rigide passées dans les deux ran-
gées d’orifices extérieures. On veillera
circuits
1001
•ELEKTOR•
0030
AdaptateursCMS
-
> DIL
page 2 / 2
à réaliser le sandwich le plus compact
possible. Il va sans dire que la platine à
24 contacts peut également être utilisée
avec un circuit intégré CMS à 20 voire
18 broches, à condition bien entendu
que l’on dispose de suffisamment d’es-
pace autour du support sur la platine
d’origine. Nous vous proposons deux
versions à 16 broches : la première est
standard, les deux rangées de contact
de trouvant au centre de symétrie de
la platine. La seconde version, qui
possède des contacts décalés, sera
utilisée lorsque l’on ne dispose pas de
l’espace suffisant sur l’un des côtés du
support dans lequel viendra s’enficher
le montage en gigogne. Il vous faudra
réaliser vos propres platines à partir du
dessin de circuit imprimé proposé dans
ce CD-ROM.
Une dernière remarque importante :
assurez-vous, avant d’enficher l’adap-
tateur dans le support de destination,
que la numérotation des broches du
composant CMS correspond bien, bro-
che à broche à celle de la version DIL
du dit circuit intégré !
■
circuits
1001
•ELEKTOR•
0311
Décodage de signal horaire DCF77
page 1 / 2
Centronics
19
20
21
22
23
24
25
26
27
28
29
2
du PC par le biais d’une liaison trifilaire.
La consommation de courant du module
de Conrad est si faible que l’on peut tirer
son alimentation d’une ligne de donnée
Centronics, D0 dans le cas présent,
mise en permanence au niveau logique
haut. La sortie du module est un étage
à collecteur ouvert, d’où la présence
d’une résistance de forçage au niveau
haut (
pull-up
), R1. L’information horaire
démodulée est prise en compte par le
PC sous la forme binaire de « 0 » et de
« 1 » circulant sur la ligne d’entrée Error
du port Centronics.
Le logiciel, spartiate, est écrit en
QBASIC. Il n’a pas été question de
l’amender à l’aide de menus, clochettes
et autres bricoles... Une fois lancé, le
programme attend le bit de départ émis
par DCF77. Ce bit est transmis, chaque
minute, avec les repères des 58
ème
et
60
ème
seconde (la 59
ème
seconde est
omise). Le programme construit l’infor-
mation hh:mm: en BASIC et la visualise
sur l’écran parallèlement à l’information
d’heure fournie par l’horloge en temps
réel du PC. Il est temps maintenant de
la remettre à l’heure.
En QBASIC (fourni normalement avec les
versions récentes de DOS de Microsoft)
la touche F2 permet d’entrer et de quit-
ter les sous-programmes nécessitant une
édition. La 10
ème
ligne du programme
définit l’adresse du port imprimante.
Remplacer les xxx par l’adresse du port
imprimante de votre ordinateur. Si vous
ne la connaissez pas il vous suffira de la
demander à votre machine en utilisant
le programme de Diagnostic de Micro-
soft, MDS, lancé depuis l’invite DOS et
de noter l’information fournie. Le pro-
gramme DCF77 visualise l’adresse lors-
qu’on le lance avec le paramètre L. Une
double action simultanée sur les touches
Control et Break interrompt l’exécution
du programme QBASIC.
DCF77 transmet l’heure CET (Central
European Time). Si l’on veut adapter
l’heure à celle étant légale dans son
pays, il faudra modifier la variable Stdz%
en conséquence juste avant l’impression.
Pour avoir l’heure GMT (CET-1) il faudra,
par exemple, décrémenter (diminuer de
1) la valeur de Stdz%. Si Stdz% est
égale à –1, il faudra en faire un certain
temps 3. L’auteur encourage les lecteurs
de ce CD-ROM habitant dans les limites
de portées de DCF77 à copier ce pro-
gramme et à l’utiliser si tant est que son
nom soit conservé dans le listing.
B. Öhlerking
D25
D0
R1
4
2
DCF
Module
15
3
DATA
2
V
+
1
GND
32
25
ERROR
964034 - 11
Ce programme est le résultat de certai-
nes recherches ayant trait au décodage
des signaux horaires émis par DCF77
(en RFA) à l’aide d’un micro-ordinateur.
L’émetteur de signaux horaires DCF77,
dans les environs de Frankfurt possède
une portée de 1 500 km.
Avant que le logiciel ne puisse pro-
duire le moindre résultat cohérent il
faut avoir installé le matériel. Nous
avons ici fait appel à un module de
réception DCF77 peu coûteux du type
BN641138 de Conrad Electronics. Le
dit module comporte une antenne et
un récepteur/démodulateur complet ; il
est relié directement au port Centronics
voir listing page suivante.
circuits
1001
•ELEKTOR•
0311
Décodage de signal horaire DCF77
page 2 / 2
REM Dipl. Phys. Bernd Oehlerking, Haasemannstr. 4, D-30449 Hannover
DIM t%(65)
COMMON SHARED t%(), s%, k%, switch%, LPT
DECLARE SUB decode ()
DECLARE SUB measurelow ()
DECLARE SUB measurepulse ()
DECLARE SUB findstart ()
k% = 1
sp% = 1
zz% = 4
LPT = &Hxxx
CLS
LOCATE 1, 10: PRINT “>> DCF77 << Waiting for sync. (max. 1 min).”
OUT LPT, 1: REM POWER UP
REM goto lab1
lab:
findstart
lab1:
a = TIMER
measurepulse
b = TIMER
REM LOCATE 10, 10: PRINT (d - c) * 10
SUB decode
FOR i% = 0 TO 3
mine% = mine% + t%(22 + i%) * 2 ^ i%
NEXT i%
REM LOCATE 20, 20: PRINT k%, t%(22); “ “; t%(23); “ “; t%(24); “ “; t%(25), mine%
FOR i% = 0 TO 2
minz% = minz% + t%(26 + i%) * 2 ^ i%
NEXT i%
REM LOCATE 21, 20: PRINT k%, t%(26); “ “; t%(27); “ “; t%(28); “ “; t%(29), minz%
FOR i% = 0 TO 3
stde% = stde% + t%(30 + i%) * 2 ^ i%
NEXT i%
REM LOCATE 22, 20: PRINT k%, t%(22); “ “; t%(23); “ “; t%(24); “ “; t%(25), mine%
FOR i% = 0 TO 1
stdz% = stdz% + t%(34 + i%) * 2 ^ i%
NEXT i%
REM LOCATE 20, 20: PRINT k%, t%(22); “ “; t%(23); “ “; t%(24); “ “; t%(25), mine%
LOCATE 10, 30: PRINT stdz%; stde%; “ : “; minz%; mine%;
mine% = 0: minz% = 0: stde% = 0: stdz% = 0
END SUB
SUB findstart
beg:
f = TIMER
WHILE ((INP(LPT + 1) AND 8))
G = TIMER: IF G - f > 5 THEN GOTO oeps
WEND
b = TIMER
WHILE ((INP(LPT + 1) AND 8) = 0)
WEND
a = TIMER
IF ((a - b) * 10) > 13 THEN GOTO ende
LOCATE 3, i% + 1
PRINT “X”
i% = i% + 1
GOTO beg
oeps: LOCATE 3, 20: BEEP: PRINT “ERROR!! No signal from DCF!”
LOCATE 5, 20: PRINT “Please check connections and signal!”
ende:
END SUB
SUB measurelow
WHILE ((INP(LPT + 1) AND 8)) = 0
WEND
END SUB
SUB measurepulse
WHILE ((INP(LPT + 1) AND 8))
WEND
END SUB
IF (d - c) * 10 > 15 THEN
i% = 0: k% = 1: switch% = 1
LOCATE 1, 1: PRINT SPACE$(70)
LOCATE 3, 1: PRINT SPACE$(65)
LOCATE 2, 21: PRINT “ DCF77 DEMO BY BERND OEHLERKING “
LOCATE 4, 17: PRINT “e..Unit m..Minute h..Hour BCD -CODE!!”
END IF
IF (b - a) * 10 < 1.5 THEN
LOCATE zz% + 2, i% + sp%: PRINT CHR$(220)
LOCATE zz% + 3, i% + sp%: PRINT ”0”: Bit% = 0
LOCATE zz% + 4, i% + sp%: PRINT STR$(i%)
i% = i% + 1
END IF
IF (b - a) * 10 >= 1.5 THEN
LOCATE zz% + 2, i% + sp%: PRINT CHR$(219)
LOCATE zz% + 3, i% + sp%: PRINT ”1”: Bit% = 1
LOCATE zz% + 4, i% + sp%: PRINT i%
i% = i% + 1
END IF
t%(k%) = Bit%: k% = k% + 1: LOCATE 10, 45: PRINT “ : “; i% - 1
LOCATE 23, 50: PRINT “PC internal TIME --> “; TIME$
IF k% = 60 THEN decode
IF i% > 21 THEN IF i% < 26 THEN LOCATE zz% + 2, i%: PRINT “e”
IF i% > 25 THEN IF i% < 29 THEN LOCATE zz% + 2, i%: PRINT “m”
IF i% > 29 THEN IF i% < 34 THEN LOCATE zz% + 2, i%: PRINT “e”
IF i% > 33 THEN IF i% < 36 THEN L OCATE zz% + 2, i%: PRINT “h”
REM IF i% > 22 THEN IF i% < 27 THEN LOCATE zz% + 2, i%: PRINT “e”
c = TIMER
measurelow
d = TIMER
GOTO lab1
■
circuits
1001
•ELEKTOR•
0936
Testeur de fusible de voiture
D2
D1
R1
F1
Petit, plus petit, minuscule, quasi-invisi-
ble. Ce montage miniature qui comporte
en tout et pour tout trois composants,
convient parfaitement pour vérifier rapi-
dement sur une voiture l’état d’un fusi-
ble sans avoir à le sortir de son support.
Il s’agit ici d’une paire de LED montées
tête-bêche et dotées d’un même résis-
tance de limitation de courant de 1 k
Si l’on place le « circuit de mesure » en
parallèle sur le fusible on verra s’allumer
l’une des LED si le fusible est grillé. De
par la prise en tête-bêche des LED D1
et D2, le circuit de mesure n’a pas à se
soucier de la polarité de son branche-
ment de sorte qu’il n’est pas nécessaire
de se casser la tête pour savoir dans
quel sens il faudra le brancher sur le
(support du) fusible. Si les deux LED
restent éteintes et que la tension de
bord est présente, le fusible est bon.
■
circuits
. Il
faut bien évidemment que le circuit élec-
trique sur lequel doit avoir lieu le test se
trouve sous tension lors du test (12 V).
Ω
[ Pobierz całość w formacie PDF ]