58

À la recherche des pannes - Doctsf.com

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: À la recherche des pannes - Doctsf.com
Page 2: À la recherche des pannes - Doctsf.com

TEST&MESURE

8 Elektor 5/2002

Testeur DMXportableRien sur les bras, tout dans la poche

Projet : Benoît Bouchez

Il arrive fréquemment que l’on ait à tester un appareil compatible DMX,voire une installation complète, lorsque des anomalies de fonctionnementapparaissent. Le testeur décrit ici évite d’avoir à monopoliser un maîtreDMX (PC ou console) pour cet usage, sa compacité et sa batterieintégrée lui permettant d’être utilisé dans toutes les situations. Cerise surle gâteau : il sait aussi bien émettre des données DMX qu’en recevoir.

Page 3: À la recherche des pannes - Doctsf.com

TEST&MESURE

95/2002 Elektor

À la recherche des pannes...Quiconque a un jour installé (voireréalisé) des appareils compatiblesDMX a été confronté à des pro-blèmes de fonctionnement.Il est impossible de décrire ici l’éten-due des pannes et de leurs symp-tômes, tant le sujet est vaste! Selonles cas, cela peut aller du simpleappareil (scanner, gradateur, etc.)qui refuse de répondre à des ordresjusqu’à l’installation complète quiest prise d’une soudaine folie et exé-cute des programmes qu’elle sembleseule à connaître...Avec les systèmes à commande 0 à10 V, un simple multimètre permetbien souvent de trouver l’origine duproblème et de résoudre celui-ci.Avec DMX512, rechercher un défautsimplement à l’aide d’un multimètreou d’un oscilloscope reviendrait àessayer de trouver un trésor enfouiquelque part dans un champ encreusant avec une petite cuillère...Pour dépanner sérieusement uneinstallation ou un appareil DMX512,il faut disposer d’un outil capabled’envoyer des ordres compréhen-sibles (entendez par-là conformes àla norme DMX512) sur les liaisons,mais également d’interpréter et d’af-ficher ce qui se passe à un instantdonné sur ces mêmes liaisons.On peut certes utiliser une interfaceDMX, comme celles décrites récem-ment dans ELEKTOR, couplée à unPC, mais cette solution représenteun investissement important si on enlimite l’utilité aux fonctions de test.Qui plus est, emmener un PC, fût-ilportable, à plusieurs mètres de hau-teur, près des projecteurs à tester,n’est pas forcément pratique.Le testeur présenté ici permet derésoudre de façon élégante cesdivers problèmes. Pour vous enconvaincre, il suffit de jeter un petitcoup d’oeil aux caractéristiques don-nées dans le tableau 1.

Le schémaIl y a encore quelques années, la réa-lisation d’un testeur capable de réa-liser les fonctions énoncées dans letableau 1 aurait nécessité un circuitimposant, centré sur un micropro-cesseur, et accompagné de toute unecour de périphériques (UART,

+5V

X1

8MHz

C2

33p

C1

33p

RD+

RD–

TD+

TD–

R5

4k7

R6

4k7

+5V

SHIELD

SHIELD

S1 S2 S3 S4 S5

1 2

3 4

5 6

7 8

9 10

11 12

13 14

K1

1 2

3 4

5 6

7 8

9 10

K2

+5V

+5V

AT90S8515

RESET

AIN0

MOSI

MISO

INT0

INT1

IC1

AIN1

OC1A

OC1B

SCK

AD0

AD1

AD2

AD3

AD4

AD5

AD6

AD7

PC2

PC4

PC5

PC6

PC7

PC3

RXD

TXD

PC0

PC1

ALE

PD4

ICP

T0

T1

SS

RD

WR

39

38

37

36

35

34

33

32

21

22

23

25

26

27

28

19

X1

18

X2

20

40

17

16

30

11

10

12

13

14

15

24

29 31

9

1

2

3

4

5

6

7

8

R4

10k

R2

47k

R3

470k

T1

BC547

C3

1µ16V

D2

1N4148

+5V

10k

P1

+9V EXT

+9V BATT

R1

D1

1N4001S6 D3

1N4001

C4

100µ16V

C5

100n

C6

100n

C7

100n

C8

100n

C9

100n

7805

IC3

+5V

0V

0V

010203 - 11

*

zie tekst*see text*voir texte*siehe Text*

LTC490

IC2

6

53

2

D

R7

8

1

41

EXT

OFF

BATT

Figure 1. Le schéma du testeur DMX portable n’a rien de bien complexe, encore qu’ils’agisse en fait d’un système à micro-contrôleur complet.

Tableau 1 : Caractéristiques du testeur DMX portable– Testeur portable, aux dimensions réduites– Compatible DMX512-1990– Affichage LCD des données émises et reçues– Utilisation très simple (5 touches)– Fonctionnement sur batterie ou sur adaptateur secteur– Deux fonctions : émission et réception DMX– Emission sur 512 canaux DMX (480 canaux réglables, les autres restent à 0)– Start-Code à l’émission modifiable à volonté– Réception sur 480 canaux, avec affichage des valeurs reçues sur l’échelle 0 à 255– Affichage du Start-Code reçu– Indication de réception de données, pour détecter les coupures intempestives– Possibilité d’utiliser le testeur en tant que mémoire de scène

Page 4: À la recherche des pannes - Doctsf.com

TEST&MESURE

10 Elektor 5/2002

010203-1

(C) ELEKTOR

C1

C2

C3

C4

C5

C6 C7

C8

C9

D1

D2

D3

HO

EK

1

HOEK2

HO

EK

3

HOEK4

IC1

IC2

IC3

K2

P1

R1

R2

R3

R4

R5R6

S6

T1

X1

010203-1

+9V BATT

0V

0V

+9V EXT

SHIELD

SHIELD

TD-

TD+

RD-

RD+

K1

S1

S2

S3

S4

S5

010203-1

(C) ELEKTORFigure 2. Dessin des pistes et sérigraphie de l’implantation des composants du testeur DMX portable.

Figure 3. Exemplaire terminé de la platine du testeur DMX portable avant sa mise en coffret.

Page 5: À la recherche des pannes - Doctsf.com

façons : soit via un simple adaptateur secteurdélivrant environ 9 V, soit par une batterieCdNi interne. Le choix entre les deux sourcesse fait simplement par un commutateur à3 positions (S6), qui coupera l’alimentation enposition centrale.La diode D3 protège le testeur en cas d’inver-sion de polarité d’alimentation.Le circuit D1/R1 est un chargeur d’accumula-teur réduit à sa plus simple expression. Il per-met la charge de la batterie embarquée dèslors qu’une alimentation externe est connec-tée au testeur. La valeur exacte de R1 dépendd’une part de la capacité de l’accumulateur,d’autre part de la tension délivrée par le blocsecteur. À ce propos, sachez que si vous ins-tallez une batterie de 9,6 V, il vous faudra dis-poser d’un bloc secteur délivrant au moins14 V pour assurer une charge efficace de labatterie. Le 7805 supportant une tension maxi-male en entrée de 18V (selon les modèles),cela laisse une marge d’action suffisante.Le calcul de R1 se fait simplement en appli-quant la formule suivante :

R1 = (Ubloc secteur – (Ubatterie*1,2) – 0,7) /Icharge

sachant que Icharge vaut en principe 0,1 fois(le 10ème de) la capacité de l’accumulateurexprimée en Ah (ampères/heure).Pour une batterie de 9,6 V/500 mAh chargéepar un bloc secteur délivrant 14 V, R1 vaudradonc :

R1 = (14 – (9,6 * 1,2) – 0,7) / 0,05 = 35 Ω (soit33 Ω en série E24).

La puissance dissipée par R1 sera de33 Ω * (0,05 A) soit 0,1 W environ. Un modèlede résistance 1/4 ou ? W sera donc parfaite-ment adapté.

La réalisationAvec un tel schéma centré sur un microcon-trôleur, la réalisation est d’une simplicitéexemplaire, même sur un circuit imprimésimple face dont on retrouve le dessin despistes et la sérigraphie de l’implantation descomposants en figure 2.Malgré tout, certains points de constructionméritent un éclairage particulier, car plu-sieurs composants sont montés côté cuivre,à savoir les boutons-poussoirs et l’afficheur.Une fois que les composants « normaux »(entendez par là montés côté « composants »)installés, nous vous recommandons de com-mencer par installer les boutons-poussoirs. Sivous utilisez des touches Digitast, comme surnos prototypes, sachez que ces touches sonttrop basses par rapport à l’afficheur et se pla-

mémoires ROM et RAM, etc.).Grâce aux microcontrôleurs, toutecette circuiterie tient désormais enun seul circuit intégré, au point quele schéma présenté figure 1 sembleà la limite famélique. Difficile en effetd’imaginer plus simple (remarquezque ce qui est simple au niveau élec-trique ne l’est pas forcément auniveau logiciel, mais c’est une autrehistoire...).Tout le travail est assuré par IC1, unmicro-contrôleur ATMEL de la

famille AVR, qui intègre tout ce dontnous avons besoin : 8 Koctets demémoire Flash pour le logiciel,512 octets de RAM, deux temporisa-teurs (timer), un port série, et même512 octets d’EEPROM que nousn’utiliserons toutefois pas ici.Ce pavé est cadencé par une horlogede 8 MHz, qui lui donne une puis-sance de 8 MIPS (soit 8 millionsd’instructions par seconde, MIPS =Million Intructions Per Second), lar-gement suffisante pour prendre encharge les diverses fonctions deman-dées au logiciel.L’AT90S8515, c’est le petit nomd’IC1, intègre même son program-mateur. Il suffit d’un câble adéquatbranché sur le port parallèle d’un PCet d’un logiciel mis gratuitement àdisposition par ATMEL pour télé-charger la mémoire Flash avec lelogiciel. Le câble en question sebranche sur le connecteur K2, quipourra ne pas être monté si vousdécidez d’acheter le circuit intégrépréprogrammé auprès des adresseshabituelles.Le circuit d’initialisation autour dutransistor T1 peut paraître étrange àpremière vue. En fait, il permet l’ini-tialisation de la carte par le circuitR2/C3 lors de l’utilisation normale,mais également lors des phases deprogrammation par le logicielATMEL.L’interface avec l’afficheur LCD estréduite à sa plus simple expression.Le port A d’IC1 est configuré enmode bidirectionnel et prend encharge l’ensemble des échanges dedonnées. Les signaux de commandesont gérés par des lignes des ports Cet D, le logiciel se chargeant de res-pecter les « timings » adéquats pourle contrôleur LCD.Les cinq touches de commande sontdirectement prises en charge par deslignes d’entrée du port B.Coté DMX512, l’interface est réaliséedirectement autour d’un composantdésormais bien connu des lecteurs,un LTC490 (équivalent au SN75179),chargé d’effectuer la conversionTTL/RS-485. Etant donnée l’utilisationprévue du testeur et son alimentationpar batterie, nous n’avons prévuaucune isolation galvanique entre lecircuit d’interface et le processeur.Afin d’étendre au maximum les pos-sibilités d’utilisation du testeur,celui-ci peut être alimenté de deux

TEST&MESURE

115/2002 Elektor

Liste des composants

Résistances :R1 = *R2 = 47 kΩR3 = 470 kΩR4 = 10 kΩR5,R6 = 4kΩ7P1 = ajustable 10 kΩ

Condensateurs :C1,C2 = 33 pFC3 = 1 µF/16 VC4 = 100 µF/16 VC5 à C9 = 100 nF

Semi-conducteurs :D1,D3 = 1N4001D2 = 1N4148T1 = BC547IC1 = AT90S8515 (Atmel

programmé EPS010203-41)IC2 = LTC490-CN8 (Linear

Technology)IC3 = 7805

Divers :S1 à S5 = bouton-poussoir

unipolaire à contact travail telque Digitast

S6 = interrupteur unipolaire àposition centrale

X1 = quartz 8 MHzK1 = embase femelle à 1 rangée

de 14 contacts *K2 = embase mâle HE-10 à

2 rangées de 5 contactsAffichage LCD à 1 ligne de

16 caractères compatible avec lemicrocontrôleur HD44780, telque, par exemple, NLC-16x1x07(Conrad 183 261) ou Selectronic(22.9555)

éventuellement * :embase XLR 5 contacts châssis

femelleembase XLR 5 contacts châssis

mâle* = cf. texte

Page 6: À la recherche des pannes - Doctsf.com

cent alors en retrait de la face avant. Qui plusest, la soudure des pattes côté cuivre est trèsdifficile si les touches sont montées directe-ment contre la face cuivrée.Nous avons donc élaboré une autre solutionqui donne d’excellents résultats. Il vous suf-fit de souder des picots de montage sur lespastilles qui reçoivent les pattes des touches.Ces picots sont disponibles chez certainsdétaillants, mais si vous n’en trouvez pas, ilvous suffit de les récupérer sur un vieux sup-port tulipe de circuit intégré, en les débar-rassant du plastique qui les enrobe. Aprèsquoi, il suffit d’insérer les touches dans lespicots et le tour est joué.Une fois les touches installées, vous aurezune idée précise du positionnement du circuitimprimé par rapport à la face avant du boîtier,ce qui vous permettra de déterminer la posi-tion de l’afficheur LCD en fonction de sonépaisseur. La mise en place de l’afficheurpourra se faire de 2 façons différentes, fixa-tion par fils semi-rigides ou par connecteur.Prenons la première approche qui ne requiertpas de composant spécial.Commencez par souder 14 fils sur les pas-tilles du circuit imprimé de l’afficheur, puispassez ces liaisons dans les trous du circuitprincipal. Réglez ensuite la hauteur de l’affi-cheur pour qu’il affleure la face avant du boî-tier, en jouant sur la longueur des fils. Quand

la bonne distance est trouvée, vousn’avez plus qu’à souder l’ensembledéfinitivement.Mais on pourra également opterpour la mise en place d’une embasefemelle à une rangée de 14 contacts(tulipe) dans laquelle viendra s’enfi-cher le connecteur mâle soudé surl’afficheur. Leurs pas sont iden-tiques… Vous obtenez alors un mon-tage semblable à celui présenté surles photos qui illustrent l’article.Concernant l’interrupteur S3, il suffitd’installer un modèle à bascule à3 positions sur le coté ou la faceavant du boîtier.Le régulateur IC3 sera couché à platet fixé sur la platine à l’aide d’unecombinaison boulon + écrou M3. Laplatine fera ainsi office de radiateur.Pour l’alimentation externe, le plussimple est de faire appel à un petitconnecteur comme ceux que l’ontrouve sur la majorité des appareilsélectroniques à adaptateur externe.Evitez les jacks qui provoquent descourts-circuits lors des insertions etdes retraits.Une fois terminé, votre montagedevrait ressembler à notre prototypereprésenté en figure 3.

Nous vous laissons le choix dumodèle de batterie 9,6 V (un modèle500 mAh est bien adapté à cetusage) en fonction de votre boîtier.C’est la solution que nous avonsadoptée pour nos protypes. Le caséchéant, vous pouvez même vouspasser de cette source d’énergie si lefait d’avoir un « fil à la patte » nevous gêne pas.Dernier point à aborder concernant laconstruction : la connectique DMX.Théoriquement, notre testeur doitêtre équipé de deux connecteursXLR, l’un pour la réception (connec-teur mâle), l’autre pour l’émission(connecteur femelle). Comme ilexiste deux standards en DMX, àsavoir XLR3 et XLR5, vous devrezfaire un choix entre ces deux connec-teurs et prévoir des adaptateurs lecas échéant. Sachez que les modèlesXLR3 sont beaucoup plus répandusque les XLR5, et nettement moinscoûteux. Vous trouverez le brochagestandardisé de ces connecteurs surla figure 4.Vous avez deux possibilités pour lemontage de ces connecteurs, soitdirectement sur le boîtier, soit aubout d’un câble souple sortant duboîtier. Personnellement, nous préfé-rons cette dernière solution, car elleest plus simple à mettre en oeuvre(on évite un usinage du coffret), etelle facilite l’utilisation du testeurdans les situations difficiles (dansles grilles de luminaires notamment).Nous vous laissons cependant touteliberté à ce sujet, le circuit impriméétant compatible avec ces deuxapproches.

L’utilisationAvoir un testeur DMX, c’est bien.S’en servir facilement, c’est mieux.Lorsque l’on est perché à plusieursmètres de hauteur dans les lumi-naires, il vaut mieux en effet avoir unappareil qui reste simple d’emploi, etsur ce point là, nous avons fait lemaximum.Après mise sous tension, le testeurva commencer par se présenter enaffichant un message « DMX TES-TER Vx.y » (x et y étant remplacéspar la version du logiciel).Le testeur pouvant fonctionner enémission ou en réception, mais passimultanément, il faut d’abord choi-sir le mode de fonctionnement. Pour

TEST&MESURE

12 Elektor 5/2002

010203-1

(C) ELEKTOR

C3

C6 C7

C9

D1

D3

IC2

P1

R1

R5R6

S6

+9V BATT

0V

0V

+9V EXT

SHIELD

SHIELD

TD-

TD+

RD-

RD+

010203 - 12

Entrée Mâle

Entrée Femelle

1

2

3

4

5

0V/Masse

Data -

Data +

Libre(Data - optionnel)

Libre(Data + optionnel)

DMX

1

23

4

5

1

2

34

5

Figure 4. Brochage (pour mémoire) des connecteurs XLR5 et plan de câblage à réaliserentre les picots de la platine et les embases châssis mâle et femelle.

Page 7: À la recherche des pannes - Doctsf.com

rectement ou est interrompue.Pour afficher les valeurs reçues sur les diffé-rents canaux, il suffit de sélectionner ces der-niers par les touches CHAN+ et CHAN–,comme en mode émission.Le mode Réception possède deux particula-rités : tout d’abord, pour éviter toute confu-sion avec les valeurs réglées en mode Emis-sion, la mémoire des canaux (qui est la mêmeen émission et en réception) est entièrementeffacée lors du passage dans ce mode. Sivous constatez que certains canaux restent à0, c’est peut-être qu’ils ne sont pas rafraîchis(transmetteur limité par exemple à 256 ou384 canaux).D’autre part, nous avons inclus une fonctiondite « Bloc-Note DMX ». Lorsque le testeur esten mode Réception, il enregistre la valeur desdifférents canaux DMX dans sa mémoire.Lorsque le testeur repasse en mode émission,cette mémoire n’est pas effacée (contraire-ment au passage Emission vers Réception). Ilest donc possible d’enregistrer la configura-tion des canaux DMX à un instant donné,puis de renvoyer cette configuration plustard, sur une autre installation par exemple.Comme vous le voyez, ce petit testeur com-pact ne manque pas de possibilités. Il nevous reste plus qu’à l’utiliser sur votre propreinstallation pour faire la chasse aux défauts.

(010203)

cela, il suffit d’appuyer sur la toucheMODE. A chaque action sur cettetouche, le testeur change de modede fonctionnement. Le mode sélec-tionné reste affiché tant que latouche reste enfoncéePour émettre des données depuis letesteur, choisir « * TRANSM. MODE* ». Pour afficher les données quitransitent sur une ligne DMX, choisir« * RECEIVE MODE * ». Bienentendu, il faut connecter la ligneDMX au testeur de façon cohérenteau mode sélectionné.En mode Emission, le testeur trans-met des données sur 512 canauxDMX, mais seuls les 480 premierssont réglables. Pour régler la valeurtransmise sur un canal, il fautd’abord choisir ce dernier en pres-sant les touches CHAN+ et CHAN–.Si vous maintenez ces touchesenfoncées, un mécanisme d’auto-répétition vous permet de parcourirl’ensemble des canaux en accéléré.Le canal choisi est affiché sous laforme « C:xxx ».Il est également possible de choisirle Start Code DMX qui sera transmis.Pour cela, il suffit d’appuyer sur lestouches de sélection de canal jus-

qu’à affichage de « C:S/C » (S/C étantl’abréviation de Start Code).Pour changer la valeur d’un canal oudu Start Code, il suffit de presser lestouches DATA+ et DATA–. Ici aussi,un mécanisme d’auto-répétitiondéclenché par maintien des touchesvous évitera la luxation d’un doigt, àforce d’appuyer...Bien entendu, les valeurs entrées surchaque canal restent mémorisées,même lors des changements decanaux.En mode Réception, l’utilisation dutesteur est encore plus simple. Unefois connecté sur la ligne DMX, letesteur va enregistrer les valeursdes 480 premiers canaux DMX ainsique celle du Start Code. Même encas de déconnexion, les valeurs res-tent en mémoire.Pour signaler le bon fonctionnementde la liaison DMX, une petite anima-tion est placée sur la droite de l’affi-cheur. Si les caractères de cette zonechangent régulièrement, cela signi-fie que le testeur reçoit des tramesDMX valides (détection du MarkTime). Si le caractère à droite de l’af-ficheur ne change pas, c’est que laliaison DMX ne fonctionne pas cor-

TEST&MESURE

135/2002 Elektor

Page 8: À la recherche des pannes - Doctsf.com

INFORMATIONS

Chip TuningCV plus nerveux ou moteur plus stressé ?

Christian Tomanik [email protected]

Nombre de conducteurs aimeraient bien augmenter la puissance deleur véhicule à condition de ne pas avoir à plonger trop profondémentdans leur porte-monnaie. Le chip tuning est fait pour ça : il est relative-ment bon marché tout en promettant une augmentation de puissanceconsidérable. Tout électronicien bien né se posera inévitablement laquestion : « Qu’est-ce que ça cache ? »

14 Elektor 5/2002

Page 9: À la recherche des pannes - Doctsf.com

INFORMATIONS

155/2002 Elektor

façon que rarement du budget nécessairepour acquérir les outils très coûteux permet-tant d’adapter directement le bloc électro-nique de commande. Il lui faut donc sedébrouiller autrement. Les boîtiers complé-mentaires se sont entre-temps répandus –cer-tains comportant une intelligence sous formede microcontrôleur et le reste non. On lesbranche entre le bloc électronique de com-mande et les capteurs (figure 1) ou entre lebloc électronique de commande et l’injection(figure 2). Dans le cas du chip tuning clas-sique, au contraire, on remplace l’EPROM dubloc électronique de commande par une ver-sion modifiée. Le remplacement de l’EPROM

Aucun lecteur d’un magazine auto-mobile de ces derniers mois n’a puéviter de tomber sur une des nom-breuses annonces publicitairesconsacrées au « chip tuning ». Il enva de même sur Internet lorsqu’oninterroge un moteur de rechercheavec le mot-clé « Chiptuning ». Quede belles promesses ! Normalemententre 10 et 20 % de puissance et decouple supplémentaires, tout celasans grand effort. Il suffit de rempla-cer la puce du bloc électronique decommande ou de monter un boîtiercomplémentaire en aval. L’augmen-tation de puissance promise atteintparfois 35, voire même 45 %.On se pose naturellement la ques-tion : qu’en est-il au juste ? Commentest-il possible d’extraire une tellepuissance supplémentaire d’unmoteur sans le modifier ? Pas lemoindre arbre à cames « pointu »,pas de nouvelles têtes de cylindres –tout par logiciel ? Mais alors, pour-quoi le fabricant ne livre-t-il pas unmoteur de cette puissance ? Cesquestions sont parfaitement légi-times et nous allons les examinerd’un peu plus près.Un facteur crucial est la manièredont un fabricant en série « extraitles données» d’un véhicule ! Chaquenouveau moteur est abondammenttesté et ajusté sur un banc d’essai.Le moteur est ensuite monté dans levéhicule où il est soumis à unréglage fin. C’est à ce stade que lesvaleurs de la puissance et du couplesont déterminées. Il est tout à faitnaturel d’arrondir vers le bas lesvaleurs ainsi trouvées pour faire ensorte que la série respecte les tolé-rances et pour être sûr que tous lesmoteurs possèdent au moins la puis-sance indiquée dans les prospectuset le dossier d’homologation. L’acti-vation de cette « réserve de puis-sance », qui peut fort bien se trouverdans la plage de 10 à 15 %, est enprincipe à la portée du chip tuning.La marge de manœuvre est encoreplus large dans le cas de moteursqui ont été prévus d’emblée pourune plage plus étendue de puis-sance et auxquels le constructeurempêche de donner toute la mesurede leurs moyens dans la version éco-nomique avec la complicité de l’élec-tronique de commande. Il est ausside notoriété publique que l’électro-nique des véhicules haut de gamme

limite la vitesse à une valeur en deçade celle que la puissance du moteurpermettrait d’atteindre.

Chip tuning et boîtiers de tuningLes fabricants ont bien entenduaccès à toutes les fonctions du blocélectronique de commande et, ce quiest particulièrement important, à ladocumentation complète de cesfonctions. Un spécialiste du chiptuning n’est pas censé posséder cesinformations. Il ne dispose de toute

Capteur(détecteur dequantité d'air

par ex.)

Capteurs

Boîtieradditionnel

Capteurs Capteurs

Injection Allumage011004-11

Capteurs

Systèmede

commande

Capteurs

Boîtieradditionnel

Capteurs Capteurs

Injection Allumage011004-12

CapteursCapteurs Capteurs

Systèmede

commande

Figure 1. Boîtier complémentaire entre le bloc électronique de commande et les capteurs.On influence par exemple la quantité d’air mesurée pour que le bloc électronique decommande augmente la quantité de carburant injectée.

Figure 2. Boîtier de commande complémentaire entre le bloc électronique de commandeet les gicleurs. Un offset est directement ajouté aux temps d’injection.

Page 10: À la recherche des pannes - Doctsf.com

par une version « tunée » est sensiblementplus complexe, car il faut tout d’abord lire etdésassembler le contenu de l’EPROM initialeavant de pouvoir « bidouiller » les données.Un grand nombre de nouvelles entreprisess’épargnent cet effort car il s’agit d’un travailde longue haleine qui requiert de solidesconnaissances d’électronique et de la pro-grammation à un niveau tout proche du maté-riel. On ne peut malheureusement pas enconclure qu’un « tuneur » qui édite l’EPROMlui-même sait ce qu’il fait. On peut aussiessayer « d’optimiser » les valeurs de façonempirique (essai-erreur) et lorsque un surcroîtde puissance sort du chapeau, le tuning estun succès.Les vrais spécialistes du chip tuning se ser-vent en fait aussi d’éditeurs leur permettantde décrypter et d’éditer les champs caracté-ristiques en conjonction avec un simulateurqui indique à quel endroit et dans quelchamp le moteur se trouve à cet instant. L’édi-tion des données rappelle alors moins uncoup de dé. L’important, en effet, n’est pas laquantité des modifications apportées auxdonnées de la puce mais leur modificationdans un but bien précis.

