63

Mono-carte à PIC16F84 - Doctsf

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mono-carte à PIC16F84 - Doctsf
Page 2: Mono-carte à PIC16F84 - Doctsf

8 Elektor 2/2002

Cette mono-carte PICÉE (prononcer piqué) estun système multi-facettes puisque tout à lafois d’évaluation, d’instruction et de dévelop-

pement, qui repose sur un microcon-trôleur fameux de l’écurie de Micro-chip, le PIC16F84. La mémoire du

microcontrôleur Flash est Électri-quement Effaçable d’où le ÉE de sonnom PICÉE. Contrairement à ce qui aété le cas avec le microcontrôleur89C8252 de la carte à 89C8252 Flashdécrite en décembre, le 16F84 est unmicrocontrôleur RISC (Reduced Ins-truction Set Computer) qui neconnaît qu’un petit nombre d’ins-tructions. Notre mono-carte PICÉE

permet de tester la totalité des35 instructions que connaît le pro-cesseur sans requérir l’adjonction dequelque matériel additionnel que cesoit. On pourra, grâce à elle, réaliserles applications les plus disparatesimaginables, de la LED clignotante àl’horloge à quartz confortable.

Le matériel du programmateurComment pourrait-il en être autre-ment ? Le contrôleur que nous avonschoisi pour régner sur cette mono-carte est lui aussi un PIC16F84 deMicrochip. Le support pourra rece-voir n’importe quelle version de cecomposant travaillant à une fré-quence d’horloge comprise entre 4 et20 MHz. La génération de la fré-quence d’horloge pourra se faire soità l’aide d’un quartz ou d’un oscilla-teur RC. L’inverseur S2 permet depasser d’une option à l’autre. Lemode de fonctionnement à base

MICROPROCESSEUR

Système de développement PICÉEMono-carte à PIC16F84

Projet : Reinhardt Weber, DC5ZM [email protected]

Cette mono-carte à base de l’un des microcontrôleurs RISC les pluspopulaires et les moins chers, le PIC16F84, a été développée à des finsdidactiques.

Page 3: Mono-carte à PIC16F84 - Doctsf

MICROPROCESSEUR

92/2002 Elektor

étages de commande IC4.C et IC4.D, auxentrées RB6 et RB7 du contrôleur. L’étage decommande IC4.B fournit à l’interface les don-nées lors de la lecture du contrôleur. L’étageIC4.A sert au pilotage, selon le cas, de la ten-sion continue de programmation ou de laréinitialisation du contrôleur (reset).Pour devenir un micro-ordinateur un contrô-leur doit se voir relié à des composants péri-phériques et d’autres groupes fonctionnels.La platine proposée ici comporte 3 applica-tions typiques qui permettent d’apprendreles différentes instructions que connaît lecontrôleur. Il est en outre possible d’intégrerces extensions à un développement de votrecru, au cours de sa phase de mise au point.Les LED D8 à D20 visualisent l’état logiquede chacune des lignes des ports RA et RB dumicrocontrôleur. Ce dispositif facilite l’identi-fication de problèmes lorsque l’on travailleavec un oscillateur RC tournant à fréquence

d’oscillateur RC, plus lent, convienttout particulièrement Aux phasesd’apprentissage et de développe-ment. De plus, l’ajustable P1 permetde réduire continûment la fréquenced’horloge. En mode de fonctionne-ment on a application, par le biais dela diode D2 et de la résistance R5d’une tension de quelque 5 V surl’entrée MCRL du contrôleur. Le bou-ton-poussoir S3 permet de réinitiali-ser (reset) le processeur.L’application d’une tension continuede l’ordre de 13,5 V sur l’entréeMCRL du microcontrôleur le fait pas-ser en mode de programmation. Surla platine, la génération de la tensionde programmation se fait par le biaisd’un convertisseur rehausseur detension du type TL497, IC2, son acti-vation se faisant par le biais de l’in-

verseur S1 (mise à la masse de labroche 5 de IC2). La LED D21 sert àindiquer que la carte se trouve, lors-qu’elle est allumée, en mode de pro-grammation. L’embase Sub-D à9 contacts K2 est reliée à l’interfacesérielle du PC. On pourra utiliser àcet effet un câble RS-232 classique(pas du type modem nul cependantvu que ceux-ci comportent des inter-versions de conducteurs) doté deconnecteurs à 9 contacts, mâle d’uncôté (celui de la mono-carte) etfemelle de l’autre (celui du PC). Cetteconnexion se fera bien entendu ali-mentation coupée. Ce n’est qu’aprèsavoir connecté la mono-carte au PCque l’on pourra l’alimenter et démar-rer le logiciel de programmation. Les2 signaux de programmation sérielsDATA et CLOCK arrivent, via les

K2

DB9

1

2

3

4

5

6

7

8

9

IC4.A

EN2 3

1

IC4.D

EN12 11

13

IC4.C

EN9 8

10

IC4.B

EN56

4

PIC16F84

OSC2

IC3

OSC1

MCLR

RA4

RA1

RA0

RA2

RA3

RB0

RB1

RB2

RB3

RB4

RB5

RB6

RB7

18

17

13

12

11

10

16 15

14

1

3

9

8

7

6

2

4

5

R15

1k

5

D8

R16

1k

5

D9

R17

1k

5

D10

R18

1k

5

D11

R19

1k

5

D12

R20

1k

5

D13

R211

k5

D14

R22

1k

5D15

R25

1k

5

D16

R26

1k

5

D17

R27

1k

5

D18

R28

1k

5

D19

R29

1k

5

D20

+5V

R32

27

C9

27p

C8

27p

C7

100n

S2

100k

P1

R2

4k

7R30

47

0k

T1

BC547

+5VD3

1N4148

D4 D6 D7

S6 S7S5

R31

27

S10

S8

4x

+5V

+5V

+UB

R34

4k

7

R35

4k

7S3

RESET

S4

R23

33

Ω

+5V

S9

R24

4k

7

10k

P2

R9

470Ω

R11

470ΩR4

10k

R3

10k

R6

10k

R7

10

k

+5V

T2

BC547

T3

R10

10

k

R8

10

k

+5V

D5

1N4148

L1

100µH

R14

10

Ω

CUR LIM

COL OUT

TL497

E OUT

IC2

SUBS

C IN

FREQ INH

CAT

ANO

14

13

10

5

2

84

1

6

3

7

R13

12

k

R12

1k

C4

220p

D2

1N4148

S1

C15

47µ

R5

1k

+5V

R33

3k3

D21

1

3K1

2

C13

470µ

C1

100n

C14

47µ

C2

100n

R1

1k

5

D22

D1

1N4007

+5V

K4

+UB

DC

LED's

RCCLOCK

LCD-E

LIGHT

C B A

I

LCDCONTRAST

CLOCK

2x

IC4

14

7

C3

100n

+5V

C5

100n

C6

100n

C10

100n

C12

100n

C11

100n

+5V

C16

47µ

+5V

IC4 = 74HCT125

LCD Module

VS

S

VD

D

VE

E

RS

R/W E D0

D1

D2

D3

D4

D5

D6

D7

A1

K1

010062 - 11

16V

25V 25V

16V

IC1

7805

X1

20MHz

a10

a11

a12

a13

a14

a15

a16

a17

a18

a19

a20

a21

a22

a23

a24

a25

a26

a27

a28

a29

a30

a31

a32

K3

a 1

a 2

a 3

a 4

a 5

a 6

a 7

a 8

a 9

9...12V

Figure 1. Cette mono-carte « didactique » est richement dotée de périphériques pour effectuer toutes sortes d’expériences.

Page 4: Mono-carte à PIC16F84 - Doctsf

faible. Il permet en outre de procéder aux pre-mières expériences et d’écrire et d’exécuterses premiers programmes. Mentionnons, à

titre d’exemple, clignoteurs, che-nillards, affichage barregraphe etgradateur de LED. L’interrupteur DIL

S8 à micro-contacts permet la miseen et hors-circuit des LED des lignesde port.

MICROPROCESSEUR

10 Elektor 2/2002

(C) ELEKTOR

010062-1

C1

C2

C3

C4C

5

C6

C7

C8

C9

C10

C11

C12

C13

C14

C15

C16

D1

D2

D3D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14

D15

D16

D17

D18

D19

D20

D21

D22

H1

H2

H3

H4

H5 H6

H7H8

IC1

IC2

IC3

IC4

K1

K2K3

K4

L1

P1

P2

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

R11

R12R13

R14

R15

R16

R17

R18

R19

R20R21R22

R23

R24

R25R26R27R28

R29

R30

R31

R32

R33

R34R35

S1

S2

S3

S4

S5

S6

S7

S8

S9

S10

T1

T2

T3

X1

01

00

62

-1(C

) ELE

KTO

R0

10

06

2-1

Figure 2. Dessin des pistes et sérigraphie de la mono-carte PICÉE.

Page 5: Mono-carte à PIC16F84 - Doctsf

Les boutons-poussoirs S5 à S7constituent une sorte de mini-clavier.Une action sur les boutons-poussoirsS6 et S7 se traduit par l’applicationd’un niveau haut (un « 1 ») sur leslignes de port RA0 et RA1 respecti-vement. Le bouton-poussoir S7 rem-plit la même fonction pour les2 lignes à la fois, en raison de la pré-sence d’une fonction de « porte OUcâblée » (wired OR port) que consti-tuent la paire de diodes D3 et D4. Ledécodage des actions sur cestouches est l’affaire du logiciel. |Aelles seules, ces 3 touches permet-tent déjà un nombre très intéressantde tâches de commande si l’on uti-lise un bouton-poussoir pour lasélection du mode de pilotage(mode) et les 2 autres pour la sélec-tion de direction (up/down). Onpourrait penser, par exemple, à laprogrammation de réveils ou de pro-

grammateurs horaires, voire le pilo-tage d’autoradios. Lorsqu’elles sontfrappées par la lumière solaire outoute autre forme d’éclairage, lesLED réagissent comme le ferait unecellule solaire et génèrent partantune certaine tension. Ce phénomènepeut, lorsque les entrées du contrô-leur présentent une impédanceextrêmement élevée, se traduire pardes erreurs d’interprétation. Lesrésistances R34/R35 constituent, àl’égard des LED de monitoring D9 etD10, une charge de forçage et élimi-nent ainsi cet effet gênant.La visualisation de modes de fonc-tionnement complexes de circuitsélectroniques et autres appareils sefera par le biais d’un affichage LCDalphanumérique à 2 lignes de16 caractères (MOD1). Ce modulefait appel à un contrôleur HD44780de chez Hitachi, composant devenu

MICROPROCESSEUR

112/2002 Elektor

Liste des composants

Résistances :R1,R15 à R22,R25 à R29 = 1kΩ5R2,R24,R34,R35 = 4kΩ7R3,R4,R6 à R8,R10 = 10 kΩR5,R12 = 1 kΩR9,R11 = 470 ΩR13 = 12 kΩR14 = 10 ΩR23 = 33 ΩR30 = 470 kΩR31,R32 = 270 ΩR33 = 3kΩ3P1 = ajustable 100 kΩP2 = ajustable 10 kΩ

Condensateurs :C1 à C3,C5 à C7,C10 à C12 = 100 nFC4 = 220 pFC8,C9 = 27 pFC13 = 470 µF/25 V verticalC14 à C16 = 47 µF/16 V vertical

Semi-conducteurs :D1 = 1N4007D2 à D7 = 1N4148D8 à D11,D16 à D19 = LED jaune 3 mm

faible courantD12 à D18,D20,D21 = LED rouge 3 mm

faible courantD22 = LED verte 3 mm faible courant

T1 à T3 = BC547IC1 = 7805IC2 = TL497ACIC3 = PIC16F84 (programmé, EPS

010062-41)IC4 = 74HCT125

Bobines :L1 = 100 µH

Divers :K1 = embase jack d’alimentation mâle

encartableK2 = embase sub-D femelle 9 contacts en

équerre encartableK3 = embase femelle à 2 rangées de

32 contacts DIN41612 type B (Selectronic21.8210, Conrad 741582)

K4 = barrette femelle sécable à 1 rangée de16 contacts + barrette à 1 rangée de16 contacts*

S1,S2,S4,S8 à S10 = inverseur unipolaire oubarrette à 1 rangée de 3 contacts + cava-lier

S3,S5 à S7 = bouton-poussoir unipolaireunitaire (ITT D6, Selectronic 21.5874 ou21.8782, Conrad 7331 723 ou 7331 711)

X1 = support + quartz*radiateur du type ICK35 pour IC1

Page 6: Mono-carte à PIC16F84 - Doctsf

depuis une sorte de standard de l’industrie.Le pilotage de l’affichage se fait par le biaisdes lignes de validation E (Enable) et desélection de registre RS (Register Selection)qui attaquent les lignes de port RA2 et RA3.L’entrée de lecture/écriture RW (Read/Write)du module est forcée en permanence à lamasse (GND), vu que l’on n’a besoin que trèsexceptionnellement du mode de lecture(Read). L’ajustable P2 permet de jouer sur lecontraste de l’affichage, l’interrupteur S4 ser-vant à mettre l’éclairage d’arrière-plan en ethors-fonction, un second interrupteur, S9 per-mettant de mettre la commande de l’affi-chage en et hors-fonction (s’il est ouvert, lemicrocontrôleur ne peut plus lui envoyer d’in-formations de sorte que le texte qu’il affi-chera, si tant est qu’il en affiche un, resteragelé.Toutes les lignes du contrôleur ainsi que latension d’alimentation disponible au niveaudu jack d’alimentation sont reportées versune embase à 32 contacts du type DIN41612.Ceci permet une connexion aisée de mon-tages personnels réalisés sur une platined’expérimentation à pastilles dotée d’unconnecteur 32 broches mâle adéquat à notremono-carte PICÉE.L’alimentation de la mono-carte se fait par lebiais d’un adaptateur secteur externe dont lasortie vient s’enficher dans le jack d’alimen-tation K1. La plage des tensions admissiblesfournies par l’adaptateur va de 7 à 12 V. Lerégulateur de tension intégré IC1 régule à+5 V la tension d’entrée. La LED D22 signalela présence (ou non) de la tension d’alimen-tation. On pourra également envisager, àcondition de by-passer la diode de protection

MICROPROCESSEUR

12 Elektor 2/2002

Figure 3. La fenêtre du logiciel de programmation NTPicprog.

Figure 4. Paramétrage matériel sous ICPROG.

contre une inversion de polarité de latension d’alimentation D1 et le régu-lateur de tension intégré, une ali-mentation à base de 4 cellules CdNi(4,8 V).

La réalisationLa construction du montage sur laplatine dont on retrouve en figure 2le dessin des pistes et la sérigraphie

de l’implantation des composants,ne devrait pas poser de gros pro-blème, pour peu que l’on ait pris laprécaution d’enficher les circuitsintégrés et le quartz dans un sup-port. Nous avons pu réaliser une pla-tine simple face, chose suffisammentrare dans le cas d’une mono-cartepour mériter d’être signalée, ce quien diminue sensiblement le coût.Cette simplicité se paie par la pré-sence de 18 ponts de câblage sau-poudrés par-ci par-là sur la platine etdont il ne faudra oublier aucun.Comme nous le disions plus haut, latotalité des 13 lignes de ports dumicrocontrôleur ainsi que les lignesde la tension d’alimentation ont étéreportées sur l’embase se trouvantau milieu de la platine, l’affichageLCD prenant place, comme l’illustrela photo en début d’article, tout àcôté. La connexion électrique de l’af-fichage pourra se faire à l’aide d’unebarrette SIL mâle soudée sur l’affi-chage qui vient ensuite s’enficherdans une barrette femelle soudée surla platine. Mais on peut égalementenvisager d’effectuer la liaison àl’aide de quelques longueurs deconducteur semi-rigide isolé.Rien n’interdit de remplacer les inter-rupteurs du schéma par des combi-naisons embase autosécable + cava-lier (jumper).

Page 7: Mono-carte à PIC16F84 - Doctsf

s’agit de programme freeware que l’on télé-charger gratuitement du site Internet de cefabricant. On y trouvera en outre les fiches decaractéristiques de tous les microcontrôleurs ainsi qu’un nombre conséquent de pro-grammes d’exemple.NTPicprog (figure 3) que l’on pourra télé-charger du site :http://home.swipnet.se/~w24528/NTPicprogest l’exemple-type des logiciels de program-mation libres que l’on peut trouver sur laToile. ICPROG.EXE disponible à l’adresse :www.ic-prog.compermet lui aussi de travailler confortable-ment. Lors de l’installation du matériel, lamono-carte PICÉE s’identifie comme pro-grammateur JDM (figure 4). Si vous préféreztravailler sous DOS, le fameux PIP02 évoquédans plusieurs articles d’Elektor ces der-nières années devrait parfaitement faire l’af-faire.Une fois que l’on a écrit le code-source de sonprogramme (*.asm) et qu’il aura été convertiavec succès, par le biais de l’assembleur, enun fichier *.hex, il restera à le charger dans lamémoire Flash (la mémoire de programme)du microcontrôleur.La disquette accompagnant ce montage etproposée auparavant sous la dénominationEPS010062-11 comporte nombre de pro-grammes d’exemples que l’on pourra égale-ment trouver, entre autres sources, sur le sitede l’école Ludwig Geissler (RFA) donnée ci-dessous.

(010062)

Logiciel de programmation gratuit

Il existe sur le marché un grandnombre de documents destinés àpermettre de se familiariser avec lestechniques de programmation descontrôleurs de la famille PIC. Nousmentionnons un certain nombre desources dans la bibliographie en find’article.Internet est également une sourceprécieuse où découvrir projets, maté-riels, logiciels etc. sur le sujet.Nombre d’université ont leur page

consacrée aux microcontrôleurs PIC.Vérifiez-le en entrant dans le champde recherche de votre moteur derecherche préféré la « combinaisongagnante » PIC16F84 !Il faut disposer, pour le développe-ment de programmes en assembleur,d’outils de programmation addition-nels. Nous ne pouvons que recom-mander, pour Windows,MPLAB.EXE (éditeur, assembleur etsimulateur) et pour DOSMPASM.EXE (assembleur) etPSIM.EXE (simulateur) proposés parle fabricant des PIC, Microchip. Il

MICROPROCESSEUR

132/2002 Elektor

DidactiqueCe montage a été développé à l’école Ludwig Geissler de Hanau (RFA) en veillantplus particulièrement aux aspects « didactique » et « méthodique ». cette mono-carte est utilisée depuis plusieurs années déjà, avec un succès qui ne s’est jamaisdémenti dans différentes classes et cours techniques consacrés aux développe-ments à base de microcontrôleurs. Pour un investissement de l’ordre de 50 cette mono-carte constitue, pour le radio-amateur et/ou l’électronicien engagé,une excellente plate-forme pour donner forme à ses propres idées et réaliser sespropres développements.

Liens Internet intéressants :www.microchip.com

www.wolfgang-kynast.de/pic.htm

www.ludwig-geissler-schule.de/docs/picee/picee.html (en allemand)

Page 8: Mono-carte à PIC16F84 - Doctsf

MODÉLISME

14 Elektor 2/2002

Puce polyvalentepour modélisme (I)14 fonctions sur 4 platines

Du jamais vu dans le monde du modélisme : un même CI peut se retrou-ver sur 4 platines distinctes pour y remplir 14 fonctions différentes.Comme dans un jeu de construction, on peut dès lors prendre exclusi-vement la configuration dont on a besoin. Dans cette puce peu banale,un microcontrôleur dont la palettede compétences lui vientdu logiciel chargé.

Au fil du temps, un construc-teur de modèles réduit doitdisposer d’une foule de fonc-tions dont certaines sont dis-ponibles sur les émetteurs àprocesseur de prix élevé oucomme accessoires électroniquesautour du récepteur, lesquels nesont généralement conçus quepour remplir une fonctionbien définie, avec pour consé-quence de se retrouver devantune électronique trop volumi-neuse. Sur les modèles réduits,le poids est un souci constant etil faut parfois y sacrifier des fonc-tions annexes qui auraient puêtre intéressantes. La place pourles connecteurs sur le récepteur est toujourslimitée et de surcroît, moins on en met, moinsle système entier est vulnérable aux para-sites. Aussi, l’idéal pour le modéliste serait depouvoir disposer d’un maximum de fonctionsparmi lesquelles il pourrait choisir celles qu’ilva réellement inclure dans son projet. Mais iln’a pas besoin de toutes ces fonctions sur lamême platine. C’est pourquoi nous lui propo-sons quatre variantes et encore, sur chacune

fonctions les plussouvent deman-dées. Vous trouve-

rez dans le tableau 1 un panora-mique des multiples tâches que peutremplir le microcontrôleur basé sur le87LPC762 de Philips. Comment com-biner ces différentes fonctions, cesera bien sûr l’objet d’explicationsultérieures.

d’elles, il n’im-plantera queles composantsutiles. Mieux encore, s’il décide defixer le microcontrôleur sur support,il pourra même le transplanter d’uneplatine à l’autre. Voici donc un sys-tème muni d’une puce polyvalentequi offre, au choix du modéliste, les

Page 9: Mono-carte à PIC16F84 - Doctsf

Le microcontrôleur Le 87LPC762 que nous employons appartientà la famille de processeurs dérivés de l’archi-tecture centrale du 80C51, avec une mémoirede programme OTP (ROM à programmation

Commande desservomécanismesAvant d’en arriver aux détails sur lesfonctions et les circuits, revenons uninstant aux notions fondamentalesrelatives à la conduite d’un servo-mécanisme pour modèle réduit. Lestélécommandes modernes travaillentsoit en PCM, soit en PPM. Le siglePCM vient de Pulse Code Modulationou modulation par codage d’impul-sions. L’émetteur attribue à la posi-tion de chaque manche et de toutinterrupteur un nombre entre 1 et255 ainsi qu’un numéro de canal. Ilplace bout à bout ces codes numé-riques de huit bits et les transmet.En supplément des informations decommande, le signal PCM contientdes bits de vérification qui permet-tront au microcontrôleur du récep-teur de s’assurer de l’exactitude desdonnées lors de leur arrivée et den’appliquer aux servos que des com-mandes plausibles. S’il a détecté defausses informations, le systèmeconserve pour les servos les der-nières données valables jusqu’à ceque de nouveaux codes fiables luiparviennent. La technique PCM sedistingue donc par une grande sécu-rité de transmission. En revanche, sabande passante étroite et le supplé-ment de données à faire transiterabaissent le taux de répétition descommandes par rapport à laméthode PPM traditionnelle. D’unemanière générale, il faut aussi consi-dérer que le signal radio doit tout

d’abord subir un traitement analo-gique avant que le logiciel du micro-contrôleur ne s’en occupe. En pré-sence d’un signal perturbé au pointque le système PCM ne peut plusl’utiliser, la technique traditionnellePPM garde des chances de pouvoirencore passer un nombre restreintde commandes. On peut dire qu’unmodèle réduit télécommandé enPCM réagit correctement ou n’obéitplus, entre les deux, pas de demi-mesure. PPM est l’abréviation de Pulse Posi-tion Modulation, modulation de posi-tion d’impulsions. Ce sont decourtes impulsions émises à la suiteles unes des autres et l’écart entreelles traduit le réglage des organesde commande, manches et commu-tateurs. Selon la position du levier, lapériode qui sépare deux impulsionsvarie entre 0,9 et 2,1 ms. La trans-mission d’une trame complète pourtous les canaux prend 20 ms. Celasignifie que l’actualisation des com-mandes se répète 50 fois parseconde. La pause sert à synchroni-ser le décodeur du récepteur pour unnouveau paquet de données.Les servos sont d’habitude raccor-dés au récepteur par un cordon àtrois conducteurs. Ils portent la ten-sion d’alimentation, la masse et lesimpulsions dont la largeur déter-mine la position de la gouverne.Nombreux sont les modèles deconnecteurs à coexister et la figure 2vous indique le brochage des plususités d’entre eux.

MODÉLISME

152/2002 Elektor

K1 K2 K3 K4 K5 K6 K7

20 ms

010008 - 16

Pause Sync

Impulsion de servo

Conrad FutabaGraupner/JR MicropropRobbe SimpropMultiplex

010008 - 17

Figure 1. Forme d’onde en PPM.

Figure 2. Brochage des connecteurs pour les servomécanismes des systèmescourants.

Tableau 1Résumé des fonctions :

– Balise de repérage du modèle (un résona-teur est activé en cas de disparition ou deperturbation du signal d’émission)

– Surveillance de la tension du récepteuravec visualisation de la qualité

– Surveillance de la tension du moteur avecvisualisation de la qualité

– Commutateur bi-canal– Hotglow (activation d’une alimentation de

la bougie lors d’un ralenti du moteur)– Filtre servo– Feu anti-collision– Commutateur de mise en route en dou-

ceur avec arrêt de mise en fonction– Régulateur de régime avec arrêt de mise

en fonction– Fail-safe– Servoreverse– Câble en V de substitution– Différentiation de voie de servo– Goslow (réduction de la vitesse de la

servo)

Tableau 2Caractéristiques du microcontrôleur87LPC762

– Tension d’alimentation 2,7 à 6,0 V– Cycle d’instruction 300 à 600 ns / 20 MHz– RAM: 128 octets– ROM: 2 ou 4 Koctets (87LPC764)– 2 temporisateurs (timer)– 2 comparateurs analogiques à référence de

1,23 V intégrée– UART Full-Duplex– Port de communication I2C– 2 interruptions externes + 8 interruptions

clavier– Chien de garde (watchdog) ayant son

propre oscillateur– POR (Power-On-Reset) embarqué– Réinitialisation (reset) en cas de sous-ten-

sion– Oscillateur RC interne sans circuiterie

externe ou quartz avec condensateurs– Configuration de port programmable

(quasi-bidirectionnel)– Drain ouvert– Push-Pull– Entrée seule (input only)– Possibilité de programmation sérielle– Modes ralenti (idle) et veille (power-down)

Page 10: Mono-carte à PIC16F84 - Doctsf

unique) d’une capacité de 2 K ou 4 K. La dési-gnation LPC représente, à elle seule, Lowpower, low Price, low pin Count. Les atoutsde ce contrôleur sont sa vitesse d’exécutionet l’intégration de l’oscillateur RC et de lamise à zéro, ce qui libère 18 broches d’E/S.Les caractéristiques en sont reprises autableau 2.C’est un quartz (X1) de 6 MHz et les conden-sateurs C1 et C2 qui fixent la fréquence d’hor-loge de contrôleur. Ils déterminent ainsi unedurée de cycle de 1 µs pour l’exécution desinstructions. Toutes les informations complé-mentaires ainsi que les feuillets de caracté-ristiques sont disponibles sur le site Internetde Philips dont la page de garde est acces-sible via www.semiconductors.com/mcu/.

Filtrage pour servoLa fonction de filtre pour servo peut se com-biner avec beaucoup d’autres du tableau 1.Le principe de cette fonction-ci, la figure 3vous le présente.Un récepteur qui fonctionne en PPM laissepasser les parasites. Ils sont présents sousforme de transitoires ou d’altération de la lar-geur des impulsions et provoquent des vibra-tions ou des mouvements incontrôlés desservos.C’est pourquoi le microcontrôleur analyse lesignal en provenance du récepteur avant dele répercuter aux sorties désignées et de per-mettre ainsi qu’une opération soit entreprise.Les impulsions entrantes doivent présenterune largeur comprise 769 µs et 2 304 µs. Ilpatiente ensuite pendant 16 ms avant dereprendre l’écoute du récepteur. Puis il ouvreune fenêtre d’une durée de 9 ms au cours delaquelle il attend un signal valide. Il compta-bilise les erreurs décelées et à partir d’un cer-tain montant, il déclenche le programme desécurité intrinsèque (fail safe).De par la fonction d’atténuation des para-sites, il faut que le signal issu du récepteurreste dans la fourchette de fréquences derécurrence entre 36 Hz et 57 Hz. Toute impul-

sion de moins de 40 µs est considé-rée comme intruse et le logiciell’ignore. En outre, le signal détectédoit, à l’entrée du trigger de Schmittdu microcontrôleur, présenter uneamplitude minimum de 0,6 V. Lespointes qui n’atteignent pas ceniveau ne sont donc pas propagéessur les longs fils qui vont aux servos.C’est aussi une raison pour placerces filtres (la platine avec la pucepolyvalente) à proximité des servos,au bout de longues lignes comme onen trouve dans les ailes, parexemple. De cette manière, le signalappliqué aux servos profite de l’éli-mination de pratiquement tous lesparasites induits et approche de laqualité d’une réception en PCM.

Servo-reverseDepuis longtemps, presque toutémetteur de télécommande moderneoffre la possibilité d’inverser le sensde la servocommande. Pourquoi gar-der cette fonction sur notre pucepolyvalente ? Deux raisons, en fait.Comme on peut y brancher deux ser-vos, pas de difficulté de commanderpar les deux canaux deux aileronséquipés chacun de leur propre servo.Pour changer, on peut parfois utiliserun second servo, en sens inverse,pour actionner indépendamment lagouverne de profondeur du gouver-nail de queue. La raison en est quela course de la manette n’est paspareille pour chacun des servos etque, par conséquent, la réponse dugouvernail peut différer. La figure 4 montre schématiquementle principe de la fonction d’inversionde servo avec la puce de modélisme,tandis que la figure 5 décrit leschéma pratique de la réalisation.Une platine (EPS010008-2) a étéconçue à son intention, elle estvisible à la figure 6. Elle combine lesfonctions de filtre pour servo et de

servoreverse et sert en même tempsde base de distribution, en guise decâble en V, lorsque l’inversion desens de débattement des servos estnécessaire.

Surveillance de la tensiond’alimentation du récep-teurUne tension suffisante, à bord d’unmodèle télécommandé, c’est déjà lamoitié de sa survie assurée. Pour sapropre sécurité et celle des specta-teurs, une surveillance permanentede la tension de batterie est indis-pensable. Aussi, cette fonction est-elle présente sur trois des quatre pla-tines proposées, seule la première,avec l’inversion de servo, en estdépourvue, par souci de compacité.La particularité du système de sur-veillance utilisé ici est qu’il détectetout défaut de tension, même decourte durée, et le garde en mémoire.Des deux comparateurs que possèdele microcontrôleur, l’un s’occupe dela surveillance de la tension d’ali-mentation du récepteur (figure 8). Ildispose d’une tension de référenceintégrée de 1,23 V et, aidé des résis-tances externes R9 et R10, il réagitaussitôt que la tension chute sous4,8 V. La réaction, c’est l’allumagepermanent de la LED au port P1.6(figure 9) et un changement de lafréquence des clignotants d’anticol-lision sur la platine EPS 010008-3,que nous décrirons dans la deuxièmepartie de cet article. Une fois la LEDallumée, elle le reste et la seule façonde l’éteindre, c’est de redémarrer lemicrocontrôleur sous une tensionsupérieure à 4,7 V. Si jamais la ten-sion vient à manquer à un quel-conque moment, on peut être certainque la LED l’indiquera et l’on seraaverti à temps qu’il faut changerd’accumulateurs. Le seuil auquel se

MODÉLISME

16 Elektor 2/2002

Filtrede servo

010008 - 15

Signal d'entrée Signal de sortie

2,1 ms

P1.1

Contrôleur

P1.2P1.4

0,9 ms

010008 - 19

0,9 ms

Figure 3. Fonctionnement du filtre pour servocommande.

Figure 4. Le principe de la fonction servoreverse.

Page 11: Mono-carte à PIC16F84 - Doctsf

pour la puce polyvalente que nous envisa-geons ici, visible à la figure 9 (et sa platine àla figure 10, EPS010008-4), une élongationtotale du manche dans la direction positiveactive un interrupteur, et dans l’autre sens,l’autre interrupteur. L’état du commutateur semaintient et pour l’inverser, il faut l’activer denouveau. Il gardera alors la même positionjusqu’à la prochaine intervention.Le MOSFET de puissance pour le canal 2 estattaqué par la broche P1.0 du contrôleur etcommute si l’impulsion d’entrée dure moinsde 1,2 ms. Le FET commandé par la brocheP1.1 du contrôleur, pour le canal 1, commutelui sur une impulsion de plus de 1,8 ms. LesMOSFET de puissance utilisés commandent,sans radiateur, des courants de quelque 10 Ajusqu’à une tension de 55 V. Les 2 platines

évoquées plus haut et la disquette compor-tant le code-source (EPS010008-11) sont dis-ponibles auprès des adresses habituelles.

Localiser son modèle réduitSi vous avez déjà tenté un atterrissage d’ur-gence dans un champ de blé ou de maïs,vous savez combien il en coûte d’aller recher-cher son aéronef. C’est souvent par le plusgrand des hasards qu’on arrive à le localiser etles recherches systématiques à traverschamps font rarement la joie du paysan ! Onpeut essayer d’actionner dans tous les sensle manche à balai en s’efforçant d’entendre lebruit du servo, mais la tentative est plutôtoptimiste. Ici, le microcontrôleur met à notredisposition à la broche P1.7 un signal, actif auniveau bas, capable d’actionner un ronfleuréquipé de son électronique. L’alarme sedéclenche automatiquement deux secondesaprès que le récepteur soit sans signal, émet-teur coupé ou fortement perturbé. Cette fonc-

réfère le système de surveillance,chacun peut le modifier en chan-geant le rapport du diviseur de ten-sion R4 et R5 et si la précision ainsiobtenue s’avère insuffisante, il resteà insérer un petit potentiomètre ensérie avec R4.

CommutateursDes fonctions accessoires raffinéesdonnent aux modèles télécomman-dés une touche plus professionnelle.

Sur un bateau de pompiers, ce serala pompe à eau qui alimente vrai-ment la lance, sur une ambulance, legyrophare ou la sirène et sur unavion, les feux d’atterrissage, parexemple. Sur de nombreux émet-teurs de télécommande, on utilisedes interrupteurs à bascule qui occu-pent un des canaux proportionnels.Voilà une utilisation bien peu ren-table de leur capacité, puisque d’unréglage sans à-coup, il ne subsistequ’un tout ou rien. Dans le montage

MODÉLISME

172/2002 Elektor

C1

15p

C2

15p

X1

6MHz

R1

1k

87LPC762BN

IC1

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

X1 X2

15

20

19

18

17

16

14

13

10

11

12

6 75

1 2

3

4

8

9

C3

220µ16V

+U

4x NiCd

SERVO

SERVO(REVERSE)

010008 - 12

Figure 5. Le schéma de la fonction servoreverse avec la puce polyvalente.

010008-2

C1

C2

C3

IC1

R1

X1

01

00

08

-2REV

NORMAL

IN

+

-

+

-

010008-2

Figure 6. La platine dessinée pour le schéma de la figure 5, avec les fonctions ser-voreverse, filtre et câble en V.

Liste des composants (pour la platine de la figure 6)

Résistances :R1 = 1 kΩ

Condensateurs :C1,C2 = 15 pFC3 = 220 µF/16 V vertical

Semi-conducteurs :IC1 = 87LPC762BN (programmé

EPS 010008-41)

Divers :X1 = quartz 6 MHz2 x câble de servo avec embase1 x câble de servo avec connecteur

Page 12: Mono-carte à PIC16F84 - Doctsf

tion de balise est présente sur toutes les pla-tines, à l’exception de la servoreverse. Maissi vous n’en voulez pas, laissez le vibreurdans le tiroir !

(010008-I)

Lors de la prochaine parution, nousvous présenterons les autres circuitsdestinés à remplir les fonctions decommande de régime moteur, démar-rage en douceur, surveillance de la

tension pour le moteur, système BEC,feu anticollision, sécurité intrinsèque,hotglow, différenciation du gouver-nail et goslow.

MODÉLISME

18 Elektor 2/2002

+

+

R4

1V23

010008 - 18

R5

P0.4

U BATT

Contrôleur

Figure 7. Un comparateur interne du micro-contrôleur.

Figure 9. La platine pour les commutateurs à deux canaux.

R1

1k

D1

C1

15p

C2

15p

X1

6MHz

R4

3k

6

R5

1k

3

IRLZ34N

T1IRLZ34N

T2

Bz1

LOW

D3

1N4001

C3

220µ16V

+U

4x NiCd

R2

10

0k

R3

1k

87LPC762BN

IC1

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

X1 X2

15

20

19

18

17

16

14

13

10

11

12

6 75

1 2

3

4

8

9

010008 - 14

D2

1N4001

BATT

Figure 8. Le schéma des deux commutateurs et les fonctions additionnelles, sur-veillance de batterie et balise de localisation.

010008-4BZ1

C1

C2

C3

D1

D2

D3

IC1

R1

R2

R3

R4

R5

T1

T2

X1

-+

RE2

RE1

+IN

010008-4+

-

010008-4

Liste des composants (pour la platine de la figure 9)

Résistances :R1,R3 = 1 kΩR2 = 100 kΩR4 = 3kΩ6R5 = 1kΩ3

Condensateurs :C1,C2 = 15 pFC3 = 220 µF/16 V vertical

Semi-conducteurs :D1 = LED rouge faible courantD2,D3 = 1N4001IC1 = 87LPC762BN (programmé

EPS 010008-41)T1,T2 = BUZ71/IRLZ34N

Divers :Bz1 = résonateur piézo CC 5 VX1 = quartz 6 MHz1 x câble de servo avec connecteur

Adresses web:Microcontrôleur:www.semiconductors.com/mcu/MOS-FET à canal N :www.irf.com/product-info/datasheets/data/irlz34n.pdf

Page 13: Mono-carte à PIC16F84 - Doctsf

20 Elektor 2/2002

Pour peu que vous ayez déjà lamoindre expérience dans le domainede l’électronique numérique voussavez sans aucun doute qu’il existedifférents types d’étages de sortie.Qu’il s’agisse d’une sortie TTL,CMOS, 3 états (tri-state), à collecteurouvert voire à drain ouvert, chacuned’entre elle a ses propres caractéris-tiques, qu’il faut connaître pour pou-voir y connecter quoi que ce soit. Leslignes du port 1 d’un contrôleur dutype 8051 ne respecte en fait lescaractéristiques d’aucune desfamilles logiques connues, ayantopté pour une solution qui lui esttotalement propre. Il s’agit en effetde ports quasi-bidirectionnels, quipeuvent partant, sans requérir decommutation particulière, être utili-sés soit comme entrée soit en tantque sortie. On peut considérer queles ports d’un microcontrôleur ensont en quelque sorte la porte versle monde extérieur. On aura besoin,selon l’application concernée, soit desorties soit d’entrées.

Certains microcontrôleurs fontappel à des tampons 3-états (tri-state) qui devront être mis, pourservir d’entrées, à l’état de hauteimpédance. Cela requiert bien évi-

MICROPROCESSEUR

Cours« Microcontrôleurs »2ème partie : Caractéristiques de port et leur accès

Nous vous avons, dans le premier article de ce cours de base consacréaux « Microcontrôleurs », présenté l’assembleur utilisé. Nous allons main-tenant passer aux premières applications pratiques faisant appel aux portsdu processeur. Ceci nous amène à commencer par nous intéresser auxcaractéristiques physiques des lignes (connexions) de port.

Page 14: Mono-carte à PIC16F84 - Doctsf

MICROPROCESSEUR

212/2002 Elektor

cependant au bref instant de la commutationdu port vers l’état haut (ou lors de l’émissiond’adresses). La ligne de port change ainsi, enprésence d’une charge capacitive donnée,d’état très rapidement. En outre, il reste pos-sible d’utiliser le port en entrée et de l’activeren le forçant à la masse sachant que le court-circuit pouvant se produire à ce moment-làdure moins d’une micro-seconde (µs).Un port quasi-bidirectionnel peut lui aussiattaquer directement une LED, à conditioncependant qu’elle ne soit pas, avec sa résis-tance de limitation de courant, reliée à lamasse, mais à la ligne positive de l’alimenta-tion, Vcc. La figure 2 montre commentconnecter une LED et un commutateur. LaLED devra être prise, avec le premier pro-gramme de l’article du mois dernier, à l’unedes broches P1.4 à P1.7, si l’on veut qu’elles’allume sachant que seules ces broches sontcommutées vers le niveau bas. Le commuta-

demment soit un signal de commu-tation particulier soit des instruc-tions spécifiques assurant la com-mutation du sens de circulation desdonnées. Le 8051 ne requiert pascette approche puisque, commenous le disions plus haut, toutes leslignes de port peuvent être utili-sées, sans la moindre commutation,tant en entrée qu’en sortie.

Examen d’une ligne de portUn coup d’oeil au schéma détailléd’un port, figure 1, montre la struc-ture d’un port quasi-bidirectionnel.La sortie ne comporte qu’un uniqueFET doté de sa résistance de forçageau niveau haut (pull up). À l’étathaut (High) le FET est bloqué. À elleseule, la résistance de forçage auniveau haut détermine la résistanceinterne du port. Il est possible de cefait de connecter à cet endroit unesortie logique quelconque ou fairebasculer le signal par le biais d’uncommutateur pris à la masse. Mêmeune entrée logique à haute impé-dance, telle que celle d’un circuitintégré CMOS par exemple, n’a pasde problème pour reconnaître un étathaut. Les rapports changent du toutau tout lorsque le FET de sortie estconducteur et qu’il force à un étatbas. Le port se trouve alors à uneimpédance relativement faible.S’il vous vient à l’idée, dans cesconditions, de forcer le port à l’étathaut, il vaut mieux vous la sortir dela tête sachant que ce que vous ten-tez de faire est d’envoyer le micro-contrôleur paître sur les terres dechasse du Grand Manitou Numé-

rique, au milieu de tous ces compo-sants trépassés de façon plus oumoins violente.Voici donc la règle à retenir : il nefaut jamais relier une sortie à unesortie. Partant, on essayera de serappeler : lorsque l’on veut utiliserune ligne de port en entrée elle doitse trouver à l’état Haut ! Ceci est tou-jours le cas après une réinitialisation(reset).Le synoptique de la structure internedu port comporte une autre simplifi-cation. La résistance de forçage auniveau haut est, en réalité, un FETelle aussi. Elle se comporte partantcomme une source de courantconstant. Ceci amène bien évidem-ment à se poser la question de lataille de ce courant constant. Unemesure donne, dans le cas duAT89S8252, un courant de court-cir-cuit de quelque 10 µA, lorsque l’onforce le port à la masse. Il s’agit làd’une intensité très faible, incapableen fait d’alimenter une LED parexemple. Cette valeur de courantest-elle même suffisante pour obte-nir une commutation suffisammentrapide d’une ligne ? À vrai dire pas,vu que chaque ligne possède unecapacité intrinsèque qui requiert enfait pour commencer de voir sacharge inversée. Il existe, à ceniveau une astuce de constructiondu port. Si l’on examine la résistancede forçage au niveau haut on verraqu’elle est constituée de 2 (en faitmême de 3) FET.L’un d’entre eux est chargé de four-nir le très faible courant de forçageau niveau haut. Un second fournit uncourant d’intensité sensiblementplus élevée. Son activation se limite

BitLatch

ReadLatch

Writeto

Latch

Int.Bus

ReadPin

Pin

InternalPull UpArrangement

CLK

D Q

Q

EN

EN

010208 - 3 - 11

n1

VCC

Figure 1. Structure interne d’un port.

1k

LDR

P1.x P1.x

VCC

GND

VCC

GND

VCC

GND

P1.x

010208 - 3 - 12

Figure 2. Câblage du port en sortie et en entrée.

Listage 1.Une boucle de programme avec sortiesau niveau du port.

;flash2.asm, fast loop

#include 8051.H.org 0000H

main mov a,#0Fh ;1 a = 15mov P1,a ;1 P1 = a mov a,#0F0h ;1 a = 240mov P1,a ;1 P1 = asjmp main ;2 .end

Page 15: Mono-carte à PIC16F84 - Doctsf

teur devra lui être relié à l’une des lignes deport P1.0 à P1.3, sachant qu’elles se trouventà l’état haut et sont partant des entrées.Notons en passant que l’on pourra jouerautant que l’on voudra sur le commutateur ilne se passera rien. Il faudrait pour cela eneffet commencer par écrire un programme quiinterrogerait l’entrée et traiterait le résultatde cette opération.

Une première boucle de programmeIl est temps, après cette introduction, de pas-ser à la pratique : nous voulons réaliser unecommutation automatique des états de port.Le programme de la première partie du courssera modifiée de manière à ce qu’il corres-ponde au programme donnée dans le lis-tage 1.On envoie pour commencer la valeur de port0Fh suivie de la valeur F0h. Il est importantde se rappeler que lorsque l’on travaille avecdes nombres hexadécimaux, le premier carac-tère d’un tel nombre doit être numérique.Ceci explique que dans le listage on trouveun 0 en premier chiffre, de sorte que l’on a, aulieu d’un F0h auquel on pouvait s’attendre, un

0F0h. Autre particularité de ce lis-tage, le registre p1 n’est plus définidans le texte. Au lieu de cela onimplique un fichier Include, 8051.h,qui comporte toutes les définitionsimportantes et qui connaît bien plusque le seul Port 1. La ligne .orgdonne en outre, explicitement,l’adresse de début de programme.Après une réinitialisation, le micro-contrôleur démarre toujours son pro-gramme à l’adresse 0000h. La der-nière modification, la plus impor-tante en fait, est que la boucle a étéagrandie. Elle inclut maintenant l’en-semble du programme, dont l’exécu-tion reprend sans arrêt.Ce petit programme permet derépondre à une question très impor-tante : quelle vitesse peut en faitatteindre un microcontrôleur ? Il suf-fit pour cela de connecter l’entréed’un oscilloscope à l’une des brochesde port. On y découvre un signal rec-tangulaire de quelque 150 kHz. Onpourra également détecter la pré-sence de ce signal à l’aide d’unposte de radio portable. Il suffit deconnecter au port un petit morceaude conducteur qui fera office d’an-tenne. On trouvera le signal sur lagamme de Grandes Ondes (GO) auxalentours de 150 kHz. La 5ème har-monique, qui se situe aux environsde 750 kHz pourra être reçue sur lagamme des OM ou PO (OndesMoyennes ou Petites Ondes). Oncomprend mieux ainsi le pourquoiprofond des normes CEM (Compati-bilité Electro-Magnétique). Il estimportant de toujours veiller, lorsquel’on se trouve en présence de fré-quences élevées et de flancs raides,à prendre les mesures adéquatespour éviter qu’un montage ne setransforme en émetteur.On retrouve, dans les commentaires

du listage, les fréquences d’horloged’instruction pour chaque ligne. Unefréquence d’horloge d’instructiondure 12 cycles d’horloge du quartz,ce qui correspond à 12/11,059 kHz =1,095 µs. La plupart des instructionsdurent un cycle d’horloge, une ins-truction de saut en nécessitant 2.Le nombre des durées atteint ainsiun total de 6 cycles d’horloge. De cefait, la durée d’une boucle sera de6,51 µs. La fréquence atteint ainsi153 kHz.Ce programme permet une autreobservation intéressante. Il permeten effet d’observer visuellement laréalité du fonctionnement des 2 FETde forçage au niveau haut. Pour cefaire on connecte à l’une des brochesde port une résistance de 33 kΩ enparallèle vers la masse. Le petit FETest incapable de forcer cette résis-tance jusqu’au plein niveau de Vcc,mais le gros FET y arrive bien lui. Surl’écran de l’oscilloscope on voit net-tement pendant quelle durée (trèscourte en fait) le courant devientplus important. Le flanc montant esttrès raide. Il est suivi par un plateauélevé d’une durée de quelque 100 ns(= un cycle d’horloge), la tensionvenant ensuite s’établir progressive-ment à un niveau plus faible.Le port présente visiblement uneautre caractéristique que ne men-tionnent pas la majorité des fichesde caractéristiques. La petite pull-upest elle aussi subdivisée et présenteun comportement différent selon quel’état du port est un niveau haut ouun niveau bas (L = Low). Si oncharge le port à l’aide d’une résis-tance de 6kΩ8 on verra la courbeprésenter un second coude à unetension de l’ordre de 1,5 V. Au-delàde cette tension d’entrée il circulevisiblement un courant plus impor-

MICROPROCESSEUR

22 Elektor 2/2002

P1.0

GND

1...100k ca. 10pF

Oscilloscope

Câble de mesure

010208 - 3 - 13

Figure 3. Mesure du signal présent sur une ligne de port sous charge.

Figure 4. Charge de 33 kΩ.

Figure 5. Charge de 6kΩ8.

Page 16: Mono-carte à PIC16F84 - Doctsf

port P1.1, ce qui aura pour effet de faires’éteindre la LED. Il faudra maintenant, pouréviter que la routine débutant à l’étiquetteON ne remette tout en cause, faire en sorteque cette partie du programme soit « sau-tée ». Une nouvelle instruction de saut nousamène ainsi à l’étiquette OFF. À ce niveau, laboucle se ferme vu que l’on retourne tout audébut du programme.Ce petit exemple fournit d’un coup d’un seulplusieurs résultats intéressants : on vient deréaliser en quelque sorte un inverseurlogique. Un niveau bas appliqué à l’entrée setraduit par un niveau haut en sortie et inver-sement. Vu que tant la LED (Bas = allumé)que le commutateur d’entrée (Fermé =allumé) ont une fonction inverseuse, la fonc-tion d’ensemble est inverseuse également.Lorsque l’on appuie sur S1, la LED s’éteint,lorsque l’on ouvre l’interrupteur la LED s’al-lume à nouveau.Le câblage d’essai montre l’hystérésis d’en-trée du port lorsqu’on y connecte une résis-tance, un potentiomètre ou une photo-résis-tance. Il existe un décalage sensible entre leseuil d’entrée en fonction et le seuil de misehors-fonction de la luminosité au niveau de laphoto-résistance.Lors de la fermeture de S2, l’existence d’uneréaction active se traduit par la naissance deniveaux changeant rapidement. Le seulindice de la réalité de ce phénomène est uneluminosité moindre de la LED. L’oscilloscopelui fait toute la lumière sur la situation : il per-met de découvrir la naissance de signaux car-rés rapides. Il était difficile de s’attendre àautre chose. En effet, on a, en début de pro-gramme, interrogation de l’état de l’entrée.En cas de réaction active le contrôleur trouveà cet endroit l’état de sortie consécutif à ladernière exécution du programme, et ce der-nier était précisément inversé. Il ne reste aumicrocontrôleur pas d’autre possibilité que derecommuter à chaque fois l’état du port. Si

tant, en-deçà de cette valeur un cou-rant plus faible.L’ensemble réagit comme unecontre-réaction de courant et induitune certaine hystérésis d’entrée. Ilest facile, à l’aide d’un multimètre,de le mesurer. À une tension supé-rieure à 1,5 V le port fournit jusqu’à200 µA, en-deçà de cette valeur, il nefournit plus que 10 µA seulement. Depar ce comportement du port, l’im-plantation d’une simple résistancevers la masse a pour effet de définirun état d’entrée indubitable. On peutégalement envisager de connecterun potentiomètre ou une photo-résis-tance (connue sous la dénominationde LDR pour Light Dependent Resis-tor), ce composant étant lu avec unehystérésis sensible. S’il est possiblede trouver mention de cette subdivi-sion en 3 FET de forçage au niveauhaut dans les ouvrages de fiches decaractéristiques originaux d’Intel etde Philips, cette information subtilea disparu des fiches de caractéris-tiques des dérivés ultérieurs du 8051de Atmel et d’autres sources.La figure 4 propose une petite élec-tronique permettant de procéderaux premiers essais de commutationd’entrée d’un port. P1.0 pourra êtreamené à zéro soit par le biais de S1ou de la photo-résistance si tant estque la luminosité soit suffisante. Unprogramme écrit à cet effet devralire l’état du port et allumer la LEDprise au port P1.1 à chaque détec-tion d’un signal de niveau haut à

l’entrée. Il faudra tenir compte dufait que la LED est connectée à Vccet que partant elle remplit une fonc-tion inverseuse. Elle s’allumerachaque fois que le port P1.1 détecteun état bas. S2 permet, signalons-leau passage, un couplage réactifentre la sortie et l’entrée du mon-tage de test. Mais que se passerait-il si l’on actionnait simultanémentles boutons-poussoirs S1 et S2, cequi se traduirait par la mise encourt-circuit vers la masse de la sor-tie P1.1 ? Rien de catastrophiquesachant qu’il n’y a jamais, dans lecas d’un port quasi-bidirectionnel,d’interdiction de réaliser une liaisonvers la masse. La seule conséquenceest que la LED restera allumée danstoutes les conditions.

Un saut conditionnelLe programme en assembleur du lis-tage 2 procède à la lecture de l’étatdu port P1.0 et effectue ensuite unsaut conditionnel. L’instruction jb(jump if bit set = effectuer un saut sile bit est positionné, c’est-à-dire misà « 1 ») faut partie de la catégorie desinstructions de traitement de bitsindividuels spéciales. Contrairementà ce qui est le cas normalementlorsque l’on a affaire à des octets(nombre à 8 bits) on traite, posi-tionne ou met ici à zéro des bits indi-viduels. P1.0 désigne une uniqueligne, alors que P1 du premierexemple identifie l’ensemble du portavec ses 8 lignes. Le fichier d’en-tête(header) 8051.h définit toutes lesadresses de bits requises telles queP1.0 et P1.1. On pourra examiner cefichier ASCII à l’aide de n’importequel programme éditeur de texte. Onlit ainsi dans la première ligne duprogramme qu’en cas de lectured’un état « 1 » sur la ligne de portP1.0, que le programme effectue unsaut à l’étiquette (label) ON. À cetendroit, on met, par l’instruction clrP1.1 (clr = clear = effacer), le port1.1 au niveau bas ce qui se traduitpar l’allumage de la LED. À l’inverse,en cas de détection, lors de l’exécu-tion de la première ligne, d’un niveaubas sur P1.0, il n’y aura pas de saut,l’exécution du programme se pour-suivant avec l’instruction de la lignesuivante. Cette ligne dit : setbP1.1 (set bit = positionner le bit) cequi est l’instruction de commuter le

MICROPROCESSEUR

232/2002 Elektor

1k

S1

P1.1

P1.0

S2

LDR

010208 - 3 - 16

VCC

GND

Figure 6. Cette électronique comporteune entrée et une sortie.

Listage 2. Réaction à un état d’entrée.;flash3.asm, input/output

#include 8051.H.org 0000H

main jb P1.0,ON ;P1.0 = ? setb P1.1 ;P1.1 = 1sjmp OFF

ON clr P1.1 ;P1.1 = 0OFF sjmp main

.end

Page 17: Mono-carte à PIC16F84 - Doctsf

l’on procède à la même opération avec uneporte logique, un inverseur dans le cas pré-sent, le résultat peut être totalement diffé-rent. La plupart du temps on voit s’instaurerune tension moyennée, ce qui trahit les ori-gines analogiques de la porte, vu qu’elle est,en fait, un amplificateur de tension continueinverseur. Dans le cas d’une logique séquen-tielle telle que celle que comporte un micro-contrôleur, il n’y a pas de place pour demodes de comportement analogique. Lesseules décisions doivent toujours être soit unoui (vrai) soit un non (faux).

Boucles de comptageLe dernier programme de cet article n’utiliseà nouveau que des sorties (output).Le but est de faire produire à la totalité des8 lignes du port 1 des signaux rectangulairessymétriques de fréquences différentes.L’exemple correspondant en électroniquenumérique est un diviseur binaire à 8 étages.On applique à l’entrée un signal d’horlogedont la fréquence se voit, d’un étage au sui-vant, divisée par 2 très exactement. Le micro-contrôleur se charge, par le biais de son pro-gramme, de générer le signal d’horlogerequis. La chaîne de division est facile à réa-liser par multiplication d’un nombre binaire.On pourra utiliser pour cela soit une instruc-tion d’addition soit une instruction inc(increment = incrémenter). inc a incré-mente l’accumulateur (l’augmente de 1) àchaque fois. Le programme doit, par le biaisd’une boucle, réexécuter cette instruction età chaque fois présenter le contenu de l’accu-mulateur au port.Le programme du listage 3 commence parcharger dans l’accumulateur la valeur dedépart, à savoir zéro. On a ensuite sortie versle port, incrémentation de l’accumulateur,saut à l’étiquette next, nouvelle présentationdes données au port et ainsi de suite.

Le programme comporte uneseconde boucle de comptage, cecien vue de ralentir quelque peu ledéroulement des opérations. Le butde la manoeuvre est de faire en sortequ’il soit possible, à l’aide d’uneLED, d’observer directement aumoins les signaux les plus lents dis-ponibles sur le port P1.7.La boucle de comptage utilise unregistre, r1. On dispose au total de8 registres, r0 à r7. Peu importecelui que l’on utilise ici. On chargedans le registre le nombre 255; onnotera l’utilisation, cette fois, d’unnombre décimal. On aurait fort bienpu écrire 0FFh.La boucle de comptage proprementdite utilise l’instruction assembleurcomplexe djnz (decrement and jumpif not zero = décrémenter et sautersi résultat non nul). Lors de la pre-mière exécution le contenu de r1 estdécrémenté et passe ainsi à 254. Vuque cette valeur est différente dezéro on a exécution du saut vers l’éti-quette loop, ce qui se traduit par unenouvelle exécution de cette mêmeinstruction. Lors de cette exécutionle contenu de l’accumulateur passeà 253. Au bout d’un total de 255 exé-cutions de la boucle l’accumulateurse retrouve à 0. La condition de sautn’étant plus remplie (non nul) le pro-gramme passe à la ligne suivante.Cette opération s’est traduite par255 exécutions de la boucle, soit untotal de 510 cycles d’instruction, cequi correspond à 558 µs. Si l’onajoute à cette durée celle des autresinstructions on arrive à quelque564 µs, ce qui se traduit par une fré-quence de boucle de 1,77 kHz. C’estaussi partant la valeur de la fré-

quence d’horloge à l’entrée de lachaîne de diviseurs. On trouve de cefait sur la ligne de port P1.0 unsignal rectangulaire de 885 Hz, surP1.1 un signal de 443 Hz et ainsi desuite jusqu’à 7 Hz sur la ligne P1.7,fréquence que permet de visualiserune LED. On pourra s’essayer àd’autres valeurs de boucle. La fré-quence la plus élevée atteignable estobtenu avec une valeur de départ de1. Notons que l’on n’obtient pas latemporisation la plus longue avec lavaleur de 255, mais avec 0 vu quel’on passe, lors de la première décré-mentation, de 0 à 255. On obtientainsi 256 exécutions de la boucle.

(010208-III)

Après ces premiers pas en assem-bleur nous passerons dans l’articlepublié le mois prochain au BASIC-52.

MICROPROCESSEUR

24 Elektor 2/2002

010208 - 3 - 17

Figure 7. Signaux de sortie des lignes de port P1.0 à P1.7.

Listage 3. Une boucle de comptage.

;flash4.asm port outputs#include 8051.H

.org 0000H

main mov a,#00 next mov P1,a ;1

mov r1,#255 ;1loop djnz r3,loop ;2 * 255

inc a ;1sjmp next ;2.end

Page 18: Mono-carte à PIC16F84 - Doctsf

MICROINFORMATIQUE

26 Elektor 2/2002

Le module USBuart.bas met à dispositionSub wrIsink PortNummer, Wert.Les numéros de port (PortNummer) peuventprendre les valeurs 0 à 7 pour les lignes deport P00 à P07 et les valeurs 8 à 11 pour leslignes de port P10 à P13. Le listage 1 donneun petit programme simple servant à ajusterle courant drainé (sink) sur les 4 sorties duport 1, la recopie d’écran de la figure 1montre comment les choses se présentent.Le microcontrôleur comporte, pour chaqueligne de port, un convertisseur numérique/analogique (CNA) à 4 bits constitué de4 sources de courant pondérées. La questionse pose de savoir s’il est possible dans cesconditions de faire bien plus que de piloter laluminosité de quelques LED. En principe, ilsuffit d’une résistance pour convertir en unetension de sortie le courant commandé. Laprise d’une résistance de 220 Ω (figure 2) per-met une commande correcte dans le cas d’undrain de courant de 15 mA.Nous avons, pour vérifier la linéarité, mesuréles tension de sortie pour chacun des16 réglages de courant possibles. Letableau 1 donne les résultats obtenus. Nousavons fait appel à Excel pour traiter cesvaleurs, ce qui nous donne comme résultat laligne de la figure 3 : on peut difficilement dese plaindre de la linéarité ! .La sortie de courant pourra être utilisée pourréaliser une alimentation réglable sans pré-tentions. La figure 5 propose le schéma d’uncircuit basé sur un amplificateur opérationneldu type L272. Il est possible, avec cette élec-tronique simple, d’ajuster, indépendammentl’un de l’autre, le point zéro et la pente. Celapermet ainsi aussi, le cas échéant, d’obtenirdes variations plus faibles, entre 3,5 et 5 Vpar exemple.

Un CAN tout simpleOn pourra également mettre à contribution

les caractéristiques N/A des brochesde port pour réaliser un CAN trèsrustique. On se contente de mesurerdes résistances. La résistance demesure devra être prise entre labroche du port et le potentiel Vcc del’alimentation. Le principe utiliséconsiste à déterminer quel est lecourant de drain à ajuster pourqu’une ligne de port donnée soit,avec la résistance qui y est connec-tée, prise en compte comme présen-tant un niveau logique bas.Le schéma représenté en figure 6montre 8 potentiomètres pris auport 1, potentiomètres permettant deréaliser une fonction d’entréeoctuple. Dans le cas du port P0, laplage de réglage la plus favorable sesitue entre quelque 2 et 12 kΩ. En cequi concerne le port 1, le même pro-cessus exigerait des résistances de

UART pour USBPartie 2 : Réglage des courants de port

Si, dans le cas de l’interface USB d’Elektor décrite dans le numéro de sep-tembre 2000, il n’était possible d’ajuster le courant de port que d’un seulport, cette nouvelle puce USB permet de le faire sur chacun des ports.

22

+5V

V

P1.3

010207 - 2 - 12

Figure 1. Le programme LED.FRM.

Figure 2. Commande d’une tensionde sortie par le biais du port P1.3.

Littérature

B. Kainka - Petites expériencesd’électronique avec mon PC,Publitronic 2001

Page 19: Mono-carte à PIC16F84 - Doctsf

MICROINFORMATIQUE

272/2002 Elektor

22

+5V

P1.3

010207 - 2

8 2

1

4

- 14

7

3k3

10k

10k

+12V

1/2 L272

0...10V300mA

K2'VCC

GND

P1.0

P1.1

P1.2

P1.3

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

010207 - 2 - 15

2k2

2k2

2k2

2k2

8x 10k

2k2

2k2

2k2

2k2

4,5

4

3,5

3

2,5

2

1,5

1

0,5

00 5 10

010207 - 2 - 13

15

Ten

sio

n

Octet de commande

Figure 3. Relation entre la tension de sortie et les octets de commande.

Figure 4. Source de tension pilotée.

Figure 5. Connexion de potentiomètres poursaisie de valeurs analogiques.

Figure 6. Affichage analogique à 8 canaux.

Tableau 1. Les tensions mesurées sur laligne P1.3.

0 4,29 V1 4,09 V2 3,90 V3 3,70 V4 3,51 V5 3,32 V6 3,15 V7 2,96 V8 2,79 V9 2,61 V10 2,43 V11 2,24 V12 2,06 V13 1,89 V14 1,71 V15 1,54 V

Listage 1. Le programme USBuart2.vbp

Private Sub Form_Load()WrPort0 Wert

End Sub

Private Sub HScroll1_Change()Wert = HScroll1.ValueWrIsink 8, WertLabel5.Caption = Str$(Wert)

End Sub

Private Sub HScroll2_Change()Wert = HScroll2.ValueWrIsink 9, WertLabel6.Caption = Str$(Wert)

End Sub

Private Sub HScroll3_Change()Wert = HScroll3.ValueWrIsink 10, WertLabel7.Caption = Str$(Wert)

End Sub

Private Sub HScroll4_Change()Wert = HScroll4.ValueWrIsink 11, WertLabel8.Caption = Str$(Wert)

End Sub

Page 20: Mono-carte à PIC16F84 - Doctsf

valeur plus faible vu qu’il y circule un courantde drain plus important.Chaque conversion analogique se traduit parune croissance en escalier du courant de drain,jusqu’à ce que le comparateur bascule. De cefait, chaque mesure peut nécessiter jusqu’à16 sorties et 16 entrées. Si l’on sait qu’un accèsde commande par la voie USB requiert 4 ms on

aura vite fait de calculer que chaquemesure peut durer un maximum de256 ms. Il faut partant, pour l’en-semble des 8 canaux, de l’ordre de 2 s.Le listage 2 donne un programmeassurant l’interrogation de 8 posi-tions de potentiomètre et l’affichagedes résultats de cette opération. À

titre de variation, les potentiomètresà glissière ne servent pas unique-ment d’organe de commande maisservent également à la visualisation.Les curseur de réglage visualisés àl’écran sont pilotés à distance par lesvrais potentiomètres.

(010207-2)

MICROINFORMATIQUE

28 Elektor 2/2002

Listage 2. L’UART USB en tant qu’octuple CAN.

Function ADCh0()WrIsink 0, 0Ain = 0While ((RdPort0 And 1) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 0, Ain

WendADCh0 = Ain

End Function

Function ADCh1()WrIsink 1, 0Ain = 0While ((RdPort0 And 2) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 1, Ain

WendADCh1 = Ain

End Function

Function ADCh2()WrIsink 2, 0Ain = 0While ((RdPort0 And 4) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 2, Ain

WendADCh2 = Ain

End Function

Function ADCh3()WrIsink 3, 0Ain = 0While ((RdPort0 And 8) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 3, Ain

WendADCh3 = Ain

End Function

Function ADCh4()WrIsink 4, 0Ain = 0While ((RdPort0 And 16) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 4, Ain

WendADCh4 = Ain

End Function

Function ADCh5()WrIsink 5, 0Ain = 0While ((RdPort0 And 32) > 0) And (Ain < 15)

Ain = Ain + 1WrIsink 5, Ain

WendADCh5 = Ain

End Function

Function ADCh6()WrIsink 6, 0Ain = 0While ((RdPort0 And 64) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 6, Ain

WendADCh6 = Ain

End Function

Function ADCh7()WrIsink 7, 0Ain = 0While ((RdPort0 And 128) > 0) And (Ain < 15)Ain = Ain + 1WrIsink 7, Ain

WendADCh7 = Ain

End Function

Private Sub Form_Load()WrPort0 Wert

End Sub

Private Sub Timer1_Timer()Value = ADCh0()HScroll1.Value = ValueLabel9.Caption = Str$(Value)Value = ADCh1()HScroll2.Value = ValueLabel10.Caption = Str$(Value)Value = ADCh2()HScroll3.Value = ValueLabel11.Caption = Str$(Value)Value = ADCh3()HScroll4.Value = ValueLabel12.Caption = Str$(Value)Value = ADCh4()HScroll5.Value = ValueLabel13.Caption = Str$(Value)Value = ADCh5()HScroll6.Value = ValueLabel14.Caption = Str$(Value)Value = ADCh6()HScroll7.Value = ValueLabel15.Caption = Str$(Value)Value = ADCh7()HScroll8.Value = ValueLabel16.Caption = Str$(Value)

End Sub

Page 21: Mono-carte à PIC16F84 - Doctsf

INFOCARTE 2/2002

TDA7293

Amplificateur audio 100W DMOS

TDA7293

Amplificateur audio 100W DMOS INFOCARTE 2/2002

Fabricant :STMicroelectronicswww.eu-st.com

Caractéristiques :– Plage de tension d’alimentation très étendue

(±50 V)– Étage de puissance DMOS– Puissance de sortie importante (100 W à DHT de

10 %, sous 8 Ω et avec VS = ±40 V)– Fonctions pour passage en silencieux et Standby– Absence de bruit de commutation et de coupure– Distorsion très faible– Bruit intrinsèque très faible– Protégé contre les courts-circuits (en l’absence de

signal d’entrée)– Circuit de protection thermique– Détecteur de surmodulation– Possibilité de montage modulaire (montage en

parallèle possible)

Domaines d’utilisation :Amplificateurs audio de salon, enceintes actives etsystèmes multi-canaux

Description :Le TDA7293 est un circuit intégré proposé en boîtierMultiwatt15; les domaines d’application privilégiés decet amplificateur en classe A/B Hi-Fi sont ceux desinstallations audio stéréophoniques, des enceintesactives, des téléviseurs haut de gamme. De par saplage de tension d’alimentation très étendue et soncourant de sortie maximal élevé, le TDA7293 secaractérise par une puissance importante tant sous4 Ω que sous 8 Ω. La fonction de silencieux (Mute)intégrée à temporisation de mise en fonction faciliteles applications « commandées à distance » vu l’ab-sence de bruits de commutation. Il est possible demonter plusieurs TDA7293 en parallèle par l’inter-connexion de leurs broches 11. Cette option permetd’attaquer des charges d’impédance très faible.

Exemple d’application :Ampli audio 100 W, Quadri-TDA7293Elektor 02/2002

Structure interne et applicationstandard en mode mono (ci-dessous)

292/2002

Elektor

Symbole Paramètre Conditions de test Min. Typ. Max. Unité

VS Plage de la tension d’alimentation ±12 ±50 V

Iq Courant de repos 30 mA

Ib Courant d’entrée 0,3 1 µA

VOS Tension d’offset d’entrée -10 10 mV

IOS Courant d’offset d’entrée 0,2 µA

PO Puissance de sortie continue (efficace)d = 1 %, RL = 4 Ω, VS = ±29 V 80 W

d = 10 %, RL = 4 Ω, VS = ±29 V 100 W

d Distorsion Harmonique Totale (DHT)PO = 5 W, f = 1 kHz 0,005 %

PO=0,1 à 50 W; f = 20 Hz à 15 kHz 0,1 %

ISC Valeur de seuil de limitation de courant VS £ ±40 V 6,5 A

SR Taux de montée (slew rate) 15 V/µs

GV Gain en tension (ouvert) 80 dB

GV Gain en tension (en réaction) 30 dB

eN Bruit d’entrée total Pondéré en A 1 mV

f = 20 Hz à 20 kHz 2 5 mV

Ri Résistance d’entrée 100 kΩ

SVR Réjection de la tension d’alimentation f = 100 Hz, Vripple = 0,5 V eff 75 dB

TSValeur de seuil d’entrée en fonction de la protection thermique

Mise en silencieux du circuit 150 °C

Mise hors-circuit du circuit 160 °C

Fonction de STAND-BY

VST on Valeur de seuil Stand-by ON 1,5 V

VST off Valeur de seuil Stand-by OFF 3,5 V

ATTst-by Atténuation en mode Stand-by 70 90 dB

Iq st-by Courant de repos en mode Stand-by 0,5 mA

Fonction de SILENCIEUX

VMon Valeur de seuil de mise en silencieux 1,5 V

VMoff Valeur de seuil de remise en fonction 3,5 V

ATTmute Atténuation induite par le silencieux 60 80 dB

Détecteur d’écrêtage (clip detector)

Duty Rapport cyclique en broche 5DHT = 1 %; RL = 10 kΩ à 5 V 10 %

DHT = 1 %; RL = 10 kΩ à 5 V 40 %

ICLEAK PO = 50 W 1 µA

Fonction SLAVE

VSlave Valeur de seuil en Slave 1 V

VMaster Valeur de seuil en Master 3 V

Caractéristiques électriques (VS = ±40 V, RL = 8 Ω, Rg = 50 Ω, Tamb = 25 °C, f = 1 kHz, sauf mention contraire)

Page 22: Mono-carte à PIC16F84 - Doctsf

TDA7293

Amplificateur audio 100W DMOS

TDA7293

Amplificateur audio 100W DMOS INFOCARTE 2/2002INFOCARTE 2/2002

30El

ekto

r2/

2002

Brochage et application standard en mode parallèle (ci-dessous et ci-contre)

Montage en pont/en parallèleLe TDA7293 peut être utilisé de 3 façons différentes,mono, en pont et en parallèle. Le mode de montageen pont permet d’atteindre des puissances très impor-tantes même en cas de tension d’alimentation modes-te dans une charge de 8 Ω (150 W dans 8 Ω parexemple à VS = ±25 V); il permet également d’atta-quer sans problème des haut-parleurs d’impédanceélevée (200 W sous 16 Ω par exemple à ±40 V),charge constituée de haut-parleurs de 8 ou 4 Ω.L’impédance de charge doit être de 8 Ω au minimum.Le montage en pont convient idéalement pour l’at-taque de caissons de graves (subwoofer).Le montage de TDA7293 en parallèle permet despuissances très élevées à des impédances de charge

très faibles. En mode parallèle l’un des TDA7293 faitoffice de maître (master), les autres d’esclaves (slave).Avec ce mode les étages de puissance des esclavessont commandées directement par l’étage de pré-amplification du TDA7293 maître. Si les broches dumaître sont connectées de la même façon qu’enmode mono, les broches SGND et IN des TDA7293esclaves doivent être connectés à la ligne d’alimenta-tion négative, les broches Stand-by et Mute devantelles être reliées aux broches de même dénominationdu TDA7293 maître.Il en va de même en ce qui concerne les broches debootstrap. Le condensateur de bootstrap vaut 22 µF xle nombre de TDA7293. Les sorties peuvent êtreinterconnectées sans requérir de résistance de ballast.

COMPO-SANT VALEUR FONCTION PLUS GRAND PLUS PETIT

R1 22 kΩ Résistance d’entrée Impédance d’entrée plus élevée Impédance d’entrée plus faible

R2 680 Ω Gain à 30 dB Gain plus faible Gain plus élevé

R3 22 kΩ Gain plus élevé Gain plus faible

R4 22 kΩ Constante de temps du Stand-by Durée marche/arrêt en Stand-by plus longue Durée marche/arrêt en Stand-by plus courte

R5 10 kΩ Constante de temps du silencieux Durée marche/arrêt en silencieux plus longue Durée marche/arrêt en silencieux plus courte

C1 0,47 µF Découplage de l’entrée en continu Fréquence de coupure inférieure plus élevée

C2 22 µF Feedback du découplage de l’entrée Fréquence de coupure inférieure plus élevée

C3 10 µF Constante de temps du silencieux Durée marche/arrêt en silencieux plus longue Durée marche/arrêt en silencieux plus courte

C4 10 µF Constante de temps du Stand-by Durée marche/arrêt en Stand-by plus longue Durée marche/arrêt en Stand-by plus courte

C5 22 µF ·n Bootstrapping Distorsion du signal aux fréquences faibles

C6,C8 1000 µF Découplage de la tension d’alimentation

C7,C9 0,1 µF Découplage de la tension d’alimentation Tendance à l’oscillation plus marquée

Page 23: Mono-carte à PIC16F84 - Doctsf

32 Elektor 2/2002

Nous allons commencer par vous présenter laplatine double face à trous métallisés de lacarte d’expérimentation et examiner de plusprès la connexion mécanique du portable parle biais d’un câble de liaison de données(Data-Link). Un coup d’oeil à la sérigraphie del’implantation des composants représenté enfigure 1 montre que la réalisation de ce mon-tage ne comporte pas de difficultés insur-montables. On ne trouve pas de pont decâblage (que l’on risque d’oublier), les com-posants « multi-pattes » prennent place dansdes supports, tous les connecteurs sont posi-tionnés sur le bord de la platine.Les LED D1 et D2 peuvent être soit une sériede 8 LED individuelles soit un réseau intégréde 8 LED. Il faudra, si l’on utilise des LED àhaut rendement (high-efficiency), rehausser à1 voire 1kΩ5 la valeur des réseaux de résis-tance de limitation R1 et R2. Il faudra, en toutétat de cause, utiliser pour IC3 et IC4, les ver-sions ACT de ces circuits de commande (dri-ver) vu qu’ils sont plus puissants.Le régulateur de tension devra être doté d’unpetit radiateur en raison du courant relative-ment important qu’il doit fournir. On interca-lera une plaquette isolante entre le bas duradiateur et la platine en vue d’éviter toutcourt-circuit entre les pistes.L’interrupteur marche/arrêt pourra, en fonc-tion de l’approche adoptée, être soudé direc-tement à la platine ou y être relié par le biais

de petits morceaux de fil de câblage.L’affichage LC vient se fixer sur laplatine par le biais de 3 orifices dis-posés à ses coins. Le quatrième ori-fice ne se trouve pas au bon endroitsur la platine, ce qui n’empêche pasde doter le quatrième orifice de l’af-fichage d’une entretoise de plastiquevissée en guise de soutènement. Vuque, côté « pistes », l’écartement

entre les pistes est minime, il faudraégalement prévoir des rondellesd’isolation au niveau des têtes desvis de fixation.

Le câble Data-LinkOn pourra, pour relier le téléphoneportable à la platine d’expérimenta-tion, utiliser un câble Data-Link stan-

MICROCONTRÔLEUR

Télécommande parportable et SMS (II)2ème partie : Programmation et utilisation

Prof. Dr. Brend vom Berg & Dipl.-Ing. Peter Groppe

La commande du noyau SMS se fait par le biais d’instructions protégées parmot de passe; ces instructions concernent des Entrées/Sorties numé-riques, la visualisation de textes sur un affichage, des tampons horoda-teurs et des réponses de retour.

Caractéristique du noyau SMSDérivé de la famille 8051 programmé en conséquence :AT89LS8252 de Atmel– 8 Koctets de mémoire de programme Flash embarquée (on-chip)– 2 Koctets de mémoire de données en Flash embarquée (on-chip)– 16 broches de port numériques (Port P1 et Port P2), programmables individuel-

lement en entrée ou en sortie par l’utilisateur– Interface sérielle 1 pour la communication avec le portable.– Interface sérielle 2 (UART logiciel travaillant à 9 600 bauds) pour la communica-

tion avec d’autres systèmes à µC (API, automates, PC)– Réalisation d’une horloge en temps réel (RTC pour Real Time Clock) logicielle

sans sauvegarde par pile– Possibilité d’utilisation d’une horloge en temps réel matérielle externe avec sau-

vegarde par pile– Pilotage d’un affichage LCD alphanumérique externe pour la visualisation de

messages de texte– Possibilité de connexion de circuits d’extensions additionnels par le biais du

port P0.– Existe en boîtiers de type DIP-40 et PLC-44

Page 24: Mono-carte à PIC16F84 - Doctsf

MICROCONTRÔLEUR

332/2002 Elektor

010087-1

(C) ELEKTOR010087-1

Figure 1a. Dessin des pistes et ...

Page 25: Mono-carte à PIC16F84 - Doctsf

dard tel qu’ils sont fournis dans le commerceet qui servent à interconnecter le portable àun PC pour en permettre la programmationdepuis l’ordinateur. Le câble vient se connec-ter à l’embase Sub-D K3.Cette solution comporte cependant un incon-vénient important : il est impossible derecharger l’accumulateur du portable pour lasimple et bonne raison que les lignes véhicu-lant la tension de charge ne sont pas repor-tées au connecteur sub-D du câble Data-Link.En d’autres termes : il vous faudra, de tempsà autre, déconnecter le portable de la platinepour en recharger l’accu par le biais du char-geur normal. Il est impératif, si l’on utilise uncâble Data-Link de ce genre, de sortir lescavaliers JP4 et JP5 et d’enficher le cavalierJP3 (cf. le tableau 2 du 1er article).Il est cependant fort possible, pour peu quel’on ait un minimum de dispositions pour lebricolage, de modifier le câble Data-Link defaçon à permettre une recharge de l’accu duportable depuis la platine SMS ExBo(figure 2). Après avoir ouvert le connecteurallant vers le portable avec les précautionsrequises il suffira de souder un fil de câblagesouple à son contact numéro 3, câble que l’onrendra accessible de l’extérieur et auquel onappliquera, au travers d’une résistance de

1 Ω/1 W, la tension de +5 V dérivéede la platine.Il faudra bien évidemment s’assurerque l’alimentation de la carteSMS Exbo soit en mesure de fournirle courant additionnel de quelque500 mA nécessaire. Dans ce cas-là lecavalier JP3 reste enfiché en place,les cavaliers JP4 et JP5 devant tou-jours être enlevés sachant qu’ils sontprévus pour d’autres types de télé-phones portables.

Utilisation du noyau SMSLa réalisation platine est terminée,le câble Data-Link également. Com-ment s’y prend-t-on maintenant pourfaire en sorte que le noyau SMS ou laplatine SMS ExBo puisse être pilotépar le biais des instructions SMSadéquates ?L’ensemble des opération débute parla configuration de base (initialisa-tion) du noyau SMS, l’émission deSMS comportant les instructions decommande requises pouvant avoirlieu ensuite.

Configuration de base dunoyau SMSIl faut, avant de pouvoir travailleravec le noyau SMS, l’initialiser àl’aide des données de configurationconvenables (numéro du portable,textes SMS, etc.). Ces données peu-vent être saisies à l’aide d’un éditeurde texte tout ce qu’il y a de plus clas-sique. Nous vous proposons, dans unencadré, un exemple expliqué de cefichier de configuration. On trouveraplus d’informations concernant lesplages de valeurs acceptées par lesdifférents paramètres, les limitationsetc., dans le manuel (en allemand,devrait peut-être être traduit enanglais plus tard) du noyau SMS.Le fichier de configuration ASCIISMSCHIP.CFG comportant les don-nées requises (et doté logiquementde l’extension .cfg) est transféré, àl’aide du petit programme de char-gement tournant sous DOSSMSCONFG.EXE, dans un sous-répertoire qui lui est propre. Si lacarte SMS ExBo est reliée au PC parle biais de son interface sérielleCOM1 et que le cavalier JP3 n’est

MICROCONTRÔLEUR

34 Elektor 2/2002

Figure 1b. ... sérigraphie de l’implantation des composants de la mono-carte SMS ExBo.

010087-1

BT1

C1

C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

C12

C13

C14

C15

C16

DD1D2

D3

D4

D5

D6D7

DX

F1

H1

H2

H3

H4

IC1

IC2

IC3

IC4

IC5

IC6

IC7

IC8

JP1

JP2

JP3

JP4JP5

K1

K2

K3K4

K5K6

K7

K8

P1R1R2

R3

R4

R5

RE2

RE3

RE4

RE5

S1

S2

S3

S4

X1

01

00

87

-1

1

0

1

+

1AT

Page 26: Mono-carte à PIC16F84 - Doctsf

pas implanté (ce qui d’ailleurs est de toutesfaçons également le cas des cavaliers JP4 etJP5), on appuie sur le bouton-poussoir deremise à zéro (Reset) S3. La LED signalantque le portable est paré, POWER, se met aclignoter indiquant de cette façon que lenoyau SMS attend au cours de 10 s qui sui-vent, le transfert du fichier de configuration.Tout ceci se fait automatiquement tout cequ’il y a à faire est de cliquer 2 fois sur lefichier SMSCONFG.EXE. On verra s’ouvrirune fenêtre DOS qui visualise le transfert.Il est également possible de réaliser le trans-fert par le biais de l’interface COM2 sit tantest que l’on entre, dans la fenêtre DOS, l’ins-truction SMSCONFG.EXE /2. Une fois letransfert réalisé, on referme la fenêtre DOS eton actionnera une nouvelle fois le bouton-poussoir de RAZ S3. On ne s’inquiète pas de laLED qui se remet à clignoter et au bout de10 secondes le noyau SMS part à la recherched’un portable connecté à K3. Le câble demodem nul est enlevé et le portable connectéau câble Data-Link. Il faudra, auparavant,avoir remis le cavalier JP3 à sa place.Le manuel (en langue de Goethe) accompa-gnant le noyau SMS comporte une descrip-tion de la structure de ce fichier de configu-ration avec les informations nécessaires à sai-sir et du processus de transfert de ce fichiervers le noyau SMS sensiblement plus exhaus-tive que le court résumé qu’en fait l’encadrépublié dans cet article.

Set d’instruction du noyau SMSAprès configuration, le circuit intégré, quenous avons baptisé noyau SMS, est prêt à

MICROCONTRÔLEUR

352/2002 Elektor

Connecteur ducâble Data-Linkcôté portable

Câble Data-Link

Connecteur vers K3,embase de la carte SMS ExBo

en provenance de la carte SMS ExBo, broche 1

de l'embase K2 par exemple

Broche 3: + 5 Vpour charge de l'accu

Broche 1: Masse

Broche 6: Data In

Broche 5: Data Out

010087 - 2 - 12

1 Ω / 1 Watt+ 5 V

Figure 2. Modification du câble Data-Link permettant de l’utiliser également pour la recharge de l’accu du portable.

Liste des composants

Résistances :R1,R2 = réseau SIL de 8 résistances

de 330 ΩR3 = 1kΩ5R4 = 1kΩ8R5 = 4kΩ7P1 = ajustable 10 kΩ

Condensateurs :C1,C2,C4 à C6 = 100 nF (RM5)C3 = non implantéC7,C8 = 27 pFC9 = 10 µF/63 V verticalC10 = 100 µF/25 V verticalC11 à C15 = 1 µF/16 V verticalC16 = 100 µF/10 V vertical

Semi-conducteurs :D1,D2 = LED 3 mm (8 pièces pour

chacune) ou réseau *D3, D4 = LED verte à haut

rendementD5 = 1N4002D6 = BAT48D7 = 1N4148IC1 = AT89(L)S8252-24PC DIP40

(programmé, source : Engelmann&Schrader)

IC2 = 74HCT573IC3,IC4 = 74ACT240*IC5 = GAL16V8 (programmée

EPS 010087-31)IC6 = RTC72421IC7 = MAX207 ou ADM207EANIC8 = 7805 avec radiateur ICK35SA *

Divers :BT1 = CR2032 (pile lithium avec

porte-pile encartable)F1 = fusible 1 A retardé avec porte-

fusible encartableJP1 à JP5 = cavalierK1 = bornier encartable à 8 contacts

au pas de 5 mmK2 = bornier encartable à

12 contacts au pas de 5 mmK3,K4 = embase Sub-D à 9 contacts

encartable en équerre *K5 = embase à 2 rangées de

13 contacts avec ergot dedétrompage en équerre

K6 = embase à 2 rangées de7 contacts avec ergot dedétrompage

K7 = bornier encartable à 2 contactsRM5

K8 = jack d’alimentation encartableRE1 = non implantéRE2 à RE5 = relais 5 V encartable

unipolaire à contact travail ouinverseur avec diode de roue libre(tel que, par exemple, SiemensV23100-V4305-C010 ou Conrad504580 ou Meder 1A72-12D 5V) *

S1 à S3 = bouton-poussoir unipolaireà contact travail

S4 =interrupteur unipolaire *X1 = quartz 11,059 2 MHzaffichage LC = affichage

alphanumérique avec contrôleurHD44780 ou compatible; avec, parexemple, 4 lignes de 20 caractères

adaptateur secteur 9 V/1 A

* cf. texte

Page 27: Mono-carte à PIC16F84 - Doctsf

recevoir des instructions. Nousavons, actuellement, 12 instructionsà notre disposition, qui seront toutsimplement intégrées dans un mes-sage SMS tout ce qu’il y a de plusnormal (tableau 1).Un SMS de pilotage de ce type pré-sente toujours la même structure,commençant par un mot de passe,ce dernier étant suivi par les ins-tructions. Le manuel (en allemand,en anglais ultérieurement peut-être)accompagnant le noyau SMS com-porte une description détaillée desdifférentes instructions et leur inté-gration dans un message SMS.Lorsque (si tant est qu’elle arrive unjour) la version anglaise sera prête,nous la proposerons au télécharge-ment sur le site Elektor sis àl’adresse :

www.elektor.presse.fr.Nous proposons en outre sur le ser-veur Elektor, en guise de friandise,un petit programme en C51 baptiséSMS-1.c (et SMS-1.hex respective-ment) qui permet d’utiliser la mono-carte « 537-Lite » en tant que sys-tème micro/externe qui reçoit sespropres instructions SMS par le biaisde la carte SMS ExBo et qui envoieses propres messages SMS par lebiais de cette même carte SMS ExBo.Nous avons décrit la mono-carte« 537-Lite » dans les numéros de jan-vier et de février 2000 [1]. On en trou-vera également une description dansl’ouvrage cité en référence [2] debibliographie, dans lequel il est parlédu système 80C537-TFH qui est audemeurant le même que notre mono-carte « 537-Lite ».

Dans la pratiqueLe noyau SMS traite tous les SMSentrants et les efface ensuite auto-matiquement de la mémoire du por-table. Partant, si vous recevez unmessage SMS ordinaire lenoyau SMS y réagira également : il lelit, mais se trouve dans l’incapacitéde le traiter vu qu’il ne trouve, à« son goût », rien dont il puisse fairequoi que ce soit dans le SMS et l’ef-face immédiatement. Ceci impliquequ’il faudra réserver le portable deréception à la seule fonction deréception de SMS de commande àdestination du noyau SMS.Lorsque vous envoyez un SMS decommande, personne, pas même le

MICROCONTRÔLEUR

36 Elektor 2/2002

Programmes gratuitsSMSCHIP.ZIP/PDF manuel (en allemand, en anglais

ultérieurement probablement) : www.engelmann-schrader.deSMSCHIP.CFG Fichier de configuration : www.elektor.presse.frSMSCONFG.EXE Programme de chargement

pour smschip.cfg : www.engelmann-schrader.deSMS-1.c Code C du programme de commande

pour la mono-carte « 537-Lite » : www.elektor.presse.frSMS-1.hex Code HEX de sms-1.c : www.elektor.presse.fr

Tableau 1. Le set d’instructions actuel du noyau SMS.

(“<password>”

SET <pin> // Mettre une broche individuelle à 1ou

SET <identifier> // Mettre une broche individuelle à 1

RESET <pin> // Mettre une broche individuelle à 0ou

RESET <identifier> // Mettre une broche individuelle à 0

OFF <pin> // Mettre une broche individuelle à 1ou

OFF <identifier> // Mettre une broche individuelle à 1

ON <pin> // Mettre une broche individuelle à 0ou

ON <identifier> // Mettre une broche individuelle à 0

PULSE <pin> <duration> // Fournir impulsion sur une broche individuelleou

PULSE <identifier> <duration> // Fournir impulsion sur une broche individuelle

OUTPUT <address> <values> // Sortie 8 bits sur XDATA (adresse 8 bits)

INPUT <address> <count> // Entrée 8 bits sur XDATA (adresse 8 bits)

WRITE “<text>” //Sortie sur la 2ème interface sérielle

DISPLAY CLS // Effacer l’affichage LCDou

DISPLAY SCROLL “<text>” //Afficher et faire défiler le texte de la dernière ligneou

DISPLAY <column> <line> “<text>” // Afficher le texte à compter la colonne et la ligne

EVENT <time> DELETE // Effacer Time-EVENou

EVENT <time> <address> <count> SINGLE // Exécution unique de Time-EVENTou

EVENT <time> <address> <count> EVERYDAY // Exécution journalière de Time-EVENT

TIME <time>// Saisir le tampon horodateur

REPORT NO //Sans réponse de retour (par défaut)ou

REPORT YES // Réponse de retourouREPORT ERROR // Réponse de retour en cas d’erreur uniquement)

Page 28: Mono-carte à PIC16F84 - Doctsf

MICROCONTRÔLEUR

372/2002 Elektor

En-tête du fichier

– CONFIGMot-clé pour le début du fichier de configuration.

TimeTampon horaire pour la mise à l’heure de l’horloge en temps réellogicielle du noyau-SMS. Le tampon horaire comporte 4 chiffressans autre caractère (pas de : de séparation).

NameVous pouvez à cet endroit, indiquer un nom spécifique que lenoyau SMS utilisera pour identifier les SMS qu’il aura envoyés.

PasswordOn donne à cet endroit un mot de passe dont vous devrez, ulté-rieurement, doter tout SMS émis par vos soins à destination dunoyau SMS.

MasternoOn saisit ici le numéro du portable « Number One » auquel sontdestinés une bonne majorité des SMS envoyés par le noyau SMS.

Broches des ports d’E/S numériquesPin x I/OLes éléments entrés à ce niveau permettent de définir la fonctionde la broche x : une entrée sera identifiée par un I (Input), unesortie par un O (Output). Si l’on a paramétré une broche de porten entrée, le noyau SMS enverra automatiquement un SMS en casde détection d’un changement de niveau Haut->Bas (flanc des-cendant) de cette broche. Il faudra ensuite que cette brocherevienne au niveau haut avant que le SMS suivant puisse êtreenvoyé par le biais de cette broche.

Pin x NameIl est possible, ici, d’attribuer un nom à chaque broche. Il sera pos-sible ensuite d’accéder à cette broche par SMS soit sous sonnuméro soit sous sa dénomination.

Pin x TelefonC’est à ce numéro de portable qu’est envoyé le SMS lors de l’ap-parition, sur la broche d’entrée Pin x, d’un flanc descendant. Enl’absence de paramétrage ici, le SMS est envoyé automatiquementau numéro-maître (Masterno).

Pin x TextLe texte du message ne devant pas dépasser une longueur de32 caractères qui apparaîtra à la broche Pin x configurée enentrée maintenant.Les arguments « Pin x Telefon » et « Pin x Text » n’ont pas lemoindre effet, sur les broches paramétrées en sortie (O).

Événements internes et chronologiquesPar leur biais, le noyau SMS envoie automatiquement au numéro-maître (Masterno) et ce à des instant déterminés et définis àl’avance, des données système sous la forme d’un SMS. On dis-pose d’un maximum de 8 événements de ce type (x = 1 à 8).

Event x TimeDéfinition du tampon horaire (de l’événement concerné) auqueldoit se faire l’émission du SMS.

Event x TypIl existe 3 événements différents :O (Off) : l’événement correspondant est désactivé.S (Single) : on aura exécution, une fois et une seule, de l’ événe-ment à l’instant exact correspondant au tampon horaire.E (Everyday) : l’événement sera exécuté une fois par jour à l’ins-tant précis correspondant à Even x Time.

Event x StartOn a lecture des données de la plage de mémorie de donnéesexterne (domaines XDATA) à partir de l’adresse (décimale) indi-quée ici. Ces données sont mises dans un SMS et expédiées.

Event x CountOn indique à cet endroit combien de données après l’adresse de

-CONFIG

Time :1200

Name :Enterprise

Password :Scotty

Masterno :491794711081

Pin 0 I/O :I

Pin 0 Name :Warp1

Pin 0 Telefon :491781234567

Pin 0 Text :Pression trop

élevée !

Pin 1 I/O :I

Pin 1 Name :ALARME

Pin 1 Telefon :4512345876

Pin 1 Text :Romulien à bord

!

...

Pin 7 I/O :I

Pin 7 Name :Broche 7

Pin 7 Telefon :491704711081

Pin 7 Text :Message broche 7

!

...

Pin 8 I/O :O

Pin 8 Name :Broche 8

Pin 8 Telefon :490000000000

Pin 8 Text :(Broche8)

...

Pin 15 I/O :O

Pin 15 Name :Photon24

Pin 15 Telefon :490000000000

Pin 15 Text :(Broche15)

Event 1 Time :1200

Event 1 Typ :E

Event 1 Start :00

Event 1 Count :05

Event 2 Time :1205

Event 2 Typ :E

Event 2 Start :10

Event 2 Count :12

Event 3 Time :1210

...

Event 8 Time :0000

Event 8 Typ :O

Event 8 Start :00

Event 8 Count :0

LCD Lines :04

LCD Char/Lines :20

LCD Addr 0 :00

LCD Addr 1 :64

LCD Addr 2 :20

LCD Addr 3 :84

Structure du fichier de configuration

Page 29: Mono-carte à PIC16F84 - Doctsf

fournisseur d’accès concerné à ce moment-là,ne pourra vous dire combien de temps votreSMS voyagera par les éthers avant d’arriverà destination côté récepteur. En d’autrestermes, il n’est pas raisonnable, voire mêmeparfaitement impossible, d’utiliser ce conceptde télécommande pour le pilotage de proces-sus à la chronologie critique, pour lesquels lestemps de réaction se situent dans le domainedes secondes voire celui des millisecondes,vu qu’un SMS peut fort bien arriver au boutde quelques minutes, quelques dizaines deminutes, mais peut également se promenerplusieurs heures sur la Toile avant d’arriverchez le destinataire. Il n’y a pas de risque deproblème de chronologie dans le cas de pro-cessus à la chronologie (timing) non-critiquetels que l’interrogation de la températured’une cellule de congélation, de l’état de rem-plissage d’un automate de boissons ou la

mise en route du chauffage centrald’un bungalow de week-end.Lors de la mise en service du sys-tème, son test et son utilisation, l’ex-pédition d’un nombre non négli-geable de SMS avec un téléphoneportable ordinaire peut vite s’avérercoûteuse, le risque d’ampoules sur lebout des doigts n’étant pas utopiquelui non plus. Internet propose desalternatives intéressantes et sensi-blement moins chères, voire gra-tuites : nombre de pages Web (com-merciales) au nombre desquelles lesmoteurs de recherche les plus puis-sants, offre la possibilité d’envoyerdes SMS gratuitement (free SMS).Ces SMS sont souvent dotés, endébut ou en fin, d’un message com-mercial que le noyau-SMS ignore

purement et simplement vu qu’unSMS de commande valide commencetoujours par la série de caractères dumot de passe et qu’il se termine parune parenthèse de clôture. Tous lescaractères ASCII qui précèdent ousuivent ce bloc et partant les mes-sages publicitaires en question, sonttout simplement ignorés par lenoyau SMS.S’il devait se faire que le messagepublicitaire comporte cette chaînede caractères de début de SMS decommande (ce qui reste cependanttrès improbable), il est garanti que lereste du texte publicitaire est totale-ment incompréhensible pour lenoyau SMS, de sorte que ce dernierrejettera le SMS et ne réagira pas defaçon erronée.Si vous tenez à éliminer tout risqueinhérent à la présence de textespublicitaires, il vous faudra vousrésigner à utiliser les SMS payantsqui ne comportent pas de texte addi-tionnel. Il est également intéressantdans ce cas-là de faire un tour surInternet où il existe des fournisseursqui proposent de véhiculer des SMS àun prix plus intéressant que celuidemandé par les réseaux télépho-niques classiques. Le noyau SMS estégalement en mesure d’envoyer desE-mails à un destinataire connecté àInternet. Le manuel (en allemand)est plus explicite sur le sujet.

(010087-II)

Bibliographie :[1] Elektor n°259, janvier 2000 page 16

et suivantes, n°260, février 2000,page 54 et suivantes

[2] Je programme en Pascal les micro-contrôleurs de la famille 8051(80C537) - Bernd vom Berg, Peter Groppe,Publitronic 1998

MICROCONTRÔLEUR

38 Elektor 2/2002

début sont à prendre en compte et à envoyer. Avec Event 2 onaura exécution journalière à 12.05. On procédera à la lecture,dans la mémoire de données externe, de 12 octets de données àcompter de l’adresse 10, données engrangées dans un SMS etenvoyées ensuite.Pour le moment, la carte SMS ExBo ne comporte pas de mémoireexterne de sorte que pour l’instant, ces instructions d’événementschronologiques ne peuvent pas encore être utilisées à bonescient. Le bus-système du noyau SMS a été prolongé jusqu’àl’embase K5. L’utilisateur pourra connecter à ce niveau un circuitintégré externe pouvant faire office de fournisseur de données.

Utilisation de l’affichager LCD

LCD LinesNombre de lignes de l’affichage LCD.

LCD Char/LinesNombre de caractères par ligne

LCD Addr 0 à 3Adresse du premier caractère de chaque ligne de l’affichage.Cette valeur sera celle fournie par la fiche de caractéristiques del’affichage concerné.

Page 30: Mono-carte à PIC16F84 - Doctsf

LOISIRS

40 Elektor 2/2002

La télécommande en tension ou encourant des équipements d’éclairagese rencontre toujours aujourd’hui,soit sur des produits dont la concep-tion est assez ancienne (notammentdes gradateurs), soit sur des appa-reils pour lesquels le surcoût engen-dré par l’ajout d’une interface numé-rique ne se justifie pas (strobo-scopes, fumigènes...). C’est pourcette raison que nous nous avionsproposé récemment la descriptiond’une interface 8 canaux DMX -> 0 à10 V, capable de piloter directementce genre d’appareils [1].Il existe également des appareils,généralement de bas de gamme,dont la commande à distance se faitde façon plus simple encore, parsimple fermeture d’un contact. Lepilotage de ces appareils par undémultiplexeur à sortie tension n’estpas très difficile (il suffit d’ajouter uncircuit transistorisé pour comman-der un relais dès que la tensiondépasse un certain seuil). Malheu-reusement, le bilan économiqued’une telle solution n’est pas à pro-

Extension relaispour le démultiplexeur DMX8 canaux DMX pour 8 relais

Projet : Benoît Bouchez

Le démultiplexeur DMX présenté récemment dans ELEKTOR permetde gérer 8 sorties analogiques au standard 0 à 10 V, capables de piloterpratiquement n’importe quel équipement d’éclairage compatible avec cestandard. Pour les télécommandes les plus simples, le pilotage en tensionest trop « évolué », certains produits se limitant à des ordres de marcheet d’arrêt. Sur la base de notre démultiplexeur 8 canaux, nous avonsconçu cette extension, capable de piloter 8 sorties Tout ou Rien sur relais.

Page 31: Mono-carte à PIC16F84 - Doctsf

LOISIRS

412/2002 Elektor

des circuits fort courants.La liaison avec la carte principale du démul-tiplexeur se fait par un simple connecteur DILencartable, qui sera monté en lieu et place ducircuit DAC8800 du démultiplexeur. Unsimple câble serti sur ce connecteur DILremontera tous les signaux utiles et alimen-tations pour notre extension.Comme le DAC8800 original est piloté par lemicrocontrôleur via une liaison série, le cir-cuit IC1 se charge de transformer les infor-mations sous un format exploitable, à savoir8 bits en parallèle.Les 8 sorties d’IC1 n’étant pas stables lorsdes phases de décalage, le registre IC2 estchargé de figer les 8 lignes de commandedurant la communication entre le microcon-trôleur et IC1. Dès que les 8 bits sont chargésdans IC1, la ligne LD verrouille l’informationparallèle obtenue.

prement parler très favorable,notamment en raison de la présencedu DAC à 8 sorties, qui sera alorstrès largement sous-employé.Nous avons donc conçu cette petiteextension pour notre démultiplexeur,qui évite l’utilisation du DAC et descircuits analogiques associés, et lesremplace par un circuit logique peucoûteux, commandant directementdes relais.Avant d’aller plus loin, signalonsdeux points particuliers. Toutd’abord, l’utilisation de l’interfacerelais est exclusive à celle du DAC(c’est café OU dessert). On ne peutpas mixer sur le même démulti-plexeur des sorties analogiquescommandées par le DAC et des sor-ties numériques de l’extension relais.

Deuxième chose : les lecteurs qui ontdéjà réalisé la version analogiquen’auront pas besoin de modifier quoique ce soit sur le circuit, car la ver-sion publiée intégrait déjà toutes lesmodifications nécessaires, tant auniveau logiciel que matériel. Il suffiten fait de retirer le circuit DAC8800et d’insérer un connecteur sur câbleen nappe vers l’extension relais, etde basculer un interrupteur de confi-guration pour signaler l’utilisation del’extension relais.

Le schémaComme le monte la figure 1, le cir-cuit de l’extension relais n’est pas àproprement parler d’une complexitéredoutable! On n’y trouve guère que

IC3

2803

VEE

+VS

ULN

11

12

13

14

15

16

17

18I1

I2

I3

I4

I5

I6

I7

I8

O1

O2

O3

O4

O5

O6

O7

O8

10

1

2

3

6

7

8

4

5

9

+5V

K9

10

15

16

17

18

19

20

11

12

13

14

1

2

3

4

5

6

7

8

9

74HCT164

IC1

SRG8

C1/

12

11

10

13

1D

9

8

1

6

5

4

3

2

&

R

74HCT573

IC2

12

13

14

15

16

17

18

19

EN

11C1

1D2

3

4

7

8

9

5

6

1

+12V

C4

10µ 25V

Re5

K5

R5

1k

D5

+12V

Re6

K6

R6

1k

D6

+12V

REL1

REL2

REL3

REL4

REL5

REL6

REL7

REL8

Re7

K7

R7

1k

D7

+12V

Re8

K8

R8

1k

D8

+12V

7812

IC4

7805

IC5

REL5 REL6 REL7 REL8

C1

330n

C2

330n

C3

100n

+5V+12V+15V

Re1

K1

R1

1k

D1

+12V

Re2

K2

R2

1k

D2

+12V

Re3

K3

R3

1k

D3

+12V

Re4

K4

R4

1k

D4

+12V

REL2REL1 REL3 REL4

+15V

CLK

SDI

CLR

LD

DIL SOCKET 20

IC1

14

7

IC2

20

10

+5V

010002 - 2 - 11

D12

1N4148

D16

1N4148

D15

1N4148

D11

1N4148

D14

1N4148

D10

1N4148

D13

1N4148

D9

1N4148

Figure 1. Le schéma de l’extension relais pour le démultiplexeur DMX est l’un des plus simples que nous vous ayons présentés ces der-niers mois.

Page 32: Mono-carte à PIC16F84 - Doctsf

Les sorties d’IC2 étantincapables de piloter direc-tement des relais, unoctuple tampon (buffer) dutype ULN2803 est intercaléentre les bobines et IC2.Chaque relais est équipéd’une signalisation parLED, indiquant quand unrelais est activé.Pour finir, l’alimentation eston ne peut plus simple :elle se charge de convertirla tension +15 V originelle-ment destinée au DAC enune tension compatibleavec les bobines des relais(+12 V), ainsi qu’en 5Vpour les circuits logiques.

La constructionVu le schéma, vous devezcommencer à soupçonnerque la réalisation pratiqueva atteindre des sommets...de facilité.Comme d’habitude, on pla-cera les circuits intégréssur des (bons) supports eton vérifiera avant de lesinsérer en place (les cir-cuits, pas les supports),que l’on a bien les tensionsd’alimentation attenduessur les broches adéquates.Pour réaliser le câble deliaison entre la carte princi-pale du démultiplexeur etl’extension relais, le plussimple est d’utiliser desconnecteurs DIL20 encar-tables, sur lesquels on auraserti un câble en nappe.Si vous n’arrivez pas à vous procurer cegenre de connecteur, vous pouvez vousrabattre sur des plate-formes à composantspassifs (ce sont des supports au format DIL,destinés à recevoir des composants du genrerésistances et condensateurs, sur desbroches soudables). La liaison entre les deuxplate-formes qui feront office de connecteursse fera en fil à fil.Le seul point auquel il faut accorder uneattention particulière est constitué des relaisRe1 à Re8. L’implantation retenue sur le cir-cuit imprimé est quasi standard et laisseune certaine latitude quant au modèle derelais que vous pourrez utiliser. Vous n’êtesdonc pas absolument contraints d’utiliser lemodèle spécifié dans la liste des compo-sants. En revanche, il faut utiliser des relais

LOISIRS

42 Elektor 2/2002

010002-2

(C) ELEKTOR

C1C2C3

C4

D1 D2 D3 D4 D5 D6 D7 D8

D9 D10 D11 D12 D13 D14 D15 D16

H1 H2

H3H4

IC1IC2IC3

IC4IC5

K1 K2 K3 K4 K5 K6 K7 K8

K9

R1 R2 R3 R4 R5 R6 R7 R8

RE1 RE2 RE3 RE4 RE5 RE6 RE7 RE8

01

00

02

-2

01

00

02

-2(C

) ELE

KTO

R

Liste des composants :

Résistances :R1 à R8 = 1 kΩ

Condensateurs :C1, C2 = 330 nFC3 = 100 nFC4 = 10 µF/25 V

Semi-conducteurs :D1 à D8 = LED à haut rendementD9 à D16 = 1N4148*IC1 = HCT164IC2 = HCT573IC3 = ULN2803IC4 =7812IC5 =7805

Divers :K1 à K8 = bornier encartable à

2 contacts au pas de 7,5 mmK9 = support DIL à 20 contactsRe1 à Re8 = relais encartable de

type E 12 V unipolaire V23057B0002 A101

morceau de câble plat à 20 conduc-teurs doté de 2 connecteurs poursupports DIL

* vu que le ULN2803 comporte lui-même des diodes de protection onpourra également opter de ne pasimplanter ces diodes

Figure 2. La platine simple face de l’extension relais pour le démultiplexeur DMX comporte quelquesponts de câblage qu’il ne faudra pas oublier.

Page 33: Mono-carte à PIC16F84 - Doctsf

Sachez qu’il est engénéral assez aiséde modifier lesluminaires sanspossibilité de télé-commande à l’ori-gine, en vue de leurajouter une com-mande à distancepar relais.En revanche, gar-dez-vous bien decommander direc-tement une lignede puissance 220 Vpar les relais denotre extension(par exemple pourcouper l’alimenta-tion d’un luminaireautonome).Même si lescontacts des relaissont parfaitementcapables de s’ac-quitter de cettetâche, les arcs pro-voqués par leur

ouverture et fermeture risquent de ne pasêtre du goût du microcontrôleur, qui va mani-fester son mécontentement en se « plantant ».Si vous souhaitez commander directementdes circuits de puissance, nous ne saurionstrop vous recommander d’utiliser des relaisEXTERNES au démultiplexeur, pilotés par lesrelais Re1 à Re8.Dans tous les cas où vos relais piloterontdirectement des charges de puissance, quevous utilisiez des relais externes ou que voustravailliez directement avec les relais Re1 àRe8, placez ce que l’on appelle des snubbers,pour absorber l’énergie des arcs électriquesgénérés au niveau des contacts.Ces snubbers sont réalisés simplement pardes circuits RC série, avec une résistance dequelques dizaines d’ohms ? W, en série avecun condensateur de 220 à 330 nF/630 V.Ces circuits seront placés directement entrele commun et le contact travail des relais.À bientôt sur Radio DMX...

(010002-II)

Bibliographie :

[1] Démultiplexeur DMX 8 voies, Elektor n°282, décembre 2001, page 8 et suivantes

à faible consommation, faute dequoi vous risquez d’avoir quelquessurprises lorsque tous les relaisseront commandés, en raison deschutes de tension qui peuventapparaître sur la ligne d’alimenta-tion passant sur les connecteursDIL. Notons qu’il n’est pas néces-saire de mettre dès le départ tousles relais en place, on pourra secontenter du nombre de relaisrequis par l’application envisagée.

On branche...Une fois que l’extension relais auraété câblée et vérifiée, vous pourrez laconnecter en lieu et place duDAC8800 du démultiplexeur, IC4,(les amplis opérationnels de sortiepeuvent également être supprimés)par le biais du câble de liaison quevous aurez réalisé. L’une des extré-mités du câble vient s’enficher dansle support libre de l’extension (cf. lephoto de l’extension ci-contre) l’autrevenant, nous le disions, s’enficherdans le support prévu à l’originepour le convertisseur. Avant de mettre le démultiplexeursous tension, il faut signaler au logi-ciel du microcontrôleur qu’il y a duchangement dans l’air et qu’il nepilote plus le DAC8800, mais l’ex-

tension relais. Pour cela, il suffitsimplement de basculer l’interrup-teur S1-7 sur la carte principale enposition ON.Mettez le circuit sous tension : aucunrelais ne doit s’enclencher. Si cen’était pas le cas, vérifiez le circuitavant de continuer.Pour commander les relais, vousavez besoin d’un maître DMX,capable d’envoyer des ordres sur lescanaux occupés par le démulti-plexeur (voir le paragraphe consacréà la sélection des canaux par S1-1 àS1-6, dans l’article consacré audémultiplexeur).Pour coller un relais, il faut envoyerune consigne DMX sur le canal cor-respondant, avec une valeur supé-rieure ou égale à 128. Pour faireretomber le relais, il faut envoyer uneconsigne entre 0 et 127.

... et on utiliseConcernant l’utilisation concrète dela version relais de notre démulti-plexeur, c’est à vous de jouer.Dans la plupart des cas, il suffit derécupérer les deux conducteurs detélécommande de votre équipement,préalablement reliés à un interrup-teur, et de les connecter aux contactsdu relais.

LOISIRS

432/2002 Elektor

Figure 3. La présente extension ne comporte, pour le moment, que 2 relais. On a tout loisir d’en compléter lapopulation en fonction des besoins..

Page 34: Mono-carte à PIC16F84 - Doctsf

AUDIO

44 Elektor 2/2002

Avec des transistors MOS en sortie, l’étagefinal à géométrie et puissance variable duTDA7293 de ST Microelectronics se placed’office en haut de gamme. Il s’agit du suc-cesseur du TDA7294, dont la revue Elektoravait déjà publié les caractéristiques endécembre 1993, sur base d’une fiche decaractéristiques de source SGSThomson. Manifestement, la firmea connu des difficultés lors dudéveloppement de cettepuce, puisqu’il a fallutrois avant qu’ellene soit dis-p o n i b l esur lem a r c h é .Mais enn o v e m b re1996, nousavons eu enfinl’occasion de faireconnaître « TheCompact », unamplificateur de 50 W équipé du TDA7294 etqui a connu rapidement le succès.Aujourd’hui, une comparaison des deux cir-cuits intégrés montre une grande similitude,tant à l’intérieur qu’à l’extérieur (figure 1).Deux différences, petites mais d’importance,facilitent la mise en œuvre du nouvel amplifi-cateur : on peut interrompre la liaison entre lepréampli et l’étage final, ce qui permet decommander ce dernier par une source exté-rieure et d’autre part, il y a une prise spécia-lement prévue pour un condensateur autoé-lévateur (bootstrap). Nous allons examiner

quelles perspectives ces innovationspeuvent nous ouvrir.Outre ses excellentes prestations,lors des mesures, mais aussi àl’écoute, le TDA7293 se distingue parune haute sécurité de fonctionne-

ment : une très bonne stabilité ducourant de repos (polarisation), lasortie à l’épreuve des courts-circuitset le passage automatique en régimede sécurité en cas de surchauffe.Même le relais de sortie devient

Ampli audio 100 WQuadri-TDA7293Ulrich Böhmke Internet : www.ub-elektronik.de

Courriel : [email protected]

Il n’y a pas si longtemps, de nombreux amateurs de musique grimaçaientà la vue d’un étage de puissance à circuit hybride ou intégré. Mais depuislors, une génération de CI de sortie a vu le jour, taillée sur mesure pour lesamplificateurs audio de grande classe.

Page 35: Mono-carte à PIC16F84 - Doctsf

AUDIO

452/2002 Elektor

Enceintes activesLa supériorité d’un système actif de haut-par-leurs, c’est qu’il n’y a plus qu’un petit bout defil entre l’amplificateur et l’enceinte. Le filtrede séparation ne risque plus d’introduire decharge complexe pour l’amplificateur nid’amoindrir le facteur d’amortissement. Lesprestations sont identiques à celles du biam-pli.Le concepteur d’un nouveau système dehaut-parleurs ne peut ignorer la méthodeactive. Mais si l’on possède déjà un groupede haut-parleurs bien adaptés, les transférersimplement dans une enceinte active ne sesolde pas nécessairement par une réussite,au contraire. Pour améliorer efficacement unsystème passif, mieux vaut se tourner vers lebiampli.

Canaux multiplesLes petites dimensions de l’amplificateur depuissance le destinent tout naturellement àla réalisation d’un système à canaux mul-tiples. Pour les canaux gauche, central, droit etarrière, un amplificateur de sortie simple suf-fira, pour le caisson de grave, un montage enparallèle ou en pont serait idéal.

Platine d’amplification etvariantesLe schéma de la figure 2 représente l’ampliaudio compact, une application standard duTDA7293, mais avec quelques particularités.L’entrée est en double, de manière à pouvoirrenvoyer le signal musical à une autre platine.On y trouve le filtre habituel : C1 et R2 for-ment un filtre passe-haut qui bloque la com-posante continue de l’étage précédent.Le TDA7293 fonctionne comme un amplifica-

superflu, grâce à l’élimination desparasites de commutation, obtenuepar les fonctions intégrées de silen-cieux et de mise en veille, c’est toutbénéfice aussi pour le facteurd’amortissement. Et puis si, malgrétout, l’étage de sortie entrait en sur-modulation ou en saturation, l’inci-dent serait détecté et signalé par lasortie CLIP DET. Nous joignons iciun résumé des caractéristiques duTDA7293, mais le feuillet techniquecomplet, vous pouvez aisément l’ob-tenir en « appelant » (par modem)http://eu.st.com/stonline/books/pdf/docs/6744.pdf.

Le projetCet amplificateur final intéresseraparticulièrement tous ceux qui dési-rent plus que la stéréo élémentaire,qui cherchent du côté de la tech-nique « biampli », des enceintesactives ou des installations à canauxmultiples. Il y a toujours intérêt, lors-qu’on songe à marier plusieurs voiesdans un même environnement, àadopter une structure identique pourchacun des amplificateurs.

MonoblocLa solution la plus simple, c’est decombiner en un seul bloc un amplifi-cateur de puissance et son alimen-tation dans un petit boîtier.

Étages de puissance stéréoDans cette configuration classique,on trouve deux amplificateurs depuissance avec une alimentation.Mieux encore, avec deux alimenta-tions séparées, une par canal, maiscela au départ d’un seul transforma-teur.

L’amplificateur completAjoutons à l’entrée un sélecteur desources et un potentiomètre et voiciun amplificateur intégral et intégré,prêt à l’emploi. Du moins pour dessources à haut niveau comme le lec-teur de CD. S’il faut un plus grandgain, un amplificateur opérationnelen amont fournit une solution biensimple pour un préamplificateur.

BiampliNous connaissons tous la techniquedu biwiring, qui consiste à doubler lecâblage des enceintes pour ramenerintégralement à l’amplificateur la

réaction de l’équipage mobile. Elle aconquis une audience de plus enplus large. Les connaisseurs s’enor-gueillissent aujourd’hui du biampli,visiblement un prolongement de laméthode précédente, mais quiréclame de dédoubler les amplifica-teurs de puissance, avec pour consé-quence de multiplier aussi par deuxle coût de l’installation. Mais si on leconstruit soi-même, la dépense estbien moindre, surtout si l’on peutincorporer simplement une platinede sortie de plus dans le même cof-fret. Avec ses dimensions réduites,notre étage de sortie s’y prête parti-culièrement bien. Sa puissancemodérée, comparée à d’autresmodèles, ne constitue certainementpas un inconvénient. Indépendam-ment de sa meilleure exploitation dela puissance amplifiée, il procure, enbiampli, une spatialisation plus pré-cise et une perception acoustiquedes détails plus claire.En pratique, chaque canal stéréocomporte deux amplificateurs depuissance dont les entrées sontbranchées en parallèle. La sortie del’un d’eux va au reproducteur degrave, l’autre attaque les haut-par-leurs de médium et d’aigu. Certainspuristes se targuent même des’adonner au « triampli », de consa-crer un amplificateur individuel àchaque haut-parleur. Naturellement,les filtres passifs de voies de l’en-ceinte doivent s’adapter en consé-quence, avec une séparation entretweeter et basse.

Figure 1. L’architecture interne du TDA7293V.

Page 36: Mono-carte à PIC16F84 - Doctsf

teur opérationnel non-inverseur. La contre-réaction fixe le facteur d’amplification à 35environ. Pareil gain assure un bon compromisentre vitesse, bande passante et stabilité.Pour éviter d’amplifier inutilement la tensionde décalage d’entrée, l’amplificateur est cou-plé en alternatif. C6 améliore le comporte-ment en ondes rectangulaires.Pour la cellule de Boucherot R7/C15, onveillera à utiliser des composants de qualité.R7 doit être à faible inductance et pour C15,il faut absolument choisir un condensateurà feuille.Si la possibilité existe, pour augmenter lapuissance disponible, de relier deux modulesen parallèle (sur 2 Ω ou sur 4 Ω) ou en pont(sur 8 Ω), il n’en est pas moins vrai que lesmeilleurs résultats, aux mesures comme àl’écoute, s’obtiennent avec un TDA7293unique. Le montage en pont ou en parallèle,nous le réservons à l’amplificateur pour lecaisson de grave.

En montage parallèle, l’impédancede charge ne doit pas descendresous 4 Ω. Face à des charges extrê-mement basses ou fortement com-plexes, genre Infinity Kappa, la sécu-rité ne sert pas vraiment et on risquede détériorer l’amplificateur.On peut sans difficulté brancher enparallèle deux amplificateurs depuissance distincts. La dissipationsera répartie sur deux boîtiers et nedevrait pas, au total, dépasser celled’un seul module. La résistanceinterne descend proportionnelle-ment au nombre de modules utili-sés. Il en découle certains avan-tages, en particulier la possibilitéd’attaquer des charges inférieures à8 Ω. On peut même descendre à2 Ω. Avec 4 Ω, on peut maintenir latension d’alimentation au mêmeniveau que pour 8 Ω et ainsi sortir

plus de 100 W.Dans un montage en pont, l’amplifi-cateur final ne travaille plus par rap-port à la masse, mais à la sortie del’autre amplificateur, configuré eninverseur. Le doublement de la ten-sion de sortie produirait théorique-ment un quadruplement de la puis-sance sur 4 Ω, mais pour des raisonsthermiques, il faut que le haut-par-leur présente au moins une impé-dance de 8 Ω. N’empêche, malgréqu’il n’en subsiste que la moitié,nous disposons alors de 150 W, sil’alimentation secteur le permet ! Lefacteur d’amortissement se réduitaussi de moitié, comparé à celui d’unamplificateur unique sous 8 Ω.L’assourdissement des bruits decommutation, c’est l’affaire desbroches 1, 9 et 10. L’inverseur S1 sebranche à K4. Orienté vers le plus, il

AUDIO

46 Elektor 2/2002

R1

390Ω

R10

100k

R8

24k

R9

47k

R2

24

k

C1

C2

470p

1 2

3 4

5 6

7 8

9 10

K2

1 2

3 4

5 6

7 8

9 10

K1

JP1

K4

JP3JP2

C13

10µ63VC14

D11N4148

C8

47µ

C7

47µ

BOOTSTRAP

TDA7293

STBYGND –PWVS

+PWVS

SGND

IC1

MUTE

STBY

CLIP

OUT

–VS

IN–

IN+

+VS

14

15

10

13

BD11

BL12

6

81

2

3

4

9

7

5

K3

K6

K5

+UB

+UB

R6

100k

R5

24k

R4

560Ω

R3

19

k6

(20k)

C9

1000µ63V

C11

150n

C10

1000µ63V

C12

150n

R7

2

C15

100n

C6

22p*

C5

100n

C3 C4100µ25V

2x

2x

NORMAL

PAR/SLAVE

AMP

LSP

– UB

B+ U

010049 - 11

zie tekst*siehe Text*see text*

voir texte*

S1

on

off

*

*

50V

50V

S M

PARALLEL

Figure 2. Bien que ce schéma soit issu d’une application standard, il permet de sélectionner, en géométrie variable, différents modes defonctionnement.

Page 37: Mono-carte à PIC16F84 - Doctsf

AUDIO

472/2002 Elektor

010049-1

(C) ELEKTOR

C1

C2

C3C4

C5C6

C7

C8

C9C10

C11

C12

C13C

14

C15

D1

H1

H2H3

H4

IC1

JP1

JP2JP3

K1

K2

K3

K4

K5K6

OU

T

R1R2

R3R4

R5R6

R7

R8

R9R10

T

T

010049-1

TTT

+UB

M

S

-UB

LSP

S1 off on

01

00

49

-1(C

) ELE

KTO

R

Figure 3. Double face et compacte, la platine de l’ampli audio de 100 W.

Liste des composantsde la platine des étages de sortie

Résistances :R1 = 390 ΩR2,R5,R8 = 24 kΩR3 = 19kΩ6 (20 kΩ)R4 = 560 ΩR6,R10 = 100 kΩR7 = 2Ω2/2 WR9 = 47 kΩ

Condensateurs :C1 = 1 µF MKT (RM5/7,5)C2 = 470 pFC3,C4 = 100 µF/25 V verticalC5 = 100 nFC15 = 100 nF (RM7,5)C6 = 22 pFC7 = 47 µF/50 V verticalC9,C10 = 1 000 µF/63 V vertical (diamètre

17 mm max.)C11,C12 = 150 nF (RM7,5)C13,C14 = 10 µF/63 V vertical

Semi-conducteurs :D1 = 1N4148IC1 = TDA7293V (STMicroelectronics)

Divers :JP1 = embase autosécable à 3 contacts *JP2 = embase autosécable à 2 contacts +

cavalier *JP3 = embase autosécable à 2 contacts *K1,K2 = embase HE-10 à détrompeur à

2 rangées de 5 contacts *K3,K5 = bornier à vis encartable à

2 contacts (RM5)K4 = embase autosécable à 3 contactsK6 = bornier à vis encartable à 3 contacts

(RM5)Radiateur *Boîtier ** cf. texte

TDA 7294Il est également possible d’implanter sur laplatine des étages de sortie variables le pré-décesseur du TDA-7294, fort bien connu denos lecteurs, le TDA-7293, sachant cepen-dant qu’il faut tenir compte d’un certainnombre de points :

La tension d’alimentation maximale ne doitpas dépasser ±40 volts.

Il n’est pas possible d’envisager une mise enparallèle des circuits.

Le condensateur autoélévateur (bootstrap),C8, doit être mis en place, le condensateurC7 étant, quant à lui, supprimé.

Page 38: Mono-carte à PIC16F84 - Doctsf

incite le TDA7293 à quitter, après un bref ins-tant, le mode de veille. Un peu plus tard, lecircuit de silencieux libère la sortie. À l’op-posé, quand on commute S1 vers la masse, lasortie est provisoirement muette, puis le CIpasse en veille sous une consommation d’àpeine 0,5 mA.Si plusieurs amplificateurs sont branchés surune alimentation commune (biampli,enceintes actives, montage en parallèle ou enpont) un seul interrupteur suffira évidemmentpour tous. Raison pour laquelle la liaison à K1a été prévue par câble en nappe de10 conducteurs qui, dans ce cas, réalise d’uncoup tous les branchements.Mais attention, le système ne fonctionne quesi tous les modules de puissance s’alimententà une source commune !

Réglage du mode de fonctionnement

Peu de choses à dire de la mise enplace des composants sur la platineà double face de la figure 3 dispo-nible auprès des adresses habi-tuelles sous la dénomination

EPS010049-1. On fabrique autant deplatines que nécessaire, sans y ins-taller les circuits intégrés amplifica-teurs. Ce n’est que lorsque les pla-tines et les radiateurs seront atta-chés au boîtier, mais pas encoreserrés, que l’on pourra visser solide-ment les circuits intégrés aux radia-

AUDIO

48 Elektor 2/2002

NormalEn pont En parallèle

JP1

JP2

JP3

PC1,2

Maître Esclave Maître Esclave

ouvert

fermé

ouvert

Entrée

sur M

fermé

ouvert

Entrée

sur S

fermé

ouvert

En pont

ouvert ouvert

ouvert

ouvert

ouvert

Entrée

fermé

fermé

Figure 4. Classique, mais avec des diodes discrètes au lieu de pont redresseur, l’alimentation de l’ampli audio de 100 W.

R1

0Ω15

5W

R2

0Ω15

5W

R3

0Ω15

5W

R4

0Ω15

5W

D1

C1 47n

D2

C2 47n

D3

C3 47n

D4

C4 47n

R7

12

k

D5

POWER

C5

3µ3

C6

3µ3

C11

3µ3

C12

3µ3

C7 C9

C8 C10

R5

4k

7

R6

4k

7

K2

K1

K5

K4

K3

K10

K9

K6

K7

K8

010049 - 12

D1 ... D4 = BYV29-200

C7 ... C10 = 10 000µF / 63V

Tr1

– UB

B+ U

Liste des composantsde l’alimentation(fonction du nombre d’étages de sortie)

Résistances :R1 à R4 = 0Ω15/5 WR5,R6 = 4kΩ7R7 = 12 kΩ

Condensateurs :C1 à C4 = 47 nF céramique

C5,C6,C11,C12 =3µF3/250 VDC/160 VAC MKT (dimen-sions 11 x 21 x 31,5 mm (tel que, parexemple, Epcos B32524-Q3335-K chezFarnell 331-3311)

C7 à C10 = 10 000 µF/63 V vertical,RM10, diamètre maximal 45 mm)encartable

Semi-conducteurs :D1 à D4 = BYV29-200D5 = LED à haut rendement

Divers :K1 à K10 = bornier à vis encartable à

2 contacts (RM5)Transformateur = 2⋅22 V/225 VA

Page 39: Mono-carte à PIC16F84 - Doctsf

AUDIO

492/2002 Elektor

– Pour un montage en parallèle, l’amplifica-teur esclave doit subir quelques transfor-mations. R2, R4 et C5 sont remplacés pardes ponts, tandis que R5, R6 et C6 ne doi-vent pas être implantés. Le connecteur K1du maître se trouve mis exactement enparallèle avec celui de l’esclave à l’aide

teurs et les souder par le dessous. Ilest extrêmement important que leTDA7293 y soit placé bien à plat,sinon la sécurité thermique déclen-chera après quelques instants defonctionnement.Le mode de travail, on le choisit à

l’aide de cavaliers et de ponts decâblage, comme le tableau 1 l’in-dique. Mais il y a encore quelquesparticularités à observer.

– En service normal, sans pont câblé,il ne faut pas de cavalier JP1.

010049-2

C1

C2

C3

C4

C5

C6

C7

C8

C9

C10

C11

C12

D1

D2

D3

D4

D5

H1

H2

H3

H4

H5

H6

H7

K1

K2

K3

K4

K5

K6

K7

K8

K9

K10

R1

R2

R3

R4

R5

R6

R7

01

00

49

-2

++

++

--

--

~~

~

Tr1

00

00

00

00

01

00

49

-2

Figure 5. La platine d’alimentation a de quoi nourrir quatre amplis audio de puissance.

Page 40: Mono-carte à PIC16F84 - Doctsf

d’un câble plat à 10 conducteurs. Il en va demême pour K2. Les bornes à visser K3 desdeux amplificateurs sont réunies par un fild’au moins 1 mm2.

– Sur un assemblage en pont, il faut un câbleplat à 10 conducteurs pour relier les connec-teurs K1 des deux amplificateurs.

– La puissance que le CI doit dissiper peutatteindre 50 W, aussi doit-il compter sur unradiateur de dimensions suffisantes et bienventilé. Celui qui est visible sur la photo entête de l’article sert dans un ensemble sté-réo en biampli et rassemble les quatre cir-

AUDIO

50 Elektor 2/2002

cuits intégrés. Il s’agit d’un modèleSK56 de Fischer dont la résistancethermique RTH ne fait que0,45 K/W.

– Pour l’isolation, on peut utiliser unefeuille de silicone renforcée à lafibre de verre (Fischer WB) ou unefeuille de Kapton, intercalée entrele CI et le radiateur. Dans un cascomme dans l’autre, la pâte ther-moconductrice n’est pas néces-saire. Mais il faut toujours utiliserun canon isolant autour de la visde fixation.

Alimentation

Au regard de ses petites mensura-tions, l’amplificateur final fournit unegrand puissance. C’est pourquoil’alimentation secteur (figure 4),EPS010049-2, est largement dimen-sionnée. On peut raccorder quatreétages de puissance à la platine.Autant que possible, on utilisera desalimentations distinctes pour chacundes canaux stéréo, ainsi que pour lecaisson de grave.Plutôt qu’un redresseur en pont, ondonnera la préférence à des diodes

0.001

1

0.002

0.005

0.01

0.02

0.05

0.1

0.2

0.5

[%]

20 20k50 100 200 500 1k 2k 5k 10k[Hz]

1W / 8Ω

25W / 8Ω

010049 - A

0.001

1

0.002

0.005

0.01

0.02

0.05

0.1

0.2

0.5

[%]

1m 1002m 5m 10m 20m 50m 100m 200m 500m 1 2 5 10 20 50[W] 010049 - B

1

300

2

5

10

20

50

100

200

[W]

20 20k50 100 200 500 1k 2k 5k 10k[Hz] 010049 - C

74W / 4Ω74W / 4Ω

1kHz:

48W / 8Ω

-150

+0

-140

-130

-120

-110

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

[dBr]

0 20k2k 4k 6k 8k 10k 12k 14k 16k010049 - D

18k[Hz]

Résultats de mesure

(Mode mono, alimentation avec transformateur 2 x 22 V/225 VA, capacité des condensateurs 4 x 10 000 µF)

Paramètre Conditions Résultat de mesure

Sensibilité d’entrée 47 W/8 Ω 560 mV

Impédance d’entrée 24 kΩ

Puissance sinusoïdale 0,1 % THD 47 W/8 Ω73 W/4 Ω

Puissance sinusoïdale enparallèle 0,1 % THD 50 W/8 Ω

83 W/4 Ω 122 W/2 Ω

Puissance sinusoïdale enpont 0,1 % THD 125 W/8 Ω

Bande passante 1 W/8 Ω 6,5 Hz ... 200 kHz

Taux de montée (slew rate) 8,5 V/µs

Rapport signal/bruit 1 W/8 ΩB = 22 Hz ... 22 kHz

>98 dB(A) >95 dB linéaire

Distorsion harmoniqueavec bruit(bande passante 80 kHz)

8 Ω 4 Ω

1 kHz< 0,004 % (1 W) < 0,006 % (1 W)

< 0,003 % (25 W) ≈ 0,003 % (50 W)

20 kHz < 0,07 / (25 W) < 0,08 % (50 W)

Distorsion d’IM dynamique

carré 3,15 kHz avec signal sinus de 15 kHz

0,006 % à 1 W/8 Ω0,06 % à 20 W/8 Ω

Facteur d’atténuation à 8 Ω

1 kHz >1000

20 kHz >750

A

B

C

D

Page 41: Mono-carte à PIC16F84 - Doctsf

rapides, plus modernes. Il y a place,sur la platine de la figure 5, pourquatre bons gros condensateurs élec-trolytiques de filtrage de 10 000 µF.Au total, on peut monter sur cetteplatine jusqu’à 88 000 µF. La tensionidéale au secondaire du transforma-teur est de 2 x 22 V, auquel cas l’am-plificateur final pourra fournir 73 Wdans une charge de 4 Ω ou 47 W à8 Ω. Si l’on veut atteindre 80 W dans8 Ω, il faut un transformateur de2 x 30 V, mais alors, pour supporterune charge de 4 Ω, c’est à deuxamplificateurs en parallèle qu’il fau-dra faire appel. Nous ne recomman-dons cette solution que pour le canalde basses profondes. Celui qui sesatisfait d’une puissance moindrepeut choisir une tension secondairede 2 x 18 V, auquel cas la puissancede sortie se montera encore àquelque 30 W sur 8 Ω et 50 W sur4 Ω. En outre, il pourra réduire à 35 Vla tension de service des condensa-teurs électrolytiques. Pour le biampliou les systèmes actifs, c’est déjà plusque suffisant.

AUDIO

512/2002 Elektor

La figure A montre la courbe de distorsionharmonique et du bruit en fonction de la fré-quence dans le spectre jusqu’à 80 kHz. Celledu haut, dans la partie basse du domaine defréquence, a été relevée pour 1 W sous 8 Ω,l’autre pour 25 W, également sous 8 Ω. À 1 W,on mesure principalement du bruit jusqu’à2 kHz, à 25 W la montée de la distorsion estperceptible à partir de 500 Hz.La figure B donne aussi la distorsion harmo-nique et le bruit, mais en fonction de la puis-sance de sortie sur 8 Ω. La largeur de bande aété ici limitée à 22 kHz de manière à appré-cier plus clairement la distorsion aux plusgrandes excursions. C’est à partir de 10 Wque la distorsion dépasse le bruit.Rien de palpitant sur la figure C, à puissancemaximum sur 4 Ω (74 W) et 8 Ω (48 W), pourune largeur de bande de 80 kHz et un taux dedistorsion de 1 %. La légère déclivité sous20 Hz est sans conséquence.Enfin, la figure D nous fournit le résultat del’analyse de Fourier sur un signal de 1 kHz à1 W sous 8 Ω. Le deuxième harmonique sesitue à –97,5 dB (DHT+B = 0,0037 %), les har-moniques supérieurs sont repoussés encoreplus bas.

(010049)

Par watt de puissance de sortie, ilfaut compter environ 1,5 VA autransformateur. Il est préférable dechoisir un modèle torique enrobé etde qualité. Les transformateurs àbas prix n’ont pas bénéficié de cetraitement et ont tendance à se mon-trer bruyants.Pour mettre en marche ou arrêterl’amplificateur, on se sert de l’inter-rupteur S1. Mais lui, il n’agit que surune tension de commande. Pour desraisons de sécurité, il faut absolu-ment un interrupteur (avec témoinlumineux) dans le primaire du trans-formateur pour l’isoler du secteur.

Mesures et testsPour autant que son alimentation lesustente efficacement et que lespièces détachées soient de qualité,l’amplificateur final se distingue parune sonorité chaude et pleine detempérament. En biampli ou dansdes enceintes actives, il peut aussise comparer avantageusement à desconcurrents plus puissants.

Page 42: Mono-carte à PIC16F84 - Doctsf

MESURE&TEST

52 Elektor 2/2002

Le circuit décrit ici possède 2 modes de fonc-tionnement. Il fonctionne comme une résis-tance de charge variable ou comme un drainde courant ajustable. Il peut dissiper de 0 à+20 A sous forme de drain de courant pourune tension de 0 à 100 V max. En mode résis-tance de charge, le circuit peut être posi-tionné entre moins de 1 Ω et plus de 100 kΩ.La puissance dissipée la plus élevée est d’en-viron 100 W. Ce circuit est conçu pour unetension continue, mais un redresseur placé enamont permet aussi de travailler avec destensions alternatives (basse fréquence). Il estpossible de ne pas dévier de plus de 0,5 %d’un comportement linéaire lorsque la réali-sation et la mise au point sont effectuéesavec soin.

Drain de courant et résistance de chargeConsidérons tout d’abord le circuit sous sonaspect de drain de courant (S2 en position CC

= Constant Current pour CourantConstant). Oublions pour commen-cer la partie de circuit comportantles 3 amplificateurs opérationnelsIC1.B à IC1.D et leurs composantsconnexes.Le circuit de charge est constituéd’un FET de puissance et d’unerésistance R2. Un condensateur élec-trolytique en parallèle sert de tam-pon pour la tension aux bornes duFET et de R2 et en élimine les pics.Le FET est commandé par l’amplifi-cateur opérationnel IC1.A. Ce der-nier s’efforce de maintenir la mêmetension à son entrée d’inversion (cor-respond à la tension aux bornes deR2) qu’à son entrée non inverseuse.Mais cette tension est identique àcelle du curseur du potentiomètre10 tours P1. Nous touchons doncdéjà au but : le courant consomméest proportionnel à la position ducurseur de P1. Cela suppose bienentendu que la tension du curseurdu potentiomètre est constante. Latension de référence de 2,5 V VR1s’en « charge ». Il en reste 0,779 V (àcause de R3) au maximum du poten-tiomètre, en supposant que S1 soitouvert. En fait, seuls les 5 premiers des10 tours du potentiomètre peuventêtre utilisés avant de se heurter à la

limitation de puissance. Si le drainde courant est destiné à fonctionnerà sa puissance limite, il serait judi-cieux de réduire la tension auxbornes de R2. C’est le rôle de R12 etdu potentiomètre d’ajustement P2.Ces 2 éléments peuvent être com-mutés en parallèle sur P1 par S1 etpositionnés de façon à ce que la ten-sion soit réduite à un dixième. Onatteint ainsi un courant constantde 0 à >5 A.En plaçant le commutateur S2 enposition CR (Constant Resistance),on modifie la tension à la base de P1.La tension de référence de IC1.An’est plus définie par la source detension de référence mais par la ten-sion d’entrée. Le reste fonctionnecomme précédemment, ce qui ventdire que : le courant consommé estproportionnel à la tension d’entrée etle facteur de proportionnalité estprécisément la résistance constante.Avec R4 = 475 kΩ, les valeurs de larésistance de charge peuvent varierde l’infini à 1 Ω lorsque P1 est aumaximum.

Limitation de puissanceLes 3 autres amplificateurs opéra-tionnels du composant LM348 ser-vent à assurer une limitation de puis-

Drain/charge de courant variableAvec limitation de puissance

Peter Hirschbrich

Il est indispensable de disposer d’une résistance de charge ajustable pourtester un étage de puissance dans des conditions proches de la réalité.Une solution électronique remplacera avantageusement les résistancesde puissance peu pratiques.

CaractéristiquestechniquesTension d’entrée de 0 à +100 VDCDrain de courant de 0 à 20 ARésistance de charge <1 Ω ... >100 kΩPuissance max. consommée environ 100 WDéviation de la linéarité <0,5 %

Page 43: Mono-carte à PIC16F84 - Doctsf

MESURE&TEST

532/2002 Elektor

la diode zener D1 qui fournit une tensiond’alimentation négative de –5 V au-dessousdu potentiel inférieur de la tension d’entrée.

Construction et mise au pointComme nous n’avons pas prévu de disposi-tion particulière du circuit sur la carte, ilserait peut-être indiqué de dire quelquesmots au sujet du montage. Bien que le circuitne semble pas particulièrement complexe etqu’il soit possible de faire appel à une platineperforée pour montage expérimental, onn’évitera pas de recourir à un boîtier plutôtimposant. Il faut en effet que le FET puissedissiper environ 85 W, mais la chaleur pro-duite doit aussi être éliminée radicalementpar un dissipateur thermique de grandedimension. La fiche de données du FETindique qu’on devrait faire appel à un dissi-pateur ayant une résistance thermique d’aumoins 0,9 K/W voire mieux. On peut aussimonter le FET sur un ventilateur de CPU d’unmodèle récent. Ce circuit est conçu pour lesamateurs ou pour de brefs essais d’atelier, enaucun cas pour un fonctionnement en continu(par exemple des tests de charge de 24h). Unrelais thermique (contact de travail à 105 °C)permet de réaliser une protection thermique

sance empêchant le circuit d’échap-per à tout contrôle. Cela permet dese passer d’un multiplicateur analo-gique dans le circuit. R10 et R11 for-ment un diviseur de tension d’entréequi se comporte de façon linéairejusqu’à ce que la diode D2 devienneconductrice. Cela ne se produit passubitement : la courbe caractéris-tique de la diode permet d’assurerune transition progressive (toujoursplus lente) en fonction de la tensiond’entrée. IC1.C amortit cette tensionet l’envoie à l’inverseur IC1.D quiparcourt la caractéristique en direc-tion négative et l’amplifie d’un fac-teur 10. La tension de sortie de l’am-plificateur opérationnel est portéepar D3 au point de travail de lacaractéristique de la diode. Le pointde travail est déterminé par lasource de tension de référence, R10et le réglage du potentiomètred’ajustement R3. Le comparateurIC1.B, enfin, compare la tension desortie de l’inverseur à la tension auxbornes de R2 et « coupe le jus » àl’amplificateur opérationnel de régu-lation IC1.A lorsque la limite de puis-

sance est atteinte, tout en commu-tant de la LED D5 « OK » à la LEDrouge D6.Avouons-le : il s’agit d’un circuit deprotection grossier qui assure unelimitation à environ 100 W et dépendaussi fortement des variations descaractéristiques des diodes et de latempérature, mais qui suffit parfai-tement à assurer une protectioncontre les courants trop élevés, parexemple dans le cas d’une batteriede voiture de 12 V.L’alimentation complète du circuit,incluse dans celui-ci, est réalisée defaçon classique au moyen d’un petittransformateur secteur(15 à 18 V/>50 mA), de redresseursen pont et d’un régulateur de tension15 V. C2 fait office de tampon pour latension continue pulsée sortant duredresseur, C3 inhibe la tendanceaux oscillations. Comme les amplifi-cateurs opérationnels fonctionnent àproximité du potentiel d’entrée infé-rieur, il est indispensable de dispo-ser d’une tension d’alimentationnégative si l’on ne veut pas recouriraux types rail à rail. C’est le rôle de

2

3

1IC1.A9

10

8IC1.C

13

12

14IC1.D

6

5

7IC1.B

R10

5k

11

R11

10

0k

R8

4k

75

R5

1k

5

R7

1k

5

R1

1k

5

R13

10

k

R4

47

5k

R2

02

R6

1k1

R9

10k

R3

22k1

R12

90

7815

IC2

C2

470µ35V

C3

4µ735V

D1

5V1

D7

TL431CLP

D2

1N4148

D3

1N4148

D5

D6

C5

2n2

D4

1N4148

C1

2n2

P1

10k

C4

100µ200V

+15V

IC111

4

+15V

B1

TR1

VR11

160mA T

F1

0...+100V

0...20A max.100W max

S2

S1

CRCC

000088 - 11

IC1 = LM348N

T1IRF1310N

TL431CPIRF1310N

G

D

S

D

20k

P3R14

1k

10W1k

P4

250Ω

P2

10T

15V...18V≥ 50mA

rotroodred

rouge

grüngroengreenvert

Figure 1. Un amplificateur opérationnel, une résistance et un FET forment le cœur de l’appareil de mesure.

Page 44: Mono-carte à PIC16F84 - Doctsf

supplémentaire du transistor. Le relais serafixé au transistor au moyen d’une colle à2 composants et court-circuite la broche 3 deIC1.A avec le potentiel inférieur de la tensiond’entrée.Pour qui refuse de se servir d’un ventilateurmais voudrait travailler à des puissances plusélevées ou en service continu, il reste la pos-sibilité de connecter jusqu’à 5 FET en paral-lèle (par exemple BUZ344). Le circuit fonc-tionnera tout aussi bien avec des Darlingtonde puissance de 150 à 200 W comme leMJ11016 en boîtier TO3, mais sans mise enparallèle et avec une tension d’entrée partantde 1 V. R2 apporte aussi sa modeste contribution àla conversion d’énergie. C’est pourquoi il fautprévoir une résistance de puissance de 15 Wà quelques millimètres de la surface de lacarte ou une résistance de puissance de 10 Wen boîtier métallique pour y monter un dissi-pateur. On placera le FET, la résistance de puis-sance R2 et le condensateur électrolytique C4à faible distance l’un de l’autre en les cen-trant sur la partie arrière de la platine (placéehorizontalement) et on disposera de chaquecôté les connecteurs conçus pour des cou-rants élevés (AMP). Le conducteur reliant lescomposants doit être suffisamment épais,mais il ne faut pas en profiter pour griller lescomposants en les soudant.L’électronique de régulation devrait se trou-

ver à proximité immédiate du FET ;veillez en particulier à ce que la liai-son entre la sortie de l’amplificateuropérationnel de régulation IC1.A etla grille du FETs soit courte.Comme l’électronique est concentréedans la partie arrière du boîtier, uncâblage des composants du pan-neau frontal (S1, S2, P1, les LED etles 2 prises bananes) semble incon-tournable, car une extension despistes jusqu’au panneau frontal neserait pas rationnelle. L’entrée estdéjà assurée par des connecteursAMP et pour le reste –dont laconsommation est négligeable– despicots à souder et du fil de câblagemince feront l’affaire.Plaçons l’alimentation secteur dansun coin à l’abri des regards. La ten-sion du secteur est appliquée à uneprise secteur avec interrupteur etlogement de fusible, ce qui permetde se passer d’interrupteur sur lepanneau frontal. La LED D5 sert d’in-dicateur de bon fonctionnement.On ne pourrait trop conseillerd’éloigner le plus possible lecâblage « mince » de l’alimentation(et aussi des câbles épais de la ten-sion d’entrée).Contrôlons encore une fois le circuit,plaçons-le dans le boîtier et câblons-

le, montons également le dissipateurthermique isolé du FET (!), et appli-quons pour la première fois la ten-sion du réseau. En l’absence de toutépais nuage de fumée et si les ten-sions de fonctionnement et de réfé-rence sont correctes, on peut alorsplacer (Couper au préalable le cou-rant !) le LM348 dans son support etmettre la régulation au point.Enclenchons de nouveau et appli-quons une tension de 10 V à l’entrée.La tension à la broche 13 du circuitintégré devrait être égale à celle dela broche 12 (P3). La tension mesu-rée à la sortie de IC1.D devraitdépasser 0,95 V, ce qui permet auFET de limiter le courant à environ10 A. Pour ce faire, ajustez la tensionde la broche 5 à 200 mV avec P4.Cette tension correspond à un cou-rant de 10 A à 10 V (donc à 100 W).Vous pourrez constater que l’ajuste-ment des 2 ajustables P3 et P4demande un certain doigté. L’ajuste-ment de P2 a déjà été décrit plushaut. Et voilà ! Placer le couverclesur le boîtier et le tout sur votre éta-gère rassemblant les instruments demesure.

(000088)

MESURE&TEST

54 Elektor 2/2002

Page 45: Mono-carte à PIC16F84 - Doctsf

De plus en plus souvent, on dédie, à unecarte mère ou un PC, une tâche bien parti-culière qui n’a plus rien à voir avec l’utilisa-tion classique d’ordinateur de bureau. Il ser-vira désormais de lecteur MP3 de salon oud’organe de commande dans l’industrie.

Dans cette nouvelle vie, il n’auraplus guère l’usage de ce qu’onappelle parfois HID (Human Inter-face Devices), le point de rencontreentre l’homme et la machine, ce quis’appelait la console opérateur

autrefois, le clavier et l’écran (et lasouris !) d’aujourd’hui. Quelquespoussoirs et diodes électrolumines-centes suffiront généralement àinfluencer le système et à visualiserson état. Pour cette besogne, les

MICROINFORMATIQUE

58 Elektor 2/2002

Matrice à pointspour PCPetite lucarne facile à caser

Berndt Oehlerking et Peter Cohrs

Si un ordinateur, réputé d’usage général, se voit assigner une fonctionunique, la console de dialogue peut souvent se résumer à quelquesboutons et un petit affichage alphanumérique.

74LS164

IC1

SRG8

C1/

121110 13

1D

9 8 1

6543

2

&R

74LS164

IC2

SRG8

C1/

121110 13

1D

9 8 1

6543

2

&R

74LS164

IC3

SRG8

C1/

121110 13

1D

9 8 1

6543

2

&R

D2

4V7

D1

4V7

K1

1

2

3

4

5

6

7

8

9

R1

33k

R2

1k

R3

1k

7805

IC4

C1

470µ

C2

100n

C3

100n

+5V+8V...15V

+5V

IC1

14

7

IC2

14

7

IC3

14

7

+5V

RTS (CLOCK)

DTR(DATA)

SLY2016

LD1

CLR

D0 D1

D2

D3

D4

10

D5

11

D6

A1

A0

WR BL

12 13 14

5 6 7 8 9 2 3

1 4

SLY2016

LD2

CLR

D0 D1

D2

D3

D4

10

D5

11

D6

A1

A0

WR BL

12 13 14

5 6 7 8 9 2 3

1 4

+5V +5V

T1

BC547

R4

10

k

+5V

TXD

GND

014137 - 11

Figure 1. L’électronique nécessaire au pilotage de l’afficheur à défilement se compose de trois registres à décalage.

Page 46: Mono-carte à PIC16F84 - Doctsf

systèmes qui tournent lorsque le moniteurest éteint ;

– afficher des informations (résultat demesure, état d’un compteur, date, heure,réveil).

Le pilote de ce périphérique, on peut le déve-lopper à l’aide d’un outil courant (VisualBasic), la dépense pour le raccorder au PC estfaible. L’afficheur à matrice de points seconnecte à l’interface sérielle COM du PC,sans aucune intervention à l’intérieur de l’or-dinateur à moins que l’on n’envisage de leplacer dans un encadrement en plastiqueprévu à l’origine pour fermer l’avant de l’or-dinateur.

Le matérielLes informations sont présentées sur une oudeux matrices quadruples de 7 x 5 (SLx2016de Siemens), de quoi aller jusqu’à huit carac-tères, donc. Les blocs peuvent s’aligner ver-ticalement ou horizontalement. Pour obtenir,avec quelques symboles, un texte parlant,nous pouvons aussi programmer l’afficheurpour le faire défiler à différentes vitesses,c’est d’ailleurs ce que nous allons réaliser ici.Le SLx2016 existe en quatre couleurs de LED,ainsi que l’indiquent les caractéristiquestechniques reprises dans l’encadré.À la figure 1, vous trouverez le matériel misà contribution pour fabriquer l’affichage dontnous ferons circuler les symboles. C’est unrégulateur 7805 qui va assurer l’alimentationdu montage, en outre, chaque puce sera flan-quée d’un condensateur de découplage de0,1 µF. Le schéma prévoit deux afficheurs,donc huit signes au total. Vous avez le choixentre quatre couleurs : rouge, super rouge,vert et ambre jaune. Leur lecture est possibleà deux mètres, même en environnement for-tement éclairé, et ils sont bien visibles égale-ment de côté.L’afficheur SLx2016 dispose d’un générateurde caractères intégré, deux bornes d’adressepour la position du caractère et une autrepour déterminer si le symbole choisi doit êtrevisible ou non. À toute combinaison de bitssur les lignes de données D0 à D6, comprisedonc entre 0 et 127, correspond un signe dujeu particulier de caractères ASCII disponible.Les adresses A0 et A1 définissent la positiondu symbole parmi les quatre possibles. Unebrève impulsion sur la broche d’écriture WRet le caractère est enregistré. Il s’y maintien-dra jusqu’à ce qu’un autre le remplace.Les codes des caractères mobiles qui vonts’afficher transitent par le port sériel du PC.Deux registres à décalage 74LS164 à entréesérielle convertissent les données en paral-lèle. Pour deux afficheurs à quatre caractères,

moniteurs habituels ou les pan-neaux à cristaux liquides sont sou-vent surdimensionnés et inutile-ment chers.Un petit afficheur alphanumérique,en revanche, ferait bien l’affaire. Iloccupe très peu de place, est bonmarché et peut se loger n’importe

où. C’est un choix idéal quand onpense à :

– saisir des paramètres dans un sys-tème enfoui (embedded) ;

– sortir des données de fonctionne-ment du PC (fréquence d’horloge,température, charge CPU) sur des

MICROINFORMATIQUE

592/2002 Elektor

POS 3 POS 2 POS 1 POS 0

Display 2

POS 3 POS 2 POS 1 POS 0

Display 1D

0

0

D1

1

D2

0

D3

0

D4

0

D5

0

D6

1

A1

0

A2

0"B" POS 0

D0

1

D1

1

D2

0

D3

0

D4

0

D5

0

D6

1

A1

0

A2

1"C" POS 1

014137 - 14

Figure 2. Le principe de la commande d’affichage.

Figure 4. Le module de test de la liaison sérielle.

Figure 3. Réglage de l’interface sérielle dans le module de départ.

Page 47: Mono-carte à PIC16F84 - Doctsf

il nous en faudra trois. Les informationspilotes pour les afficheurs y sont engrangéesbit après bit, en série.

Par exempleUn B majuscule comme cinquième lettre àpartir de la droite apparaît, un C était déjàprésent en deuxième position et y resteinchangé, comme on le voit à la figure 2. LeC se trouve donc à la position 1 de l’écran 1,le B à la position 0 de l’écran 2. Il faut chargerdans les registres à décalage la combinaisonde bits indiquée en bas. À cet effet, onapplique à l’entrée de données DTR de lachaîne de registres un niveau haut, il corres-pond à un bit 1. Une transition de haut versle bas du signal sur RTS (horloge) synchro-nise le passage du 1 d’une cellule à la sui-vante dans le registre à décalage. Après 2 x 7et 2 x 2 coups d’horloge, soit 18 impulsions entout, l’information complète se trouve dans leregistre, disponible pour chaque matrice.Encore une courte impulsion vers le bas surl’entrée WR (TxD) et les deux caractères seretrouvent dans l’affichage.

Le logicielLe logiciel a été rédigé en Visual Basic 5.0, ilfonctionne aussi sous la version VB 6.0. Nousl’avons testé dans les systèmes d’exploitationWIN98 et NT4.0. Il comporte quatre modules :

– mise en condition de départ– vérification des réglages de l’interface– chargement et démarrage du texte à faire

défiler– saisie d’un unique caractère à envoyer à

l’afficheur.

Le module de départ à la figure 3 fixe lesparamètres du port sériel (Com1 à Com4). Onpeut mémoriser les réglages sélectionnés(settings) par Save this connection dansc:\commport.txt et lors de la prochaine miseen route, ils seront automatiquement remis envigueur. Naturellement, vous pouvez à toutmoment les modifier et stocker les nouveaux.Le module n’est pas réservé à cette applica-tion, il peut aussi gérer, moyennant les modi-fications nécessaires dans le menu, l’ouver-ture des ports sériels pour n’importe quelleautre tâche.À partir de l’écran de démarrage, il est pos-sible de passer au test de l’interface en choi-sissant Comtest dans le menu (figure 4). Cemodule indique les valeurs sélectionnéespour le port sériel dans le premier écran etcontrôle les lignes RTS, DTR et TxD. Pourfonctionner correctement, il devra disposer dumodule Basic mod_testcomm.bas.

MICROINFORMATIQUE

60 Elektor 2/2002

L’afficheur à matrice de pointsSLx2016Le SLR, SLO, SLG ou SLY2016 est un petit écran, composé de matrices de points,auquel un circuit CMOS est intégré. Il peut s’aligner dans le sens horizontal ouvertical, dispose d’un décodeur ASCII de 128 caractères, d’un multiplexeur et desamplificateurs tampons pour commander les LED. Les positions se numérotentde droite à gauche, de 0 à 3. Le boîtier totalise 14 broches.Chaque caractère peut être adressé séparément et retient son contenu jusqu’à laprochaine opération d’écriture. La commande est asynchrone, donc compatibleaussi bien avec des systèmes lents que rapides. Il suffit de fournir adresse et don-née aux broches correspondantes, puis une impulsion au niveau bas sur WR etl’octet est mémorisé.Plusieurs modules peuvent se combiner pour former un plus grand écran. Onrelie en parallèle les lignes de données équivalentes ainsi que les entrées WR, il nereste qu’à décoder les adresses. C’est comme s’il s’agissait de mémoires, saufqu’ici, il n’est pas possible de relire.Par action sur la ligne CLR, il est possible d’effacer le contenu du tampon. Labroche BL (BLank, suppression) permet non pas d’effacer la mémoire, mais lamatrice de points, de l’éteindre, de manière à écrire discrètement dans leregistre. Nous ne faisons cependant appel à aucune de ces deux fonctions.Le jeu de caractères comporte aussi des symboles spéciaux pour l’anglais, l’alle-mand, l’italien, le suédois, le norvégien et le danois.

Caractéristiques principales– tension d’alimentation –0,5 à +7 V– tension d’entrée en référence à la masse

(toutes entrées) de –0,5 V jusqu’à Vcc + 0,5 V– température de stockage : –40 à +85 °C– Propriétés optiques (longueur d’onde moyenne) :

rouge R 660 nmrouge O (haut rendement) 635 nmvert S 565 nmjaune Y 585 nm

Brochage :1 WR Write2 A1 Digit Select3 A0 Digit Select4 VCC5 D0 Data6 D1 Data7 D2 Data8 D3 Data9 D4 Data10 D5 Data11 D6 Data12 BL Display Blank13 CLR Clear14 GND

Package Dimensionsin mm

19,91

Part Number EIA Date Code

LuminousIntensityCode

2,540,46

3,81

014137 - 12

5,00

4,57

5,08

4,06

10,1

6

7,62

2,54 0,3

14 13 12 11 10 9 8

1

Digit 3 Digit 2 Digit 1 Digit 0

2 3 4 5 6 7

SLX2016ZSIEMENS XXYY

TACC

TW

2V0

0V8

2V0

0V8

2V0

0V8

A0 - A1

D0 - D1

TDS TDW

TAHTAS

014137 - 13

CLR

WR

Page 48: Mono-carte à PIC16F84 - Doctsf

du module Basic mod_testcomm.bas déjà cité,il faudra maintenant pouvoir accéder àdispl2.bas.Finalement, l’option Display du menu(figure 6) ouvre la fenêtre qui permet defaire réellement défiler du texte sur l’affi-chage. En haut, à gauche, une petite boîtede dialogue ; à droite, une grande et àgauche, en bas, un cadre de listage. Tout cequi figure dans la grande boîte de texte seraenvoyé à l’afficheur. La petite boîte sert àsaisir des passages de texte. Dans le champde listage, en bas, on peut arranger des frag-ments de texte qui passeront dans la grandeboîte par action sur le bouton Set. Les boîtesde contrôle, du côté gauche, sont organiséesen tableau, ce qui facilite toute modificationdu texte normal de l’annonce ou du codesource. Dans la partie droite de l’écran, il ya encore différents boutons dont les fonc-tions sont les suivantes :

– charger et enregistrer de plus grands textes– stocker et récupérer un logiciel dans une

autre boîte de listage– lancer un autre programme, par exemple

pour en obtenir des informations à glisserdans la boîte de texte

– régler la vitesse de défilement et la duréede la pause

– mémoriser et retrouver ces derniers para-mètres

– lancer ou arrêter le défilement du texte.

À première vue, le prix de 15 euros pour lemodèle d’afficheur Siemens (à quatre carac-tères) que nous avons choisi peut paraîtrerelativement élevé. Des matrices à points dedimensions comparables ne coûtent que1,5 euro, donc 6 euros par quatre. Il fautcependant y ajouter l’électronique de com-mande, une dépense qui n’est pas négli-geable, pour du matériel déjà présent dansl’afficheur Siemens. Si l’on additionne lescoûts, on n’arrivera pas à une économie pourles composants discrets, par rapport aumodèle d’écran « intelligent ».

(014137)

Du module de départ, le point dumenu intitulé Displaytest (figure 5)lance une procédure de vérificationqui expédie directement à l’affichageun caractère. C’est le moyen de s’as-surer que les symboles qui apparais-sent sont bien ceux qui étaient pré-

vus et qu’ils viennent à la bonneplace. La proposition Binary admetla saisie des nombres jusqu’à 127.Sur l’écran matriciel, vous verrezalors (se pointer) les caractèresASCII correspondants ou ceux queSiemens a choisis. En supplément

MICROINFORMATIQUE

612/2002 Elektor

Figure 5. Le module de test de la commande d’affichage.

Figure 6. La fenêtre pour le texte à faire défiler.

Page 49: Mono-carte à PIC16F84 - Doctsf

CD-ROMDIDACTIQUES

62 Elektor 2/2002

L’installation est l’affaire dequelques minutes à peine surun PC classique qui n’a riend’un foudre de guerre. Letemps de saisir le numéro de la

clef de protection (passaged’un champ à l’autre par latouche Tab) et de décider dumode d’installation (partiel =7 Moctets ou complet =

360 Moctets). Ne vous affolez pas si le pro-gramme indique un temps res-tant de 28 mn, il ne lui en fautque sensiblement moins (7

Electronic Circuits & Components V2.0 Mike Tooley

environ sur un système500 MHz). Il ne reste plus qu’àinstaller le MMatrix SpiceEngine (1 s), le plugin Asyme-trix Neuron dans sa version 6.5(une bonne trentaine desecondes) pour être à piedd’oeuvre.On notera qu’il faudra, mêmedans le cas d’une installationcomplète, laisser le CD-ROMdans le lecteur.Comme l’illustrent les recopiesd’écran, le matériau abordé estriche. La matière est abordée à sonniveau le plus basique. Il estpour cette raison difficile decerner le sujet en raison de sadiversité et de ses ramifica-tions. Tous les aspects descomposants électroniques etplus (le fonctionnement desportes, etc.) sont abordés defaçon très didactique maisintéressante. Nous avonsmême été tentés de nousessayer aux tests de fin dechapitre.L’un des aspects intéressantsest l’interactivité de certainesdes expériences où l’on voitpar exemple l’effet d’un poten-tiomètre sur la luminositéd’une LED, le changement

Matrix Multimedia propose une collection très fournie de CD-ROM ayant traitaux sujets les plus divers, ceux qui nous intéressent le plus étant bienentendu ceux qui concernent l’électronique. Nous en avons récemmenteu un certain nombre, dont le « Electronic Circuits & Components » danssa version V2.0. Nous allons nous y intéresser de plus près.

Page 50: Mono-carte à PIC16F84 - Doctsf

d’état d’une porte lors d’uneaction sur les entrées, l’effetde la variation de la résistancede base sur le courant de col-lecteur d’un transistor. Rien deplus parlant que ce genre demodèles. On notera égalementla possibilité de procéder àcertaines expériences électro-niques en plaçant ici ou là unesonde de mesure (cf. les reco-pies d’écran d’illustration). Unautre aspect remarquable estune possibilité de reproduc-tion orale (en anglais bienentendu) de certains destextes explicatifs.Un quiz comportant 10 (voire15) questions à réponses mul-tiples prises dans un « réser-voir » de 25 questions terminechacune des parties de« cours ».L’approche est relativementcomplète, la très grande majo-rité des composants utilisés en

électronique, composants pas-sifs, semi-conducteurs (diodesde tous types), transistors,portes logiques, circuits pas-sifs, circuits actifs étant abor-dés. On trouve même une sec-tion recherche de panne, letableau étant complété par unpanorama des composantsavec un nouveau quiz en guisede dessert.On pourra s’étonner, dans lepays de naissance des unitésdécimales que bous sommes,de ne pas trouver mention,dans la liste desmultiples/sous-multiples, denos hecto, déca et déci, notrehecto-pascal national étant surtoutes les langues...L’ensemble du CD-ROM estbien entendu en anglais. Il fau-dra partant un minimum deconnaissances de cette languepour tirer profit de ce cours.Nous avons toujours trouvé

dommage que les CD-ROM deMatrix Multimedia n’existentpas en français. Nos souhaitsdu Nouvel An (date d’écriturede ces lignes) semblent avoirété exaucés, nous venons eneffet d’apprendre que lasociété Multipower vient deprendre en main la traductionde certains des CD-ROM de la

collection de Matrix Multime-dia. Nous ne connaissons pasencore les titres ni les dates deparution prévus. Pour de plusamples informations on pourras’adresser à Multipower(www.multipower-fr.com), sitesur lequel, à l’instant de l’écri-ture de ces lignes, il n’est pasencore fait mention de ces CD-ROM. Ce que nous avonscependant appris est que le

premier CD-ROM à sortir enversion francisée sera le CD-ROM « C for PICmicro® micro-controller » de Rob Miles, pro-duit que nous avons déjà eul’occasion d’évoquer il y aquelques mois et qui devraitbientôt être disponible.D’autres CD-ROM suivront...On pourra, pour en savoir plus

sur les différents produits deMatrix Multimedia, faire untour sur leur site sis àl’adresse :www.matrixmultimedia.co.uk.

En résumé, une expérienceenrichissante que nous nepouvons que vous recomman-der de tenter.

(017115)

CD-ROMDIDACTIQUES

632/2002 Elektor

Page 51: Mono-carte à PIC16F84 - Doctsf

MODÉLISME

66 Elektor 2/2002

Nombreux ont égale-ment été les utilisateurs et les fournisseursde logiciel à avoir des difficultés pour trans-former les adresses et les données en codagepar trits, tel que le requiert le contrôleurd’EDiTS.Ces différents stimuli ont eu pour consé-quence une extension du protocole avec leset d’instructions tel que le donne letableau 1.Il va sans dire (encore que ça aille mieux si on

le dit) que le set d’ins-tructions existant (telqu’il est donné dans lelivre consacré à EDiTSPro [1] reste supporté à100% et que le contrô-leur reste retro-compa-tible avec la versionprécédente.Le repère de réfé-rence de ce set a étéle protocole Märklin,mais sachant quece protocole neconnaît pas d’ins-tructions pour lesfonctions addi-

tionnelles, il afallu, doter cer-

taines instructions,les instructions de pilotage

de locomotive en particulier d’unoctet supplémentaire.

Structure globale de l’instructionLe contrôleur de EDiTS Pro commu-nique avec le PC par le biais du portRS-232 de ce dernier; le paramétrageadopté est de 9 600 bauds, sansparité, 8 bits de donnée, 1 bit d’arrêt.De manière à assurer un transfert

sans coup du flux de données, on aopté pour une technique où pourchaque octet qui lui est envoyé, lecontrôleur répond à son tour parl’émission d’un octet.Les instructions du contrôleur sontconstituées de 1, 2, 3 ou 4 octets,séquence dans laquelle le premieroctet est l’octet d’instruction.En général, la manière d’indiquer laréception correcte est de renvoyerl’octet d’instruction en écho sansl’avoir modifié, sauf dans le casd’une instruction de répondeur (ins-tructions contrôleur de 1 octet), où,en vue de garantir une vitesse detransfert de données adéquate, on aréponse directe sous la forme d’unenvoi de l’info de répondeur.Si l’on veut informer le PC de l’im-possibilité pour le contrôleur d’en-voyer l’information vers le réseauferré (suite, par exemple, à une misehors-fonction du booster à la suited’un court-circuit) on aura, aprèsl’octet d’instruction, émission enretour de la valeur 65.En conséquence, pour pouvoir infor-mer le contrôleur du fait que le boos-ter se trouve hors-service, il faudraeffectuer une petite modification auniveau de l’interface du booster;nous l’aborderons dams le prochain

Protocole ducontrôleur d’EDiTS ProExtension du protocole

Steffen van de Vries

S’il est un aspect d’EDiTS qui a souvent fait l’objet de discussions, c’estindubitablement son protocole, le fameux protocole EDiTS Pro, etsurtout le fait de sa dissemblance avec l’ancien protocole d’EDiTS etle protocole de Märklin.

Page 52: Mono-carte à PIC16F84 - Doctsf

MODÉLISME

672/2002 Elektor

des fonctions additionnelles on aura émissiond’un « 0 » ou d’un « 3 » dans l’ancien format(le « n » du tableau indique que F1 àF4 nechangent pas); dans le nouveau format on uti-lise les commandes marche arrière (reverse)et marche avant (forward).Un lecteur attentif aura peut-être remarqué

article, parallèlement à un adressagede régleur par clavier ou autonome.

Loc command(Commande de locomotive)Dans le cas d’une commande delocomotive le premier octet peutprendre une valeur comprise entre 0et 15. Cette valeur représente lavitesse sachant cependant qu’il fau-dra se souvenir que dans l’ancienformat le pas de vitesse 1 représen-tait l’instruction de demi-tour (selonle protocole Märklin ce serait lavaleur 15).Le second octet à être envoyé repré-sente l’adresse de locomotive. Les80 premières adresses correspon-dent aux 80 adresses adressables duformat Märklin. Vu cependantqu’avec le nouveau format on dis-pose d’une possibilité de256 adresses, cette commande a étéétendue jusqu’à 255.Le seul « standard » existant actuel-lement pour cette série est à trouverchez Uhlenbock, ce qui explique lechoix de cette série.Le troisième octet donne des infor-mations concernant le format, lesens de circulation et des fonctionsadditionnelles. Le tableau 2 récapi-tule la signification des différentsbits de l’ancien format, le tableau 3donnant cette information pour lenouveau format.Pour nous simplifier la vie nousavons ajouté la valeur décimale cor-respondante dans les tableaux.Il est possible également maintenantde générer des fonctions à l’ancienformat. Une différence majeure entre

les deux tableaux est qu’avec l’an-cien format les 4 fonctions sontmodifiées par un octet, alors quedans le tableau « nouveau format »chaque fonction supplémentaire estparamétrée séparément.Si l’on n’a que faire de l’adaptation

octet decommande

réponse normale court-circuit second

octet réponse troisièmeoctet réponse quatrième

octet réponse

Loc command 0 à 15 0 à 15 65 0 à 255 0 à 255 cf. tableaux troisièmeoctet

Last changed 190 1 à 64 65

Return module 192 à 255 0 à 255 65

Reset aiguillage 32 32 65

Aiguillage gauche 33 33 65 0 à 255 0 à 255

Aiguillage droit 34 34 65 0 à 255 0 à 255

Program pilot 40 40 65 16 à 2324 à 31

41 41 65 16 à 2324 à 31

Tableau 1. Le set de commande étendu.

0 à 255vitesse

ancienneadresse

0 à 255 0...255 ancienétat

Read pilot 0 à 255vitesse

0 adresse 0 état

b8 b7 b6 b5 b4 b3 b2 b1 déci-mal F0 F1 F2 F3 F4

0 0 0 0 0 0 0 0 0 0 n n n n

0 0 0 0 0 0 1 1 3 1 n n n n

0 1 0 0 0 1 0 0 68 0 0 0 0 0

0 1 0 0 0 1 1 1 71 1 0 0 0 0

0 1 0 0 1 0 0 0 72 0 1 0 0 0

0 1 0 0 1 0 1 1 75 1 1 0 0 0

0 1 0 0 1 1 0 0 76 0 1 1 0 0

0 1 0 0 1 1 1 1 79 1 1 1 0 0

0 1 0 1 0 0 0 0 80 0 0 0 1 0

0 1 0 1 0 0 1 1 83 1 0 0 1 0

0 1 0 1 0 1 0 0 84 0 1 0 1 0

0 1 0 1 0 1 1 1 87 1 1 0 1 0

0 1 0 1 1 0 0 0 88 0 1 1 1 0

0 1 0 1 1 0 1 1 91 1 1 1 1 0

0 1 0 1 1 1 0 0 92 0 0 0 0 1

0 1 0 1 1 1 1 1 95 1 0 0 0 1

0 1 1 0 0 0 0 0 96 0 1 0 0 1

0 1 1 0 0 0 1 1 99 1 1 0 0 1

0 1 1 0 0 1 0 0 100 0 0 1 0 1

0 1 1 0 0 1 1 1 103 1 0 1 0 1

0 1 1 0 1 0 0 0 104 0 1 1 0 1

0 1 1 0 1 0 1 1 107 1 1 1 0 1

0 1 1 0 0 1 0 0 108 0 0 0 1 1

0 1 1 0 0 1 1 1 111 1 0 0 1 1

0 1 1 0 1 1 0 0 112 0 1 0 1 1

0 1 1 0 1 1 1 1 115 1 1 0 1 1

0 1 1 1 1 1 0 0 116 0 1 1 1 1

0 1 1 1 1 1 1 1 119 1 1 1 1 1

Tableau 2. L’ancien format Motorola.

Page 53: Mono-carte à PIC16F84 - Doctsf

qu’il a été réservé 2 bits pour la fonction F0(b1 et b2) qui ont toujours la même valeurdans le tableau (00 ou 11).Les valeurs 01 et 10 n’ont rien d’interdit, maiselle ont été réservées à l’attribution de fonc-tions ultérieures.

Commandes de réponseÉvolution des répondeurs depuis la dernièrelecture (last changed)Dans le cas d’un grand nombre de répon-deurs simples ou d’adresses, le temps de lec-ture est important. L’intérêt est ici de faire ensorte que le 68HC interroge les répondeurs,détermine lesquels ont changé d’état, et derenvoyer au PC l’adresse de ces seuls répon-deurs, soit par sortie, soit par entrée d’unconvoi, permettant ainsi une lecture ou unegestion sélective des évènements d’occupa-tion de la voie. Et par conséquent une dimi-nution notoire de l’échange d’informationsentre le PC et le 68HC.La commande 190 (modifié en dernier) estune commande qui ne manquera pas, dans lecas d’un pilotage en temps réel, de prouverson intérêt avec nombre de répondeurs(retour unit). L’octet en réponse (écho) donnel’adresse du répondeur dont l’état d’entrée achangé (changement d’état identifié depuisl’instant de la dernière lecture de cette unité).Il est facile ainsi d’identifier les unités dont ilfaut effectuer la lecture.

Module de réponse (return module)L’instruction 192 à 255 permet une lecture desunités de réponse.On utilise 192 pour la lecture de la premièreunité, 193 pour la seconde et ainsi de suitejusqu’à 255 pour la 64ème unité de réponseavec EDiTS (ou 9 à 16 pour la 32ème S88 deMärklin).La valeur de la réponse en écho du contrôleurconstitue une représentation binaire desentrées (voire l’adresse de locomotive dans lecas d’un module de détection).

Commandes d’aiguillageLes commandes d’aiguillage sont parfaite-ment identiques aux commandes de Märklin.On utilisera la commande 33 (1 à 4) pour, parexemple, activer les sorties « vert » d’un k73,la commande 34 (1 à 4) servant elle à la com-mande des sorties « rouge ».Nous avons même implémenté la spécificitéqui veut que 33-0 et 34-0 représentent les2 sorties du décodeur 64.La commande 32 permet d’annuler l’activa-tion. Ces commandes limitent à 64 le nombrede décodeurs. On pourra, si l’on a besoin decommande un nombre de décodeurs plus

important, revenir au set de com-mandes classique d’EDiTS Procapable lui d’adresser jusqu’à240 décodeurs.

Programmation derégleurs manuelsProgram pilotLa commande 40 permet la pro-grammation des régleurs manuels.L’octet de commande 40 est suivi parun second octet qui pourra prendreune valeur comprise entre 16 et 23.Si l’on opte pour un 16, cela désignele régleur numéro 1, 17 le régleur 2 etainsi de suite jusqu’à 23 qui corres-pond au régleur 8.Si l’on opte pour une valeur compriseentre 16 et 23, la modification seratemporaire; après toute coupure del’alimentation cette modificationaura perdu son effet.Si l’on veut entreprendre une adap-tation d’adresse définitive il faudrachoisir la série allant de 24 à 31 (24pour le régleur 1 à 34 pour lerégleur 8).Lorsque le contrôleur a reçu lesecond octet, il renvoie en écho l’étatdu régleur. La valeur retournée peutaller de 0 (régleur en butée vers lagauche) à 255 (régleur en butée versla droite).Le troisième octet déterminel’adresse devant être attribuée au

régleur, le quatrième octet donnantle format du régleur et indiquant lesfonctions activées ou désactivées surla locomotive (par le biais du pro-gramme tournant sur le PC parexemple). Le contrôleur sait ainsi,par exemple, que sur l’une des loco-motives la fonction F3 est activée,que celle-ci doit envoyer la com-mande « F0 off » vers la locomotiveen cas d’action sur la touche F0 durégleur manuel.La signification des bits du qua-trième octet est la suivante :

b8 b7 b6 b5 b4 b3 b2 b1s/h o/n v/r F4 F3 F2 F1 F0

Ainsi, si l’on donne au quatrièmeoctet la valeur 36 (00100100 enbinaire), le régleur sera paramétré dela façon suivante :

s/h = 0 (sélection de format ;1 = paramétrage de format logiciel,0 = paramétrage de format matériel)

o/n = 0 (format ; 1 = ancien format, 0 = nouveau format)

v/r = 1 (sens de circulation ; 1= avant, 0 = arrière)

F4 = 0 (F4 off)F3 = 0 (F3 off)F2 = 1 (F2 on)F1 = 0 (F1 off)F0 = 0 (F0 off)

MODÉLISME

68 Elektor 2/2002

b8 b7 b6 b5 b4 b3 b2 b1 décimal Description

0 0 0 0 0 1 0 0 4 F1 off F0 off

0 0 0 0 0 1 1 1 7 F1 off F0 on

0 0 0 0 1 0 0 0 8 F1 on F0 off

0 0 0 0 1 0 1 1 11 F1 on F0 on

0 0 0 0 1 1 0 0 12 F2 off F0 off

0 0 0 0 1 1 1 1 15 F2 off F0 on

0 0 0 1 0 0 0 0 16 F2 on F0 off

0 0 0 1 0 0 1 1 19 F2 on F0 on

0 0 0 1 0 1 0 0 20 F3 off F0 off

0 0 0 1 0 1 1 1 23 F3 off F0 on

0 0 0 1 1 0 0 0 24 F3 on F0 off

0 0 0 1 1 0 1 1 27 F3 on F0 on

0 0 0 1 1 1 0 0 28 F4 off F0 off

0 0 0 1 1 1 1 1 31 F4 off F0 on

0 0 1 0 0 0 0 0 32 F4 on F0 off

0 0 1 0 0 0 1 1 35 F4 on F0 on

0 0 1 0 0 1 0 0 36 Reverse F0 off

0 0 1 0 0 1 1 1 39 Reverse F0 on

0 0 1 0 1 0 0 0 40 Forward F0 off

0 0 1 0 1 0 1 1 43 Forward F0 on

Tableau 3. Le nouveau format Motorola.

Page 54: Mono-carte à PIC16F84 - Doctsf

Après les troisième et quatrième octets onvoit retourner des valeurs correspondant à lacommande program pilot, sachant cependantque les valeurs envoyées par le PC n’ont pasla moindre importance vu que le contrôleurn’en tient de toutes façons pas compte.Le nouveau contrôleur programmé est dis-ponible auprès des adresses habituelles sousle numéro de référence EPS010088-41 etpourra sans autre forme de procès être enfi-ché dans la platine de l’unité de commandeen remplacement du contrôleur de la pre-mière génération.En conclusion : la lecture des répondeurs parle 68HC est extrêmement rapide avec le nou-veau protocole, puisque celle-ci intervient“entre-deux”, lorsque le 68HC est “au repos”. P.S. Avec les remerciements de la rédaction àMonsieur Dezaire pour la relecture.

(010088-2)

BibliographieEDiTS Pro, Pilotage par ordinateur de modèleréduit ferroviaire, Publitronic, ISBN 2-86661-124-1Adresses Internethttp://groups.yahoo.com/group/editspro/

Lorsque le bit s/h se trouve à « 1 »cela signifie que le format (qu’ils’agisse de l’ancien ou du nouveau)n’est plus déterminé par la diode desélection intégrée dans le régleurmanuel, mais par l’état du bit o/n(old/new). Si le bit s/h se trouve à« 0 » cette tâche de déterminer le for-mat redevient l’affaire de la diode desélection du régleur.Après envoi du troisième octet(d’adresse) vers le contrôleur ce der-nier renvoie l’adresse à laquelle estparamétré le régleur (à l’instant del’envoi de cette commande). Après lequatrième octet le contrôleur révèle,par le biais de l’octet de retour, l’étatdans lequel se trouvait le régleur.Ces informations de retour peuventêtre utilisées, par exemple, par leprogramme EDiTS Pro pour, lors dela prise en compte d’un régleur logi-ciel par un régleur manuel, pouvoirremettre celui-ci à son ancien para-métrage lorsqu’il est relibéré.Les 8 régleurs manuels ne se lais-sent pas mettre hors-fonction etenvoient toujours des informationsvers le réseau. Il faudra partant faire

en sorte d’éviter que plusieursrégleurs ne se trouvent à une mêmeadresse (l’adresse 0 constituant uneexception à cette règle), ou que le PCn’émette des commandes destinéesà des locomotives à des adressesdéjà utilisées par les régleursmanuels.La meilleure solution pour ne pasavoir de problème avec les régleursmanuels est de commencer parmettre, lors du lancement d’un pro-gramme personnel, tous les régleursmanuels (ou ceux qui sont inactivés)à l’adresse 0.

Read pilotLa commande 41 (read pilot = lec-ture de régleur) présente une grandesimilitude avec la commande pro-gram pilot (programmation derégleur) décrite dans le paragrapheprécédent. Le seul effet de cettecommande sert uniquement àdemander l’information et n’a par-tant aucun effet sur le paramétragedu régleur. À nouveau, le contrôleurfournit en réponse, après le secondoctet, l’état du régleur.

MODÉLISME

692/2002 Elektor

Page 55: Mono-carte à PIC16F84 - Doctsf

Se construire un poste de radio, dans lesannées 1930 et certainement jusqu’auxannées 1960, beaucoup en rêvaient. Dans latendre jeunesse de la TSF, il fallait pratique-ment tout faire soi-même, mais avec le déve-loppement des stations de radiodiffusion, ona commencé à trouver, dans le commerce, desboîtes de construction qui contenaient toutesles pièces nécessaires. Du coup, se fabriquerun récepteur à cristal ou à une seule lampe

devenait un jeu d’enfant. On écono-misait jusqu’à disposer de la sommevoulue, puis on s’achetait l’attirailque l’on câblait en suivant un desnombreux schémas éprouvés.Mais aujourd’hui, si vous voulezconstruire une radio toute simple àtube électronique pour capter lesondes moyennes, vous n’êtes pas aubout de vos surprises. De toutes ces

fameuses pièces détachées de jadis,il ne reste pratiquement plus riendans les magasins. Un transforma-teur d’alimentation, un transfo desortie, une bobine pour ondesmoyennes ou un condensateur desyntonisation, essayez donc d’entrouver ! Pour concevoir notre petitposte, nous avons dû faire preuved’imagination. Nous avons cherchénotre salut dans le mariage du vieuxet du neuf. Allier les techniquesanciennes aux matériaux modernes.Grâce à quoi, on trouve aisément lescomposants nécessaires et la fabri-cation reste simple.

Les composantsNous l’avons dit, les transformateursd’alimentation pour montages àtubes ne se trouvent plus guère.Mais un transformateur à basse ten-sion convient aussi. Un écouteur de2 000 Ω est à considérer comme unepièce rare, mais un casque modernede 32 Ω pour walkman coûte troisfois rien et sonne beaucoup mieux.L’adaptation d’impédance à l’anodedu tube, un transformateur secteur àbasse tension la réalisera aussi bien.Il lui manque l’entrefer, mais à sibasse puissance, on ne le remar-quera pas.

HF&RADIO

72 Elektor 2/2002

Radio à inductionL’acoustique du tube à l’ancienne

Bob Stuurman

Ce petit poste, un régal pour les yeux. Des bobines rutilantes, une lampede radio scintillante, un superbe châssis en bois, une belle pièce de collec-tion, dirait-on, une précieuse rareté qui remonte aux temps héroïques de laTSF. Apparence trompeuse ! Cette radio, vous pouvez facilement la réaliservous-même et elle vous fournira une excellente réception - régal pour lesoreilles - de bon nombre de stations dans les ondes moyennes.

Page 56: Mono-carte à PIC16F84 - Doctsf

dans le circuit de détection. La charge d’es-pace dans la triode fait en sorte que la ten-sion de grille, en l’absence de signal reçu,avoisine 0 V. Dès l’apparition d’un signal HF,C5 va se charger quelque peu à chaque alter-nance positive, du fait que la grille joue le rôlede redresseur. Après quelques périodes, latension sur C1 égalera Vtt, celle du signal HFet la grille va la suivre, avec pour valeur maxi-male le niveau 0 V. Comme chacun sait, lesémissions dans la bande des ondesmoyennes sont modulées en amplitude. Larésistance de fuite R1 décharge lentementC5, avec pour conséquence que la tension degrille ne suit plus les rapides oscillations dela porteuse HF, mais les variations d’ampli-tude provoquées par la modulation. Le pointde fonctionnement, et donc le courant ano-dique, du tube change en fonction de lamodulation. Il en découle une bonne amplifi-cation du signal à basse fréquence (BF), maisaussi des restes de la porteuse HF. Ces rési-dus, qui sont ici en opposition de phase avecla tension HF dans le circuit de détection, lecondensateur C4, associé à P1/P2, va lesappliquer à la troisième bobine (LR). Cetteself est connectée différemment de celle ducircuit de détection, de manière à les remettreen phase. De ce fait, ils s’amplifient mutuel-lement par réaction et simultanément, le fac-teur Q du circuit de détection en est sensi-blement relevé.Le tout résulte en une réduction de l’atténua-tion et, si la puissance est suffisante, l’entréeen oscillation, c’est l’accrochage. Le récepteurest devenu un émetteur et les postes voisinsqui seraient accordés sur la même fréquencerisquent de se mettre à produire des hurle-ments de coyote ou à siffler de façon très désa-

L’idéal, c’est de disposer d’un conden-sateur variable à air comme diélec-trique, mais où en trouver encore et àquel prix ? Il y a bien les condensa-teurs variables plats à feuille plas-tique, mais leurs armatures sont cir-culaires, ce qui leur donne une varia-tion linéaire de la capacité. Dans letemps, les plaques des condensa-teurs à air présentaient un profil trèsétudié qui assurait la parfaite linéa-rité du cadran des longueurs d’onde,ce qui était bien plus pratique.Le dernier écueil, ce sont lesbobines. Après de multiples essais,nous avons opté pour une techniqueancienne qui a fait ses preuves, laself en toile d’araignée. D’une réali-sation très facile, elle offre en plus unfacteur Q (facteur de qualité ou desurtension) très raisonnable et unefaible capacité parasite. Cette capa-cité est très importante parce que,trop élevée, elle ne permet plus debalayer la totalité de la gamme desondes moyennes (OM), qui s’étendde 550 kHz à 1 600 kHz (soit 545 à187 m). Et puis avantage décisif enfaveur de la self arachnéenne, sonaspect attractif. Elle apporte à notreradio cette originalité dont nousavions rêvé.

Le schémaNous souhaitions suivre une tech-nique simple, la bonne vieille récep-tion directe, avec pour tube électro-nique une double triode ECC82

(figure 1). Ses filaments sont bran-chés en série, avec une prisemédiane prévue pour 6,3 V. La ten-sion totale se monte ainsi à 12,6 V,tandis que le courant vaut 150 mA.Informations qui nous permettent dedéduire les caractéristiques dutransformateur d’alimentation (T2)nécessaire. Nous avons choisi unmodèle de 2 x 18 V et 135 mA. Latension de chauffage est prélevéesur l’un des enroulements, avecrésistance série (R7/R8) pour laramener à 12,6 V. Une consommationun peu trop élevée, mais commel’autre secondaire ne débite qu’uncourant de quelques milliampères, lachose est permise.Les deux enroulements secondairesde T2 sont branchés en série etaprès redressement (D1) et lissage(C12, R6 et C11), on obtient une ten-sion continue d’à peu près 60 V.Comme condensateurs électroly-tiques, on peut prendre des modèlesordinaires à basse tension, 63V. Lecondensateur C10 s’occupe dudécouplage en HF.La triode V1a fonctionne en détec-teur par la grille. Le réseau de détec-tion (LD + C3) se branche par l’in-termédiaire d’un petit condensateur(C5) à la grille, laquelle disposed’une résistance de fuite (R1) reliéeà la masse. La cathode, pour sa part,se connecte directement à la masse.Lors de la réception, c’est le circuitaccordé d’antenne (LA + C1) quiintroduit le signal à haute fréquence

HF&RADIO

732/2002 Elektor

V1a V1b

R2

68

k

R1

1M

R5

2k

2

R4

1M

R7

68

Ω

R8

15

R6

470Ω

R3

10k

C8

100p

C6

100p

C10

100n

C2

100p

C7

10n

C9

500p

C5

100p

C4

100p

T1

R

D

Gnd

C3

500p

P2

10k

P1

1k

K1-HS

C11

470µ

C12

470µ

D1

1N4001

K2

LRLDLA

C1

500p

A1

230V

V1 = ECC82

f

f

012014 - 11

T2

Figure 1. Une double triode ECC82 (V1), tout tourne autour d’elle !

Page 57: Mono-carte à PIC16F84 - Doctsf

gréable. On ne peut se permettre d’enarriver là. Un réglage précis de P1 etP2 autorise un énorme gain de sensi-bilité, mais au détriment de la bandepassante qui se réduit. L’aigu dispa-raît, le son s’assourdit.Par l’intermédiaire de C7 et R3, lesignal audio atteint la grille de latriode V1b, branchée en amplifica-teur BF. En atténuant la composanteHF, C6, R3 et C8 contribuent à réser-ver au signal audio la plus largeplage de fonctionnement disponiblede la triode. La conversion d’impé-dance opérée par la triode permetd’atteindre [(220 / 9)2 x 36 / 2] soit10 kΩ au niveau de l’anode. Lecondensateur C9 procure une légèresurdose de gain à hauteur de 5 kHz,ce qui rend le son plus clair. Enoutre, pour préserver autant quepossible la radio de la distorsion, iln’y a pas de condensateur de décou-plage de la cathode.

La constructionNous avons conçu pour cette radioune platine (à la figure 2) surlaquelle pratiquement tous les com-posants prennent place. Si vous uti-lisez les composants proposés dansla liste, tout devrait s’ajuster exacte-ment, il ne vous restera plus qu’à

effectuer de bonnes soudures. Pourne pas agrandir exagérément la pla-tine, deux trous de fixation y sontprévus - en diagonale l’un par rap-port à l’autre - sous les transforma-teurs. Il reste à les transpercer, à par-tir de la face des composants, demanière à pouvoir, tout à l’heure, yintroduire des boulons de M3 et5 mm de long, dont les têtes affleu-reront au circuit imprimé. À l’excep-tion des transformateurs, toutes lespièces pourront alors être installées.Les orifices repérés Gnd, D et R sontdestinés à recevoir des picots pour cir-cuit imprimé d’un diamètre de1,3 mm, il faut les y forcer. Le casqued’écoute se branchera dans un jackstéréo, K1, les deux bobines mises enparallèle, si bien que l’impédancerésultante avoisinera 16 Ω. K2 est uneborne de 10 mm pour platine. Lesrésistances R7 (montée verticale-ment !) et R8 seront tenues éloignéesde quelque 5 mm de la platine, parcequ’elles s’échauffent relativement fort.Après avoir monté et soudé tous lescomposants, on fixe, côté cuivre de laplatine, à l’aide de vis noyées, deuxentretoises de 10 mm, taraudées aupas M3 x 10. On peut alors installerles transformateurs. La platine sefixe, par des écrous vissés sur le filetextérieur, cette fois, au moyen de

HF&RADIO

74 Elektor 2/2002

INDUCTION RADIO

R1

R7

R8

C10 R

6 C12C11

C4

C7

R2

C6

R3

C8

R5

R4

C9

D1

C5

V1

ECC 82T1

K1

+

+

k

T2 K2

R

Gnd

D

INDUCTION RADIO

Figure 2. La platine et la répartition des compo-sants de la radio à induction.

Liste des composants

Résistances :R1,R4 = 1 MΩR2 = 68 kΩR3 = 10 kΩR5 = 2kΩ2R6 = 470 ΩR7 = 68 Ω/1 WR8 = 150 Ω/0W5P1 = 1 kΩ lin.P2 = 10 kΩ lin.

Condensateurs :C1,C3 = condensateur plat ajustable

500 pF, (Conrad 482323 parexemple)

C2,C4,C5,C6,C8 = 100 pF Styroflexou Polypropylène (Conrad 458686par exemple)

C7 = 10 nF MKT au pas de 7,5 ou10 mm

C9 = 500 pF (470 pF) Styroflex ouPolypropylène (Conrad 458767 parexemple)

C10 = 100 nF MKT au pas de 7,5 ou10 mm

C11,C12 = 470 µF/63 V

Selfs :LA,LD,LR = cf. encadré

Divers :D1 = 1N4001V1 = ECC82T1 = transfo encartable 230 V/9 V

1,5 VA tel que, par exemple, Gerthtype 3109-1

T2 = transfo encartable 230 V/2x18 V4,8 VA, tel que, par exemple, Gerthtype 421.36-2

K1 = jack stéréo 3,5 mm encartableK2 = bornier encartable au pas de

10 mmsupport pour ECC82 (Conrad 120529

par exemple)embase banane rouge (antenne)B embase banane noire (terre)2 boutons ronds fléchés 15 x 33 mm,

pour axe 6 mm2 boutons ronds fléchés 13 x 20 mm,

pour axe 6 mmcâble secteur avec priseCasque d’écoute 32 Ω

Page 58: Mono-carte à PIC16F84 - Doctsf

HF&RADIO

752/2002 Elektor

Les bobines en toile d’araignéePour atteindre un facteur Q raisonnable, une self à air doit êtregrande et bobinée en gros fil. Comme la gamme des ondesmoyennes ne correspond pas à des fréquences élevées, l’utilisa-tion de tresse dite fil de Litz n’est pas requise.

Pour que sa capacité propre reste faible, il faut qu’une bobine àair soit aussi « gonflée » que possible et c’est précisément lepropre des selfs en toile d’araignée. Les bobines en nid d’abeilleaussi, mais les fabriquer, c’est une autre paire de manches !Notre radio demande trois selfs identiques. C’est la distanceentre elles qui est différente, donc leur facteur de couplage.Pour les fabriquer, il nous faudra un rouleau de fil de bobinageémaillé de 0,4 mm de diamètre et une plaque d’ABS, parfoisappelé aussi polystyrol, d’une épaisseur de 1,5 mm. L’ABS, on entrouve dans les magasins pour modélistes.Les noyaux, nous allons les construire sans peine à l’aidedu gabarit reproduit ici. Il nous suffira de le copier troisfois sur du papier calque. Ces copies, nous allons lesappliquer sur la feuille d’ABS à l’aide de collant à doubleface ou de colle sous pression. Dans le dernier cas, c’estsur le calque qu’il faudra projeter la colle. Nous pour-rons alors découper dans la feuille les trois mandrins aumoyen d’une scie à chantourner pour le métal en suivantle contour rectangulaire. Ensuite, scions strictement lelong des lignes les 26 fentes jusqu’au cercle central. Àl’aide d’un tournevis dont la lame fait 2 mm de large,nous arrachons les bandelettes ballantes le long ducercle central de manière à obtenir une plaquette à13 ailettes. Le papier transparent (y compris la couchede colle), nous l’éliminons, nous ébarbons les ailettes etlissons les arêtes au canif à plusieurs reprises.Après avoir foré (au diamètre de 3 mm) les trous auxquatre coins et celui du milieu, avoir passé notre supportétoilé sous l’eau, à la brosse et au savon, il est prêt à sefaire embobiner. Dans le disque central, au point A, onperce un petit trou pour y passer le fil dont le bout doitdépasser d’une quinzaine de centimètres. On l’enrouleet on le presse contre le disque pour ne plus le trouveren travers du chemin. À partir de l’arrière, nous faisonspasser le fil dans la rainure devant l’ailette 1, puis versl’arrière de l’ailette 2. À chaque fente, on change decôté. Nous allons ainsi bobiner 53 spires. Comme lenombre de lamelles est impair, le fil passera une foisdevant, une fois derrière chacune d’elles et la toile

d’araignée se disposera convenablement. Il faut cependant veillerà garder le fil bien tendu pour qu’il se mette en place de lui-même. Après 53 tours, on peut couper le fil, en laissant libre unelongueur d’environ 16 cm et passer l’extrémité à travers le trou àla position B. L’extrémité du fil au point A, nous pouvons à pré-sent la redresser et la plier à vif contre le bord, pour l’empêcher

de glisser, idem pour l’extrémité B. Le « fil A » sera le débutdu bobinage, le « fil B », la fin. Le début et la fin doivent setrouver du même côté de la plaquette, sinon, une erreur aété commise quelque part.Il nous faut réaliser trois bobines identiques, chacune présen-tera une inductance de 200 µH, une faible capacité parasiteet, de concert avec le condensateur d’accord, un facteur Qvoisin de 60, ce qui n’est pas si mal.Les selfs doivent être disposées de manière à s’influencermutuellement par induction. À gauche vient la bobine d’an-tenne (LA), 10 cm plus à droite, la bobine du détecteur (LD)et 5 cm encore plus à droite, la bobine de réduction del’amortissement (LR). Le montage est plus aisé à réaliser ens’aidant d’une planchette sur laquelle on a collé trois pairesde lattes (chacune de 5 x 5 mm et 10 cm de long). On peutalors coincer par la tranche les bobines dans les rainures ainsiformées. Il faut disposer les selfs de manière à ce que lepoint B soit vers l’avant et les fils à droite. Dans les troussupérieurs et centraux, nous enfilons alors les baguettes deliaison, à coller avec une goutte de colle. Nous avons craquépour des tiges rondes en plastique transparent, elles nousavaient fait de l’œil dans le magasin d’accessoires pour

modélisme ferroviaire ! Mais des baguettes en bois pour les bro-chettes feront aussi l’affaire. Dès que la colle est sèche, on peutretirer les bobines de leur berceau et glisser les deux dernièrestiges dans les trous inférieurs. Le bloc de selfs, nous l’avons visséau plancher du récepteur, maintenu à l’aide de deux bandelettes(110 x 5 x 10 mm) de Perspex. Et mieux qu’un long discours, laphoto vous dira tout sur l’aspect final de la réalisation.

1

2

34

5

6

7

8

9

1011

12

13

AB

012014 - 12

Page 59: Mono-carte à PIC16F84 - Doctsf

deux entretoises, au pas M3 x 10 également.La platine se trouve à présent soutenue parles quatre coins. Et si nos explications vousparaissent oiseuses, la photo de la figure 3vous en dira certainement davantage.Attaquons-nous au reste du récepteur. Legroupe de bobines, les condensateurs d’ac-cord, les potentiomètres atténuateurs (P1pour le réglage fin, P2 pour le dégrossissage)et les douilles pour l’antenne et la terre seplacent entre le plancher et la face avant.Une bonne solution pour fabriquer le châssis,c’est de partir d’une planche de hêtre auxdimensions de 33 x 20 x 1,2 cm, que l’on peuttrouver dans les grandes surfaces. On endécoupe, dans la longueur, à la scie, unebande de 7 cm. Contre la tranche sciée, nousavons vissé une plaque de Triplex de bouleau,aux coins supérieurs arrondis. Mieux vautavoir convenablement poncé le bois au préa-lable. On peut encore l’enduire d’un vernistransparent.À gauche, sur le plancher, nous avons fixé legroupe de selfs, à droite, la platine. Lescondensateurs de syntonisation, les poten-tiomètres et les douilles se placent derrière laface avant. La bobine d’antenne (LA) est reliée directe-ment à C1 et la bobine de détection (LD) à C3(les fils A aux contacts mobiles). Ces balaissont reliés entre eux et mis à la terre. Au balaidu condensateur d’accord du détecteur arriveun fil pour la liaison avec le contact « Gnd »de la platine. Ce fil, ainsi que le fil B de labobine LR, sont soudé ensemble à une cosseamovible que l’on glissera sur le clou repéré« Gnd » sur la platine. La liaison entre le« côté chaud » (opposé à la terre) de C3 et lepoint D de la platine se réalise également aumoyen d’une cosse amovible. Ensuite, onrelie le fil A de la bobine LR à P1, les curseursde P1 et P2 ensemble et P2 au point R de laplatine, encore avec une cosse semblable.Pour finir, on connecte la douille d’antenne aucôté « chaud » de C1 par le truchement d’uncondensateur de 100 pF. La figure 4 nous pré-sente une autre vue du récepteur terminé.Pour parfaire la finition et faciliter l’utilisation,nous avons ajouté en façade des plaquettesd’identification et pourvu les condensateursd’accord d’échelles graduées.

PrestationsIl est difficile de prévoir combien de stationsvous pourrez capter de chez vous. Mais pourciter un exemple vécu, d’un appartementsitué au sud de la grande banlieue amstello-damoise (Weesp), avec un fil suspenducomme une corde à linge, sur le balcon, enguise d’antenne et le radiateur pour prise deterre, nous pouvons écouter, en journée, six

émetteurs, parmi lesquels Bruxellesfrançais (RTBF1) assez faiblement (à180 km de distance) et la BBC trèsclairement (300 km, mais par-dessusla mer). Les stations néerlandaisesde la gamme OM nous parviennentavec beaucoup de puissance (Hilver-sum n’est pas loin) et Radio 10 FMest même assourdissante au casque.Si l’on se donne la peine de réduirelégèrement la réaction, la qualitésonore devient étonnamment bonne.Grâce aux deux boutons d’accordséparés, il est possible de régler levolume et la bande passante, aupoint de recevoir, par exemple, laBBC sans aucune perturbation en

provenance d’un émetteur hollandaistrès puissant situé juste à côté. Maisalors, le soir et la nuit, on a peine àcompter le nombre de stations diffé-rentes que l’on peut capter.Vous comprendrez vite qu’il fautacquérir une certaine expériencepour manipuler de façon optimale cerécepteur. Ceux qui ont connul’époque de la TSF à tubes écoute-ront ce poste avec un brin de nostal-gie, quant aux plus jeunes, ils admet-tront sûrement qu’aucune radiomoderne ne peut leur procurer leplaisir de tourner à tous ces boutons !

(012014)

HF&RADIO

76 Elektor 2/2002

Figure 3. Un montage clair et aéré, c’est toujours plus agréable.

Figure 4. Le récepteur terminé, mais vu par l’arrière.

Page 60: Mono-carte à PIC16F84 - Doctsf

OUTILSDEDÉVELOPPEMENT

80 Elektor 2/2002

Cette société nous a fait par-venir un exemplaire de l’un deses derniers outils de dévelop-pement, le BasicCard kit.Le kit de développementBasicCard arrive dans un jolicoffret qui contient tout cedont on aura besoin pour effec-tuer ses premiers pas avec les

cartes à puce et leur program-mation, à savoir unlecteur/encodeur de cartes àpuce CyberMouse®, unmanuel en anglais de pasmoins de 150 ages, un mini-

CD dans sa housse, un lecteurd’état de compte et bienentendu 3 cartes BasicCardprogrammables, une ZC1.1(1 Koctet d’EEPROM) et 2ZC3.3 (8 Koctets d’EEPROM).Le kit comprend également unlecteur de cartes fiduciaires(téléphone, porte-monnaie

électronique) mais pour lescartes allemandes et néerlan-daises (téléphone) unique-ment.La première caractéristiquequi frappe est le mode de

connexion du lecteur de carte :il est en effet double, compor-tant un connecteur sub-D à9 contacts sériel et uneembase et un connecteur PS/2.Contrairement à ce que l’onpourrait penser, il n’existe pasde possibilité de choix entrel’approche sérielle et l’ap-proche PS/2, la connexion PS/2servant en fait à l’alimentationdu lecteur. Cela signifie par-tant que ce système n’est com-patible qu’avec les ordinateurscomportant simultanémentune embase sérielle et uneentrée PS/2.Signalons au passage qu’ilexiste une version USB de laCyberMouse®.Le logiciel est proposé sur unmini-CD qui comporte quelque56 Moctets de programmes entous genres.L’installation du logiciel Basic-Card V3.21 est faite en

BasicCard

quelques secondes. Il estrecommandé de faire un sautsur le site Internet de ZeitCon-trol (dont il existe égalementune version en anglais) sis àl’adresse :

www.zeitcontrol.depour voir s’il n’existe pas unenouvelle version du pro-gramme. Comme vous n’êtespas sans le savoir, les chosesvont extrêmement vite dans cedomaine, et vu qu’il existe uncertain décalage entre la dated’écriture de ces lignes et l’ins-tant où vous les lirez...Un petit tour sur le site consa-cré à la Basiccard, à l’adresse :

wwww.basiccard.comnous a en effet appris que laversion la plus récente était laversion V4.13.11. Comme on levoit les choses changent vite.On fera également un tour surle site :

www.cybermouse.de

ZeitControl est devenu, en très peu de temps,un peu plus de 2 lustres, l’un des leaders dansle domaine de la carte à puce et de ses outilsde développement et cela indubitablement dansle cas de l’amateur.

Page 61: Mono-carte à PIC16F84 - Doctsf

pour voir s’il n’y a pas de nou-veau pilote.En principe, dit le manuel, celane devrait pas être nécessaire.Le mini-CD comporte égale-ment un manuel de 154 pageslisible sous le Reader d’Acro-bat qui est en fait la versionélectronique du manuel quiaccompagne le kit. On pourraainsi s’y référer dès que l’on seposera la moindre question.

Pourquoi utiliser uneBasicCard ?Les solutions concurrentes àbase de Windows®, Java® ouMultiOS® ont besoin, pour uneapplication simple qui ne lejustifie pas, de beaucoup plusde ressources de sorte que lapuce qui en découle (1 Koctetde RAM + 32 Koctets de ROMet 32 Koctets de EEPROM)coûte partant sensiblementplus cher que son équivalenten Compact BasicCard(256 octets de RAM, 8 Koctetsde ROM et 1 Koctet d’EE-PROM) qui coûtera jusqu’à3 fois moins cher.Comme son nom l’indique, laBasicCard est la première carteà puce (connue sous la déno-mination de SmartCard hors del’Hexagone) programmable enBASIC. Il existe en fait 2 typesde cartes à puce, l’une toutebête, la carte de mémoire qui,comme le laisse supposer sonnom, ne comporte que de lamémoire, et la carte dont lapuce intègre un microcontrô-leur qui la rend « intelligente ».Cette carte est en fait un sys-tème à microcontrôleur com-plet avec RAM, ROM, EEPROMet utilisant certains de sescontacts en tant qu’interfacesérielle bidirectionnelle pourétablir le contact avec l’exté-rieur. Cette approche « sécu-rise » la carte sachant que leprogramme exécuté par lemicrocontrôleur a accès auxdonnées stockées en EEPROMet que partant c’est lui quidécide des données échangéesavec son interlocuteur et déter-mine les conditions requisespour que cet échange ait lieu.La BasicCard est faite pour lesprojets qui démarrent petit. Ilest en effet possible de com-mander quelques cartes (àl’unité, par dizaines, voire parcentaines) à des prix accep-tables.

Autre aspect très intéressantde la BasicCard, la sécurité.Ces cartes supportent lesstandards tels que DES (DataEncryption Standard) & Tri-pleDES, mais il existe égale-ment un codage dit EllipticalCurve Cryptography à160 bits ! La toute dernière ver-sion de la BasicCard, la ZC4.1,est la première carte du mar-ché à supporter l’AES (Advan-ced Encryption Standard), fai-sant appel à des longueurs deblocs de 128 bits et des clés de128, 196, voire 256 bits.

Mettons la main à la pâte !Venons-en à nos premièrestentatives.Les différents exemples four-nis sont prévus pour tournersur une carte de type Basic-Card 3.3. Comme les exem-plaires fournis pour se faire lamain sont des types 3.1 et 3.9on ne sera guère surpris devoir apparaître un messageindiquant que les fichiers ontété écrits pour une EnhancedBasicCard 3.3... Il suffira toutsimplement de recompiler leprogramme en paramétrant àZC3. 9 l’option cible.La prise en main de ce kitrequiert, si l’on veut fabriquerses propres cartes, un mini-mum de connaissances enBASIC. Mais le débutant dansce langage aura vite fait d’enapprendre les bases en lisantattentivement le manuel quiaccompagne le kit.L’environnement de travailtourne sous Windows ce quise traduit par un excellentconfort de mise en oeuvreindiscutable. Pour les plusavancés d’entre nos lecteurs,le kit comporte un API pourtravailler en C/C++ ou unOCX pour programmer à basede Basic. Il existe une possibi-lité de simulation de la Basic-Card avant de passer à la pro-grammation réelle par télé-chargement (download) ducode. Lorsque l’on est satisfaitdu déroulement du programmeon pourra passer à sa mise« en puce » en sélectant l’op-tion « Real BasicCard » dumenu Preferences.Le double débogueur symbo-lique permet de faire du pas àpas simultanément dans lecode-source de la BasicCard et

dans celui du PC.Après avoir terminé nos expé-riences il est temps de « fairele ménage ». Ici encore pas deproblème. Le logiciel se laissedésinstaller très proprement,ce qui n’est malheureusementpas le cas de tous les logicielsque nous avons à installerpour les découvrir. Mérited’être relevé.Les applications de la Basic-Card sont innombrables, ellesvont du porte-monnaie électro-nique à la carte d’identité enpassant par la carte de sécu-rité sociale et les cartes d’ac-cès à des points ou matérielssensibles.Si le prix des cartes de baseest très abordable, il existedéjà une BasicCard avec 8 Koc-tets d’EEPROM pour 3,95 $US,les versions plus puissantestelles que la ZC4.1 (avec29 Koctets d’EEPROM et sécu-rité RSA) étant sensiblementplus coûteuses (9,95 $US) maisd’un meilleur rapport

mémoire/prix (29/8 Koctetsd’EEPROM). Cette dernièreest, grâce à sa nouvelle CPUde type RISC, 4 fois plusrapide que la ZC3.X et sup-porte des taux de transfertcompris entre 9 600 à38 400 bauds.Vu le coût très abordable de cekit, de l’ordre de 70 aux-quels s’ajoutent les frais deport et d’emballage, l’expé-rience mérite indubitablementd’être tentée, sachant cepen-dant que si l’on veut aller au-delà des premiers essais, lasuite implique l’achat decartes par paquet de 10 (mini-mum de commande).Signalons, en guise de conclu-sion à ce rapide aperçu despossibilités offertes par le kitde développement BasicCardde Zeitcontrol que Hi TechTools est le distributeur deZeitcontrol en France.

(027028)

OUTILSDEDÉVELOPPEMENT

812/2002 Elektor

Page 62: Mono-carte à PIC16F84 - Doctsf

Cela fait déjà plusieurs années que l’indus-trie de la musique se plaint de pertes impor-tantes qu’elle attribue aux recopies illégalesde CD audio. De nos jours, la plupart desordinateurs personnels comporte un graveurde CD au nombre de leurs périphériques.Faire une copie de CD pour un membre de lafamille ou un voisin est une affaire dequelques minutes avec les graveurs les plusmodernes. Ce n’est bien évidemment pas lebut de la manoeuvre. Non seulement lesfabricants et les distributeurs voient leursrevenus amputés, mais c’est aussi le cas desparoliers, des chanteurs et des musiciensqui font tous de leur mieux pour nous pro-poser de beaux CD. On peut difficilementinterdire à qui que ce soit de faire une copied’un CD qu’il a acheté pour son propreusage, mais il n’est bien évidemment pasquestion d’acheter un CD pour ensuite enfaire une (dizaine de) copie(s) pour chacunede ses connaissances.L’industrie tente, pour mettre fin à ces pra-tiques de copies domestiques, de protéger lesCD audio de différentes manières pour enempêcher une copie numérique sur PC. Plu-sieurs sociétés ont opté pour des techniquesdifférentes qui sont, disent-elles, d’une par-faite efficacité. Un certain nombre de grosproducteurs de musique ont décidé d’appli-quer ces méthodes sans cependant dire, dansla majorité des cas, de quels CD il s’agit.

Les sociétés ayant mis au point cesméthodes de protection ne sont bienévidemment pas très bavardesquant il s’agit d’identifier la méthodeutilisée, mais ce qui se passe en grosest que l’on modifie le CD audio detelle façon à empêcher à un PC deréaliser une copie exacte parfaitedepuis le lecteur de CD-ROM dont ilserait équipé.

La méthode la plus connue est d’ori-gine Macrovision. Leur système« SafeAudio » mutile volontairementles données audio et les codes decorrection d’erreur du CD audio defaçon à ce que le lecteur de CD-ROMd’un PC ait des problèmes avec cesinformations. Le résultat est qu’à lareproduction, un fichier numériquepris en compte, produit des signaux

ÉLECTRONIQUEEN LIGNE

82 Elektor 2/2002

L’industrie de la musiqueprotège les CD audioAdjonction délibérée d’erreurs pour éviter les copies

La recopie illégale de CD audio coûte chaque année (et de plus en plus) dessommes colossales à l’industrie de la musique. Un certain nombre de sociététentent, à l’aide de techniques de protection raffinées, de protéger leurs CDaudio contre les copies pirates. La question que l’on est en droit de se poserest de savoir si ces techniques sont efficaces et si elles servent l’intérêt duconsommateur.

Harry Baggen

Page 63: Mono-carte à PIC16F84 - Doctsf

musique ne subissent aucune mutilation maisque lors de la création du CD maître (le glass-master) il est créé et ajouté une sorte d’em-preinte numérique qui rend impossible touterecopie numérique.Cactus Data Shield est une technique de Mid-bar [5] très utilisée pour le moment. Il sem-blerait que plus d’un million de CD aient étéprotégés à l’aide de cette technique. Lesinformations concernant ce système sontextrêmement succinctes.La technique MediaCloQ de SunnComm [6]semble faire appel elle à une autre méthodeencore. Il est possible d’identifier un CD dotéde cette protection par une réflexion sensi-blement différente à la fin de la piste audiosur le CD.Le site de CD Media World [7] propose unpanorama parlant des systèmes de protectionutilisés actuellement. Chacun de systèmesest passé en revue sans entrer dans tous lesdétails cependant.Avec toute cette poussière soulevée par lesprotections des CD audio on pourrait êtretenté d’oublier qu’il reste toujours très faciled’obtenir une copie d’un CD : utiliser toutsimplement la sortie analogique. Le grosinconvénient de cette approche est qu’unecopie prend énormément de temps. IL fautajouter à cela les faibles pertes au niveau dela qualité du son dues aux conversions N/Aet A/N additionnelles. On peut se poser laquestion de savoir si le consommateurlambda y voit le moindre problème ? Il n’a pasle moindre problème avec les fichiers MP3cueillis sur Internet et dont la qualité estmoins « audiophile »...

(025005)

parasites gênants qui enlèvent touteenvie de mettre ce fichier sur un CD-R. Les lecteurs de CD audio clas-siques ne semblent pas avoir de pro-blème de lecture. Son système decorrection d’erreur se plante lamen-tablement en raison de ces valeurserronées, mais le lecteur se « cal-cule » les valeurs intermédiairesmanquantes par interpolation.Nous n’apprécions guère cetteméthode. L’industrie commence parfaire de son mieux pour définir unstandard CD en vue d’obtenir la qua-lité de reproduction la plus élevéepossible et la meilleure toléranceface aux erreurs (à la suite derayures entre autres), pour mainte-nant, du jour au lendemain, ajoutersciemment des erreurs grossières.Du côté des audiophiles les protes-tations contre cette façon de procé-der se font de plus en plus audiblesvu que l’on craint que les méthodesde protection n’aient une influencenéfaste sur la qualité du son. Et cen’est pas sans raison nous semble-t-il ! L’expert Hi-Fi anglais, MartinColloms, est, entre autres spécia-listes, formellement contre cetteméthode. Il la compare à un badi-geonnage des peintures d’un muséepour éviter qu’elles ne soient volées.Ces opinions sont exprimées dansdes articles de NewScientist [1] etde New Media Music [2]. Aux États-Unis il a été déposé plainte à l’en-contre des sociétés d’édition musi-cale qui mettent des CD audio pro-

tégés sur le marché ne comportantpas d’avertissement bien visible surl’emballage.Quelles sont les sociétés concernées.La plus connue et aussi la plusgrande est, nous le disions plushaut, Macrovision [4], connue, entreautres, pour ses systèmes de protec-tion anti-copie de bandes vidéo dumême nom.La technique SafeAudio de Macrovi-sion est un développement dont l’ori-gine est une société israélienne, TTRTechnologies. Macrovision prétendavoir fait des tests d’écoute pendantde longs mois en faisant appel tantà des « Messieurs-Tout-Le-Monde »qu’à des experts aux oreilles ultra-sensibles dits « oreilles d’or ». Lerésultat de ces écoutes a été quepersonne n’a été en mesure dedétecter un quelconque changementdu signal de musique, modificationdue à la présence de la protectionanti-copie. La société ne veut pasnommer les CD sur lesquels cettetechnique a été adoptée, mais ilsemblerait qu’il y ait en circulationun certain nombre de titres connuscommercialisés en nombres impor-tant et que le nombre de réclama-tions soit, dit Macrovision, minime.Sony, qui est, non seulement unfabricant de produits grand publicmais aussi un acteur important dansla branche audio et fabricant de CD(Sony DADC) utilise sa propre tech-nique baptisée Key2Audio [4]. Cettesociété affirme que les données de

ÉLECTRONIQUEEN LIGNE

832/2002 Elektor

Adresses Internet :[1] NewScientist:

www.newscientist.com/news/news.jsp?id=ns9999998

[2] New Media Music:www.newmediamusic.com/articles/NM01080292.htmlwww.newmediamusic.com/articles/NM01100072.html

[3] Macrovision SafeAudio:www.macrovision.com/solutions/newtech/safeaudio.php3

[4] Sony DADC Key2Audio:www.key2audio.com/key2audio/index.htm

[5] Midbar Cactus Data Shieldwww.midbartech.com/cactus2.html

[6] SunnComm MediaCloq:www.sunncomm.com/

[7] CD Media World:www.cdmediaworld.com/hardware/cdrom/cd_protections.shtml