Le chip tuning ?… mais c’est très simple !On pourrait en fait supposer que lesblocs électroniques de commandemodernes comportent un microcon-trôleur puissant dont la mémoire està l’épreuve des essais de lecture etde manipulation. En fait, les blocsélectroniques de commande com-portent encore des EPROM externeset non protégées en écriture, ce quipermet aux chip tuneurs d’exercerleur activité. L’auteur a eu l’occasionde participer au cours de ses étudesau développement d’électroniquemoteur tant pour les véhicules desérie que dans le domaine dessports motorisés. Il en est résultédes contacts avec les chip tuneurspermettant de se faire une idée deleurs méthodes de travail. Pour résu-mer les choses, on peut dire qu’il n’ya pas que les petites entreprisespour s’attaquer sans complexe à cedomaine. Le processus semble siabrégé par rapport au développe-

ment des blocs électroniques decommande dans l’industrie automo-bile qu’on éprouve des doutessérieux quant à la sécurité du fonc-tionnement, sans parler de la sécu-rité tout court. Cela, tout au moins,quand on sait quel effort est néces-saire pour s’initier à un bloc électro-nique de commande.L’industrie automobile ne déterminepas non plus complètement leschamps caractéristiques, mais lesvérifie et les optimise au banc d’es-sai et lors d’essais routiers à tous lesrégimes de fonctionnement. Certainschip tuneurs semblent par contreêtre de purs détectives en chambre :ils calculent les champs caractéris-tiques ou plutôt leurs offsets, pro-gramment une EPROM ou leur boî-tier complémentaire, font un petittour sur le banc d’essai à rouleaux et,s’ils constatent une augmentation depuissance, considèrent le dévelop-pement comme terminé. Ce n’est,hélas, pas si simple. Si l’on secontente d’ajouter un offset à toutesles valeurs, le moteur fonctionnerapeut-être très bien à quelques pointsde travail mais sera très mauvais auxautres régimes. Il faut en effet tenircompte de tous les régimes de fonc-tionnement, des gels les plusintenses aux plus fortes chaleurs, du« plat pays du Nord » aux Alpes duSud et aux Pyrénées. Un fabricantfait tourner les moteurs dans toutesles conditions possibles et imagi-nables et élabore les stratégies quileur permettront d’y survivre. Unindividu ne parviendra jamais à cou-vrir un spectre aussi étendu. Il luimanque en outre un savoir-faireconsidérable que l’on ne peut pasacquérir en une semaine/quinzejours par la seule lecture. Il faut aucontraire, outre les connaissancesnécessaires et les conditions tech-niques et logistiques préliminaires,acquérir un grand savoir-faire.

Risques et effets secondairesRien de plus simple en principe quede « tuner » un moteur : on fait ensorte que le moteur consomme plusde carburant, ce qui augmente sapuissance et son couple. La plupartdes tuneurs se basent sur ce prin-cipe, c’est-à-dire qu’ils augmententla quantité injectée pour obtenir une

INFORMATIONS

16 Elektor 5/2002

Figure 3. Le moteur TDI 1,9 l – le chouchou des chip tuneurs, car une augmentation depression d’admission de 0,1 bar produit déjà une augmentation de 10 % de la puissance. Enfait, uniquement si les champs caractéristiques sont modifiés en conséquence. La figure montre la toute dernière version avec injection à haute pression Unit InjectorSystem UIS de Bosch (chez VW désigné par PD = Pumpe-Düse, c’est-à-dire pompe-injecteur) de la Golf TDI 1,9 l qui respecte les limites d’émission de gaz d’échappementselon D4 (figure : Bosch).

Page 11: À la recherche des pannes - Doctsf.com

buer les dommages subis par le moteur cou-verts par la garantie étendue généralement à2 ans. C’est pourquoi les blocs électroniquescontiennent actuellement un test de plausi-bilité des valeurs des capteurs. Celui-ci com-pare entre elles les valeurs des capteurs pourdéterminer si leur combinaison est réaliste.Oui ? Alors circulez ! Non ? Apparition d’unmessage d’erreur, dans la plupart des cas untémoin lumineux dans l’habitacle ou tout aumoins mémorisation du code d’erreur dans lebloc électronique. Dans le pire des cas, le blocélectronique de commande du moteur passe àun programme de fonctionnement en casd’urgence. Un boîtier complémentaire ne pos-sède pas forcément une intelligence baséesur un microcontrôleur. Tant que les signauxdes capteurs sont analogiques et ne sontnumérisés que dans le bloc électronique,quelques résistances et condensateurs suffi-sent pour modifier les paramètres de la façonla plus primitive.La nouvelle génération de boîtiers complé-mentaires apparue sur le marché évite detomber dans le piège tendu aux valeurs« bidouillées » par le bloc électronique : cesont des blocs électroniques de commandecomplémentaires placés entre le bloc électro-nique de commande légitime et l’injection.L’appellation « bloc électronique de com-mande » – même « complémentaire » donne àpenser que ces boîtiers contiennent eux-aussiun microcontrôleur. Le principe en est toute-fois simple : le boîtier complémentaire obtientles temps d’injection du bloc électronique decommande du moteur, les convertit et envoieles valeurs modifiées aux gicleurs. Mais nousavons déjà examiné les dangers de ce genrede tuning.

Indications de puissanceEn règle générale, il est parfaitement possibled’obtenir un gain de puissance de 10 à 15 %par rapport à la puissance nominale officielled’un moteur de série au moyen d’une puce« de série ». Il s’agit d’une puce que le spé-cialiste du tuning a réalisée pour un véhiculeparticulier et qui est vendue pour tous lesmoteurs du même type sans autres modifica-tions individuelles. Les valeurs plus élevéesne sont pas très crédibles. En ajustant unvéhicule particulier sur un banc d’essai à rou-leaux, l’augmentation de puissance peut faci-lement grimper jusqu’à 35 % car dans ce caschaque point de charge –tout au moins dansune certaine région– a été parfaitement« rodé ». Il est impossible de dépasser cettelimite sans faire aussi au tuning mécaniqueclassique. En d’autre termes : la puissancerécupérée ne dépassera jamais la marge lais-sée par le fabricant.

puissance et un couple plus élevés.L’injection consomme plus – on n’arien sans rien ! Le rendement, etdonc la consommation spécifique, nesont en aucun cas améliorés.Une plus grande masse de xarburantà l’injection n’est d’ailleurs pas sisimple à mettre en œuvre lorsqu’onne remplace pas les injecteurs.Comme un injecteur ne peut injecterqu’une certaine quantité de carbu-rant au maximum, il faut l’ouvrir pluslongtemps pour augmenter la quan-tité injectée. La prolongation dutemps d’injection dissimule certainsrisques et même des risques cer-tains dans le cas des moteurs Dieselsuralimentés (turbo Diesel). Destemps trop prolongés peuvent cau-ser une injection incontrôlée contreles parois des cylindres. Si les autresgrandeurs de commande (pressiond’admission, début de l’injection,etc.) ne sont pas modifiées, il s’en-suivra la formation de suies et uneélévation de température des têtesde pistons. Les températures de têtede piston dépassant 400 °C causentde graves dommages en arrachant lefilm de lubrification.

Appareils complémentairesLes appareils complémentaires déjàmentionnés (« tuning boxes ») jouis-sent d’une grande popularité car onpeut les monter et les démonter faci-

lement soi-même – on ne rouleradonc pas vers une destination incon-nue. On peut les conserver lors de lavente du véhicule pour les revendreséparément ou les réemployer sur laprochaine voiture TDI (pour ne citerqu’un exemple). Cette « flexibilité »constitue un « avantage » des plusdouteux lorsque revient le temps ducontrôle technique car, faute d’uneautorisation, d’un enregistrement etd’une notification auprès de la com-pagnie d’assurance, on commet nonseulement un délit mais on perd desurcroît la couverture de l’assurance.En outre, la cession du véhicule sansappareil complémentaire et sansinformer l’acheteur peut avoir degraves conséquences légales. Il existe en gros 2 types d’appareilscomplémentaires. Les uns sont inter-calés dans les lignes des capteurs àl’entrée du bloc électronique de com-mande. Les capteurs fournissent aubloc électronique de commande lesvaleurs nécessaires au calcul del’état du véhicule. L’appareil complé-mentaire modifie de telle sorte lesvaleurs des capteurs que le blocélectronique de commande injecteplus de carburant dans le moteur.Dans la plupart des cas, on atteint cebut en simulant une quantité d’airplus élevée dans le moteur à l’inten-tion du bloc électronique. Les fabri-cants commencent à essayer de bri-der cette méthode de chip tuning caril n’est pas toujours facile de lui attri-

INFORMATIONS

175/2002 Elektor

Figure 4. Pas pour le chip tuneur indépendant : bloc électronique VDO pourcommande variable des soupapes de BMW (figure : Siemens).

Page 12: À la recherche des pannes - Doctsf.com

Chip tuning départ usine ?

Comme nous l’avons déjà signalé, lesmoteurs sont partiellement privés d’une par-tie de leurs capacités par le fabricant ouofferts en différentes versions selon leur puis-sance. Cette stratégie a tout d’abord pour butde resserrer les tolérances de puissance desmoteurs et en outre de répondre à certainestechniques actuarielles. Mais n’oublions pasque des versions de moteurs qui semblentidentiques de prime abord se distinguent parexemple, lorsqu’on y regarde de plus près,par des radiateurs différents, un turbocom-presseur à géométrie variable et ainsi desuite. Cela signifie que le tuning d’usine nese limite pas au remplacement d’une pucemais comporte aussi des modifications dedétail.Il existe toutefois au moins un fabricant d’au-tomobiles allemand collaborant officiellementavec une entreprise de tuning et proposantun lifting de puissance pour ses véhiculesDiesel, si pas départ usine, tout au moinsexclusivement par l’entremise de ses conces-sionnaires. Il s’agit de l’entreprise de tuningWOLF-Concept qui depuis 2000, à titre de« fournisseur officiel de Ford-Werke AG enaccessoires sportifs et individuels » fournitaux distributeurs Ford, outre les accessoires,des puces « tunées » que monte l’atelier deservice après-vente. Le montant d’un tel chiptuning se situe dans le haut de gamme de cesecteur d’activité, mais cette solution pré-sente l’avantage de comporter l’accord dufabricant sous forme d’assistance et degarantie, tout comme pour les véhicules desérie. Il est amusant de constater que cesconditions s’appliquent aussi aux fameuxmoteurs Diesel TDI de la concurrence wolf-sburgienne, pour autant qu’ils se trouventdans une Ford Galaxy et pas dans un desmodèles de même type du consortium VWprovenant, comme on le sait, de la mêmefabrique portugaise. L’augmentation de puis-sance correspond à celle offerte aussi dansles véhicules VW de série à moteur TDI1,9 litres : de 115 à 150 CV. Pour de plusamples informations, consulter le site àl’adresse Internet de l’entreprise de tuning(en fin d’article).

RecommandationsAu risque de désappointer tous les électroni-ciens qui s’intéressent à l’automobile, forceest de constater que le chip tuning n’est pasà la portée d’un particulier, hormis bienentendu le montage d’une puce « tunée »dans un bloc électronique de commande. Sivous vous intéressez au chip tuning, prenezle temps de choisir un fournisseur dont vous

vérifierez les réfé-rences, l’étendue desprestations de garantieet l’homologation despièces ou le certificatgénéral d’autorisationde mise en circulationattribué après uncontrôle obligatoirepour les véhicules etles pièces de véhicule,des conditions indis-pensables pour l’ins-cription dans lespapiers du véhicule etpour l’assurance àlaquelle vous devezannoncer la modifica-tion. Le fournisseur nedevrait pas se conten-ter de garantir la puis-sance et d’assurer lagarantie en cas dedégâts causés aumoteur ; il devrait êtreaussi prêt, le caséchéant, à prouverl’augmentation depuissance par un testsur banc d’essai à rou-leaux effectué par l’as-sociation de contrôletechnique nationale.L’expérience de l’entre-prise de tuning comptesouvent plus que sataille. Peut-être letuneur possède-t-il unvéhicule de démonstra-tion avec lequel vouspourrez effectuer un essai deconduite. Obtenez aussi le numérode téléphone du client le plus récentdans votre région. Choisissez enfinde préférence un tuneur chez lequelvous pouvez vous rendre. Exigezbien entendu un droit de restitutionsans réserve si la puissance promisen’est pas atteinte.

Adresses InternetLa personne qui cherche desadresses de chip tuneurs et se poseencore des questions trouvera unpoint de départ sous www.chiptuning.com.La personne qui s’intéresse auxoutils associés au chip tuning peutfaire un tour sur la page Webwww.evc.de de l’entreprise EVC. Ony trouve des éditeurs de champs

caractéristiques et autres progicielssimilaires. Internet est une sourceinépuisable d’informations concer-nant le « tuning ».Il suffit de mettre un moteur derecherche à contribution,www.voilà.fr par exemple en don-nant les mots-clé « tuning +moteur » et l’on ne sait plus où don-ner de la tête.

Ci-après, quelques adresses Internetintéressantes pour voir de quoi ilretourne lorsque l’on parle de www.tuningcenter.com/www.tuning-auto.com/http://www.123tuning.com/http://www.tuning-project.com/http://www.srtb60.com/etc…

(011004-1)

INFORMATIONS

18 Elektor 5/2002

Page 13: À la recherche des pannes - Doctsf.com

SCÈNE&STUDIO

20 Elektor 5/2002

Les microphones dont la sensibilitéest partout la même, égale danstoutes les directions donc, sont ditsposséder une caractéristique d’om-nidirectionnalité. Ce type de micro-phone réagit aux variations de pres-sion engendrées par le son. La pres-sion est une grandeur qui exerce lamême force dans toutes les direc-tions, ce qui explique que l’ondécrive le principe de fonctionne-ment des microphones omnidirec-tionnels comme étant celui d’un cap-teur de pression (figure 1a).À l’opposé on trouve le capteur àgradient de pression. Le gradient depression, la variation de la pressiondu son dans l’espace, est une gran-deur relatée typiquement à la direc-tion. Dans la direction de la sourcesonore le gradient est maximal, à laperpendiculaire (90 °) de la source de

Microphone directionnelPour « petits » instruments de musique

Projet : Klaus Rohwer

Dans un groupe de musiciens, l’harmonica possède, par rapport auxautres instruments, un niveau qui s’avère, dans bien des cas, insuffisant.Si l’on augmente le volume de l’amplificateur le risque de se voir confrontéau fameux effet de Larsen, une réinjection de signal se traduisant par un sif-flement strident. La solution miracle à ce problème est d’utiliser un micro-

phone dont la carac-téristique de « direc-tionnalité » aura étépeaufinée avec soin.

Page 14: À la recherche des pannes - Doctsf.com

SCÈNE&STUDIO

215/2002 Elektor

fié d’une certaine façon : on troue les 2 côtésdu boîtier de façon à permettre au son d’arri-ver sans encombre aux 2 capsules de micro-phone. Le passage du câble, sur le côtégauche, est fixé à une équerre en aluminium etpartant solidaire du boîtier, l’ensemble des2 capsules « flottant » entre 2 couches demousse. Une 3ème épaisseur de mousse, plusfine elle, est placée devant le microphone,constituant ainsi une protection importantedu microphone dans sa direction de sensibi-lité primaire.L’auteur utilise ce micro sur une harmonica etl’a partant doté de 2 spécificités. Les 2 vis àtête fraisée de fixation de l’équerre en alumi-nium fixent, à l’extérieur, un manchon enbande Velcro qui permet de positionner etmaintenir aisément le microphone sur deuxdes doigts. Il s’est en outre avéré qu’il fallaitrefermer (à la colle) certains des orificessachant que sinon le flux d’air produit par larespiration par le nez devenait audible. Onplacera, sur l’avant du boîtier, une capsulepour casque d’écoute en mousse qui atté-nuera les bruits de déplacement d’air pro-duits par les barbes que pourraient compor-ter les orifices percés dans le boîtier.Les capsules microphoniques sont reliée, enphase, aux âmes d’un câble de micro bifilaireblindé, les 2 autres extrémités de câble étant

signal il est égal à zéro et, à l’opposé(180 °), il est à nouveau maximal,mais avec le signe inverse cette fois.Dans le cas d’un microphone possé-dant une caractéristique de capteur àgradient de pression pur, la sensibi-lité du microphone relatée à l’anglede la source sonore, prend la formed’un huit (8, figure 1b).La plupart des microphones présen-tent une caractéristique située à mi-chemin entre ces 2 extrêmes. Il estpossible, par superposition d’unecaractéristique omnidirectionnelle etd’une caractéristique en 8, d’obtenirun maximum de sensibilité orientédans une direction seulement, ce quinous donne la fameuse caractéris-tique de cardioïde (figure 1c). Onpeut, si tant est que l’on accepted’avoir un maximum un peu plusfaible dans la direction opposée àcelle de la source sonore, étendreencore plus le maximum dans ladirection de la source sonore, ce quinous donne la caractéristique desuper-cardioïde (figure 1d).

Double omnidirectionna-lité = super-cardioïdeComment fait-on pour réaliser uncapteur à gradient de pression ? Ilsuffit de prendre 2 capteurs de pres-sion que l‘on dispose à une certainedistance –relativement faible car ilest difficile de faire autrement– l’unde l’autre puis ensuite de différencier(faire la soustraction) leurs signauxde sortie. Les capteurs de pressionpourront être n’importe quel capsulede micro où il est impossible au sond’arriver sur l’arrière de la mem-brane, les capsule de micro à électretpar exemple.Il faut veiller à ce que, en aucun cas,la distance entre les 2 capsules nedevienne trop importante. En effet,si la demi-longueur d’onde du son enquestion est très exactement égal àla distance séparant les 2 mem-branes, les pressions soniques sontdéphasés de 180 ° très exactement.L’amplificateur différentiel éliminecette opposition de phase de sorteque l’on a, en final, non pas une atté-nuation du signal de différencie maisson amplification. Partant, aux fré-quences élevées, le microphone perdsa caractéristique de directionnalité.L’auteur a mis au point un micro-phone de ce genre et développé le

préamplificateur correspondant,combinaison qui permet de mélan-ger les signaux fournis par les 2 cap-sules selon un rapport variable : lacaractéristique de directionnalité enest devenue ajustable.La figure 2 illustre la structure d’unmicrophone de ce type. Les capsulesmicrophoniques sont placées dansun petit tuyau de caoutchouc (four-nis en même temps que les cap-sules), tuyau que l’on aura coupélongitudinalement à l’aide d’un cut-ter. L’isolation des contacts élec-triques se fait à l’aide d’une petiteplaquette de plastique que l’on auratrouée à l’aide d’une perforatrice debureau. Les faces avant des cap-sules microphoniques étaient dis-tantes de quelque 15 mm, ce qui setraduit par une fréquence limite de11 kHz pour la directionnalité. Au-delà de 11 kHz, le microphone rede-vient sensible à la réinjection, ce quisignifie qu’il est préférable de dimi-nuer, au niveau de l’amplificateur, lesaigus (fréquences élevées).On place l’ensemble ainsi constitué,comme l’illustre la figure 3, dans unboîtier miniature que l’on aura modi-

180°

90°270°

Super-cardioïde0°

180° 010123 - 13

90°270°

En huit

180°

90°270°

Omnidirectionnel0°

180°

90°270°

Cardioïde

ba

dc

Figure 1. De l’omni-directionnalité à la super-cardioïde : il existe différentes caractéristiquesde microphone.

Page 15: À la recherche des pannes - Doctsf.com

reliées ensemble au blindage. L’autre extré-mité du câble est doté d’un jack 3,5 mmmâle stéréo.Tout le monde sait que ce type de jack

qui concerne la capsule MIC1sachant qu’elle est découplée entension continue par rapport à l’élec-tronique du préamplificateur. Larésistance de limitation de MIC2 elleau contraire détermine le réglage entension continue de l’ensemble ducircuit, ce qui explique que l’on enrègle la valeur, par action sur P1, demanière à ce que la tension continuede sortie de l’amplificateur opéra-tionnel soit bien égale à la moitié dela tension d’alimentation. Lessignaux des 2 micros sont ensuiteappliqués à l’amplificateur opéra-tionnel sis en aval, composant montéen amplificateur différentiel.L’auteur utilise à ce niveau un TL071,nous recommandons quant à nousun amplificateur opérationnel rail àrail broche à broche tel que leOPA181GP, TS921IN ou OPA350PA,de manière à pouvoir utiliser le der-nier milliampère-heure que peutfournir la pile.P2 permet, selon le cas, d’atténuerou d’amplifier le signal de MIC2, cecide manière à permettre de compen-ser les tolérances relevées entre les2 exemplaires de capsules micro-phoniques.Ce réglage exerce cependant uneinfluence sur la caractéristique dedirectionnalité. Si l’on pouvait ame-ner la paire R5 + P2 à zéro, cela met-trait le micro MIC2 hors-fonction desorte que l’on se trouverait en pré-sence de la caractéristique d’omni-directionnalité de la capsule MIC1.Si, au contraire, les signaux fournispar MIC1 et MIC2 étaient exacte-ment égaux et que la paire R5 + P2ait une valeur de 33 kΩ, on auraittrouvé le réglage correspondant àune caractéristique de 8. Entre ces2 positions extrêmes on aura unecaractéristique de cardioïde ou desuper-cardioïde. Le condensateur C4élimine toute tendance à l’entrée enoscillations de l’amplificateur opéra-tionnel.Côté sortie, on trouve, en aval dul’organe de commande du volume,P3, un condensateur de sortie bipo-laire, C6, chargé de bloquer toutetension d’alimentation fantôme.L’embase de sortie prend la formed’une prise châssis 6,3 mm tellequ’on les trouve couramment dans lemonde de la sonorisation, la prise enquestion étant cependant dotée d’uninterrupteur intégré isolé. Cet inter-

SCÈNE&STUDIO

22 Elektor 5/2002

3,5 mm ne constitue pas la solutionidéale pour une utilisation sur scèneen raison du risque de mauvaiscontacts. Il est préférable d’utiliserun connecteur DIN à 5 pôles dont onaura connecté 2 x 2 contacts enparallèle (la masse passe par lecontact 2 et le blindage du connec-teur).

Le préamplificateur de microLa figure 4 présente l’électroniqueconstituant le préamplificateur diffé-rentiel. Les capsules de micro àcondensateur electret comportent,en interne, un convertisseur d’impé-dance à FET et se comportentcomme une sorte de source de cou-rant fournissant de l’ordre de 250 µA.Cette valeur de courant peut varierd’un type de micro à électret à l’autreet même entre types de capsulesidentiques. Le signal sonore modulele courant constant et il apparaît quela sensibilité de ce processus peutvarier fortement d’un exemplaire àl’autre. On a donné aux résistancesde limitation amont des capsulesmicro R1 et R2/P1 une valeur telleque l’on y ait une chute de tensionégale à la moitié de la tension d’ali-mentation; il y reste partant la demi-tension d’alimentation. La précisionde cette valeur est sans gravité en ce

Figure 2. Les 2 capsules de microphone sont montées, « cul à cul » dans un enrobage encaoutchouc.

Figure 3. Le boîtier des micros de l’auteur àmicro flottant.

Page 16: À la recherche des pannes - Doctsf.com

rupteur a pour mission de n’activer le mon-tage que lorsque la fiche est enfichée dans laprise. Cette approche permet de ne pas pré-voir d’interrupteur marche/arrêt, organe qu’ilest facile d’oublier de couper avec commerésultat un épuisement de la pile, situationque l’on ne découvrira que lors de la pro-chaine utilisation du montage.Il ne vous faudra pas longtemps pour implan-ter les différents composants sur la petite pla-tine dont on retrouve le dessin des pistes etla sérigraphie de l’implantation des compo-sants en figure 5. Cette mise en place descomposants ne devrait pas poser de pro-blème. Le boîtier à utiliser sera doté d’uncompartiment pour pile. Le potentiomètre P2sera du type à axe enfichable qui passera parun orifice percé juste en face; il permettraainsi un réglage aisé de la directionnalité. Ilest important de veiller à une mise en boîtierstable et à un câble correct et propre desembases, de manière à éviter que votre ins-trument ne devienne, d’une seconde à l’autremuet au cours d’un concert sur scène, ceci enraison d’un faux contact malheureux !

(010123)

SCÈNE&STUDIO

235/2002 Elektor

R1

22

k

R2

10

k

R5

22

k

R3

33k

R4

33k

R7

220Ω

22kP1

47kP2

P310klog.

C2

100n

R6

33k

TL071

IC1

2

3

6

7

4

1

5

C4

100p

C5

1µ 63V

C1

10µ 63V

C6

22µ40V

C7

22µ40V

C3

22µ 40V

S1

BT1

9V

K1

M1 M2

MIC1 MIC2

010123 - 11

Figure 4. L’électronique de l’amplificateur différentiel pour micro.

Figure 5. La platine prend place dans un boîtier à clip pour ceinture etcompartiment pour pile.

(C) E

LEK

TOR

01

012

3-1

(C) ELEKTOR

010123-1

9VBT1

C1

C2

C3

C4

C5

C6

C7

H1 H2

H3H4

IC1

IN2

M1M2

P1

P2

P3

R1

R2

R3

R4

R5

R6

R7

S1

01

01

23

-1

+

- T

T Liste des composants

Résistances :R1,R5 = 22 kΩR2 = 10 kΩR3,R4,R6 = 33 kΩR7 = 220 ΩP1 = ajustable 22 kΩP2 = ajustable 47 kΩP3 = potentiomètre log 10 kΩ version

mono miniature

Condensateurs :C1 = 10 µF/63 V verticalC2 = 100 nFC3,C6,C7 = 22 µF/40 V verticalC4 = 100 pFC5 = 1 µF/63 V vertical

Semi-conducteurs :IC1 = TL071CP*

Divers :Bt1 =pile compacte 9 V avec connecteur à

pressionMIC1,MIC2 = capsule micro miniature à

condensateur avec fixation par caoutchouctelle que, par exemple, MCE2000 (Monacor)

Embase 3,5 mm-stéréo ou embase DIN à5 contacts pour montage châssis*

K1 = jack 6,3 mm-mono à interrupteur isolépour montage châssis

boîtier à compartiment pour pile (et clippour ceinture de 102 x ⋅61 x 26 mmenviron

* = cf. texte

Page 17: À la recherche des pannes - Doctsf.com

Tableau 2 PCON (SFR 87h)

SMOD 1 = Taux de transmission élevé, 0 = taux de transmission

faible

GF1,GF2 indicateurs (flag) utilisables librement

PD Mode hors-tension (Power-Down) avec contrôleurs CMOS unique-

ment

IDL Mode veille (IDLe)

MICROPROCESSEUR

26 Elektor 5/2002

L’interface sérielle interne que possède toutmicrocontrôleur de la famille 8051 permetd’établir une liaison rudimentaire pour latransmission de données avec un PC.Sachant que cette interface prend la formed’un UART (Universal Asynchronous Recei-ver/Transmitter = Émetteur/Récepteur Asyn-chrone Universel) matériel autonome, ceciconstitue une charge à peine sensible pour leprocesseur qui n’en est que fort peu ralenti.L’émission et la réception des octets, opéra-tions dont est chargé l’UART, se fait enarrière-plan. L’important est de veiller à uneinitialisation correcte et à s’assurer que letransfert des données vers et depuis l’UARTse fait correctement.Il va nous falloir, pour bien comprendre com-ment se fait la programmation, « entrer » dansle registre à fonction spéciale, le fameux SFR(Special Function Register), de l’interfacesérielle. Il faut commencer, pour initialiserl’interface, par charger les paramètres requisdans le registre SCON.Le registre de données de l’interface sérielles’appelle SBUF (SFR 099HEX). En fait, SBUFcache 2 registres, le registre servant à l’émis-sion des données et le registre de réceptionde données. Il suffit, pour lancer un proces-sus d’émission, d’effectuer une opérationd’écriture sur le registre SBUF. Inversement,on pourra prendre en compte (lire) un octet

Cours « Microcontrôleurs »5ème partie : UART, temporisateur et interruptionsBurkhard Kainka

Nous avons, dans les articles précédents de ce cours, porté notre atten-tion principalement aux langages de programmation. Il nous semble tempsmaintenant de nous intéresser d’un peu plus près à l’aspect matériel dumicrocontrôleur. Les points auxquels nous allons nous intéresser ici sontle temporisateur (Timer), l’UART et les interruptions.

Tableau 1 SCON (SFR 98h)

SM0 SM1 Les bits Serial Mode 1 et 2 servent au choix du mode defonctionnement :

0 0 Mode 0: Registre à décalage à 8 bits0 1 Mode 1: UART 8 bits, taux de transmission par le biais de

Timer 11 0 Mode 2: UART 9 bits, 375 kbauds à 12 MHz1 1 Mode 3: UART 9 bits, taux de transmission par le biais de

Timer 1SM2: Mode multi-calculateursREN: Validation récepteur (Receiver-Enable), autorisation de

réceptionTB8: bit 8 transmis (Transmitted Bit 8), pour mode 9 bitsRB8: bit 8 reçu (Received Bit 8), pour mode 9 bitsTI: Interruption émetteur (Transmitter Interrupt), à 1 si trans-

mission réussieRI: Interruption récepteur (Receiver Interrupt), à 1 après

réception d’un caractère

4

REN

7 6 5 3 2 1 0

RITIRB8TB8SM2SM1SMO

4

7 6 5 3 2 1 0

IDLPDGF2GF1––SMOD

Page 18: À la recherche des pannes - Doctsf.com

MICROPROCESSEUR

275/2002 Elektor

reçu présent dans SBUF. En mode 9 bits, ilfaudra toujours tenir compte du 9ème bit (TB8ou TR8 selon le cas) du registre SCON.La plupart du temps on utilise le mode defonctionnement 1, c’est-à-dire un UART 8 bitsdont le taux de transmission est l’affaire dutemporisateur 1 (Timer 1). Le flux de données8 bits démarre par un bit de début (startbit)et terminé par un bit d’arrêt (stopbit). Le tauxde transmission (baudrate) est égal au1/16ème (SMOD=1) ou 1/32ème (SMOD=0) dela vitesse de travaille du temporisateur 1.SMOD est le bit de poids le plus fort duregistre PCON (Power Control, SFR 87HEX),bit servant sinon à l’activation du mode demise en veille (Power down mode).La génération d’un signal d’horloge à desti-nation de l’interface sérielle commence parrequérir une programmation du temporisa-teur 1. Les 2 temporisateurs que possède le8051 comportent chacun une paire deregistres de comptage à 8 bits, registres pou-vant être chargés (écrits) et lus. Notons aupassage que le 89S8252 possède un 3ème

temporisateur auquel nous ne nous intéres-serons pas dans le cadre de cet article.

TL0 (SFR 8Ah): Timer 0, LowbyteTH0 (SFR 8Ch): Timer 0, HighbyteTL1 (SFR 8Bh): Timer 1, LowbyteTH1 (SFR 8Dh): Timer 1, Highbyte

Le contrôle du paramétrage des temporisa-teurs se fait par le biais des registres TCON(SFR 88HEX) et TMOD (SFR 89HEX). Par leurintermédiaire on paramètre le mode de fonc-tionnement au travers du registre TMOD.Le temporisateur 1 doit travailler en compteurlibre chargé de compter les impulsions d’hor-loge internes du 8051. Pour ce faire on para-mètre ce temporisateur en mode 2. Lors dechaque dépassement, on redémarre le comp-teur à partir d’un état (nombre) prédéfini.Chaque compteur est « lâché » par le biais deson bit TR dans le registre TCON. Ce mêmeregistre contient les indicateurs (flag) dedépassement (overflow) des 2 temporisateurset 4 bits de commande pour le pilotage desinterruptions par l’intermédiaire des lignesINT0 et INT1.Il suffira, pour obtenir un fonctionnement engénérateur de taux de transmission, de posi-tionner (mettre à « 1 ») le bit d’activation(Run) TR1. Ce paramètre est adressable auniveau du bit et accessible à l’adresse de bit8E HEX. Il faudra cependant commencer, si lecompteur se trouve à l’arrêt, par définir le fac-teur de division. En mode de fonctionne-ment 2, l’octet de compteur de poids fort,TH1, se verra confier la valeur de recharge(Reload) du compteur, nombre qui serachargé dans le registre de comptage propre-

Tableau 4 TCON (SFR 88h)

TF1: Indicateur de dépassement pour temporisateur 1 (Timer Flag 1)

TR1: Activation du temporisateur 1

TF0: Indicateur de dépassement pour temporisateur 0

TR0: Activation du temporisateur 0

IE1: Indicateur d’interruption pour INT1

IT1: Interruption sur INT1 avec déclenchement sur flanc

IE0: Indicateur d’interruption pour IN0

IT0: Interruption sur INT0 avec déclenchement sur flanc

4

TR0

7 6 5 3 2 1 0

IT0IE0IT1IE1TF0TR1TF1

Tableau 3 TMOD (SFR 89h)

Gate Le compteur concerné est validé par le biais, selon le cas,

de la broche INT0 ou INT1.

C/T 0: Timer, 1: Counter

M1 M0 Mode de fonctionnement

0 0 Compteur/générateur de durée à 13 bits

0 1 Compteur/générateur de durée à 16 bits

1 0 Compteur/générateur de durée à 8 bits avec rechargement

automatique

1 1 Pour compteur 0 uniquement : 2 compteurs à 8 bits distincts

4

M0

7 6 5 3 2 1 0

M0M1C/TGateM1C/TGate

Counter 1 Counter 0

Listage 1. Listage de l’interface sérielle en assembleur.

;Serial port access (COMPORT.ASM);11,059MHz, 9600 Baud#include 8051.H

.org 0000H

INIT clr TR1 ;stop timer 1 mov TH1,#0FAH ;256-6: 9600 baudmov TL1,#0FAHanl TMOD,#0FH ;Timer1: 8 bit auto-reloadorl TMOD,#20Hsetb TR1 ;start timer mov SCON,#50H ;InitRS232setb TIorl PCON,#80H ;SMOD=1

NEXT acall RXmov P1,A ;Port writenopnopmov A,P1 ;Port readacall TXsjmp NEXT

RX jnb RI,RXmov A,SBUFclr RIret

TX jnb TI,TXclr TImov SBUF,Aret.end

Page 19: À la recherche des pannes - Doctsf.com

ment dit, TL1, lors de chaque dépassement.Si l’on veut paramétrer une vitesse de trans-mission de 9 600 bauds il faudra, à bit SMODpositionné, disposer d’une fréquence d’hor-loge de 16 x 9,6 kHz soit 153,6 kHz. Lorsquel’on sait que le temporisateur travaille à unehorloge d’instruction égale au 1/12ème de lafréquence de quartz, il faudra définir, si l’ondispose d’un quartz de fréquence de11,059 2 MHz, un facteur de division de 6 :

11 059,2 kHz / 12 / 6 / 16 = 9,6 kHz.

On obtient le facteur de division de 6 par lechoix d’une valeur de recharge du compteurde 256 – 6 = 250 soit FAHEX, sachant que l’oneffectue un comptage (et non pas undécomptage).

Transmission de données sérielleL’UART est accessible par le biais de n’im-porte quel langage de programmation. L’ap-proche utilisant l’assembleur convient idéa-lement pour permettre une bonne compré-hension des opérations prenant place. Lelistage 1 propose un exemple. On y montrel’utilisation de l’interface pour obtenir l’accèsau Port 1 par le biais de l’interface RS-232. UnPC permettra de modifier et lire l’état du ditport.On commence, pour l’initialisation, par chargerles paramètres nécessaires dans les registresconcernés. Le programme principal NEXT nerequiert plus ensuite que les routines TX etRX. La routine de réception RX commence parune interrogation du bit RI jusqu’à la récep-tion d’un caractère. On a ensuite lecture dutampon d’entrée SBUF et remise à zéro dubit RI. Dans l’autre sens, la routine SEND pro-cède à l’interrogation du bit TI jusqu’à ce quesoit terminé le traitement du dernier carac-tère envoyé. L’octet à envoyer est ensuiteécrit dans le tampon d’émission SBUF, ce quise traduit par l’activation du sous-ensembled’émission de l’UART.Dans le programme principal chaque octetreçu est transmis au Port 1. Après une courtetemporisation introduite par une paire d’ins-truction NOP (No OPeration), le programme litl’état du Port 1 et renvoie l’octet pris encompte par le biais de l’interface sérielle. Onréalise ainsi un convertisseur parallèle-sérieutilisable, selon le cas, soit uniquement pourdes opérations de sortie au niveau du port,soit uniquement pour des opérations de lec-ture du port voire pour un fonctionnementcombinant ces 2 opérations. Lors de l’émis-sion, toutes les lignes d’entrée doivent êtreforcées au niveau haut et partant mises àl’état de haute impédance. La valeur d’émis-

sion 255 (FFHEX) se traduira ainsi,par exemple, par la mise à disposi-tion de la totalité du port en tant queport d’entrée suivie par une opéra-tion de lecture.

On pourra effectuer le test de ce pro-gramme à l’aide, par exemple, duprogramme Terminal.exe que nousavions d’ailleurs déjà utilisé dans lecadre de l’article « émetteur/récep-

MICROPROCESSEUR

28 Elektor 5/2002

Figure 1. Sorties au niveau du port et interrogations de port.

Listage 2. L’UART en READS-51.

// ——————- READS51 generated header ———————// module : uart.c// ——————————————————————————-

#define TRUE 1#define FALSE 0

#include <sfr51.h> #include <Sio51.h>

main()char n;

// —- initialize serial port (9600 Baud) —-InitSerialPort0(DEF_SIO_MODE); //DEF_SIO_MODE is defined in <Sio51.h>

// endless loopwhile(TRUE)n=getc();P1=n; // Port outputn=P1; // Port readputc(n);

Page 20: À la recherche des pannes - Doctsf.com

sérielle est encore plus simple en C qu’enassembleur, vu qu’il existe déjà des modulesécrits à cet effet.Par InitSerialPort0(DEF_SIO_MODE);on initialise l’interface. Les fonctions getc() etputc() transmettent des octets individuelle-ment. Il est facile d’écrire un programme rem-plissant la même fonction que le programmeen assembleur listé plus haut (Listage 2).En Basic-52, l’UART est initialisé, dès ledépart, par le système. Il n’est pas très com-pliqué de résoudre le même problème enBasic.Il n’en reste pas moins qu’il est plus facile,dans ce cas-là, de travailler avec des valeursde nombres au format de texte. L’interpréteurBasic garde en effet les données reçues auniveau de l’interface sérielle à l’oeil. Il pour-rait bien se faire qu’il y apparaisse une com-binaison Ctrl-C indiquant que l’utilisateurveut interrompre l’exécution d’un programme.Input permet de ce fait la réception de lignesentières qui doivent être terminées par unretour chariot (CR - Carriage Return). Le lis-tage 3 donne un programme on ne peut plussimple pour la « télécommande » du Port 1.On pourra en essayer immédiatement le fonc-tionnement dans le programme de terminalen Basic (figure 2).

InterruptionsIl est nécessaire, pour de nombreuses appli-cations, qu’un microcontrôleur exécute,simultanément, plusieurs tâches. Une tech-nique efficace pour ce faire est le traitementd’interruptions. Un programme principal exé-cute, la plus grande partie du temps, sonpropre traitement, mais il peut se voir, detemps à autre, interrompu pendant un trèscourt instant par des événements très parti-culiers, en vue d’exécuter une seconde tâche.Basic-52 permet d’expliquer très aisément leprincipe d’une telle interruption puisque c’estbien de cela qu’il s’agit. Chaque microcon-trôleur de la famille 8051 comporte 2 entréesd’interruption, Int0 (=P3.2) et Int1 (P3.3).Basic-52 supporte Int1 par le biais de son ins-truction ONEX1. Dès que la ligne P3.3 est for-cée au niveau bas depuis l’extérieur, ce flancdescendant déclenche une interruption. Leprogramme s’aiguille vers la ligne de pro-gramme dont le numéro suit l’instructionONEX1. La routine d’interruption proprementdite doit être clôturée par une instructionRETI (RETurn from Interrupt). Le listage 4vous propose un exemple simple de ce typed’opération. On a, au premier-plan, exécutiond’une boucle de comptage à sorties de portcroissantes. La routine appelée par l’inter-ruption envoie un message au PC.

teur IR pour PC » [1]. L’importantdans le cas présent est que l’on aittransmission d’octets et non pas devaleurs au format de texte. Lafigure 1 donne un exemple du pro-cessus de commande. Les 2 pre-miers octets de commande sontretournés sans avoir subi de modifi-cation, ce qui signifie que le contrô-leur signale que l’état émis du portse trouve, non modifié, sur P1. Le

3ème octet, 255, force toutes leslignes de port au niveau haut, desorte qu’elles sont toutes utilisablesen entrées. La réponse du contrôleurnous apprend cependant que l’unedes lignes est, de l’extérieur, forcéeà la masse. Il est partant possible, àl’aide de ce même programme,d’exécuter une simple interrogationdes 8 lignes de port.La mise en oeuvre de l’interface

MICROPROCESSEUR

295/2002 Elektor

Figure 2. Accès direct sur le port 1.

Listage 3. Accès de port en Basic-52.

1 REM Port I/O (PORTIO.BAS)10 INPUT N20 PORT1=N30 N=PORT140 PRINT N50 GOTO 10

Listage 4. Pilotage d’interruption en Basic-52.

10 REM Interrupt (INT1.BAS)100 ONEX1 500200 REM main prog210 FOR N=0 TO 255220 PORT1=N230 NEXT N240 GOTO 210500 REM Interrupt subroutine510 PRINT “Interrupt P3.3”520 RETI

Page 21: À la recherche des pannes - Doctsf.com

Le Basic-52 connaît en outre une instructionONTIME qui réagit, d’une façon très similaire,à certains événements chronologiques. Il nes’agit là que de quelques-unes des sourcesd’interruption possibles. Le processeurconnaît en outre également des interruptionspour ses temporisateurs et pour l’interfacesérielle. Il est de plus possible d’utilisersimultanément plusieurs interruptions dansun programme, sachant qu’il faut cependantdéterminer la priorité de chacune d’entreelles. L’interruption possédant la priorité laplus élevée a le droit d’interrompre les autresroutines d’interruption (à la priorité moinsélevée).Le processeur possède, avec son registre devalidation d’interruption, IE (InterruptEnable), une instance de gestion centrale quis’occupe des interruptions licites. Le bit EApermet de bloquer (inhiber) ou de validertoutes les interruptions définies.Chaque interruption est associée à uneadresse d’interruption à laquelle le proces-seur saute automatiquement. On doit trouverà cet endroit une instruction de saut versl’adresse de début de la routine d’interruptioncorrespondante, qui devra elle, à nouveau, seterminer par une instruction reti.

0023h SINT Interface sérielle001Bh TIMER1 Temporisateur 10013h EXTI1 Interruption externe 1(P3.3)000Bh TIMER0 Temporisateur 00003h EXTI0 Interruption externe 0(P3.2)0000h RESET Reset

L’exemple ci-après illustre l’utilisation de l’in-terface sérielle dans le cadre d’un fonction-nement par interruption. Si notre premierexemple consacré à l’interface sérielle s’en-ferre à chaque fois dans la routine de récep-tion, jusqu’à l’arrivée d’un nouveau caractère,cette fois, la réception d’un caractère devraitdéclencher une interruption.Les caractères entrant arrivent directementdans le registre R7. Dans le programme prin-cipal on a exécution d’un générateur designal rectangulaire dont la durée de périodedépend de la valeur contenue dans R7. Il estpartant possible de jouer, de l’extérieur, surla fréquence du générateur de signal carré etcela sans induire le moindre retard sensible.5Il nous reste maintenant à voir comment tra-vailler avec des interruptions sous Reads51.Nous allons, cette fois, demander au tempo-risateur 0 (Timer 0) de déclencher une inter-ruption. Il faut ici tenir compte du fait que letemporisateur 1 est déjà, dans bien des cas,utilisé par l’interface sérielle. Le temporisa-teur 1 convient partant pour la définition de

MICROPROCESSEUR

30 Elektor 5/2002

Listage 5. Réception de caractères pilotée par interruption.

;Serial Interrupt (COMINT.ASM);11,059 MHz, 9600 Baud#include 8051.H

.org 0000Hljmp INIT .org 0023Hljmp RX

INIT clr TR1 ;stop timer 1 mov TH1,#0FAH ;256-6: 9600 baudmov TL1,#0FAHanl TMOD,#0FH ;Timer1: 8 bit auto-reloadorl TMOD,#20Hsetb TR1 ;start timer mov SCON,#50H ;InitRS232setb TIorl PCON,#80H ;SMOD=1mov IE,#90H ;EA +ES

NEXT mov A,R7mov R1,Amov A,#255mov P1,A

ON djnz R1,ONmov A,R7mov R1,Amov A,#0mov P1,A

OFF djnz R1,OFFsjmp NEXT

RX mov R7,SBUFclr RIreti

.end

la chronométrie. Le 89S8252 possèdeun second temporisateur, le Timer 2,que l’on met à contribution, en Basic-52, pour la génération du taux detransmission (baudrate). Le tempori-sateur 2 est universel, mais il faudrase souvenir qu’il est absent sur denombreux dérivés du 8051 de faiblepuissance et qu’il possède, sur cer-tains autres contrôleurs tels que le80535, des caractéristiques diffé-rentes. Si partant, ici, nous mettons

le temporisateur 1 en oeuvre pour unpilotage de temps, cette fonction esttransférable sur tous les autrescontrôleurs compatibles 8051.Nous allons tenter ici de générer unsignal rectangulaire précis aux flancsdistants de 1 ms très exactement.Les Timer 0 et Timer 1 reçoivent cha-cun un signal d’horloge d’une fré-quence égale au 1/12ème de la fré-quence du quartz. Dans le cas d’unefréquence de quartz de 11,059 MHz

Tableau 5 IE (SFR A8h)

EA Validation de toutes les interruptionsES Validation des interruptions sérielles pour l’émission et la

réception ET1 Validation d’interruption de Timer 1 par le le biais d’in-

terruptions de ### Timer 1EX1 Validation d’interruption 1 externe (P3.3)ET0 Validation d’interruption de Timer 0 par le le biais d’in-

terruptions de ### Timer 0EX0 Validation d’interruption 0 externe (P3.2)

4

ES

7 6 5 3 2 1 0

EX0ET0EX1ET1––EA

Page 22: À la recherche des pannes - Doctsf.com

du temporisateur que lors de chaque inter-ruption produite par un dépassement.Il est extrêmement facile, sous Reads51, decréer une fonction d’interruption puisqu’il suf-fit d’entrer le mot-clé « interrupt » et de donnerl’adresse d’interruption du microcontrôleurcorrespondante. Il faudra, en outre, initialiserle temporisateur dans la fonction « Main » etpositionner les bits d’interruption requis.Le programme convient à la mesure du dérou-lement chronologique de programmes écritsen C. Un oscilloscope connecté au port P1.0mesure un signal rectangulaire parfaitementsymétrique. Chaque état dure approximati-vement 1,25 ms. Le code produit par le com-pilateur a besoin de quelque 250 µs environpour le saut proprement dit dans la fonctiond’interruption et la réinitialisation du tempo-risateur. Il faudra, si l’on a besoin d’un inter-valle de 1 ms très exactement, jouer avec plusde finesse sur la valeur de départ mise dans lecompteur.Le temporisateur connaît 4 modes différentsqui permettent de recouvrir des plages dedurées différentes. Nous avons utilisé, dansle cas présent, le mode 1 qui permet de pro-duire des durées allant jusqu’à de l’ordre de65 ms. Si l’on ne prévoit pas de rechargementdans la fonction d’interruption on aura lesdurées suivantes :

Mode 0 : Timer 13 bits (8 ms)Mode 1 : Timer 16 bits (65 ms)Mode 2 : Autorecharge 8 bits

(0 à 0,25 ms)Mode 3 : TH0 = Timer 8 bits

(0,25 ms)

Nous venons de voir comment utiliser lesmêmes techniques avec des langages de pro-grammation différents. La mise en oeuvre dumatériel implique une initialisation adéquatedu registre de fonction concerné. Une fois quel’on a acquis une certaine expérience, il estfacile d’interpréter les paramètres définisdans le programme que l’on a sous les yeuxpour ensuite les adapter à un quelconqueautre langage de programmation.

(010208-6)

BibliographieEmetteur/récepteur IR pour PC, Elektor n° 282, décembre 2001, page 54 et suivantes

Dans le prochain article, qui sera également ledernier de cette série, nous nous intéresseronsà l’affichage LCD qui est pris dans la carto-graphie des adresses de la mémoire externe.

il faudra partant compter jusqu’à 921si l’on veut voir passer une millise-conde. Comme nous sommes en pré-sence d’un compteur qui généreraune interruption en cas de dépasse-

ment, il faudra prédéfinir une valeurde 65 536 – 921 soit 64 615(FC67HEX). Cette valeur est chargéedans les registres de comptage TH0et TL0 et cela tant lors du lancement

MICROPROCESSEUR

315/2002 Elektor

Figure 3. Messages commandés par interruption.

Listage 6. Interruption par temporisateur en C.

// ——————- READS51 generated header ——————— // module : C:\Rigel\Reads51\Work\Inter\Inter.c// created : 09:16:45, Thursday, March 07, 2002// ——————————————————————————- #include <sfr51.h>

void interrupt (0x000B) square(void)P1_0 = ! P1_0;TR0=0; //stop timer 0TH0=0xFC; //timer 0 1msTL0=0x67;TR0=1; //start timer 0

main()int n;n=0;TH0=0xFC; //timer 0 1msTL0=0x67;TMOD=TMOD & 0xF0;TMOD=TMOD | 0x01; //timer 0 16 bitTR0=1; //start timer 0ET0=1; //timer 0 interruptEA=1; //enable interruptswhile(1);

Page 23: À la recherche des pannes - Doctsf.com

TEST&MESURE

32 Elektor 5/2002

Prévu à l’origine pour des applications dansle domaine des installations sanitaires (entant que détecteur de présence), ce capteurpeut également fort bien servir de détecteurd’objet pour un robot ou d’aide à la mise augarage ou au créneau de stationnement pourun véhicule. La distance est fournie sérielle-ment sous la forme d’une valeur numérique à8 bits disponible à une broche de sortie, cettevaleur pouvant ensuite être traitée par logi-ciel. Outre une diode d’émission de rayonne-ment infrarouge (IR), le capteur intègre éga-lement le récepteur correspondant et uneélectronique de traitement de signal. De parson concept sophistiqué, ce composant esttrès peu sensible à la lumière ambiante, à lacouleur et au facteur de réflexion de l’objet àdétecter, ces facteurs n’ayant pratiquementpas d’effet sur le résultat de mesure.

Principe de fonctionnement du GP2D02Le coeur du capteur, dont on retrouve lastructure interne en figure 1, est un élémentdit PSD (Position Sensitive Device) disposéderrière une lentille optique. Le principe demesure repose sur les théorèmes de la trian-gulation optique. Un émetteur émet un rayonlumineux fortement focalisé par une optiquede précision, rayon que réfléchit l’objet demesure. L’angle du signal de réflexion varieen fonction de la distance séparant le capteuret l’objet de mesure (figure 2).Au niveau du récepteur, la lumière retraverseune optique qui focalise le rayon qui prendalors la forme d’un point venant frapper lephoto-élément. Une variation de la distanceséparant l’objet de mesure du capteur se tra-

duit par le décalage de la tache lumi-neuse sur le photo-détecteur. Lesignal de sortie du photo-détecteurqui varie en fonction de la position del’objet par rapport au capteur subitune amplification avant d’être numé-risé et transmis à l’unité de traite-ment par le biais d’une interface.

Lecture de l’informationde distanceOn a lecture du capteur par le for-çage au niveau bas de la broched’entrée Vin pendant une durée d’aumoins 70 ms. Au cours de cet inter-valle la diode d’émission IR envoie

16 salves. À partir des 16 valeurs demesure résultant de ces signaux lalogique interne calcule une valeurmoyenne de la distance par rapportà l’objet, ce qui permet de réduiretrès sensiblement tout risque d’er-reurs de mesure.On a ensuite application de 8 impul-sions d’horloge à la broche Vin ce quise traduit, à chaque flanc descen-dant de ce signal, par l’apparitionsur la broche Vout d’un bit de lavaleur numérique correspondant à ladistance de l’objet, bits que le micro-contrôleur pourra prendre encompte. Le capteur requiert unsignal de cadencement externe et ne

Télémétrie parinfrarougeÀ l’aide d’un nouveau détecteur de présenceLa société Sharp propose, sous la forme du GP2D02, un capteur qui, associéà un microcontrôleur, permet de réaliser un système de télémétrie (mesure dedistance) relativement précis sur une plage allant de 10 à 80 cm.

Page 24: À la recherche des pannes - Doctsf.com

TEST&MESURE

335/2002 Elektor

la relation entre la valeur de mesure (conver-tie en code décimal) et la distance effective.Le domaine intéressant est ici celui quis’étend entre 10 et 80 cm environ. Tout audébut, la valeur de mesure croît lorsque ladistance diminue, ce qui pourrait induire enerreur l’électronique de traitement située enaval. À partir d’une distance de quelque80 cm la courbe du diagramme devient siplate qu’il devient très difficile, voire quasi-ment impossible d’effectuer une mesure dedistance. Il est à noter que la courbe ne vautque pour un matériau réflectif donné. D’autresmatériaux produiront des relations valeur demesure/et distance réelle différentes.Il existe plusieurs variantes de ce capteur.Mentionnons au passage le type GP2D05 quipermet de définir par potentiomètre le seuilde commutation correspondant à une dis-tance donnée par rapport à l’objet. Ce com-posant ne requiert pas de signal d’horlogeexterne et se contente d’un signal de déclen-chement pour démarrer un processus demesure. L’électronique requise en est sensi-blement simplifiée, mais ce composant nepermet pas d’effectuer de mesure de distance.Bien que le GP2D02 soit prévu pour une ten-sion d’alimentation de 4,4 à 7 V, la tensionappliquée à la broche Vin ne doit pas dépasser3 V. Comme le montre le schéma (figure 5),une diode de protection évite tout dépasse-ment de ce paramètre. Dans notre exempled’application on procède à une mesure conti-nue de la distance d’un objet. La valeur demesure fournie par le GP2D02 est visualiséeen format décimal par le biais d’un affichageà 3 chiffres. De plus, la broche 12 du micro-contrôleur IC1 active un résonateur piézo-électrique à électronique intégrée s’il devaitse faire qu’un objet approche plus près que ladistance paramétrée par le codage défini parle biais des lignes de port P2.0 et P2.1. Dans cecas, la relation existante est la suivante :

P2.0 P2.1 Valeur de seuilH H >219L H >209H L >199L L >179

Les lignes de port P2.0 et P2.1 sont dotéesd’une résistance de forçage au niveau haut(pull-up) de sorte qu’elles ne requièrent pasde circuiterie externe pour une valeur de com-mutation >219.

Il va sans dire que l’on peut égalementconnecter à la sortie de commutation unrelais (doté d’une diode de protection !) envue d’activer d’autres charges. La ligne P2.1est une sortie à drain ouvert qui est active auniveau bas.

peut pas travailler en l’absenced’« intelligence » extérieure.La figure 3 rend le chronodiagrammecorrespondant à ce mode opératoire.La relation entre la valeur numériqueet la distance réelle de l’objet n’estpas linéaire. La résolution est del’ordre du centimètre, valeur qui croît

progressivement au fur et à mesurede l’augmentation de la distance pouraller jusqu’à de l’ordre de 10 cm. Cesnon-linéarités ont leur raison dans leslois optiques et le faible écartemententre l’émetteur et le récepteur dansle boîtier du composant.La figure 4 donne, à titre d’exemple,

Circuit detraitementde signal

Circuit decommande

de LED

Rég

Cir

cuit

deco

mm

ande 4

2

020010- 11

31VCC

VCC

VCCGND

VOUT

VIN

VCC

(Entréedu signal decommande)

Détecteurde lumière

LED IR

Objetréflecteur

12kΩ

Figure 1. Synoptique du GP2D02 de Sharp.

Figure 2. Télémétrie par triangulation.

Distance 2

Distance 1

Objet

ÉmetteurPSD

020010 - 12

Déplacement

70 ms ou plus 1 ms ou plus

MSB

Sortie

Vin

LSB LSB020010 - 13Exemple de résultat de mesure en sortie (8 bits)

0,2 ms ou moins 1,5 ms ou plus 1,5 ms ou plusPower OFF

Figure 3. Chronodiagramme de la lecture de la valeur de distance numérique.

Page 25: À la recherche des pannes - Doctsf.com

Le module d’affichage

IC3 est un système d’affichage à forte inté-gration capable, en dépit de l’extrême petitesuperficie qu’il occupe, d’afficher par techno-logie LED, 128 caractères différents et celasans nécessiter d’électronique additionnelle.Ce minuscule affichage de 20 x 10 x 5 mmintègre en outre une ROM, un multiplexeur etles circuits de commande pour les différentesLED qui constituent les matrices 5x7 dechaque position qu’il comporte. Il est possibled’afficher simultanément 4 caractères quel’on peut adresser individuellement. L’adres-sage de la position concernée se fait par lebiais des lignes A0 et A1, les données pré-sentes sur les broches D0 à D6 étant prisesen compte, sur la mise au niveau bas de labroche WR. Un niveau bas sur la broche CLR(CLeaR) a pour effet l’effacement de la RAMinterne (option non activée dans la présenteapplication). L’application d’un signal rectan-gulaire à la broche BL permet de réduire laluminosité de l’affichage. Notons qu’il estégalement possible de monter plusieurs affi-chages en cascade dont toutes les lignes dedonnées, exception faite de la broche WR,seront montées en parallèle.

Microcontrôleur programméLe microcontrôleur de Philips est, de par sonconcept et sa programmation facile, le com-posant rêvé pour ce système. Il intègre, outreune ROM de 2 Koctets, 128 octets de RAMainsi que 2 temporisateurs/compteurs(timer/counter) à 16 bits et d’autres périphé-

TEST&MESURE

34 Elektor 5/2002

Figure 5. Schéma du système de télémétrie.

87LPC762

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

12

3

4

8

9

+5V

C1

100µ 16V

Bz1

*

GP2DO2

IC2VOUT

VIN

SLR2016

Affichage

LD1

CLRD0

D1

D2

D3

D4

D5

D6 A1A0 WR

BL

020010 - 15

zie tekst*see text*voir texte*siehe Text*

D1

1N4148

riques internes qui ne sont pas misà contribution dans la présenteapplication. Il est intéressant denoter que l’oscillateur, du type àréseau RC, est intégré dans sa tota-lité et que, partant, il ne requiert,tout comme cela est le cas du blocde réinitialisation (reset), aucune cir-cuiterie externe additionnelle.Le logiciel n’a rien de bien complexe.Après une phase d’initialisation dumicrocontrôleur au cours de laquelletous les 128 octets de la RAM sonteffacés, on a passage au programmeprincipal à 3 routines, dont l’exécu-tion se fait en boucle fermée.On a, dans la routine « Sensor » (cap-teur), lecture du capteur de distance

en respect des caractéristiques don-nées dans la fiche de caractéris-tiques. Après écoulement du délaiprévu, on a application de 8 impul-sions d’horloge à la broche Vin et lec-ture d’un bit à chaque flanc descen-dant, en commençant par le bit depoids fort (MSB = Most SignificantBit). Le GP2F02 se trouve à l’état deveille lorsque la broche Vin se trouveau niveau haut pendant une duréesupérieure à 1,5 ms.Dans la routine « Grenzwert » (valeurlimite) on examine la valeur demesure pour voir si elle sort, d’uncôté ou de l’autre, du domaine para-métré par le codage appliqué auxlignes de port P2.0 et P2.1. Si tel est lecas, la sortie P1.2 bascule vers lamasse, activant ce faisant le résona-teur qui y est connecté.Dans la routine « Anzeige » (affi-chage) on commence par convertir lavaleur de mesure de son format hexa-décimal au format décimal. La com-mande du module d’affichage intelli-gent du type SLR2016 se fait parapplication des données aux brochesD0 à D6 et de l’adresse du chiffre cor-respondant aux lignes A0 et A1. Unflanc descendant sur la ligne WR setraduit par la prise en compte desdonnées et leur visualisation.Signalons l’existence d’une disquettecomportant le code-source et le fichierhexadécimal du programme du micro-contrôleur dénommée EPS 020010-41et d’une disquette EPS 020010-11 dis-ponible auprès des adresses habi-tuelles et au téléchargement sur lesite Internet d’Elektor sis à l’adresse :www.elektor.fr.

(020010)

Figure 4. Relation entre la valeur de mesure numérique et la distance.

00

50

100

150

200

250

20 40 60 80 100

Distance [cm]

Rés

ulta

t de

mes

ure

020010 - 14

Page 26: À la recherche des pannes - Doctsf.com

MINIPROJET

36 Elektor 5/2002

Les GSM et téléphone DECT tra-vaillent dans le domaine des 900ou 1 800 MHz, émettant desondes impulsionnelles. Il vous estsans doute déjà arrivé d’observerces crachotements caractéris-tique si votre GSM est sorti de saléthargie à proximité d’un récep-teur radio ou d’un téléphone ana-logique. Si vous écoutez fré-quemment la radio vous n’aurezpas manqué de constater ce typed’interférences car les GSM peu-vent exercer une influence sur lesmicrophones sensibles utilisésdans cette branche d’activités.Il n’est pas sorcier de capter lessignaux émis par un téléphoneGSM. Tout ce dont on a besoinest en effet une petite antenne,une diode et un amplificateur.Pourquoi ne pas prendre2 exemplaires de chacun de cescomposants, l’utilisation des2 oreilles permet un meilleurrepérage spatial. Même dans ledomaine des hautes fréquencesnos « esgourdes » sontcapables de stéréophonie et de« directionnalité ».

Trace-GSMDétecteur pour signaux de téléphonie mobile

Projet : Burkhard Kainka

Il arrive, de plus en plus souvent, que l’on soit l’objet d’un appel ou quel’on reçoive un SMS (Texto) alors que son expéditeur se trouve à por-tée acoustique. Quelqu’un essaie-t-il de se cacher ? Ou s’agit-il d’uneautre opération semi-secrète telle qu’une communication interdite aumilieu d’un cours ou d’un examen ? Ce genre de situation est appeléeà disparaître, Elektor vous proposant dans cet article, un trace-GSM,l’ultime appareil de repérage de GSM et téléphones portables en coursd’activité.

Page 27: À la recherche des pannes - Doctsf.com

MINIPROJET

375/2002 Elektor

Trace-GSM

Le schéma représenté en figure 1n’est en fait rien de plus qu’une pairede détecteurs-récepteurs UHF reliésà une paire d’antennes dipôles, sui-vis en aval de diodes Schottky detype HF et de 2 amplificateurs. Onpourra réaliser soi-même les2 petites bobines nécessaires. Unepaire de bobines à air de 10 spires de5 mm de diamètre font parfaitementl’affaire. Nous les avons, pour notrepart, réalisées à l’aide de fil argentéet bobinées sur une LED de 5 mm.Rien n’interdit non plus d’utiliser dufil de cuivre émaillé. La section du filde cuivre et les caractéristiquesexactes des bobines ne présententpas la moindre criticité.Les 2 amplificateurs de casqued’écoute reposent sur un doubleamplificateur opérationnel du typeLM358. La LED de signalisation defonctionnement sert en même tempsde masse virtuelle pour la régulationd’une tension auxiliaire. Contraire-ment à ce qui est normalement lecas lorsque l’on utilise des amplifi-cateurs opérationnels, le découplagedes sorties ne se fait pas par le biaisde condensateurs électrochimiquesmais à l’aide de résistances.Celles-ci sont traversées en perma-nence par un courant continu defaible intensité. L’amplificateur tra-vaille partant en mode A, modecaractérisé par un niveau de distor-sion faible même à gain important.Les 2 antennes prennent la forme de2 morceaux de fil d’une longueurcomprise entre 3 et 7,5 cm, disposésen équerre (90 °) l’un par rapport àl’autre et passant par les coins supé-rieurs de la platine. Cette dispositionpermet une bonne détection dedirection. Si l’on utilise un casqued’écoute stéréophonique il resterapossible d’obtenir une directionna-lité spatiale même si l’on se trouveen présence de plusieurs GSM émet-tant simultanément.Cet appareil permet également derepérer les stations émettrices duréseau radio et d’observer le dérou-lement de leurs activités. Il permetmême de détecter des fuites auniveau de votre four à micro-ondesdans la cuisine. Il est même possible,pour peu que l’on change lesbobines des antennes, de travaillersur de toutes autres fréquences.

6

5

7IC1.B

2

3

1IC1.A

R3

820k

R7

820k

R4

220Ω

R8

220Ω

R9

2k2

R2

1k

R6

1k

R1

10

0k

R5

10

0k

C3

100n

C4

100µ16V

C1

100n

C2

100n

D1BAT43

D2BAT43

D3

L1

L2

IC1

8

4

K1

BT1

S1+9V

+9V

IC1 = LM358

010128 - 11

A1

A3

A2

A4

zie tekst*see text*voir texte*siehe Text*

*

*

cathode(-) anode

(+)

LM358

1

4

5

8

Figure 1. L’électronique de notre trace-GSM : un détecteur-récepteur en version stéréo !

Mini-projets ElektorCette nouvelle série que nous démarrons dans le présent numéro est destinée principale-ment à nos lecteurs les plus jeunes et à tous les amateurs d’électronique qui aimeraientgagner de l’expérience pratique par la réalisation de petits projets. Par conséquent, lesprojets en question sont simples et d’un coût très abordable. Il va sans dire que la motiva-tion de réaliser quelque chose soi-même, ce qui est d’ailleurs l’essence même du violond’Ingres qu’est l’électronique, est ici plus importante que l’aspect technique et une des-cription de fonctionnement dans le moindre des détails. Nous avons essayé, pour les ditsprojets, d’utiliser des composants courants que vous devriez trouver chez votre reven-deur de composants du coin.Vous trouverez ces mini-projets d’Elektor non seulement sous forme papier dans votremagazine, mais également sous format téléchargeable depuis le site Elektor sur Internet(www.elektor.fr pour ceux qui nous découvriraient). Cette approche ouvre de nouvellesperspectives de simplification d’accès pour trouver des montages répondant à certainscahier des charges. Il va sans dire qu’une série telle que celle-ci tire aussi sa « substantifiquemoelle » du répondant de nos lecteurs et, dans le cas présent, surtout de ceux qui ferontun tour sur notre site. N’hésitez pas à nous passer un Mail si cette idée de mini-projetsvous semble intéressante, mais aussi si vous avez des critiques. Nous ne promettons pas derépondre à tout le monde. Nous nous réjouissons à l’idée de voir fleurir vos idées, proposi-tions et de recevoir l’une ou l’autre proposition de nouveau mini-projet au cas où vous enauriez déjà développé un...E-Mail: [email protected]

Page 28: À la recherche des pannes - Doctsf.com

Quelques sipres de plus, des antennes d’unelongueur un peu plus importante et déjà onse trouve dans le domaine des ondes courtes,ceci malheureusement pas, cependant, enstéréophonie.

Astuces pratiquesPar un coup d’oeil à la liste des composantsnous découvrons la présence, à côté desdiodes de type Schottky BAT43 et BAT45, de3 types de diodes additionnels, des diodes augermanium (Ge) cette fois. En fait, ces semi-conducteurs d’une autre époque ne sont pasuniquement des équivalents des premiers, ilsconviennent même encore mieux au cahierdes charges de la présente application ! Nousavons, en tout état de cause, constaté, surnos prototypes, une sensibilité légèrementsupérieure lors de nos essais avec des diodesau Ge. Il ne saurait être question, par contre,d’utiliser la BAT, une diode Schottky fameuses’il en est; elle présente en effet une sensibi-lité HF trop faible. Pour S1, qui pourra être uninterrupteur ou un bouton-poussoir, la platine,dont on retrouve la sérigraphie de l’implanta-tion des composants et le dessin des pistesen figure 2, ne comporte qu’une paire depicots, ce qui permettra plusieurs approchesqui devront toujours reposer sur des conduc-teurs de faible longueur, nous travaillons enHF, ne l’oublions pas. On peut également fortbien envisager l’utilisation d’un interrupteur àglissière présentant le pas requis que l’onsoudera aux 2 points prévus après l’avoirdébarrassé de son 3ème contact inutile. Unbouton-poussoir présente l’avantage, par rap-port à un interrupteur, que l’on ne risque pasd’oublier de couper l’alimentation par pile aurisque de la retrouver déchargée.Le point auquel il faudra veiller, lors de laconnexion de la pile, est sa polarité : leconducteur rouge du connecteur à pression

MINIPROJET

38 Elektor 5/2002

(C) ELEKTOR010128-1

C1

C2

C3

C4

D1

D2

D3

H1

H2

H3

IC1

K1

L2

R1

R2

R3 R4

R5 R6

R7 R8R9

S1

0

+9V

010128-1(C) ELEKTOR010128-1

Figure 2. Dessin des pistes et sérigraphie de l’implantation des composants de notre trace-GSM.

correspond, normalement, au plus(+) de l’alimentation. Il est bon,avant de connecter la pile, de s’assu-rer de la présence de tous les com-posants sur la platine et de leur posi-tionnement correct, exception faitede IC1 que l’on n’implantera pasencore dans son support. Si, aprèsconnexion de la pile et fermeture del’interrupteur S1, la LED s’allumec’est que sa polarité est correcte. Sila LED reste éteinte il faudra s’assurerque l’on en a bien respecté la polaritéet que l’on n’a pas fait d’erreur auniveau du branchement de la pile.Comme nous le disions plus haut, lepôle positif de la pile compacte de

9 V est identifié par un signe plus(+), c’est son contact rond en formede bouton, sur lequel viendra se posi-tionner le contact en forme de corolleà 6 pétales du connecteur. Ce n’estque lorsque l’on aura obtenu l’allu-mage de la LED que l’on pourra envi-sager, après avoir coupé l’alimenta-tion, d’implanter le circuit intégrédans son support (en veillant à res-pecter sa polarité).On pourra utiliser, comme boîtier,n’importe quel coffret suffisammentgrand pour recevoir la platine et lapile.La facilité de détection d’un GSMdépend bien entendu de la puis-

Page 29: À la recherche des pannes - Doctsf.com

sance d’émission de ce dernier. Leniveau d’émission est d’autant plusimportant que la réception de la sta-tion de base la plus proche est mau-vaise. Si la dite station se trouve àproximité immédiate (sous la formed’un mât HF monté sur l’un des bâti-ments proches) le niveau d’émissiondu GSM se trouvera en mode« faible » (ceci en vue d’économiserl’accumulateur) de sorte que la dis-tance de détection se verra réduiteet que le casque d’écoute ne per-mettra d’entendre le GSM qu’à par-tir de 2 mètres, voir encore moins. Depar l’approche stéréo adoptée pourl’électronique, à savoir les2 antennes plus particulièrement, ilest effectivement possible d’en-tendre, dans le casque d’écoute (dutype Walkman le plus courant), si le

GSM se trouve sur la gauche ou surla droite (à condition bien entendu,de ne pas avoir mis le casque à l’en-vers...)Il va sans dire que tout ce que l’onpeut entendre est le crachotementproduit par les impulsions émises, ilne saurait être question de suivreune conversation, le transfert decette information subit en effet, aucas où vous ne le sauriez pas, unencodage numérique.La sensibilité de notre détecteur deGSM dépend de 3 facteurs : desdiodes évoquées plus haut, de la lon-gueur des conducteurs constituantles antennes et du facteur d’amplifi-cation (le gain) de l’amplificateuropérationnel.Dans le cas de GSM travaillant sur950 MHz, les conducteurs (il en faut2 pour chacune des 2 antennes)devront avoir une longueur de 7,5 cm,ce qui correspond àla valeur théo-rique correcte (demi-longueur d’ondeà 950 MHz). Pour détecter un GSMtravaillant dans la bande de 1,8 GHz(1 800 MHz) la longueur théorique estréduite de moitié, ce qui nous amèneà de l’ordre de 3 cm. Il est préférablede faire quelques essais avec deslongueurs différentes. Le type dematériau utilisé pour l’antenne,conducteur isolé ou non, n’a pas lamoindre importance, l’essentiel étantqu’il soit suffisamment rigide pour nepas être plié à la moindre occasion. Ilest essentiel de veiller à un excellentcontact du fil d’antenne avec la pla-tine aux points de soudure. Onpourra, si l’on utilise du conducteurd’une certaine épaisseur, doter lespoints d’ancrage des antennes depicots sur lesquels les brins desantennes viendront se souder.Il est possible d’augmenter le gainde l’amplificateur opérationnel enfaisant passer la valeur des résis-tances R3 et R7 à une valeur supé-rieure aux 820 kΩ prévus, à 1 MΩvoire plus (si tant est que l’on puissemettre la main sur des résistancesde cette valeur). Il n’y a pas lemoindre problème jusqu’à 10 MΩ.L’expérimentation vaut mieux que lathéorie, il n’y a pas le moindre risquede faire une bêtise. Si, à un momentdonné, tout ce que l’on entend sontdu bruit et des sifflements, c’est quel’on a opté pour une valeur de résis-tance trop élevée.

(010128)

MINIPROJET

5/2002 Elektor

Liste des composants

Résistances :R1,R5 = 100 kΩR2,R6 = 1 kΩR3,R7 = 820 kΩR4,R8 = 220 ΩR9 = 2kΩ2

Condensateurs :C1 à C3 = 100 nFC4 = 100 µF/16 V vertical

Bobines :L1,L2 = 10 spires de 5 mm de dia-

mètre en fil de cuivre de 0,3 à0,5 mm de section (cf. texte)

Semi-conducteurs :D1,D2 = BAT43, BAT45, AA112,

AA116, AA119D3 = LED faible courantIC1 = LM358 P

Divers :K1 = embase jack 3,5 mm stéréo

encartable telle que, parexemple, 732893 (Conrad)

S1 = interrupteur unipolaire à glis-sière ou bouton-poussoir

pile compacte 9 V + connecteur àpression

support pour circuit intégré à8 broches

boîtier avec compartiment pourpile, tel que, par exemple, PactekK-RC-24-9VB-BC (Conrad522864)

2 morceaux de conducteur de 3 à7,5 cm pour les antennes

Page 30: À la recherche des pannes - Doctsf.com

TEST&MESURE

40 Elektor 5/2002

Les informations sur les codes de télécom-mandes de divers fabricants [1], loin d’avoirété recueillies en vain, permettent aucontraire de construire un récepteur infra-

rouge multi-code vraiment univer-sel. Il permet de réaliser un systèmede télécommande fonctionnant avecla majeure partie des émetteurs

commerciaux, une justification del’existence des télécommandes à laretraite ou au chômage. Il est aussipossible d’attribuer une autre fonc-

Récepteur IR multi-codeUn interlocuteur valable pour (presque) toutes les télécommandes

Ce circuit constitue la contrepartie des télécommandes de presque tousles appareils de l’électronique grand public :un récepteur compatible avecun grand nombre d’émetteurs de télécommandes à infrarouge.

Page 31: À la recherche des pannes - Doctsf.com

TEST&MESURE

415/2002 Elektor

câblage externe. R1 et C1 forment un filtrepasse-bas qui élimine les perturbations de latension d’alimentation La liste de pièces pro-pose quelques alternatives à ce circuit inté-gré. Attention alors au brochage ! La LED D1 indique le fonctionnement globaldu circuit. Elle devrait clignoter rythmique-ment lors de la réception.

Le microcontrôleurCe microcontrôleur a déjà été utilisé dansquelques projets de montage, par exempledans l’« Analyseur de code IR » [1]. Voici unrésumé de ses caractéristiques techniques :

– 4 Koctets de ROM– 128 octets de RAM– 32 octets d’EEPROM pour code client– Tension de service : de 2,7 à 6 V– 2 temporisateurs/compteurs 16 bits– Réinitialisation (Reset) intégrée– Oscillateur RC interne sélectionnable– Fonctionnement en circuit d’attaque

20 mA de toutes les broches du port– 18 broches E/S maximum lorsque la réini-

tialisation interne et l’oscillateur RC sontchoisis

– 2 comparateurs analogiques– Interface I2C– UART duplex intégral– Possibilités de programmation sérielle en

circuit

La fréquence d’horloge de 6 MHz et le divi-seur interne (par 6) engendrent une durée decycle de 1 ms. Cette vitesse permet de mesu-rer la largeur des impulsions avec exactitude,ce qui est crucial pour distinguer les codesles uns des autres. Les impulsions sont mesu-rées à l’aide d’un des 2 temporisateurs etcomparées à des limites spécifiques.

EEPROML’EEPROM sérielle IC2 possède une capacitéde 1 024 bits sous forme de matrice64 x 16 bits. Toutes les opérations de lecture etd’écriture sont effectuées en blocs de 16 bitspar une interface compatible Microwire. Selonle fabricant les données, une fois écrites, res-tent mémorisées pendant au moins 40 ans.

Étage de commutationLe microcontrôleur possède une capacitéd’attaque de 20 mA par broche de sortie, cou-rant qu’il peut commuter vers la masse. Il nefournit qu’environ 1 mA au niveau haut, desorte qu’il faut intercaler un transistor avant lacharge montée en aval. Deux versions sontindiquées dans le schéma :

Variante 1La broche du port commute un étage final basé

tion aux touches rarement utilisées(par exemple la touche d’auto-pro-grammation de la télécommandeTV), telle que la télécommande del’éclairage de la pièce. Seules lestélécommandes qui émettent enmode flash ne sont pas compatiblesavec ce circuit (logique interne durécepteur IR).Le récepteur, dont le schéma-blocest représenté dans la figure 1, peutêtre utilisé avec n’importe quelletouche d’une télécommande. Unepression sur la touche permet demettre en marche ou d’arrêter n’im-porte quel appareil consommateurd’énergie. Un récepteur, incorporépar exemple dans un bloc multi-prises, permet de commuter8 canaux indépendamment les unsdes autres.Les modélistes ferroviaires saurontcertainement tirer parti de la possi-bilité de commander les signaux oud’effectuer toute autre fonctionaccessoire en abandonnant lesaffres du câblage pour la lumièreinfrarouge émise par un émetteurdéjà disponible. En faisant fonction-

ner plusieurs récepteurs pour ainsidire en parallèle, il est possible detirer parti de toutes les fonctionsd’une télécommande. Les combinai-sons de code, dont le nombre estpratiquement illimité, permettent deréaliser des projets de commandecomplexes.

Le circuitLe circuit de la figure 2 est trèssimple et ne devrait présenteraucune difficulté lors du montage. Ilvaut mieux placer IC1 et IC2 dansdes supports.

Réception de l’infrarougeLe photorécepteur IC3 est un circuità haute intégration capable de déco-der la lumière infrarouge dotée d’unefréquence porteuse. Il contient unrécepteur infrarouge complet trèssensible réglé sur la fréquence por-teuse de 36 kHz Une photodiodeavec filtre contre la lumière du jour,des étages amplificateurs, des filtreset un démodulateur sont déjà inté-grés ce qui élimine presque tout le

Caractéristiques techniques– Tension d’alimentation 5 V– Capacité d’apprentissage des protocoles infrarouge : Japan NEC, RC5,

RECS80, SIRCS, DENON, MOTOROLA et Extrême-Orient (ceux relatés àDaewoo par exemple)

– 8 sorties programmables librement– Mémorisation des données dans l’EEPROM– Optimisé pour les systèmes à fréquence porteuse de 36 kHz– Aide à la programmation optique– Visualisation optique de l’état de la sortie

Microcontrôleur

Émetteur IR quelconque

Code NECCode JapanCode RC5..................

Eeprom

RécepteurIR 8x

touche

012018 - 12

Figure 1. Schéma de principe du récepteur multi-code.

Page 32: À la recherche des pannes - Doctsf.com

sur le transistor MOSFET BUZ11. La résistancede passage RDS(ON) de 0,04 W de ce transistorpermet de commuter sans problème un courantpermanent de 5 A. La diode protège le transis-tor des pointes de tension, par exemple lors dela commutation de charges inductives. Ellen’est pas indispensable lorsque la charge estohmique. La version 1 ne permet de commuterque des courants continus.

Variante 2Dans cette version, un relais 12 V,résistance de la bobine 400 W (doncun courant de 30 mA) est commutépar l’entremise du transistor BC548.Un relais de faible puissance permetde commuter n’importe quellecharge. Une diode de roue libre estaussi nécessaire dans ce cas.

AlimentationLa tension de fonctionnement, déter-minée principalement par le photo-récepteur IC3 qui a besoin de 5 V, estfournie par le régulateur de tensionIC4. La tension d’entrée devrait êtrede 9 V au moins, car le régulateurprovoque une chute d’environ 3 V.IC4 est bien entendu superflu si l’ap-plication offre déjà une source 5 V.Attention ! Un régulateur de tensionrefroidi peut subir une charge de 1 A,mais un régulateur non refroidi nepeut dépasser 100 mA. La tensiond’entrée de 12 V est prévue pourl’utilisation d’un relais à cette ten-sion de bobine.

Le logicielLe logiciel est basé sur l’analyseur decode IR mais possède la caractéris-tique supplémentaire de mémoriserles codes reçus et de les attribuer à

TEST&MESURE

42 Elektor 5/2002

P87LPC764

IC1P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7P1.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

X1

6MHz

C3 C4

R111

00

k

S1

PROG

D2

D1

R2

3k3

R1

10

D3

D4

D5

D6

D7

D8

D9

R3

1k

R4

1k

R5

1k

R6

1k

R7

1k

R8

1k

R9

1k

R10

1k

TSOP1736 NJL61H380

21 3

SFH505A

IC3

C1

100µ

+5V

R13

10k

R12

10k

+5V

7805

IC4

C7

100n

C6

100µ

+5V

S

D

G

BUZ11

1N4148

+U

10k

BC548C

12V

+U

1N4148

012018 - 11

Q1 ... Q8

Q1 ... Q8

+12V

ou

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

K125V

SFH506 SFH5110

TSOP1736SFH505A

SFH506

SFH5110IS1U60

C8

100µ25V 25V

C2

100n

C5

100n

*

voir texte*

93C46B

IC2

PRE

CS SK

DI DO

PE1

8

5

2

3 4

67

15p 15p

TFMS5360

TFMS5360

IS1U60PIC12043S

PIC12043S

NJL61H380

TSOP1836

TSOP1836

Figure 2. Le circuit se limite à un module de réception IR et à un microcontrôleur auquel est raccordée une EEPROM.

Instantsd'échantillonnage

Pics 012018- 13

Code

Figure 3. Échantillonnage par interrogation

Page 33: À la recherche des pannes - Doctsf.com

un processus de commutation. Le signal n’estpas seulement échantillonné et mémorisé surcette base, mais le véritable code est identi-fié et comparé à des valeurs de référence spé-cifiques, par exemple celles qui correspon-dent à la longueur des impulsions indivi-duelles. Ce processus requiert sensiblementmoins de mémoire, mais il présente le désa-vantage que le format doit être connu àl’avance pour être identifié. Les télécom-mandes adaptatives reposent souvent sur lamémorisation des valeurs échantillonnées, ce

TEST&MESURE

435/2002 Elektor

(C) ELEKTOR

012018-1

C1

C2

C3C4

C5

C6

C7C8

D1 D2D3D4D5D6D7D8D9

H1 H2

H3H4

IC1

IC2

IC3

IC4

K1

R1

R2

R3R4R5R6R7R8R9

R10

R11R12R13

S1

X1

0 +

01

20

18

-1

(C) E

LEK

TOR

01

20

18

-1

Figure 4. Dessin des pistes de la platine.

Liste des composants

RésistancesR1 = 100 ΩR2 = 3 kΩR3 à R10 = 1 kΩR11 = 100 kΩR12,R13 = 10 kΩ

Condensateurs :C1,C2,C8 = 100 µF/10 VC2,C5,C7 = 100 nF céramiqueC3,C4 = 15 pF

Semi-conducteurs :IC1 =P87LPC764BN (Philips),

programmé (EPS012018-41)

IC2 = 93C46 (Microchip 93C46B/P)IC3 = TSOP1736 (alternative

SFH5110-36, IS1U60, TFMS5360,PIC26043SM,TSOP1836)

IC4 = 7805D1 = LED rouge à haut rendementD2 à D9 = LED rouge à boîtier plat

Divers :X1 = quartz 6 MHzS1 = bouton-poussoir à contact travailSupport pour circuit intégré à

20 brochesSupport pour circuit intégré à

8 brochesK1 = embase mâle à 1 rangée de

9 contacts

Fréquence porteuseLa figure A indique clairement que la sensibi-lité décroît déjà de moitié lorsque l’émetteurfonctionne à 34 kHz ou 38 kHz. Le remplace-ment du photorécepteur devrait améliorer leschoses si ce problème se manifeste. Les cir-cuits intégrés sont disponibles par pas de2 kHz à presque toutes les fréquences entre30 et 40 kHz.Un moyen simple de tester la fréquenced’émission consiste à utiliser un oscilloscope.Une diode de réception IR usuelle, parexemple BPW75, est reliée à 5 V au traversd’une résistance comme le montre la figure B.Les signaux d’une télécommande placée àfaible distance de la photodiode peuvent alorsêtre analysés à l’oscilloscope pour déterminerleur fréquence.

10

k

BPW75par ex.

+5V

Sonde

012018 - 16

A B

Figure A. Diminution de la sensibilité lorsde la déviation par rapport à la fréquencecentrale

Figure B. Circuit de test simple d’unetélécommande.

Page 34: À la recherche des pannes - Doctsf.com

qui requiert une mémoire statique de grandecapacité.Si le signal est échantillonné par interroga-tion (polling), le logiciel teste en perma-nence (et bien plus souvent que ne lemontre la figure 3) l’état logique de labroche d’entrée P1.4. La fréquence de répé-tition est déterminée par la durée du cycledu logiciel. Lors de l’interrogation, un comp-teur implémenté par logiciel compte lenombre de processus d’échantillonnage quicorrespondent à un état logique. La valeurdu compteur est fonction de la longueur del’impulsion et donc de l’information numé-rique. L’effet de transitoires dans le signal,par exemple de courtes pointes, peut êtrefacilement éliminé en choisissant unnombre suffisant d’échantillons pour carac-tériser un changement de niveau. Si cenombre minimum n’est pas atteint, on sup-posera qu’il s’agissait d’une perturbation,l’état du compteur pour le dernier change-ment de niveau sera ignoré et on continueraà compter à partir de l’état précédent.Cette méthode présente, comme chaquechose, des avantages et des inconvénients.La simplicité de la programmation, l’insensi-bilité aux perturbations (Les perturbationsentre les processus d’échantillonnage sontignorées si des boucles de délai sont intro-duites) et la portabilité de la méthode surn’importe quel microcontrôleur (pas besoin dematériel particulier) ne compensent malheu-reusement pas complètement l’inconvénientque représente la surcharge du processeur (lelogiciel est complètement accaparé par leprocessus d’échantillonnage et il ne reste pasassez de temps pendant un télégramme poureffectuer d’autres fonctions). Des interrup-tions trop longues peuvent aussi fausser plusou moins complètement les résultats de lamesure.Les codes reçus sont enregistrés sous formehexadécimale dans l’EEPROM et dans laRAM interne du contrôleur. Les bits d’adres-sage et de commande ne sont pas séparés,de sorte que le télégramme reçu peut êtrecomparé dans son intégralité avec les don-nées mémorisées des précédents. Les bits debasculement, comme par exemple dans lecode RC5, dont l’état change lors de chaquepression d’une touche, sont ignorés par lelogiciel et ne sont pas évalués, car ils produi-raient sinon une autre valeur hexadécimaledu code.

Premiers pasLe montage du circuit récepteur sur la cartede la figure 4 ne pose aucun problème. Lebrochage de plusieurs types de récepteurs IRappropriés est indiqué.

Il faut programmer l’appareil avantde s’en servir afin que le microcon-trôleur apprenne pour quelles com-mandes provoquer un processus decommutation. La programmation estlancée en pressant brièvement latouche S1. La LED D2 commenceimmédiatement à clignoter. Chaquecommande d’un code connu dumicrocontrôleur sera alors mémori-sée et attribuée à la broche du porttraitée. Cette phase de la program-mation est déjà terminée et la sui-vante (la LED D3 clignote) com-mence automatiquement. Une autrecommande peut être attribuée àcette broche de façon analogue auprocessus décrit précédemment.Une autre télécommande, possédantpeut être peut-être un autre code,peut être utilisée entre-temps sansque cela joue aucun rôle. Répéter ce processus pour toutes les8 sorties. Plus aucune LED ne cli-gnote. La programmation est termi-née. Pour modifier plus tard un seulcanal, sauter le processus de pro-grammation de chaque broche quine doit pas être modifiée en pressantbrièvement la touche.Si un appareil est raccordé lors duprocessus signalé par un clignote-ment, il sera bien entendu mis souset hors tension au même rythme.Tous les réglages sont mémorisés àdemeure dans l’EEPROM IC2, desorte que la configuration la plus

récente sera disponible lors du redé-marrage du microcontrôleur aprèsune réinitialisation.Après réception d’un code déjà misen mémoire, on a, sur la brocheconcernée, changement du niveaulogique par rapport à l’état précé-dent.Comme de nombreuses télécom-mandes envoient régulièrement letélégramme tant que la touche restepressée, une bascule monostable enlogiciel se charge du déroulementcorrect de la commutation. L’état dela broche ne peut changer de nou-veau qu’une seconde environ aprèsl’envoi du dernier télégrammevalable.Comme le logiciel ne peut décoderque les formats de codes qu’ilconnaît, le passage automatique dela LED clignotante à celle du canalsuivant lors de la programmationsignifie que le code a été lu correcte-ment. Sinon, une pression sur unetouche de la télécommande IR n’aaucun effet sur l’état de sortie dumicrocontrôleur.Le photorécepteur IC, optimisé pourune fréquence porteuse de 36 kHz,permet bien entendu d’atteindre laplus grande portée avec des émet-teurs modulant leurs données à cettefréquence. Une portée insuffisanteest due généralement à l’utilisationd’une autre fréquence par l’émetteur.

(012018)

TEST&MESURE

44 Elektor 5/2002

Adresses :EEPROM :www.fairchildsemi.com/pf/FM/FM93C46.html

Microcontrôleur :www.semiconductors.philips.com/pip/p87lpc764bd

Circuits intégrés photodétecteurs :www.infineon.com/cmc_upload/0/000/008/562/sfh5110.pdfwww.vishay.com/products/optoelectronics/IRMall.html

Littérature :[1] Protocoles de télécommande par IR (I et II),

Elektor n °273 et 274, mars et avril 2001, page 24 et suivantes et page 36 et suivantes

[2] Analyseur de code IR,Elektor n °280, octobre 2001, page 12 et suivantes

Page 35: À la recherche des pannes - Doctsf.com

La norme internationale IEC-1107, publiéepar l’IEC (International Electrotechnical Com-mission), décrit le protocole au niveau du logi-

ciel et le matériel nécessaire à latransmission des données de comp-teurs d’utilisation de courant, de gaz,

d’eau, etc. La partie matérielleconsiste en une interface infrarougebidirectionnelle que l’on peut trouverentre-temps dans de nombreuxcompteurs utilisés en Europe. Prati-quement tous les compteurs électro-niques à microprocesseur actuelspossèdent cette interface selon IEC-1107, ou selon la norme européennecorrespondante EN61107.La libéralisation du marché de l’élec-tricité conduit à un emploi toujoursplus fréquent de ce type de comp-teur électronique qui enregistretoutes les 15 minutes la puissancemoyenne mesurée pendant cetemps, autrement dit la courbe decharge. La lecture de ces donnéespar le port IR selon IEC-1107 esteffectuée au moyen de dispositifscommerciaux de lecture et d’assis-tance que leur prix élevé met toute-fois hors de portée d’un particulier.L’interface optoélectronique de lec-ture de compteurs décrite ici peutêtre directement raccordée à l’inter-face RS-232 d’un PC voire même àcelle d’un ordinateur portable. Le cir-cuit ne comporte qu’un nombreréduit de composants et sa tensiond’alimentation provient de l’ordina-

MESURE&TEST

46 Elektor 5/2002

Interface IEC-1107pour compteur de courantPermettant de relever les compteurs électroniques de consommation

Christian Mester

Les compteurs de courant modernes sont équipés d’une interface infrarougeselon IEC-1107 permettant de relever l’état du compteur ainsi que la consom-mation moyenne (valeur de la courbe de charge) mise à jour tous les quartsd’heure. Cette contribution présente une interface IEC-1107 de connexion àun PC par RS-232. Le logiciel d’Elektor, qui peut être téléchargé gratuitement,permet d’enregistrer la courbe de charge dans un fichier.

K1

DB9

1

2

3

4

5

6

7

8

9

D1

1N4148

D2 D3

D4

1N4148

D5 D6

C2

10µ

C1

10µ

R4

39

D8

SFH485

3x

3x

R2

10

0k

R1

10

0k

D7

BPW43

2

3

6

IC17

4

741P

220k

P1

000195 - 11

Figure 1. L’interface, de conception très simple, avec diode IR émettrice et réceptrice. LaLED émettrice est attaquée directement par la ligne TXD de l’interface sérielle. Unamplificateur opérationnel de comparaison sert d’amplificateur de lecture de la photodiode.

Page 36: À la recherche des pannes - Doctsf.com

débit du protocole IEC1107 n’exige pas desperformances très élevées de la part du cir-cuit ; un amplificateur opérationnel aussiantique que le 741 jouera parfaitement le rôlede comparateur.Le nombre de composants est si réduit qu’unmontage sans carte ne pose aucun problème.Ne perdez toutefois pas de vue le fait que K1doit être un connecteur femelle Sub-D. Il fautprotéger la photodiode D7 de la lumière para-site pour que le signal IR ne soit reçu que del’avant. Faire appel à un câble blindé si la liai-son avec D7 atteint une certaine longueur.Il est indispensable de procéder à un ajus-tement rapide avant la mise en service.Régler P1 avant que la photodiode D7 ne soitraccordée ou en veillant à ce qu’elle nereçoive pas de lumière. Faire en sorte que labroche 6 de IC1 se trouve à la limite duniveau bas, c’est-à-dire que la sortie du com-parateur se trouve à la limite de commuta-tion au niveau haut.

MontagePour que les diodes D7 et D8 puisse « voir »l’interface IR du compteur électrique, il fautles monter directement à l’avant de cetteinterface optique. Les composants optiquesdu compteur sont montés sur sa face avant(voir la figure 2) et sont souvent entourésd’un anneau en tôle ou magnétique permet-tant de fixer rapidement la tête de lecturedans la bonne position et de a retirer toutaussi aisément. Comme des anneaux en tôleou magnétiques correspondants ne sont pasdisponibles dans le commerce, on peut réali-ser par exemple sa propre tête de lecture àpartir d’une bande de matériau d’une platinedans laquelle on perce 2 trous de 5 mm dontles centres sont distants de 6,5 mm. Enfonceret fixer la photodiode D7 dans le trou degauche et la LED IR D8 dans celui de droite.On peut fixer cette bande de platine équipéede 2 diodes sur la face avant du compteur aumoyen de bande adhésive. Veiller à ce que les2 diodes soient placées exactement en regarddes composants optoélectroniques de l’inter-face du compteur. Une bande velcro autoad-hésive, qui permet de fixer et de retirer faci-lement la tête de lecture, fera encore mieuxl’affaire en cas d’utilisation fréquente.

LogicielLe programme développé par l’auteur permetde lire les courbes de charge positives etnégatives (puissance appliquée ou puissancedébitée) de la puissance active et de la puis-sance réactive, pour autant que le compteurélectrique les enregistre, ce qui n’est pas tou-jours facile à vérifier de l’extérieur. Il ne suffit

teur, donc nul besoin de batterie. Lacourbe de charge peut être enregis-trée dans un fichier grâce au logicielauxiliaire, ce qui permet par exemplede traiter les valeurs mesurées dansun tableur. Les intéressés auront donc pour lapremière fois la possibilité de lire àbon compte les données mesuréespar les compteurs munis de l’inter-face IEC-1107, un moyen techniquemoderne d’améliorer la transparencede leur facture d’électricité dans lesens de la loi sur la protection desconsommateurs.

Matériel simpleLa figure 2 reproduit le schéma del’interface optoélectronique. Le cir-cuit est alimenté par la tension dessorties TXD, DTR et CTS de l’inter-face sérielle à travers les diodesD1 à D6. L’entrée d’inversion(broche 2) de l’amplificateur opéra-tionnel IC1 servant de comparateur

est soumise à une tension dépen-dant de l’intensité de la lumièreinfrarouge atteignant la photodiodeD7, car l’illumination de D7 influencele diviseur de tension composé de R1et R2. La tension continue appliquéeà l’entrée non inverseuse (broche 3)est ajustée par le potentiomètre P1.Le niveau du signal du compteur dis-ponible à la sortie du comparateur(broche 6 de IC1) est déjà adapté àcelui de l’interface RS-232. Il esttransmis au PC par la ligne de récep-tion des données RXD de la liaisonRS-232.La LED IR D8 servant à transmettredes données du PC au compteurélectrique est raccordée à la ligned’émission des données TXD de l’in-terface RS-232 du PC par la résis-tance R4. Cette dernière limite lecourant traversant la LED, quis’éclaire lorsque la ligne TXD del’interface sérielle se trouve auniveau haut.Et c’est tout. La valeur peu élevée du

MESURE&TEST

475/2002 Elektor

Figure 2. Les compteurs de la série Dialog de Siemens offrent une interface derelevé IEC-1107 destinée particulièrement au marché de l’électricité libéralisé.

Page 37: À la recherche des pannes - Doctsf.com

pas que le compteur possède une interfaceoptoélectronique, il faut aussi que le cahierdes charges du matériel et le protocole utilisésoient conformes à la norme IEC-1107. Lanorme [1] contient des informations surl’échange des données.Mais une interface conforme à ces normes nesignifie pas nécessairement que le compteurest équipé d’une mémoire pour les courbesde charge. Il se peut que l’entreprise de dis-tribution d’énergie puisse vous fournir desrenseignements. Sinon, il ne reste plus qu’àessayer.Avant de lancer le programme, nommé « Last-prof », ou mieux encore avant de mettre enmarche l’ordinateur, raccorder l’interface ducompteur à la première interface sérielle del’ordinateur. Si la deuxième interface sérielleCOM2 est utilisée, lancer le programme par« Lastprof 2 ». La courbe de charge enregis-trée en format ASCII dans le fichier indiquépeut servir de base à une évaluation.Le tableau 1 reproduit une partie d’unecourbe de charge provenant d’un compteurélectrique de l’entreprise EMH. La première ligne donne la date et l’heure(00-07-11,08:30:00). Ces valeurs demesure ont été saisies le 11 juin 2000 à08 heures 30. La ligne suivante contient lesnuméros des canaux et les unités des valeursnumériques. La troisième ligne, enfin,contient les valeurs mesurées à 08 heures 30,les lignes suivantes contiennent les donnéesenregistrées chaque quart d’heure suivant.Les valeurs de mesure positives (puissanceactive utilisée par le consommateur) ducanal 1 sont représentées dans la 1ère colonne(02.24). Il s’agit de moyennes. C’est la signi-fication du 5 suivant le numéro de canal. Lapuissance active est exprimée en kilowatts(kW). Les moyennes de la puissance réactivepositive du canal 3 sont données dans la2ème colonne (00.28). Les moyennes de lapuissance active négative (envoyée par le

consommateur dans le réseau) sontdonnées dans la 3ème colonne(00.00) et celles de la puissanceréactive négative (00.00) dans la4ème colonne. L’unité de puissanceréactive est le kilovar (kVar).Vous trouverez le logiciel (pro-gramme exécutable et code source)sur le site Internet d’Elektorwww.elektor.presse.fr dans la listede choix de ce numéro sous « Télé-chargements ». On obtient sous lenuméro 000195-11 un fichier .zipcontenant les fichiers du programmelastprof.exe, lastprof.pas et la Pas-cal Unit comm.tpu.

(000195-1)

Bibliographie : [1] International Standard IEC-1107/

Norme Internationale CEI-1107

MESURE&TEST

48 Elektor 5/2002

Adresses Web :Fabricants de compteurs :

www.siemet.com (choisir l’option «metering»)www.emh.dewww.enermet.dewww.dzg2.dewww.abb.de/messtechnikwww.iskraemeco.si

Informations générales sur IEC-1107 :

www.abacuselectrics.com/iec1107.htm

VA, var et kilovarLorsque le courant alternatif n’est pas consommé uniquement par une résistanceohmique, mais aussi par des inductances et des capacitances, la charge du réseaudevient partiellement inductive ou capacitive. Cela conduit à un déphasage entrecourant et tension.Tout courant déphasé par rapport à la tension peut être décomposé en 2 compo-santes (courants partiels) : Un des courants partiels (la composante ohmique) esten phase avec la tension – il s’agit du courant actif. Le deuxième courant partiel,le courant réactif, constitue la partie inductive ou capacitive déphasée à 90° parrapport à la tension. Le courant est « en avance » lorsque la charge est capacitiveet « en retard » lorsqu’elle est inductive (moteurs, transformateurs, ballast detube fluorescent). Un ampèremètre ne permet pas de saisir les courants partiels,il indique toujours le courant total I constitué par l’addition géométrique des cou-rants partiels. Ce courant est dénommé courant apparent. Si on multiplie cha-cun de ces courants par la tension, on obtient 3 puissances qui peuvent être plusfacilement distingués l’une de l’autre en les désignant selon DIN 40 110 par lesunités VA et var qui viennent s’ajouter à l’unité watt (W) :

– la puissance active (courant actif x tension) est indiquée en watts (W).– la puissance réactive (courant réactif x tension) est indiquée en

voltampères réactifs (var).– la puissance apparente (courant apparent x tension) est indiquée en

volt-ampères (VA).

VA et var ne sont donc rien d’autre que des désignations particulières des wattsqui permettent de distinguer entre la puissance active, la puissance réactive et lapuissance apparente. Un kilovar (kVar) est égal à 1 000 var – de façon analogue àun kilowatt (kW) et un kilovolt-ampère (kVA).

Tableau 1.Extrait d’un profile de charge

P. P ( 0 0 - 0 7 - 1 1 , 0 8 : 3 0 : 0 0 ) ( C @ @ @ @ @ @ @ ) ( 1 5 ) ( 1 4 5 6 3 )

( 1 . 5 _ k W, 3 . 5 _ k v a r, 2 . 5 _ k W, 4 . 5 _ k v a r )

( 0 2 . 2 4 ) ( 0 0 . 2 8 ) ( 0 0 . 0 0 ) ( 0 0 . 0 0 )

( 0 2 . 2 8 ) ( 0 0 . 3 6 ) ( 0 0 . 0 0 ) ( 0 0 . 0 0 )

( 0 2 . 2 8 ) ( 0 0 . 3 2 ) ( 0 0 . 0 0 ) ( 0 0 . 0 0 )

Page 38: À la recherche des pannes - Doctsf.com

INFOCARTE 5/2002

SN75176BDriver de bus RS485/422

Microcontrôleurs & Périphérie

SN75176BDriver de bus RS485/422

Microcontrôleurs & Périphérie INFOCARTE 5/2002SN75176B Driver de bus RS-485/422

Fabricant :Texas Instrumenthttp://www-s.ti.com/sc/ds/sn75176b.pdf

Caractéristiques techniques :– Émetteur/récepteur bidirectionnel– Remplit voire dépasse les normes ANSI pour RS-495-A

et RS-422-B– Transmissions multipoints sur lignes de bus de grande

longueur dans des environnements parasités par bruit.– Sortie de driver et de récepteur 3 états– Validation individualisée du driver et du récepteur– Plage des tensions de bus positive et négative à l’entrée

et la sortie très large– Courant de sortie de driver maximum de ±60 mA– Dispositif de protection thermique– Limitation du courant de driver tant en positif qu’en

négatif– Impédance d’entrée du récepteur : 12 kΩ (min.)– Sensibilité d’entrée du récepteur : ±200 mV– Hystérésis d’entrée du récepteur : 50 mV typique– Alimentation asymétrique de +5 V

Description :Le SN75176B est un émetteur/récepteur (transceiver) debus bidirectionnel pour la transmission de données par lebiais de voies de transmission multipoints.Le 75176B, qui est reconnu comme le standard industrieldans ce domaine, travaille à des niveaux de bus symé-triques et respecte les standards ANSI TIA/EIA-422-B etTIA/EIA-485-B de même que les recommandations V.11et X.27 de l’ITU. Le SN75176B comporte un circuit decommande (driver) différentiel à 3 états et un récepteurà entrée différentielle. Le driver et le récepteur secontentent d’une alimentation asymétrique de +5 V. Ilest possible de les activer individuellement soit par niveauhaut (active high) soit par niveau bas (active low), ce quipermet une commande de direction depuis l’extérieur.En interne, les entrées et les sorties sont reliées à desports d’E/S différentiels qui constituent une charge mini-male du bus lors de la désactivation des drivers ou lacoupure de la tension d’alimentation. Les ports peuventse targuer d’une plage de tension en mode communpositive/négative très large ce qui les rend éminemment

utilisables dans des applications concernant des réseauxun peu « sauvages ».Le driver est en mesure de fournir et de drainer un cou-rant de 60 mA; dans cette fonction, il est protégé par undispositif de limitation de courant et par une protectionthermique (entrant en action à 150 °C). L’émetteur pré-sente une impédance d’entrée de 12 kΩ au minimum,possède une sensibilité d’entrée de ±200 mV et une hys-térésis d’entrée typique de 50 mV.Le SN75176B pourra servir à remplacer les quadruplesdrivers du type SN75172/174 de même que les qua-druples récepteurs du type SN75173/175.Le SN75176B est prévu pour travailler dans une plage detempérature allant de 0 à +70 °C, son homologue fonc-tionnel, compatible tant broche à broche qu’au niveaudes fonctions, le SN65176B pouvant lui travailler sur uneplage de température plus large puisqu’elle s’étend de–40 à +105 °C.

Application typique :Convertisseur d’interface RS-232 -> RS485Elektor 5/2002

Types de boîtier, brochage et logiqueSN75176BD 0 à +70 °C SO8SN75176BP 0 à +70 °C DIP8SN65176BD –40 à +105 °C SO8SN65176BP –40 à +105 °C DIP8

DriverEntrée D Validation DE Sortie

A BH H H LL H L Hx L Z Z49

5/2002Elektor

Paramètre Conditions de test Min. Typ.

VIK Tension aux bornes d’entrée II = –18 mA –1,5

VO Tension de sortie IO = 0 6

|VOD1| Tension de sortie différentielle IO = 0 1,5 3,6 6

|VOD2| Tension de sortie différentielleRL = 100 Ω

voir

figur

e ci

-des

sous

0,5·VOD1ou 2

V

RL = 54 Ω 1,5 2,5 5 V

∆|VOD| Changement de la tension de sortie différentielle lorsd’un changement de niveau

RL = 54 Ω ou RL = 100 Ω ±0,2 V

VOC Tension de sortie en mode commun +3, –1 V

∆|VOC| Variation de la tension de sortie en mode commun ±0,2 V

VOD3 Tension de sortie différentielle selon ANSI TIA/EIA-485-A 5

IO Courant de sortie (sortie désactivée)VO = 12 V 1

VO = –7 V –0,8

IIH Courant d’entrée pour niveau haut VI = 2,4 V 20

IIL Courant d’entrée pour niveau bas VI = 0,4 V –400

IOS Courant de court-circuit de sortie

VO = –7 V –250

VO = 0 150

VO = VCC 250

VO = 12 V 250

ICC Consommation totale hors-chargeSorties validées 42 70

Sorties bloquées 26 35

Caractéristiques électriques de la section du driver (dans les conditions de service recommandées)

UnitéMax.

V

V

V

0

V

mA

mA

mA

mA

mA

mA

mA

mA

mA

mA

1,5

Page 39: À la recherche des pannes - Doctsf.com

SN75176BDriver de bus RS485/422

Microcontrôleurs & Périphérie

SN75176BDriver de bus RS485/422

Microcontrôleurs & Périphérie INFOCARTE 5/2002INFOCARTE 5/2002

50El

ekto

r5/

2002

Récepteur

Entrées différentiellesA-B Validation RE Sortie R

VID ≥ 0,2 V L H

–0,2 V < VID < 0,2 V L ?

VID ≤ –0,2 V L L

X H Z

ouvert L ?

H = niveau haut L = niveau bas ? = non défini X = sans importance Z = à haute impédance

Paramètre Valeur limiteTension d’alimentation 7 VPlage de tension au niveau des broches du bus –10 à +15 VTension d’entrée de validation des broches 5,5 V

Résistance thermique197 K/W

Valeurs maximales

(boîtier SO)

(boîtier P) 104 K/W

Paramètre Min. Typ.

VCC Tension d’alimentation 4,75 5 5,25

VI, VIC Plage de tension au niveau des broches du bus12

–7

VIH Tension d’entrée pour un niveau haut D, DE, RE 2 V

VIL Tension d’entrée pour un niveau bas D, DE, RE 0,8 V

VID Tension d’entrée différentielle ±12

IOH Courant de sortie pour un niveau hautDriver – 60 mA

Récepteur – 400 µA

IOL Courant de sortie pour un niveau basDriver 60 mA

Récepteur 8 mA

TA Température de serviceSN65176B – 40 +105 °C

SN75176B 0 +70 °C

Conditions de fonctionnement recommandées

UnitéMax.

V

V

V

V

Paramètre Conditions de test Min. Typ. Max.

VIT+ Tension de seuil pour flanc montant VO = 2,7 V, IO = –0,4 mA 0,2 V

VIT- Tension de seuil pour flanc descendant VO = 0,5 V, IO = 8 mA –0,2 V

Vhys Hystérésis d’entrée 50 mV

VIK Tension de fixation de l’entrée de validation II = –18 mA –1,5 V

VOH Courant de sortie pour niveau haut VID = 200 mV, IOH = –400 mA 2,7 V

VOL Courant de sortie pour niveau bas VID = –200 mV, IOL = 8 mA 0,45 V

IOZ Courant de sortie à l’état de haute impédance VO = 0,4...2,4 V ±20 mA

II Courant d’entrée Ligne (autre entrée 0 V)VI = 12 V 1 mA

VI = –7 V –0,8 mA

IIH Courant d’entrée de validation pour niveau haut VIH = 2,7 V 20 mA

IIL Courant d’entrée de validation pour niveau bas VIL = 0,4 V –100 mA

rI Impédance d’entrée VI = 12 V 12 kW

IOS Courant de court-circuit de sortie –15 –85 mA

ICC Consommation totale hors-chargeSorties validées 42 70 mA

Sorties bloquées 26 35 mA

Caractéristiques électriques de la section du récepteur (dans les conditions de service recommandées)

Unité

Page 40: À la recherche des pannes - Doctsf.com

MICROINFORMATIQUE

54 Elektor 5/2002

Nous vous avons proposé, dans notre numéro267 (cf. repère [1] de la bibliographie), uneinterface USB pour laquelle il existait unpilote pour Windows 98 mais pas pour Linux.Il est temps que les choses changent ! Linuxsupporte USB dans son noyau (kernel) ver-sion 2.4.0 et au-delà. Mais même le noyau dela version 2.2.16 et au-delà peut se targuerd'un support (limité il est vrai) de l'interfaceUSB. Il existe, pour avoir accès à un périphé-rique USB, 2 possibilités en principe :

– Accès par le biais d’un module propre quel’on aura intégré au noyau et par le biaisduquel se fera la communication avec l’in-terface (Méthode conventionnelle sousLinux)

– Accès par le biais du système de fichiersUSB, le USB-Filesystem (usbdevfs), quiserait en mesure de convertir les demandesControl Request émises par l’interface USB.(Méthode récente qui requiert d’installer lalibusb. Avantage: développement en espaceutilisateur sans toucher au noyau)

Nous allons, dans le cas présent, choisir lavoie d’un module de noyau propre, un mor-ceau de code, que l’on charge dynamique-ment dans le noyau du système d’exploita-tion (et que l’on peut ensuite égalementdécharger) en vue de réaliser une fonctiondonnée, accéder à l’interface USB d’Elektorpar exemple.Cette approche permet d’une part une vérifi-cation de bon fonctionnement aisée et d’éviterde l’autre de surcharger le noyau du système

d’exploitation de code dont il n’a quefaire à ce moment-là.Tout à fait exact De plus, le systèmepeut automatiquement charger/décharger le module lorsqu’uneapplication en a besoin.

Module de noyau cy3640.oLe module de noyau cy3640.o estun développement d’un pilote trouvésur Internet et destiné au Starter Kitde Cypress, vu que ce dernier utili-sait le même matériel que l’interfaceUSB d’Elektor.Le module permet, par le biais deioctls, l’accès à toutes les fonc-tions mises à disposition par l’inter-face disponibles, des appels spé-ciaux à un périphérique qui n’entrentpas dans le cadre de Read et Write.Chaque ioctl utilise une structure

de 4 octets que l’on pourra utiliserpour la fourniture de valeurs voire leretour de résultats. Le tableau 1montre un appel typique.Dans l’instruction fd représente ledescripteur de fichier (filedescriptor)de l’interface USB.On aura réalisation des appels sui-vants : Tableau 2Le descripteur de fichier est fixé àdemeure dans le module et utilise,outre le USB Major Number 180 éga-lement le Minor Number 128.(Attention: ce mineur n’a pas étéalloué officiellement. Il peut rentreren conflit avec d’autres mineurs. Demême, le majeur 60-63 est destinéaux expérimentations. A moins defaire intégrer le module dans le noyauactuel, il est quasi impossible de sefaire allouer un majeur/mineur a

L’interface USB d’Elektor sous LinuxHermann Jung

Tableau 1.//Aspect de la structure de transfertcmd.val1 = CY3640_READ_ROM;cmd.val2 = addr;cmd.val3 = 0;cmd.val4 = 0;

//Appel de l’ioctlioctl (fd,CY3460_READ_ROM, &cmd);

//Fourniture du résultatprintf(„rom at addr 0x%02x is 0x%20x\n”, addr,cmd.val2);

Tableau 2Ioctl In out CY3640_PING -,-,-,- status,-,-,-CY3640_SET_BRIGHTNESS -,brightness,-,- status,-,-,-CY3640_READ_TEMP -,-,-,- status,temp_low,temp_high,buttonCY3640_READ_PORT -,port,-,- status,value,-,-CY3640_WRITE_PORT -,port,value,- status,-,-,-CY3640_READ_RAM -,address,-,- status,value,-,-CY3640_WRITE_RAM -,address,value,- status,-,-,-CY3640_READ_ROM -,address,-,- status,value,-,-

Page 41: À la recherche des pannes - Doctsf.com

MICROINFORMATIQUE

555/2002 Elektor

l’heure actuelle.)Pour activer le module il est intégrédans le noyau de Linux à l’aide deinsmod cy3640.o.On peut vérifier, par l’instructionlsmod, si cette intégration s’est faiteavec succès. Il faut ensuite, une foisseulement, définir le descripteur defichier (mknod /dev/usb-elektorc 180 128) et définir une possibi-lité de lecture/écriture (read/write)accessible universellement (chmod0666 /dev/usb-elektor). Il faut,pour effectuer cette opération, dis-poser de droits d’accès à la racine(root rights).(Il serait plus exact de dire ‘Il fautetre ‘root’ c’est-à-dire le super-utilsa-teur, celui qui administre la machine(comme l’Administrateur surmachine NT).Le module devra être réinstallé aprèschaque redémarrage du système,sachant qu’il est possible d’envisagerune installation automatique par lebiais de usbmgr ou un script hotplug.

Bibliothèque d’accèsDe façon à ne pas avoir à utiliser laprogrammation relativement péniblerequise par l’approche ioctls, il aété réalisé une bibliothèque d’accèscomportant les fonctions suivantes,bibliothèque qui cache ces ioctlsaux yeux de l’utilisateur.

Mise en oeuvre de l’interface Tcl/TkDans le monde de Linux, Tcl/Tk estun peu le pendant de Visual Basicdans le monde de Windows. Tk estun interpréteur qui propose uneinterface graphique et dans lequelon peut charger des bibliothèquesdynamiques. Ces caractéristiques en

font un outil de test idéal qui permetde créer rapidement de nouvellesinterfaces.(Tcl/Tk est très utilisé dans le mondeUNIX mais il se fait vieux. Un excel-lent langage de remplacement estGTK (Gimp ToolKit, www.gtk.org).Ecrit entièrement en C, orienté objet,simple, puissant. Il existe meme desRAD tels que Glade. GTK est por-table sous Win32...)

Le fichier proposé au téléchargementcomprend les bibliothèques d’accèsdécrites plus haut ainsi que lemodule de noyau pour les versionsde noyau 2.2.x et 2.4.x. Il comporteégalement une bibliothèque parta-gée (shared library) à utiliser avecTcl/Tk ainsi qu’un certain nombrede programmes de démonstration.Pour finir, l’application Tcl/Tk pro-posée s’y trouve également endouble exemplaire, une version alle-mande et une version anglaise.

(010065)

Tabelle 3Fonction RemarqueVoid set_device (char *device) Doit toujours être appelée comme

première fonction et détermine le nom du fichier device.

Void brightness (int val) Définit la luminosité des LED de cou-leur verte.

Unsigned char read_port (int port) Lit le port indiqué.Void write_port (int port, int val) Écrit sur le port indiqué.Unsigned char read_ram (int addr) Lit l’adresse de RAM indiquée.Void write_ram (int addr, int val) Écrit à l’adresse de RAM indiquée.Unsigned char read_rom (int addr) Lit l’adresse de ROM indiquée.float read_temp (void) Lit la température.int read_button (void) Lit l’état du bouton-poussoir.int ping_device (void) Vérifie que l’interface est en état de

fonctionner.

BibliographieInterface USB, Elektor n° 267, septembre2000, page 44 et suivantes

Practical programming in Tcl and Tk,Brend B. Welch, Prentice Hall, 1999

www.linux-usb.orgPage d'introduction à l'USB sous Linux avec,entre autres, accès au listes de mailing USB

The Linux USB sub-systemBrad Hards, Sigma Bravo Pty.

Programming Guide for Linux USB Device DriversDetlef Fliegel, //usb.cs.tum.edu

A USB Driver for the Cypress USB Starter KitCraig Peacock

NdlR :Nos remerciements à Mr Romain Liévin et Phillipe Lebon d’avoir pris lapeine de lire le texte de cet article. (Nous avons repris les remarquescontextuelles de Mr Liévin et les avons mises en italique entre paren-thèses).Voici, ci-après, les remarques de Mr Lebon.– Bien que la commande insmod cy3640. o. soit correcte, il est

préférable d’utiliser ‘modprobe cy3640.o’ qui effectue la mêmeaction mais en plus gère les interdépendances entre modules).

– Pour des raisons de sécurité du système il est préférable de créer ungroupe d’utilisateurs de la carte USB qui seuls ont droit d’accès a cepériphérique et d’inclure dans ce groupe les utilisateurs habilités a l’uti-liser; quoiqu’il en soit chmod 777 n’est jamais une bonne idée, ladémarche correcte serait :grpadd elektor # création du groupe

mknod /dev/usb-elektor c 180 128 # création du périphériquechgrp elektor /dev/usb-elektor # attache le périph au groupechmod 660 /dev/usb-elektor # restreint les permissions a rw-rw—-

– Bon je chicane un peu mais si GNU/linux est plus sur c’est a cause de cegenre de détails.

– Il est très simple de provoquer le chargement automatique du moduleau démarrage de la machine en ajoutant la ligne ‘modprobe cy3640’dans le fichier /etc/rc.d/rc.modules, bien que l’emplacement de cefichier puisse légèrement varier selon les distributions (ex /etc/init.d/ )

– Il est toujours préférable d’utiliser un module de noyau compilé mai-son en lieu et place d’un binaire pré-compilé, car selon la configurationdu noyau, celui-ci peut refuser de charger un module compilé sur unnoyau de version différente. (mais j’extrapole car je présume que l’au-teur du programme à veillé à cela dans son paquetage que je n’ai pastrouvé sur le net et que d’ailleurs j’aimerais bien voir).

Page 42: À la recherche des pannes - Doctsf.com

APPLIKATOR

56 Elektor 5/2002

Il n’y a certainement pas de profil type del’amateur de musique, mais tous seraientsûrement d’accord pour dire que les qualitésprimordiales qu’ils attendent d’un amplifica-teur, ce sont la perfection sonore, une puis-sance suffisante et des dimensions aussi

réduites que possible.Des caractéristiques bien difficiles àassocier, en pratique. Qualité etpuissance se combinent sans peine,mais un très bon amplificateurréclame une alimentation généreuse,

capable de délivrer les plantureuxcourants nécessaires à une polarisa-tion en classe AB, par exemple, sansmême oser parler de classe A ! Celadébouche inévitablement sur uneintense production de chaleur, entreautres, que de volumineux radia-teurs devront dissiper dans l’envi-ronnement. Il ne reste plus qu’à faireune croix sur la perspective de com-pacité.On peut mélanger puissance etfaible dimension, mais ce n’est pos-sible qu’en rognant sur la consom-mation, en passant en classe B, parexemple, mais alors c’est la fidélitéqui en pâtira. Le compromis est loind’être idéal.Il existe bien une alternative, c’est cequ’on a appelé le « concept declasse D ». On utilise alors la modu-lation en largeur d’impulsion (MLI =PWM pour Power Width Modula-tion). L’inconvénient de cetteapproche est la nécessité de prévoirun filtre efficace et partant encom-brant à la sortie de l’étage de com-mutation de puissance et les para-sites importants qui naissent de ceprocessus de commutation et quiinfluencent négativement les presta-tions de l’amplificateur.

Amplificateursà puces BASHÇa vient de sortir !En les combinant à un processeur spécial et un régulateur à découpage,STMicroelectronics a réussi, en collaboration avec Indigo Manufacturing,à fabriquer des amplificateurs intégrés au rendement étonnamment élevé,sans nuire à la qualité audio.

1

2

5

6

0 0

0

020013 - 11

5

6

0

1

2

5

6

0

5

6

AC

Figure 1. Bloc-diagramme du système BASH.

APPLIKATOR est une rubrique servant à la description de composants intéressants récents et de leurs applications; parconséquent, leur disponibilité n'est pas garantie. Le contenu de cette rubrique est basé sur les informations fournies par lesfabricants et les importateurs, ne reposant pas nécessairement sur les expériences pratiques de la Rédaction.

Page 43: À la recherche des pannes - Doctsf.com

APPLIKATOR

575/2002 Elektor

rier du signal de sortie BASH. On n’y dis-tingue effectivement aucune composante decommutation.Avantage supplémentaire du système BASH,dans les installations à canaux multiples, uneseule alimentation et un unique régulateur àdécoupage peuvent suffire.

Visiblement, on ne tenait pasencore la combinaison idéale de lapuissance, de la fidélité et du ren-dement. Alors, ST a remis l’ouvragesur le métier, pour le compte de lafirme Indigo Manufacturing, et aréussi à augmenter très sensible-ment le rendement, sans conces-sions à la qualité.

BASH®

La seule solution pour augmenter lerendement, c’est forcément deréduire, d’une manière ou d’uneautre, la tension d’alimentation del’amplificateur pour amoindrir ladissipation inutile. Il suffisait detrouver une méthode pour y arriversans commuter le signal, à causedes inévitables distorsions qui enrésultent.La figure 1 montre le diagrammefonctionnel auquel les chercheursont abouti. Nous y voyons, à côté del’alimentation (Power Supply) et dumodule amplificateur (STA575 PowerAmp), deux nouveaux blocs : un pro-cesseur et un régulateur de dévol-tage à découpage (Buck Converter).C’est lui qui va travailler en commu-tation, à la place de l’amplificateuren classe D.On prélève sur le module amplifica-teur final un signal de référence (leBASH signal) pour l’envoyer au pro-cesseur aux fins d’analyse, demanière à calculer avec précision lesbesoins énergétiques correspon-dants de l’amplificateur. En fonctionde quoi, le processeur envoie à l’on-duleur abaisseur une impulsion decommande appropriée.Le régulateur numérique, intercaléentre l’alimentation rudimentaire etl’amplificateur, traduit cette impul-sion en une tension convenable pourl’étage de sortie. On arrive ainsi, enpermanence, à adapter la tensiond’alimentation à l’amplitude dusignal audio, si bien que la chute detension sur les transistors de puis-sance reste constante, quel que soitle niveau demandé, comme lemontre la figure 2.Le résultat, c’est l’absence de dissi-pation inutile, alors que l’étage desortie profite de la linéarité de laclasse AB. On atteint pourtant unrendement voisin de 85 %, compa-rable à celui de la classe D, maisavec une production beaucoup

moindre de parasites. Les concep-teurs prétendent obtenir d’un ampli-ficateur BASH une distorsion aussifaible qu’avec n’importe quel autreamplificateur en classe AB.La courbe de la figure 3 présente lespectre obtenu par analyse de Fou-

020013 - 12

Audio Precision FFT SPECTRUM ANALYSIS

FFT r ight ch. 10W_100 Hz.at1

-140

+0

-120

-100

-80

-60

-40

-20

d

B

r

1k 90k2k 3k 4k 5k 6k 7k 8k 10k 20k 30k 40k 50k 60k

Hz

020013 - 13

Figure 2. La chute de tension aux bornes des transistors de puissance reste constante, enBASH, quel que soit le signal appliqué.

Figure 3. Contrairement à ce qui se passe en classe D, pas de résidus de commutationsdécelables dans le spectre du signal de sortie.

Page 44: À la recherche des pannes - Doctsf.com

Modules amplificateurs

Il est prévu aujourd’hui 3 modules BASH desortie : deux versions stéréo dont la puis-sance de sortie atteint 2 x 50 W (STA550) et2 x 75 W (STA575) ainsi qu’une version mono-phonique en pont (STA5150) de 150 W. Leurschéma est identique, nous pouvons doncnous contenter d’examiner le STA575. Lafigure 4 nous propose l’architecture de l’am-plificateur intégré sous forme de bloc-dia-gramme. La plupart des blocs reçoivent leurénergie d’une alimentation positive et néga-tive fixe, seuls les étages de sortie s’alimen-tent à deux tensions externes pilotées par lesignal audio.Le compresseur dont chaque canal est équipésert à éviter les limitations de dynamique quepourrait produire le système BASH. Pourconserver au dispositif un maximum de flexi-bilité, les périodes d’attaque et de relâche-ment ainsi que les seuils peuvent être pro-grammés de l’extérieur. C’est le bloc « ABSO-LUTE VALUE BLOCK » qui génère le signalde commande de dévoltage à partir de la sor-tie redressée du compresseur. Les sorties deces blocs sont découplées par diode pourpouvoir effectuer la sommation des signauxs’il y a plusieurs canaux.On a prévu sur les étages de puissance une

APPLIKATOR

58 Elektor 5/2002

ABSOLUTEVALUEBLOCK

OUTPUT BRIDGE

PEAK/2DETECTOR

VOLTAGEPROTECTION

SOADETECTOR

TURN-ON/OFF

SEQUENCE

THERMALPROTECTION

PEAK/2DETECTOR

COMPRESSOR

COMPRESSOR

G

+2

-1

G

+

-

V/l

V/l

S1

Ict

Ict

ABSOLUTEVALUEBLOCK

+

-

S1

OUTPUT BRIDGE CD-2

CD+2

STBY/MUTE

PROT.

CD+

CD-1

OUT1-

OUT1+

CD+1

IN_PRE1

ATT_REL1

TRK_OUT

THRESH

ATT_REL2

IN_PRE2

PWR_INP1TRK_1OUT_ PRE1-VSGND+VS

PWR_INP2TRK_2OUT_ PRE2

OUT2-

OUT2++2

-1

020013 - 14

Figure 4. Architecture interne fonctionnelle d’un des modules amplificateurs, ici leSTA575 qui fournit 2 x 75 W.

Tableau 1. Brochage des STA550 et 575

Broche symbole description

1 –Vs tension d’alimentation négative2 CD-1 canal 1, tension d’alimentation négative variable3 Att_Rel1 canal 1,vitesse d’attaque / relâchement4 Out1+ canal 1, sortie haut-parleur positive5 Out1– canal 1, sortie haut-parleur négative6 CD+1 canal 1, tension d’alimentation positive7 Pwr_Inp1 canal 1, entrée étage de puissance8 In_pre1 canal 1, entrée préampli (masse virtuelle)9 Out_pre1 canal 1, sortie préampli

10 Trk_1 canal 1, entrée bloc valeur absolue11 Stby/mute entrée de commutation veille et silencieux12 Protection signal de protection du processeur STABP0113 Gnd masse analogique14 +Vs tension d’alimentation positive15 CD+ tension d’alimentation positive variable16 Trk_out sortie de référence pour le processeur STABP0117 Threshold réglage du seuil de compression18 Trk_2 canal 2, entrée bloc valeur absolue19 Out_pre2 canal 2, sortie préampli20 In_pre2 canal 2, entrée préampli (masse virtuelle)21 Pwr_Inp2 canal 2, entrée étage de puissance22 CD+2 canal 2, tension d’alimentation positive23 Out2– canal 2, sortie haut-parleur négative24 Out2+ canal 2, sortie haut-parleur positive25 Att_Rel2 canal 2, vitesse d’attaque / relâchement 26 CD-2 canal 2, tension d’alimentation négative variable27 –Vs tension d’alimentation négative

CD-1

-VS

ATT-REL1

OUT1+

OUT1-

CD+1

PWR_INP1

IN_PRE1

OUT_PRE1

TRK_1

STBY/MUTE

PROTECTION

GND

+VS

CD+

TRK_OUT

THRESHOLD

TRK_2

OUT_PRE2

IN_PRE2

PWR_INP2

CD+2

OUT2-

OUT2+

ATT_REL2

CD-2

-Vs

127

020013 - 16

Page 45: À la recherche des pannes - Doctsf.com

tage transforme cette impulsion en une ten-sion d’alimentation correspondante pourl’étage de puissance, mais on s’en doutait unpeu. De même que le processeur constitue unacteur essentiel dans l’adaptation continuellede la tension d’alimentation à la valeur ins-tantanée du signal audio.

En bref, nous ne disposons pas encore d’in-formation précise sur ce processeur. Il netient qu’à vous de vérifier nos dires en vousbranchant sur http://us.st.com/stonline/.Nous espérons pouvoir y revenir d’ici peu, aumoins sous l’angle pratique, parce que si lesystème BASH fait réellement ce qu’il promet,il mérite notre intérêt et certainement uneexpérimentation plus poussée.

(020013)

broche pour assurer le découplageen alternatif et, par-là, éliminer ledécalage d’entrée du compresseur.Le gain des étages de sortie est de4, soit +12 dB.Un montage ingénieux évalue lapuissance nécessaire aux transistorsde sortie et influence l’onduleur pouratteindre la diminution voulue de latension d’alimentation. En supplé-ment, une limitation de courant et lamesure de la température visent à laprotection de la puce. Une tensionexterne sur la broche STBY/MUTEpermet de placer les deux amplifica-teurs en mode silencieux puis enveille, garantissant du même coupune mise en ou hors service exemptede transitoires.Les circuits intégrés de puissancesont livrés en boîtier Flexiwatt27 qui,comme son nom le suggère, totalise27 broches. Le tableau 1 vous fournitl’affectation de chacune d’elles et salocalisation, pour les deux versionsstéréo. L’exécution monophoniqueSTA5150 présente un brochage com-patible, seules les broches 18 à 21ainsi que la 25 ne sont pas raccordées.

Processeur numérique

Le STABP01 correspond au bloc« STA575P Processor » de la figure 1.Il s’agit d’un processeur numériqueconçu spécifiquement pour la com-mande de l’onduleur. Il est doncindispensable à la réalisation d’unamplificateur BASH.

La figure 5 esquisse la compositiondu STABP01. Force est de remarquerque le fabricant est plutôt avare dedétails sur son fonctionnement. Rienque l’origine du nom du procédé,BASH, reste un mystère. Acronymeou simple envie de suggérer la forcede frappe, nul ne sait. C’est unemarque déposée et un brevet deIndigo Manufacturing. Quant à samanière de procéder, la notice seborne à dire que le processeur déter-mine la nature du signal et en dériveles impulsions nécessaires à laconduite du régulateur. Bienentendu, il est possible de déduirecertaines idées de la figure 5, maissûrement pas l’approche complète.On nous dit que l’onduleur de dévol-

APPLIKATOR

595/2002 Elektor

+

-

+

+

-

-

-

-

+

+

+

-R

1V

1V

10V

1V

OUTPUT

GROUND1

SOFT SW RESET

S

1V

10V

2R

R

1V

COMP/3

1V

1V

-

+

-

+

-

+

BUFFER

2200pF 50K 20K

R162

R17

C51

2200pF 1V

--

++

CURRENT SENSECOMPARATOR

ONE SHOTSIGNAL

OPEN DRAINOUTPUT

DISCHARGE(RESET)

TRANSISTORFAST ATTACKCONTROL

ERRORAMP

COMP

CURRENT_SENSE

VFB

V+

POWER SUPPLY1

CLOCK

250Hz1V

Q

Q

S

Q

R

Q

RESET

CLK

Q

D

Q

RESET

CLK

D

Q

Q

R

S

Q

Q

INTERNALCIRCUIT

ON

UVLO: 7V = on 5V = off

SOFT SWITCH

PWM LATCH

VREF

BUFFER OUT

REC_OUT

BUFFER IN

FA IN

1V10V

10V

DEAD TIME

10V

OUTPUT

GROUND2

ONESHOTDELAY

POWER_VS2

-

+

ONE SHOT DUTY ACCEL

1V

1V

R

020013 - 15

Figure 5. Diagramme fonctionnel du processeur numérique BASH STABP01.

Lien Internet :

www.bashaudio.com

Page 46: À la recherche des pannes - Doctsf.com

COMMENTFONCTIONNE?

60 Elektor 5/2002

Il fut un temps où les montages numériquestravaillaient toujours à 5 V. Il n’y avait partant,à quelques rares exceptions près, jamais deproblème d’interfaçage et l’on pouvait tou-jours interconnecter les différents sous-ensembles sans risquer de problème. Lepied !Mais les temps changent. Il arrive assez fré-quemment que l’on souhaite établir uneconnexion entre des systèmes qui travaillentà des tensions d’alimentation totalement dif-férentes. Prenons l’exemple d’un module DCFqui fonctionne à l’aide d’une unique pile de1,5 V que l’on voudrait connecter à un sys-tème à microprocesseur travaillant à 5 V. Ouencore un relais 12 V que l’on voudraitconnecter au même système. L’inverse arriveégalement : devoir brancher un sous-ensemble capteur fonctionnant à 15 V sur un

système dont la tension d’alimenta-tion est de 5 V. Ces différents casrequièrent une forme ou une autred’adaptation.

Collecteur ouvertLorsque l’on doit ponter des diffé-rences de niveaux l’approche la pluspratique consiste à utiliser des com-posants dotés de ce que l’on appelleune sortie à « collecteur ouvert ».Dans ce cas-là, la sortie du dit com-posant comporte un transistor (ouFET) dont l’émetteur (la source) estconnecté au point commun (zéro oumasse) et dont le collecteur (ou lasource) est relié, au travers d’unerésistance interne, à la ligne positive

de l’alimentation. Les module DCFévoqués plus haut comporte, commel’illustre la figure 1a, une sortie à col-lecteur ouvert de ce type.Si l’on veut coupler un composant dece genre à un montage travaillant àune tension d’alimentation diffé-rente, il suffit de relier la résistancede collecteur avec la ligne d’alimen-tation positive de l’autre montage etd’interconnecter purement et sim-plement les lignes communes(masse). On voit en figure 1b ce quesous-entend cette opération. Dansces conditions, l’amplitude du signalde sortie de l’étage à collecteurouvert est toujours égale à la tensiond’alimentation du second circuit |-très exactement ce qu’il nous faut !

Adaptation de niveaude signaux numériquesKarel Walraven

Nombre de questions de lecteurs qui tombent sur nos bureauxconcernent l’interconnexion de 2 circuits (ou parties de circuits) alimentésà des tensions différentes voire requérant des niveaux de commutationdifférents. Comment s’y prendre ?

1V5

OUTDCF

010091 - 11a

1V5

10

k

5V1V5

R1

0k

5V

p

OUT INDCF

µP

010091 - 11b

collecteurouvert

connexion commune

Figure 1. Dans le cas d’une sortie à collecteur ouvert on pourra réaliser une adaptation de niveau par la connexion de la résistance decollecteur à la ligne de la tension d’alimentation du second circuit.

Page 47: À la recherche des pannes - Doctsf.com

COMMENTFONCTIONNE?

615/2002 Elektor

On pourra également opter pour l’utilisation,à la place d’un transistor, un circuit intégré dela série ULN2803. Ce composant intègre enfait plusieurs Darlington et a été spéciale-ment conçu pour la réalisation de ce genred’interface; il est en mesure de commuter jus-qu’à 500 mA. Le ULN2803 convient aux ten-sions d’entrée ne dépassant pas 5 V, songrand frère, le ULN2804, pourra travailleravec des tensions d’entrée comprises entre 6et 15 V. La figure 4 donne 2 exemples dedimensionnement. Les résistances duschéma sont intégrées elles aussi dans le cir-

Tampon haut/basIl existe une solution extrêmementsimple à chaque fois que l’on abesoin de procéder à une conversiond’une tension élevée vers une ten-sion plus faible. En effet, on a déve-loppé des tampons CMOS, les 4049et 4050 (respectivement inverseur etnon-inverseur) spécialement à cetteintention. Ils supportent des ten-sions d’entrée jusqu’à 18 V maxi-mum même si leur tension d’alimen-tation n’est que de 3 voire 5 V. Celasous-entend qu’ils convertissentautomatiquement la tension d’entréevers le niveau de leur tension d’ali-mentation comme l’illustre lafigure 2.

Un transistor supplémentaireQue faire si l’on a besoin d’uneadaptation d’une valeur faible versune valeur élevée et que l’on n’a pasà sa disposition de sortie à collec-teur ouvert ? Nous pouvons, trèsfacilement, créer un collecteurouvert en ajoutant un transistor à lasortie. Cette adjonction présentecependant un problème pratique, àsavoir celui du dimensionnement dela résistance de base. Comme vousle savez, un transistor entre enconduction à quelque 0,7 V et lors-qu’il faut procéder à une conversionde 5 vers 15 V ce seuil est bien tropprécoce. Il est préférable de fixer leseuil de commutation au tiers voireà la moitié de la tension d’alimenta-

tion. Ceci explique que nous com-mencions par réaliser un diviseur detension à l’aide d’une paire de résis-tances en aval desquelles seramonté le transistor (figure 3). Onpourra, pour le dimensionnement,adopter un courant de l’ordre de0,5 mA à travers le diviseur de ten-sion comme valeur de référence.La résistance R1 prend dans ce cas-làune valeur de 1kΩ5, R2 se voyant attri-buer une valeur de 1kΩ8 par exemplepour un seuil de 1/3 de 5 V, soit 1,67 V.

4049

10111213141516

NC NC

1 2 3 4 5 6

9

7 8

1 1 1

111

4050

10111213141516

NC NC

1 2 3 4 5 6

9

7 8

1 1 1

111

4050

1

1

4049

+3V

+5V

10V

15V

5V

3V

010091 - 12

Figure 2. Les tampons CMOS tels que 4049 et 4050 conviennent idéalement pouramener une tension élevée à une valeur plus faible.

Figure 4. Les Darlington ULN2803 et ULN2804 permettent de réaliser une sortie àcollecteur ouvert et peuvent commuter jusqu’à 500 mA.

5V

BC547BR1

1k

5

R2

010091 - 13

R2 =

VIN3

– 0,75

0,75x 1k5

Figure 3. On pourra, si l’on ne dispose pasd’une sortie à collecteur ouvert, ajouter untransistor de sortie.

3k

010091 - 14

7k

2

2k7

2V5 ... 5V5

ULN2803

3k7

k2

10k5

6V ... 15V

ULN2804

ULN2803

1011121314151617181 2 3 4 5 6 7 8 9

1 1 1 1 1 1 1 1

ULN2804

Page 48: À la recherche des pannes - Doctsf.com

gie FET sur laquelle repose ce typede circuits intégrés CMOS, ils nerequièrent que très peu de courantde base.

(010091)

cuit intégré.Une solution à la fois élégante et simpleconsiste, pour finir, à doter la sortie du com-posant en question non pas d’un transistormais d’un FET (cf. figure 5). Le BS170, l’undes types de FET les plus populaires, com-mute à quelque 2,5 V. Autre avantage de cecomposant : il ne requiert pas la moindrerésistance de grille, si tant est que la tensionappliquée à la grille ne dépasse pas 15 V.Il faudra toujours se rappeler, lors de l’ad-jonction d’un transistor, Darlington ou FET,que ce composant inverse le niveau logiquedu signal appliqué à son entrée.Attention au courant !Dans la majorité des cas l’adjonction d’un tel« transistor à collecteur ouvert externe »devrait parfaitement faire l’affaire. Il n’enreste pas moins que l’on aura toujours besoinde 0,5 mA au minimum pour pouvoir com-mander le transistor. Bien qu’il s’agisse làd’un courant très faible, il se peut qu’il soittrop important pour un certain nombre desorties. Avec quels circuits intégrés peut-ons’attendre à des problèmes ? La plupart dessorties quasi-bidirectionnelles de micropro-cesseurs telles que tous les ports desmembres de la famille 8051, ainsi que cer-tains circuits intégrés I2C tels que le PCF8574

ont des problèmes à ce niveau. Cessorties sont souvent capables dedrainer (sink) quelques mA vers lamasse, mais ne peuvent pas fournir(source) plus de 50 à 100 µA.Il n’en reste pas moins que trop sou-vent ce type de sorties est mis à malen lui demandant de piloter directe-ment une LED, pour la simple etbonne raison que « ça marche quandmême ». Comme cette approche nerespecte pas les règles de jeu, il n’estpas exclu que cela se traduise pardes problèmes internes du circuitintégré de commande. Il est préfé-rable, si l’on veut éviter tout pro-blème, d’opter pour la solution àbase de FET représentée en figure 5.Le seuil est automatiquement cor-rect et le courant d’entrée du BS170pratiquement nul.Même les Darlington ULN2803 etULN2804 drainent un courant tropimportant pour ce type de sorties.On pourra, si l’on tient quand mêmeà les utiliser pour leurs caractéris-tiques de commutation, intercaler lecas échéant un 4050 entre la sortieet le Darlington; de par la technolo-

COMMENTFONCTIONNE?

62 Elektor 5/2002

BS170S

D

G

BS170

D

G

S

010091 - 15

5V

Figure 5. Si l’on remplace le transistorbipolaire par un FET on pourra sepasser de résistance de base, lacharge de sortie étant en outrequasiment nulle.

Page 49: À la recherche des pannes - Doctsf.com

Il est indéniable que Windows XP constitueune plate-forme plus stable que les systèmesd’exploitation Windows qui l’ont précédé.Cette caractéristique a requis de nombreuses

modifications par rapport aux ver-sions précédentes. Le premieraspect qui frappe lorsque l’on voitpour la première fois une machine

tournant sous Windows XP sont lesnouvelles icônes et l’arrière-plan del’écran. La physionomie de XP a sen-siblement changé. Elle donne uneimpression de « maison de poupée »avec ses icônes arrondies, sesteintes pastel et ses arrière-planscolorés.Ce nouvel « habillage » semble avoirconquis nombre d’utilisateurs deWindows et certains utilisateurs deWindows 95, 98 ou Me n’ont pasmanqué de se demander s’il n’étaitpas possible de donner au Poste detravail (Desktop) de leur propre sys-tème l’apparence de celui de XP. Etcela, bien entendu, sans avoir àacheter auparavant un logiciel XPcomplet ! En fait cela est, pour unegrande part, possible. Il n’en restepas moins que XP offre, au niveau duPoste de travail, un certain nombrede possibilités qui sortent des capa-cités des versions plus anciennes deWindows.Tout n’est donc pas possible. Àmoins de faire appel à quelques pro-grammes spéciaux. Nous y revien-drons un peu plus loin !Commençons par la méthodesimple : nous allons faire en sorte detrouver un set de curseurs etd’icônes et les accompagner de l’undes arrière-plans (papiers-peints) de

ÉLECTRONIQUEEN LIGNE

64 Elektor 5/2002

«Mimiquez» Windows XPL’habit ne fait pas le moineComparé à ses prédécesseurs, le dernier rejeton de Microsoft, Windows XP, peutse targuer de présenter un certain nombre d’améliorations dignes d’intérêt. Encontrepartie, le nouvel utilisateur désirant réactualiser son système d’exploitationet passer de 95/98/Me à XP, devra payer en monnaie sonnante et trébuchante et passi peu que cela. Si vous faites partie de ceux qui ne sont pas convaincus de l’utilitéde toutes ces améliorations techniques et que vous n’attachez d’intérêt qu’à l’aspectextérieur de XP, vous trouverez de quoi vous faire plaisir sur Internet, tant auniveau des papiers-peints (wallpapers) qu’à celui des icônes.

Page 50: À la recherche des pannes - Doctsf.com

barre d’outils et le menu Démarrer un pro-gramme distinct baptisé ObjectBar [9].Enfin, après toutes ces peines, votre versionde Windows a complètement changé d’as-pect physique. Il n’est pas exclu que cettenouvelle personnalité vous plaise tant quevous décidiez d’acheter une version complètede XP.

(025026)

XP. Pour peu que l’on complète cetteopération par un économiseurd’écran de type XP nous aurons déjàfait une bonne partie du chemin.Il existe, sur Internet, des sites oùl’on trouve des collections d’icônespour XP; il serait plus pratique detrouver un programme qui se chargede l’adaptation.XP Icons [1] est un programme sha-reware qui remplace les icônes exis-tantes par des icônes de type XP(plus de 90 exemplaires). Il permeten outre de doter les textes desicônes d’un arrière-plan transparent,une caractéristique très agréablelorsque l’on change souvent d’ar-rière-plan.XP Icon Raider [2], fait pratiquementla même chose et est gratuit, mais ildispose de moins de possibilités.Il nous suffit, pour trouver un arrière-plan nous convenant, de faire un toursur l’un des nombreux sites propo-sant des papiers-peints voire desprogrammes pour XP. Nous vous enproposons deux offrant une belle col-lection d’arrière-plans XP et de pho-tos correspondantes : WindowseXperience [3] et Win XP Wallpa-per [4]. Il suffit de copier cette imagedans le répertoire Windows et de lasélecter par un clic souris droite duPoste de travail - Caractéristiques -Arrière-plan. Avec la fonction « Éta-ler » vous pourrez faire en sorte quel’image remplisse la totalité del’écran.Il est possible, grâce aux « Thèmes »de Windows 98 et Me, d’adapterd’un seul coup d’un seul les icônes,les pointeurs de souris, les arrière-plans et les sons peuvent égalementêtre adaptés en une fois. Il existe surInternet quelques sets de logicielsqui s’en servent. Peter Wilcox [5] acréé un set de thèmes pour XP trèsintéressant. Il est possible de télé-charger ce set depuis son propre siteou encore de l’un des nombreux sitesproposant des programmes free oushareware. Après installation du pro-gramme nous disposons d’un choixentre 3 thèmes XP.Nous ne pouvons bien entendu nouspermettre d’oublier un écomiseurd’écran associé. Le plus beau nous aparu l’aquarium de SereneS-creen [6]. « Dans » un bel aquariumnagent quelques poissons qui sontpresque plus vrais que nature aupoint que l’on a l’impression de se

trouver devant un écran de PC trans-formé en aquarium. Le programmecoûte 20 dollars, mais sa version dedémo (qui ne comporte quequelques poissons des mers du Sud)vaut déjà le coup d’oeil.En dépit de toutes ces adaptationsnous n’avons pas encore réalisé unesimulation du Poste de travail de XP.Où donc sont les menus de Démarrer(Start), la nouvelle barre de tâche oules fenêtres à coins arrondis ? Il fau-dra, pour en arriver là, faire appel àdes solutions plus radicales.Windowblinds [7] de la société Star-dock est sans doute l’un des pro-grammes convenant le mieux pourcela. Ce programme permet de modi-fier pratiquement tous les aspects dela physionomie de Windows. Il estmême possible, sacrilège, de trans-former un PC en Mac, mode danslequel les boutons de fonctions desfenêtres viennent même se position-ner à un autre endroit, (comme dansle cas d’un vrai Mac). Le programmen’est pas des plus bon marché maisil en existe une version de démons-tration qui vaut sans doute la peined’être essayée. Au départ, Window-blinds comporte 2 « habits » (skins),mais on en trouve bien d’autres chezSkinz et WinCustomize [8].Cette même société propose, pour la

ÉLECTRONIQUEEN LIGNE

655/2002 Elektor

Adresses Internet :[1] XP Icons:

http://camtech2000.net/Pages/XPIcons.html[2] XP Icon Raider:

www.skylarkutilities.com/program.pcs?xp-icon-raider

[3] Windows eXperience:www.isenhower.com/XP/wallpaper.htm

[4] Win XP Wallpaper:http://sardaukar.planetarrakis.net/wallpaper.htm

[5] Windows XP Theme 2 van Peter Wilcox:http://pages.prodigy.net/i-pedro2/

[6] SereneScreen:www.serenescreen.com

[7] Windowblinds:www.stardock.com/products/windowblindswww.windowblinds.net/

[8] Skins voor Windowblinds:www.skinz.orgwww.wincustomize.com

[9] ObjectBar:www.stardock.com/products/objectbar/download.htm

Page 51: À la recherche des pannes - Doctsf.com

MICROINFORMATIQUE

66 Elektor 5/2002

Le standard EIA-232, autrefois connu sous lenom de RS-232, a été lancé il y a trente ans,bien avant l’existence des ordinateurs per-sonnels. Le standard RS-232 gère les com-munications entre les DTE (Data circuit Ter-minating Equipment = équipement terminalde données) et les DCE (Data CommunicationEquipement = équipement de transmissionde données). Un DTE classique peut être unécran, une imprimante ou même un ordina-teur personnel –il peut fonctionner commeune source ou une destination de données,c’est donc l’équipement où la communicationse termine. En revanche, le DCE est une unitéqui reçoit et transfère les données dans le

seul but d’établir une communica-tion entre deux DTE. Un DCEtypique peut être un modem oumême un simple câble reliant deuxDTE. C’est bien cela, deux DTE etpas plus, parce que le standard EIA-232 n’autorise pas plus d’un émet-teur et d’un récepteur par câble.L’EIA-485 lève cette restriction, puis-qu’il autorise jusqu’à 32 émetteurs etrécepteurs sur la même ligne élec-trique, sous réserve que les 32 émet-teurs partagent le même cheminélectrique mais qu’un seul soit actifà la fois. Pour autoriser ce mode de

communication, les circuits de com-mande (drivers) de l’EIA-485 ont unebroche de sélection pour basculersur le circuit actif, mais seulement àl’instant de la transmission des don-nées. Les récepteurs EIA-485 n’ontpas besoin de broche de sélection,ils opèrent en mode « toujours dis-ponible » sans perturber la ligne. Denos jours, les circuits EIA-232 setrouvent dans de nombreuses unitésélectroniques capables de gérer toutce qui ressemble à une transmissionde données par un câble. L’unité laplus connue est probablement lefidèle ordinateur personnel (PC) quel’on trouve partout.Les circuits EIA-485 ont été conçusà l’origine pour des applicationsindustrielles, mais ils gagnent enpopularité ailleurs grâce à des adap-tateurs simples, tels celui décritdans cet article. On peut leconstruire soi-même avec le mini-mum d’efforts et de dépenses.

La fonction adaptateurUn adaptateur peut être comparé àun interprète simultané, qui écouteun interlocuteur et parle à l’autre,chacun des deux parlant une languedifférente. Un adaptateur semi-

Adaptateur semi-duplexRS-232 à RS-485Les avantages des lignes symétriques

Projet : E. Eugeni [email protected]

Ce projet a été conçu comme une interface entre un canal EIA-232 et unbus semi-duplex (half-duplex) EIA-485. On devrait l’utiliser parce quel’EIA-485 offre plus de services que le 232, particulièrement lorsqu’on faitcommuniquer par fil plus de deux unités sur une longue distance.

Page 52: À la recherche des pannes - Doctsf.com

MICROINFORMATIQUE

675/2002 Elektor

amplitude mais au-dessus de la terre, serareconnu comme un niveau logique Bas. Lestandard EIA-485, par contraste, opère avecdes signaux symétriques (balanced), oùsymétrique doit être pris dans le sens « sansréférence à une terre ». En détaillant, les don-nées circulant sur une ligne « 485» n’ontbesoin que d’être mesurées entre « A » et« B », sans référence à la terre. Lorsque « B »est supérieur à « A », un niveau logique Hautest transmis. A l’inverse, A>B indique unniveau logique Bas. Théoriquement, les deuxsignaux « A » et « B » peuvent se trouver àn’importe quel potentiel raisonnable au-des-sus ou au-dessous de la terre, parce que l’in-formation n’est transmise que par la diffé-rence de tension entre eux. Pratiquement,lorsqu’on relie deux unités EAI-485, onrajoute un troisième fil pour créer une lignede terre. Ceci n’est pas indispensable pour letransfert de données proprement dit, c’estjuste utile pour maximiser l’immunité aubruit, puisque le niveau de tension que nousutilisons se situe dans la plage de 0,2 à 6 V.Comme pour le standard « 232 », pour lequeltoute tension plus faible que ±3 V est traitée

duplex (half-duplex) comporte toutce qu’il faut pour recevoir et trans-former les données en provenancede chaque côté d’un canal de com-munication. Toutefois, le sens dutransfert doit être connu à l’avance,lors de la détection du premier signalentrant. S’il provient du côté del’EIA-232, le circuit bascule rapide-ment le bus 485 en mode transmis-sion. S’il provient du côté de l’EIA-485, il n’y a rien à faire puisqu’uncanal EIA-232 peut fonctionnersimultanément en mode transmis-sion et en mode réception. Maisquelle est, dans la pratique, la véri-table différence entre les standardsde communication de l’EIA-23 et del’EIA-485 ?

Deux standards côte àcôteLa différence principale entre uncanal EIA-232 et un bus EIA-485réside dans le nombre de connexions

électriques. L’EIA-232 utilise aumoins trois fils, dont l’un est à laterre, alors que l’EIA-485 n’a besoinque de deux conducteurs, sans fil deréférence commune entre eux. Deplus, l’EIA-232 utilise un conducteurpour émettre et l’autre pour recevoir,alors que l’EIA-485 gère les deuxdirections, dénommées technique-ment « A » et « B », comme un seulchemin bidirectionnel. Les donnéesde l’EIA-232 et de l’EIA-485 consis-tent en une série d’impulsions ou designaux carrés, mais il y a unegrande différence entre les niveauxet la polarité de la tension. Ceci està dû à l’utilisation, par le standardEIA-232, de tensions asymétriques(déséquilibrées ou unilatérales) pourtransporter les zéros et les uns d’uneinformation numérique, où asymé-trique signifie « en référence à uneterre commune ». Une tension de 3 à12 volts en dessous la terre serareconnue comme un niveau logiqueHaut, alors qu’un signal de même

+5V

C11

100n

X1

4MHz

C2

22p

C1

22p

8x 10k1

2 3 4 5 6 7 8 9

R4

S1

1 2 1 1 1 0 9

1 432

8 7

5 6

+5V

PIC16C54

OSC2

IC1

OSC1

MCLR

RA4

RA0

RA1

RA2

RA3

RB0

RB1

RB2

RB3

RB4

RB5

RB6

RB7

17

18

13

12

11

10

16 15

14

1

3

9

8

7

6

2

4

5

D3 D2

R1

1k

R2

1k

R7

10

k

MAX232

T1OUT

T2OUT

R1OUT

R2OUT

R1IN

IC2

T1IN

T2IN

R2IN

C1–

C1+

C2+

C2–

11

12

10

13

14

15

16V+

V-

7

8 9

3

1

4

5

2

6

R6

100Ω

R5

100Ω

C4

C3

C5

C6

C10

10µ16V

K1

1

2

3

4

5

6

7

8

9

R9

10

k

R8

10

k

RXD

TXD

+5V+5V

+5V

C3...C6 = 1µ / 16V

4 5

6IC3.B

&

12

3

IC3.A&

JP2 JP3

JP1

R13

68

R116

80

Ω

75176

IC4

5

8

7

6

4

1

3

2

D

R

R10

12

R12

10

C13

100n

9 10

8IC3.C

&

12 13

11IC3.D

&

RXD

RXD

TXD

SEND

B1

C7

22µ

C8

100n

7805

IC5

C9

100n

+5V

K2

020003 - 11

B40C800

IC3

14

7

+5V

IC3 = 7400

+9V

R3

1k

D1

C12

100n

K3

Figure 1. Schéma du circuit de l’adaptateur EIA-232 à EIA-485. Au cœur du circuit, un microcontrôleur PIC.

Page 53: À la recherche des pannes - Doctsf.com

comme indéfinie, nous considèrerons indéfinipour le « 485 » un niveau de tension dans laplage de ±200 mV.

Description du circuitLe schéma fonctionnel de l’adaptateur EIA-232-à-485 est présenté en figure 1. Il y aquatre blocs fonctionnels : l’interface EIA-232autour du circuit IC2 et quelques composantspassifs ; l’interface du bus EIA-485 basée surle circuit IC4 ; la commande logique pilotéepar le microcontrôleur IC1 ; et enfin le régula-teur d’alimentation construit autour du circuitIC5. Il y a aussi trois diodes à cristauxliquides, D1, D2 et D3, et un bloc commuta-teur à double rangée de broches, S1, directe-ment connecté à quelques lignes du port dumicrocontrôleur et servant à initialiser lesparamètres de fonctionnement de l’adapta-teur. L’unité EIA-232 est reliée au connecteur K1,respectant la connexion habituelle de labroche 2 pour les données envoyées, de labroche 3 pour les données reçues, et de labroche 5 pour la terre. Le circuit IC2, un

MAX232, fournit toutes les fonctionsnécessaires pour convertir lesniveaux de tension du standard EIA-232 (±3 à ±12 V) dans la gammehabituelle de 0 à +5 V du circuitlogique transistor-transistor TTL.Lors de la réception des données, lecircuit IC2 verrouille les niveaux despulsations négatives, puis diminuela tension de l’amplitude positive.Fonctionnellement, le MAX232 estun inverseur.Lors de l’émission de données,lorsque l’amplitude de +5 V doit êtreconvertie en tension bipolaire, lemême MAX232 se comporte commeun amplificateur (booster) de pompede charge en utilisant les condensa-teurs externes C3, C4, C5 et C6. Leprocessus d’augmentation de la ten-sion interne a lieu à très haute fré-quence, et va engendrer inévitable-ment des harmoniques fantômes surles voies d’alimentation. Pour éviterde perturber les autres circuits inté-grés, en particulier le microcontrô-leur, un condensateur à découplageC10 est connecté à la broche 16 duMAX232. En gardant le même objec-tif en mémoire, les résistances defaible valeur en série R5 et R6 sontinsérées dans les lignes d’entrée etde sortie du circuit logique TTL.De l’autre côté de l’adaptateur, IC4fonctionne comme une interfacesemi-duplex au monde de l’EIA-485(techniquement parlant, il s’appelleun « bus ») connecté à K3. Le circuitIC4 n’utilise pas d’amplificateur detension, puisque les niveaux dessignaux dont nous avons besoinpour l’interface externe sont unipo-laires et n’ont pas de référence à laterre. Le circuit intégré 75176 com-bine un circuit de commande symé-trique (avec ses entrées sur labroche 4 et ses sorties sur lesbroches 6 et 7) et un récepteur symé-trique (avec ses entrées sur lesbroches 6 et 7 et sa sortie sur labroche 1). Pour créer une interfacecomplète de l’EIA-485, nous avonsaussi besoin de deux broches pourl’alimentation et d’une paire de ter-minaux de sélection pour déciderquand écouter et quand parler,puisque dans un système semi-duplex ces fonctions ne peuvent êtreutilisées simultanément. Pour bas-culer le bus EIA-485 en mode trans-mission, la broche 3 est forcée auniveau haut (H), alors que le mode

réception est sélectionné par la misede la broche 2 au niveau bas (L). Enreliant ces broches entre elles, lesdonnées peuvent être émises par unseul niveau Haut, et reçues en impo-sant un seul niveau Bas. Dans le cir-cuit réel, on commande les deuxlignes de sélection depuis la sortiedu circuit IC3A, une grille NAND(ET NON) combinant un signal enprovenance de la broche RA3 ducontrôleur PIC avec le signal(inversé) RxD (Receiving Data = don-nées en réception) du canal EIA-232.En utilisant cet arrangement simpleet intelligent, le mode de transmis-sion est basculé avec une bonne

MICROINFORMATIQUE

68 Elektor 5/2002

Tableau 1. Paramétrage de l’interrupteur DIP(longueur de mot).1 = fermé; 0 = ouvert.

Nombre de bits S1-1 S1-210 0 011 0 112 1 013 1 1

Tableau 2.Paramétrage des contacts del’interrupteur DIP (taux de transmission EIA-232)1 = fermé; 0 = ouvert.

Taux S1-3 S1-4 S1-5 S1-619 200 0 0 0 057 600 0 0 0 1300 0 0 1 019 200 0 0 1 14 800 0 1 0 0110 0 1 0 1300 0 1 1 019 200 0 1 1 157 600 1 0 0 0115 200 1 0 0 1600 1 0 1 019 200 1 0 1 12 400 1 1 0 019 200 1 1 0 138 400 1 1 1 019 200 1 1 1 1

Liste des composants

Résistances :R1 à R3 = 1 kΩR4 = réseau SIL de 8 ou

6 résistances de 10 kΩR5,R6 = 100 ΩR7 à R9 = 10 kΩR10 = 120 ΩR11,R13 = 680 ΩR12 = 100 Ω

Condensateurs :C1,C2 = 22 pFC3-C6 = 1 µF/16 V radialC7 = 22 µF/16 V radialC8,C9,C11 à C13 = 100 nFC10 = 10 µF/16 V radial

Semi-conducteurs :D1 à D3 = LED rouge faible

courantIC1 = PIC16C54-HS/P

(programmé, EPS020003-41IC2 = MAX232CP (Maxim

IntegratedIC3 = 74HCT00IC4 = 75176BPIC5 = 7805B1 = pont de redressement

B40C800, boîtier rond(40 V/800 mA)

Divers :JP1 à JP3 = embase auto sécable à

2 contacts + cavalierK1 = embase sub-D à 9 contacts

femelle en équerre encartableK2 = jack d’alimentation

encartable K3 = bornier encartable à

3 contacts au pas de 5 mmS1 = interrupteur sextuple DIPX1 = quartz 4 MHz

Page 54: À la recherche des pannes - Doctsf.com

Quelques microsecondes plus tard, le pro-cesseur détecte le bit initial à RB0 et confirmerapidement le mode transmission à traversRA3 et la broche 1 du circuit IC3A. Le driverde bus « 485 » reste en position transmissionpendant quelques instants, même lorsque leflot de données « 232 » retourne à l’état Hautet va et vient pour suivre l’information. Le dri-ver du « 485 » ne sera remis en mode récep-tion que lorsque tous les bits de donnéesauront été traduits et transférés d’un côté àl’autre.Mais qu’en est-il lorsqu’un seul bit de donnéeest transmis ? Eh bien, le processeur estinformé de la vitesse du flot de données parles six interrupteurs de S1 qui vous permet-tent de sélectionner une boucle de retard logi-cielle convenable. Une synthèse du position-nement des interrupteurs pour différentesvitesses et formats de mots est présentéedans le tableau 1.R7 et R9 sont de simples résistances sta-tiques de forçage. La première impose lemode réception au circuit IC4 durant la misesous tension. La seconde tire la ligne de don-nées entrantes du circuit logique TTL du« 485» sur la voie positive, pour forcer le canalde transmission de l’EIA-232 en mode attentelorsque le bus « 485» émet. R11, R13 et R10peuvent être basculées dans le circuit partrois cavaliers JP1, JP2 et JP3. R11 et R13sont introduites pour assurer une protectioncontre le bruit. Lorsque le bus « 485» est enmode réception mais qu’aucune unité ne« parle » sur la ligne, les niveaux « A » et « B »sont flottants et peuvent alors être perturbéspar des bruits électriques captés par un cou-plage inductif ou capacitif. Dans ce cas,puisque la tension d’entrée différentielletombe dans une zone indéfinie, la sortie durécepteur du « 485» transmettra des pulsa-tions aléatoires et donc des données aléa-toires. Pour éviter des problèmes, un écartbien précis est forcé entre les valeurs de « A »et de « B », grâce au couple R13-JP2 agissantsur le côté positif du bus, et au couple R11-JP1 dédié au côté négatif. Lorsque JP1 et JP3sont installés tous les deux, le bus est placédans une condition d’attente idéale, assurantune suppression optimale du bruit et autresperturbations. La valeur de R13 et de R11assure une charge légère de tout driver réelrelié au bus « 485 ».Lorsqu’il est installé, le cavalier JP3, placé ensérie avec la résistance R10, agit comme unterminateur de bus. Un terminateur, en dépitde toute référence à Hollywood et à la cyber-nétique, est un remède simple pour éliminerla réflexion observée lorsqu’une courte pul-sation est appliquée sur une ligne électrique.Dans la pratique, le générateur émettantcette pulsation utilise sa propre impédance

MICROINFORMATIQUE

695/2002 Elektor

(C) ELEKTOR

020003-1

B1

C1

C2

C3

C4C5

C6

C7

C8C9

C10

C11

C12

C13

D1

D2 D3

HO

EK

1

HOEK2

IC1

IC2

IC3

IC4

IC5

JP1 JP2 JP3

K1

K2

K3

R1

R2

R3

R4 R5

R6

R7

R8

R9

R10R11

R12

R13

S1

X1

020003-1

(C) ELEKTOR

020003-1

Figure 2. Dessin des pistes et sérigraphie de l’implantation des composants del’adaptateur (la platine n’est pas disponible toute gravée).

Figure 3. Prototype monté dans le laboratoire d’Elektor.

synchronisation, puisque le signal« 232 » reçu agit directement sur leterminal de sélection du driver du« 485 », en même temps que sur lemicrocontrôleur. En réalité, l’inter-vention du circuit IC1 est retardéeparce qu’il détecte l’arrivée d’unniveau Bas depuis RB0, exécutequelques instructions et ensuiterépond en tirant le RA3 vers le

niveau Bas. Le niveau Bas depuisRB0 est utilisé comme bit initial duflot de données « 232 », et commedéclencheur de la boucle dedécompte interne du processeur. Cequi entraîne les événements sui-vants : au début, le bit initial entrant« 232 » force le circuit IC4 en modetransmission, grâce au lien directavec la broche 2 du circuit IC3A.

Page 55: À la recherche des pannes - Doctsf.com

électrique, de même que la ligne sur laquellese propage la pulsation. Ce n’est que si lesdeux impédances sont identiques que la pul-sation se propage d’un bout à l’autre sansennuis. Si elles ne le sont pas , la pulsa-tion, en atteignant l’extrémité de la ligne, est(partiellement) réfléchie, créant ainsi une per-turbation indésirable, accompagnée depertes possibles de données. L’impédance dugénérateur, c’est-à-dire du driver du bus« 485 », est connue et peut donc être prise encompte, alors que celle de la ligne ne l’estpresque jamais dans la mesure où elledépend de la dimension physique des filsconducteurs et du débit de transmission desdonnées. Toutefois, on peut présumer, à partird’un grand nombre de données expérimen-tales, qu’une résistance de 120 Ω, placée auxdeux extrémités physiques de la ligne, four-nira une impédance adéquate pour la plupartdes applications. Notez que les terminateursdoivent être placés seulement aux extrémitésde la ligne, même si plus de deux émetteurs-récepteurs « 485 » sont desservis par le mêmebus. Enfin, on trouve la résistance R12. Elleagit comme une protection vis-à-vis d’unepossible déperdition de courant causée par ladifférence de tension entre deux potentiels deterre. Normalement, la tension de la terre està zéro, mais en pratique quelques volts peu-vent être mesurés entre un point à la terre surune unité et le sol même où aboutit la protec-tion. R12 procure une terre « locale » sûre pourla ligne de communication, même si le sol lui-même n’est pas à zéro volt.La configuration du circuit aux alentours dumicrocontrôleur IC1 ressemble étroitement àun circuit publié dans les feuilles de données.Le quartz X1 et les condensateurs de 22 pFC1 et C2 sont les éléments externes de l’os-cillateur d’horloge intégré sur la puce.Les lignes de port RB2-RB7 sont utiliséespour lire les contacts de l’interrupteur S1,alors que RB1 contrôle les données venant durécepteur de l’EIA-485 et RB0 celles en pro-venance du « 232 ». Le réseau de résistanceR4 sert à forcer au niveau haut (pull up) lestoutes lignes connectées aux interrupteurs deparamétrage servant à définir la configura-tion.Le microprogramme du contrôleur allume ladiode à cristaux liquides D3 lorsqu’une trans-mission « 485» se produit. La D2 s’allumelorsque le bus « 485» reçoit et s’éteint lorsqu’ilémet. Notez que ces indicateurs visuels sontfournis seulement avec certains préréglagesdes interrupteurs du boîtier à double rangéede broches, parce que le microprogramme duseul contrôleur dispose de suffisamment depuissance de calcul pour des débits relative-ment faibles de communication.Grâce à l’utilisation du pont rectifieur B1,

l’unité peut être alimentée par unadaptateur de courant alternatif oucontinu fournissant une tensionminimale de sortie d’environ 9 V,connecté à K2. Le circuit régulateurIC5 diminue la tension non réguléedu courant continu à travers C7-C8jusqu’à une valeur de +5 V impec-cable. La consommation de courantdu circuit est de l’ordre de quelquesdizaines de milliampères.

Assemblage et emploiTous les composants du circuit sontinstallés sur une platine impriméedont le dessin est présenté sur lafigure 2. Des supports sont prévuspour les quatre circuits intégrés avecune empreinte DIL (Dual In-Line = àdouble rangée de broches) alors quele circuit IC5, avec seulement troisbroches, est soudé directement surla platine. Respectez bien la polaritéde tous les semi-conducteurs, demême que les référencespositif/négatif sur les condensateursélectrolytiques.Le microcontrôleur PIC, en positionIC1, est disponible déjà programméauprès des adresses habituelles(code de commande EPS020083-41).Sinon, vous pouvez programmervotre propre PIC en utilisant les pro-grammes fournis sur la disquette020083-11 ou disponibles sur lespages de téléchargements gratuitsde notre site www.elektor.fr.

Mode d’emploi pratiqueSi vous disposez d’un ordinateur per-sonnel, vous pouvez relier K1 au portCOM1 ou COM2 de votre PC par l’in-termédiaire d’un câble RS-232 stan-dard (non-croisé) avec au moins desfils connectés aux broches 2, 3 et 5.N’utilisez pas, s’il vous plaît, uncâble « modem zéro » (null modem)parce qu’il comporte des filsTxD/RxD (émission/réception dedonnées) croisés. Sur le côté « 485»,un bornier à vis est présent pouraccueillir tout câblage, fournissantles trajets « A » et « B » et voire untroisième pour la terre. Il est évidentque toute connexion à une unitéexterne « 485» doit respecter les réfé-rences de « A » et de « B », sinon iln’y a aucune chance d’établir la com-munication. Une erreur d’assorti-ment ne causera pas de dommages

aux circuits, mais l’inversion de lapolarité entraînera des pertes dedonnées d’une telle importancequ’une interruption peut survenirdans l’acheminement des données.En pratique, la confusion entre « A »et « B » provoquera une absencetotale de communication.Pour pouvoir utiliser l’adaptateur, ilvous faut connaître la vitesse d’arri-vée des données sur le canal « 232 »,ainsi que le nombre de bits dechaque élément d’information. Unélément d’information, appelé tech-niquement un mot, mettra un certaintemps à parcourir la distance entrel’entrée « 232 » et la sortie « 485».Pendant ce temps le bus doit êtrebasculé en mode transmission, sinonaucune communication ne peutaboutir.Comme mentionné précédemment,un basculement immédiat du moderéception au mode transmission estgaranti par la perception directe desdonnées entrantes « 232 ». Maisquand le bus « 485» revient-il enmode réception ? Présumant qu’unmot de données d’un EIA-232 com-porte les 10, 11 ou 12 bits habituels(début, données, fin et parité éven-tuelle), les interrupteurs de S1 vouspermettent d’informer le processeurde la durée d’un mot complet. Le cir-cuit IC4 peut alors être architecturécorrectement de façon à assurer unbasculement rapide vers le modetransmission, suivi d’un retourrapide au mode réception pour le casoù l’unité externe « 485» réagirait austimulus et renverrait immédiate-ment un retour. Typiquement, une communication« 485» transporte une commande demécanisme ou l’acquisition de don-nées d’un capteur. Nous sommesdonc confrontés à des données àtransmettre, suivies d’autres don-nées à recevoir. Dans ce scénario,l’adaptateur, comme un interprètehumain, ne doit pas introduire dedélai perceptible lors du transfert dedonnées d’un côté à l’autre, sinon ilne remplit pas sa mission. Le micro-programme à l’intérieur du circuitIC1 est réellement capable de main-tenir les communications à différentsdébits, de 110 à 115 000 bits parseconde, avec différentes longueursde mot, de 10 à 13 bits par mot.

(020003-1)

MICROINFORMATIQUE

70 Elektor 5/2002

Page 56: À la recherche des pannes - Doctsf.com

OUTILSDEDÉVELOPPEMENT

72 Elektor 5/2002

Une fois le cavalier JP12 (programmation) misdans la position convenable, le microcontrô-leur lance, après une initialisation (reset), leBootloader évoqué dans le cadre du premierarticle. Si la broche CLK-1 se trouve au niveauhaut, le Bootloader passe en mode sériel syn-chrone, si cette broche se trouve au niveaubas, il passera en mode asynchrone. Contrai-rement à ce qui est le cas en mode synchrone,le mode asynchrone ne s’accommode pas detoutes les fréquences de quartz, raison pourlaquelle Mitsubishi définit les fréquencesgarantissant un fonctionnement correct. Letableau 1 donne les fréquences de quartzacceptables et les taux de transmission (bau-drate) correspondants pour le M30624FGAFP,sachant que le M306N0FGTFP ne se laisseflasher qu’avec des fréquences de 16, 10 et8 MHz.

Le logiciel de flashageUn double clic lance le programmeFlashsta.exe. Ce dernier commence pardemander d’identifier l’interface sérielle duPC à laquelle le microcontrôleur se trouveconnecté; on sélecte ensuite la mémoire Flashinterne (Internal Flash Memory) avantde confirmer ce choix.Si, au bout de quelques instants, le pro-gramme de flashage requiert une transmis-

sion en 9 600 bauds, cela signifiequ’il n’a pas réussi à établir une liai-son. Si les interconnexions sont cor-

rectement effectuées et qu’aucunautre programme n’accède à l’inter-face COM, cela implique un pro-

MC16C/62microcontrôleur16 bits FlashPartie 2 : Flashsta, le logiciel de flashage

Dipl.-Ing. Gunther Ewald

On a besoin du programme de flashage en fin de développement pour lestockage du programme d’application ou un nouveau Moniteur ROM dansla mémoire du microcontrôleur.

Figure 1. L’identificateur (ID) entré étant correct, on voit apparaître la fenêtrereprésentée ici.

Page 57: À la recherche des pannes - Doctsf.com

OUTILSDEDÉVELOPPEMENT

735/2002 Elektor

compilateur C ou l’assembleur). Il ne s’agitque d’un fichier de texte de sorte que l’onpourra ignorer purement et simplement cetterequête par un simple clic. Une ligne plus bason découvre 7 champs dans lesquels il faudraentrer l’identificateur du microcontrôleur. Sile microcontrôleur est neuf ou qu’il vient justed’être effacé, on pourra ignorer cette phaseopératoire et actionner tout simplement leO.K. Il faudra au contraire, si l’on a flashéauparavant un programme en assembleur (lemoniteur par exemple) ou un programme enC, saisir 7 fois un double 00 (00). Si l’on a, pré-cédemment, flashé un identificateur spéci-fique il faudra l’entrer à nouveau. Si l’on a,auparavant, flashé un programme Tasking, ilfaudra, en règle générale, entrer 7 fois undouble FF (FF). Si tout se passe comme prévuon verra apparaître une fenêtre telle que cellereprésenté en figure 1, si cela n’est pas lecas, il doit y avoir eu erreur de saisie d’iden-tificateur.Par le biais du point de menu Setting ondétermine le taux de transmission maximumque permet la fréquence de quartz utilisée.Avec un quartz de 16 MHz, ce « baudrate »est de 57 600 bauds.Si le taux de transmission adopté ne « marchepas », le programme passe au taux de trans-mission fonctionnel le plus élevé possible. Sile composant n’était pas vierge ou effacé ilfaudra commencer par l’effacer à l’aide de lafonction Erase.Il est préférable, pour flasher le nouveau pro-gramme (le Moniteur-ROM dans le cas pré-sent), d’utiliser la fonction B.P.R. (= Blank-Check, Program, Read verify). En l’absenced’affichage de message d’erreur, le compo-sant devrait être programmé correctement.Une fois que l’on a quitté le programmeFlashsta.exe il faudra interrompre briève-ment l’alimentation de la carte ou actionnerun court instant le cavalier Reset de façon àce que le microcontrôleur lancer le pro-gramme utilisateur stocké dans la Flash dumême nom (User Flash).Le programme de flashage Flashsta.exetourne uniquement sous Win95 et Win98. Ontrouvera le source à l’adresse Internet :www.infomicom.maec.co.jp/M16C/ sw/freesw/0806/0806swe.htm .

Analyse de problèmesIl est difficile d’imaginer un développementde programme sans avoir à utiliser le débo-gueur, outil qui permet de tester le pro-gramme en mode pas à pas. Un double clicsur Setup.exe installe le débogueur; on défi-nit ensuite l’interface COM du PC à utiliser,choix qu’il reste à confirmer par un OK. Il vasans dire qu’il faut que la carte d’évaluation

blème au niveau de la réalisation dumontage. Il faudra se résoudre àappuyer une nouvelle fois sur le bou-ton Reset, et si cela ne résout pas leproblème, vérifier le fonctionnementde l’oscillateur et s’assurer de la pré-sence de la tension d’alimentation etles niveaux des tensions aux bornesdu MAX232.Normalement, tout devrait bien sepasser. Si tout fonctionne correcte-

ment, le programme demande, dansune fenêtre, d’entrer un nom defichier. Le PC et le microcontrôleurentrent en communication. On choi-sit ensuite un fichier au format Moto-rola Hex et on confirme la sélection.Le programme de flashageFlashsta.exe manifeste sonmécontentement en raison de l’ab-sence du fichier ID (au cas où ce der-nier n’aurait pas été généré par le

Figure 2. Voici comment se présente le débogueur.

Tableau 1.Fréquences de quartz utilisables et taux de transmission correspondants.

Fréquence de quartz Taux de transmission (pour le M30624FGAFP)

16 MHz 9 600 19 200 38 400 57 60012 MHz 9 600 19 200 38 000 – – –11 MHz 9 600 19 200 38 000 – – –10 MHz 9 600 19 200 – – – 57 6008 MHz 9 600 19 200 – – – 57 600

7,372 8 MHz 9 600 19 200 38 400 57 6006 MHz 9 600 19 200 38 400 – – –5 MHz 9 600 19 200 – – – – – –

4,5 MHz 9 600 19 200 – – – 57 6004,194 304 MHz 9 600 19 200 38 400 – – –

4 MHz 9 600 19 200 – – – – – –3,58 MHz 9 600 19 200 38 400 57 600

3 MHz 9 600 19 200 38 400 – – –2 MHz 9 600 – – – – – – – – –

Page 58: À la recherche des pannes - Doctsf.com

soit connectée au PC et ait été mise sous ten-sion. La figure 2 illustre le résultat de l’ins-tallation.On pourra ensuite commencer, par le biais dumenu déroulantFile->download->Load Moduletélécharger, compiler et visualiser le pro-gramme proposé, first.x30 (de NC30). Lafenêtre de programmation (à gauche) suittoujours le PC, la fenêtre source, que l’onouvre parBasicWindow->Source Window,montre en tout temps la fonction examinée(main dans le cas présent). Tout en bas nousdécouvrons la fenêtre Dump que l’on ouvrepar un choixBasicWindow —> Dump Windowet qui commence à l’adresse FBD00HEX,l’adresse de début des vecteurs d’interrup-tion variables (figure 3).On trouve, sur l’interface utilisateur, des bou-tons au nombre desquelsGOLancer le programme à partir du compteurordinal (Program Counter)Come Aller jusqu’au curseurStep Mode pas à pasStep over SubroutineStep from SubroutineStop Arrêter l’exécution du programmeRST Réinitialisation du système (Reset)BREAK-points Listage de tous les pointsd’arrêt (Breakpoints)pour ne mentionner que les plus importants.Il est possible, en cours de déboguage, et ceci

en vue de faciliter cette opération,d’ouvrir plusieurs fenêtres source.On pourra utiliser la fenêtre Scriptpour entrer et stocker des scripts(modules descriptifs d’exécutiond’une suite d’opérations). Il est pos-sible par leur intermédiaire, parexemple, d’initialiser un environne-ment de travail lors du lancement del’émulateur. L’émulateur rafraîchitl’affichage écran une fois parseconde. Les fenêtres RAM-Monitoret Watch sont réactualisées en per-manence. On pourra, pour éviter quece mode de fonctionnement n’ait

d’effet néfaste sur le déroulement del’application, accroître l’intervalleséparant 2 rafraîchissements voiredésactiver cette fonction (Free RunMode).Important : il faut, avant télécharge-ment d’un fichier X30 (programmeutilisateur compilé avec informationde déboguage) réinitialiser l’émula-teur par une activation du boutonReset de l’interface de déboguagetournant sous Windows !

Le compilateur C de MitsubishiOn commencera, pour installer lecompilateur C, par lancer le pro-gramme Setup.exe et sélecter l’ins-tallation d’essai (Trial). On chargeraensuite le fichier first.zip que l’ontrouvera sur le site Internet d’Elektor(www.elektor.fr), fichier qu’il faudradécomprimer et installer dans unrépertoire spécifique,c:\mtool\first,par exemple.Pour la compilation du fichierfirst.c on entrera l’instruction,dans le dit répertoire, comp en modeDOS. Les adaptations requises par leMoniteur ROM sont déjà inclusesdans les fichiers sect30.inc (vec-teurs, cartographie (mapping)) etnrt0.a30 (fichier assembleur Star-tup). On trouvera des explicationsdans le fichier Readme de l’archivecomprimée (fichier .zip).

(011003-2)

OUTILSDEDÉVELOPPEMENT

74 Elektor 5/2002

Figure 3. First.x30 dans l’interface du débogueur.

Autres compilateursIl existe, outre le compilateur proposé par Mitsubishi d’autres sources proposantce type d’outil. La société Tasking propose, à l’adresse Internet www.tasking.com,une version d’évaluation de compilateur C et C++ avec interface utilisateurtournant sous Windows, simulateur et programmateur Flash intégrés (limitée àune taille de code opératoire de l’ordre de 16 Koctets maximum). Ce logicielintègre en outre dans son interface utilisateur un débogueur de Moniteur ROMpermettant un déboguage direct de la carte d’évaluation sans avoir à faire appelau programme KD30 de la carte d’évaluation.La société IAR, très connue elle aussi dans le monde des outils de développementen tous genres, propose elle un compilateur C et l’outil MakeApp-Design-Toolpour le M16C/62. On pourra télécharger une version d’évaluation (jusqu’à 1 Koc-tet) à l’adresse : www.iar.com. Le site d’IAR propose une possibilité de demanderun CD-ROM de démonstration.