elektor n°318 - décembre 2004 - doctsf
TRANSCRIPT
EN ATTENDANT
Qui s’étonne encore de pouvoir télécommander sa TV ou soninstallation audio sans quitter son fauteuil ? Il est possible depousser l’automatisation domestique bien plus loin, nombre defabricants prenant le train en marche, mais il reste bien duchemin à faire.
elektor - 12/200412
David Daamen
Il existe actuellement plusieurs systèmes sur le marchépour automatiser nombre de fonctions dans une mai-son voire de les interconnecter, mais la pléthore destandards et de développements spécifiques fabricantsne permettent pas de faire de votre domicile en une« villa de l’avenir ».Nous avons signalé, voici quelque temps déjà, que l’au-tomatisation était freinée par les (im)possibilités offertespar la technologie des installateurs (Où en est la maison
intelligente ?, Elektor février 2001). L’arrivée à maturitéd’un système prend tellement de temps que les fabricantscourent toujours après les faits.L’un des problèmes majeurs est que la transmissions pro-prement dite de données entre les différentes applicationsn’est souvent pas suffisamment normée. En cas de détec-tion d’une telle déficience, il est souvent impossible de lacontrer assez rapidement. Le résultat est l’existenceactuellement d’un grand nombre de protocoles et de stan-
dards ce qui en fait ne fait que compliquer le problème.La tendance actuelle porte plus l’accent sur l’applicationproprement dite que sur la technologie de connexion elle-même.
OSIOn pourra s’étonner qu’il ait fallu tellement de tempspour que l’attention se porte sur l’application. Il existe,depuis le milieu des années 80, un standard qui énu-mère les points dont il faut tenir compte lors de la réali-sation d’une fonctionnalité de réseau. L’ISO (Internatio-nal Standardization Organisation avait en effet défini unmodèle de référence, l’OSI (Open Systems Interconnect,Cf. figure 1).Nous verrons plus loin que bien que nombre de stan-dards actuels se concentrent principalement sur laconnexion physique et/ou la technique de communica-tion, il existe également des standards qui prennentsérieusement en compte les couches de haut-niveau dumodel OSI : l’essence-même de l’application.Pour simplifier les choses nous allons subdiviser les stan-dards (professionnel et domotique) en 3 groupes globauxdérivés du modèle de référence OSI. Il s’agit, dans l’or-dre, des couches réseau, communication et application.
RéseauLes standards tels que RS-485, Ethernet, FireWire,HomePNA, HomePlug, MoCA, USB et X10 sont en faitprincipalement une description de la communication parle biais d’un médium physique donné. HomePNA parexemple est un standard spécifiquement américain quidécrit comment effectuer, par le biais du réseau télépho-nique (existant) de liaisons dans une maison pouvantatteindre des vitesses de 240 Mb/s. MoCA (Multimediaover Coax Alliance) a spécifié un standard basé sur lemême principe : utiliser le câblage existant. Il s’agit dansle cas présent du câblage coaxial présent dans nombre
d’habitations pour la distribution de signaux radio et TV.MoCA pense qu’il s’agit là d’un standard d’avenir, pro-mettant des vitesses allant jusqu’à 1 Gb/s.Le standard HomePlug qui commence à ce développeren Europe utilise lui aussi un câblage existant, à savoir leréseau électrique d’une habitation. Il est possible d’attein-dre des vitesses allant jusqu’à 14 Mb/s.Nous pouvons également classer dans cette catégorie deréseaux les réseaux sans fil tels que Bluetooth, ZigBee,DECT, WiFi et IrDA. Dans l’encadré « Systèmes de bus »nous indiquons où trouver de plus amples informationsau sujet des dits standards.
Au niveau réseau, l’objectif est l’interopérabilité physique(connectivité) et dans la plupart des cas les standards nedéfinissent que les premières couches du modèle OSI.Ces standards ne nous apportent pas grand chose tantqu’il n’a pas été question de la technique de transfert desdonnées, il nous faut partant un protocole de réseau. L’u-sage est aujourd’hui d’utiliser le protocole Internet (IT).
CommunicationOn compte, au niveau de la couche de communication,les standards tels que BACnet, BatiBUS, EIB, EIBA, Lon-Works et KNX. Nous reviendrons à ce dernier. Ces systè-mes sont principalement des systèmes de communication.Les standards décrivent la transmission de paquets dedonnées entre un certain nombre de périphériques (termi-nal) interconnectés par un réseau sans qu’il ne failleauparavant établir de liaison.L’accent est mis sur l’interopérabilité. L’une des manièresd’atteindre l’objectif souhaité est de se mettre d’accordsur un schéma de transmission indépendant des donnéesà transmettre. Cela convient idéalement dans le cas d’unsystème « ouvert ». Les protocoles sont universels et utili-sables librement par tout un chacun. À noter en outrequ’un système reposant sur des spécifications« ouvertes » se « ferme » finalement de lui-même lors de
12/2004 - elektor 13
LE BUS Domotique : encoreloin du terminus !
Physical
Datalink
Network
Physical
INTERMEDIATE
Datalink
Network
Transport
Session
Presentation
Application
1
2
3
4
5
6
7
Physical
040363 - 11
Datalink
Network
Transport
Session
Presentation
Application
SOURCE DESTINATION
Figure 1. Le modelOSI (Open SystemsInterconnect)développé par ISO.
sa mise en oeuvre dans une application ou une configu-ration donnée !
ApplicationPour les standards catégorisés dans cette couche, l’ac-cent est porté principalement sur la gestion de système etd’application.Ceci signifie que le but principal du standard est la défi-nition de ce que l’on appelle les pilotes indépendants du
réseau, les API (Application Programming Interface). Cegroupe comprend des standards tels que CEBus,Modbus, PROFIBUS, HAVi, EHS, OSGi, et UPnP.
Si CEBus est utilisé principalement aux USA, des initiati-ves telles que HAVi et UPnP sont des développementsmondiaux. Nous connaissons UPnP naturellement grâceà notre PC : de nos jours, le plug-and-play est intégrétotalement dans Windows et le matériel tournant sous cesystème d’exploitation.
elektor - 12/200414
(A)DSL
TVpar câble
DVCR
RECEIVER
CD/D VD
SET TOP BOX
SET TOP BOX
SET TOP BOX
SET TOP BOX
1394
1394
1394
PC
1394 LO
NG
1394 LONG
CAMCORDER
040363 - 12
MP3 PLAYER
1394
Figure 2. HAVI faitappel à une liaison
Firewire pour latransmission de
signaux audio etvidéo numériques.
Systèmes de busNiveau réseau
RS-485 Recommended Standard ANSI/TIA/EIA-485-A-98 www.tiaonline.orgIEEE 802.3 Ethernet standards.ieee.orgIEEE 1394 FireWire www.apple.comHomePNA Home Phoneline Network Alliance www.homepna.orgHomePlug HomePlug Powerline Alliance www.homeplug.orgMoCA Multimedia over Coax Alliance www.mocalliance.orgUSB Universal Serial Bus www.usb.orgX10 X10 Wireless Technology www.x10.comIEEE 802.15 Bluetooth www.bluetooth.comZigBee ZigBee Alliance www.zigbee.orgDECT Digital Enhanced Cordless Telecommunications www.dectweb.comIEEE 802.11 Wireless Fidelity (WiFi) / Wireless LAN www.wi-fi.orgIrDA Infrared Data Association www.irda.org
Niveau communication
BACnet Building Automation and Control Networks www.bacnet.orgBatiBUS BatiBUS Club International www.batibus.comEIB European Installation Bus www.eiba.comKNX Konnex Association www.konnex.orgLonWorks Local Operating Network Works www.echelon.com
Niveau application
CEBus Consumer Electronics Bus www.cebus.orgModbus Modicon bus www.modbus.orgPROFIBUS PROFIBUS International www.profibus.comHAVi Home Audio Video Interoperability www.havi.orgEHS European Home System www.smarthomeforum.comOSGi/RG Open Service Gateway initiative/Residential Gateways www.osgi.orgSalutation Salutation Architecture www.salutation.orgUPnP Universal Plug and Play www.upnp.org
Pour éviter tout malentendu : ces catégories se recoupent,ainsi il arrive que l’on implémente, sur des standards dela catégorie réseau, des solutions de commande et degestion et inversement, on se base, dans le cas de stan-dards du groupe application, dans certains cas sur unmédium donné. Cela est le cas avec HAVi par exemple.Ce système qui repose sur Firewire (IEEE1394) doit servirde standard de liaison pour des signaux d’audio et devidéo numérique (figure 2).
KonnexEntrer dans le détail de chacun de ces standards nousamènerait trop loin. Nous allons, à titre d’illustration, enchoisir l’un des plus intéressants. ESHA, le standard deEuropean Home Systems Association est un exemple debonne approche. Outre des spécifications concernant lemédium et les protocoles de communication, ce consor-tium s’est fixé pour but de fournir une solution indépen-dante des marques qui se configure d’elle-même (PnP),est modulaire et parée pour les développements futurs. Lefait que ESHA se soit associé avec BatiBUS et IEB pourconstituer Konnex Association (figure 3) ne pourra quefaciliter l’atteinte de ses objectifs.Comme le standard est ouvert, indépendant de la plate-forme et qu’il supporte différents média physiques, il n’estpas exclu que nous en entendions encore souvent parlerà l’avenir.
La pratiqueQuels sont les développements futurs ? Comme il sem-blerait que l’on se rapproche de plus en plus d’unebase solide, les possibilités ne sont plus en principelimitées que par notre fantaisie (et celle des fabricantsbien entendu).La possibilité de télécommander notre téléviseur et notreinstallation audio depuis notre fauteuil n’est qu’une pâleindication de ce qui nous attend. Vous connaissez sansdoute les télécommande d’éclairages en tous genres ven-dus dans les magasins d’outillage. Les choses deviennentintéressantes lorsqu’on les intègre ainsi que d’autres systè-mes (figure 4). On pourrait imaginer un ordinateur com-mandé à la voix pour s’occuper de tout ce qui concernel’habitat. On pourrait imaginer que le chauffage centralsoit piloté par l’heure de réveil que vous vous êtes fixée.Un quart d’heure avant votre lever, le système domotiqueaura assuré une température agréable dans la cuisine.Pourquoi ne pas démarrer automatiquement la cafetièreélectrique lorsque vous quittez la douche...Un habitat automatisé peut contribuer à une meilleuresécurité. Un système domotique est ainsi en mesure, parl’éclairage et les sons, de simuler une présence humaine,voire de déclencher une alarme (par E-mail ou Texto parexemple) en cas de détections d’intrus, de fuite de lamachine à laver ou d’oubli de couper une plaque de lacuisinière !
Solutions-maisonDe par l’absence de bons systèmes professionnels (abo-rables), on ne sera guère étonné de trouver sur Internetnombre de solutions-maison. Nous en évoqueronsquelques-unes dans la rubrique Electronique en Ligne.Vous pouvez, d’ici là, jeter un coup d’oeil sur les sites« HomeSeer » et « Home Automated Living ». Vous ytrouverz des exemples de matériels et logiciels permettantune automatisation intégrée d’une maison... Les liens sontdonnés ci-dessous.
(040363-1)
Intéressants :www.hometoys.com
www.smarthomeforum.com
Logiciels et matériels :www.homeseer.com
www.automatedliving.com
12/2004 - elektor 15
040363- 13
Figure 3. Le logo de Konnex Association.
Figure 4. Dans le futur, tousles appareilscommuniqueront lesuns avec les autres.
Par le passé dansElektorElektor s’est déjà intéressé souvent aux systèmes de busqui permettent de réaliser une automatisation-maison.Reprenons les articles les plus importants consacrés àce sujet.
– Lorsque RS/485 rencontre CAN, 2 systèmes sur unmême bus (010081, Elektor novembre 2001, page 80)
– Adaptateur semi/duplex RS/232 à RS/485, les avan-tages des lignes symétriques (020003, Elektor juin2002, page 66)
– Bus DC, un bus domestique RS/485 qui dessert64 postes (010113, Elektor novembre 2002, page 72)
– Interface USB ->RS-232, solution compacte pour portsmanquants (020375, Elektor mai 2003, page 70)
– Le bus CAN, communication de donnés futée pour spé-cialiste (990060, Elektor sept./oct./nov. 1999,pages 18, 26, 58)
Ailleurs dans ce numéro, nous passerons brièvement enrevue quelques projets récents. Il s’agit de montagesentrant dans le cadre de la domotique. Avec un rien d’i-magination vous pourrez même les connecter à un bus !
Depuis l’introduction, au cours des années 80, par Philips,du bus I2C, ce bus est utilisé très fréquemment lorsqu’il s’agitde connecter sans chichis des réalisations-maison à un PC.On utilise le plus souvent une interface rustique connectée auport parallèle du PC. C’est dépassé, d’où l’interfaceUSB/I2C à réaliser soi-même proposée ici.
INTERFACE US
elektor - 12/200416
Paul Goossens
Elektor s’est intéressé à plusieursreprises déjà au bus I2C. Nous avonsmême décrit toute une série de modu-les pouvant communiquer avec un PCau travers d’un bus I2C. Nous avions àl’époque couronné le tout par une carteISA encartable qui faisait office d’inter-face I2C. Il existe une autre interfacesouvent utilisée qui se résume en uneélectronique simple utilisant le portparallèle.
L’arrivée des systèmes d’exploitationplus récents rend toujours plus délicatle pilotage correct de ce fameux portCentronics. Ceci explique que des logi-ciels plus anciens ne fonctionnent pluscomme ils le devraient.Pour pouvoir continuer d’utiliser lebus I2C avec les PC tournant sous lesnouveaux systèmes d’exploitationnous avons développé une nouvelleinterface qui exploite non pas le portparallèle mais le bus USB.
Historique d’I2CSi Philips a développé le bus I2C c’é-tait pour permettre à diverses pucesintégrées dans ses téléviseurs et aut-res magnétoscopes de communiquerentre eux sans que cela ne prennetrop de place sur le circuit imprimé.Ceci explique que le bus I2C nerequiert que 2 signaux au lieu de8 lignes de données, toute une sériede lignes d’adresses sans parler dequelques signaux de commande, larecette habituelle quoi.
Après l’introduction de ce bus, Philipset d’autres fabricants ont développénombre de circuits intégrés dotésd’une interface I2C. La plupart d’entreeux étaient destinés aux équipementsaudio et vidéo tels que les circuits inté-grés de réglage de tonalité, les synthé-tiseurs et autres réglages de volume.Plus tard, cette palette s’étoffa de tou-tes sortes de circuits d’E/S numé-riques, de convertisseurs A/D, ce qui
explique le nombre de circuits dotésactuellement d’une interface I2C.
Le concept I2CL’interface I2C est ce que l’on appelleun bus maître/esclave. Ceci signifieque l’on a, sur chaque bus I2C, un maî-tre et que le reste des puces est dutype esclave. Ceci implique que le maî-tre se charge du signal d’horloge. Ilfaut en outre que le maître initie cha-cune des transactions. Il n’est pasquestion qu’un esclave se mette àémettre de son propre chef !
Sur le bus I2C chaque esclave possèdesa propre adresse. Chaque transactiondémarre par une condition de début(START) suivie d’une adresse sur 7 bitset d’un bit R/W. S’il existe, sur le bus,un esclave possédant la dite adresse,il enverra un signal ACK (ACKno-wledge) pour signaler qu’il a reconnuson adresse. Tous les autres esclavesI2C ne s’intéresseront pas aux donnéesprésentes sur le bus et ne remettront àl’écoute qu’une détectée une conditiond’arrêt (STOP).
Le bit R/W indique le type d’opérationsouhaité par le maître, lecture ou écri-ture. Si le bit en question est à « 1 », celasignifie lecture. Dans ce cas, c’est l’es-clave qui mettra l’octet suivant sur lebus. S’il est à « 0 » (Write) l’octet (ou lesoctets) suivant(s) viendront du maître.Quelle que soit la situation, le signald’horloge sera fourni par le maître.La fin d’une telle communication estsignalée par une condition d’arrêt, l’en-semble du processus reprenant à sondébut.
L’interfaceL’interface que nous avons développéedoit respecter un cahier des charges. Ilfaut ainsi que son installation sousWindows soit la plus simple possible.Il faut en outre qu’elle se laisse com-mander (relativement) facilement. Ilserait intéressant en outre de pouvoirutiliser des câbles d’une certaine lon-gueur entre l’interface et un montageI2C, ce qui permettrait la connexiond’appareils se trouvant à une certainedistance du PC.Pour réaliser ce projet nous nous som-
SB/I2C
12/2004 - elektor 17
I2C for ever….
Caractéristiques de l’interface– Compacte
– Interface USB 1.0 grande vitesse (full-speed)
– Compatible avec les hôtes USB2.0
– Utilisable avec Windows (de 98SE à XP)
– Ne requiert pas de programme pilote
– Longueur maximale de câble entre l’interface et les modules>10 mètres !
– Fréquence I2C : 100 kHz
– Mise en oeuvre facile via une DLL
– Disponibilité du code-source du progiciel, de la DLL et d’exempled’application
– Alimentation par adaptateur secteur 9 V
mes partant mis à la recherche dumicrocontrôleur adéquat doté d’uneinterface USB. Nous avons finalementopté pour le TUSB3410 de Texas Instru-ments pour la simple et bonne raisonque ce contrôleur possède et une inter-face USB et une interface I2C; il estvendu sous la dénomination (quelquepeu trompeuse) de « USB to Serial Portcontroller ». Il s’agit en fait d’un contrô-leur compatible 8051 doté, entre aut-res, d’une interface USB, de 16 Koctetsde mémoire de programme, d’un portsériel étendu et d’une interface I2C ettout cela dans un minuscule boîtierCMS à 32 broches.Pour répondre aux exigences « grandesdistances » de la liaison I2C, nousavons choisi de donner un gain addi-tionnel à ces lignes par l’adjonctiond’un extenseur de bus I2C prenant laforme d’un P82B715PN.
Le schémaLe schéma de notre interface estdonné en figure 1. Le coeur de l’élec-tronique est le TUSB3410, IC1, épaulépar son oscillateur, X1, C5 et C6. L’ali-mentation est fournie par un adapta-teur secteur; IC4 ramène la tension de9 V qu’il fournit à 5 V. Il existe égale-ment une tension d’alimentation de3,3 V requise par le processeur et l’EE-PROM I2C. Nous avons choisi, pour des
raisons de sécurité de ne pas alimen-ter le circuit directement depuis lebus USB. Comme la tension de 5 V esten outre accessible de l’extérieur par lebiais du connecteur, une éventuellesurcharge ou un court-circuit pourraitendommager l’interface USB du PC.Les lignes de données du connecteurUSB, K1, sont reliées aux lignes dedonnées correspondantes du contrô-leur au travers des résistances R2 etR3. La ligne D+ est reliée à la sortiePUR (Pull-Up Resistor) de IC1 par lebiais d’une résistance de forçage auniveau haut (pull-up) de 1k_5. Norma-lement, cette résistance est reliée à latension d’alimentation. Cela permet auhub USB de détecter la connexion aubus USB d’un périphérique USB grandevitesse. Par la connexion de cette résis-tance de forçage avec la sortie ducontrôleur, ce dernier pourra signalerlui-même au hub USB la connexiond’un appareil, mais il pourra égalementfaire croire au hub que le dit périphé-rique a été déconnecté en forçant ladite ligne au niveau bas. Ceci estimportant lors de l’activation de lapuce (boot), cf l’encadré consacré àl’activation du TUSB3410.Le progiciel se trouve dans uneEEPROM I2C, IC2, composant relié aucontrôleur par le biais du bus I2C. Lesdiodes D1 et D2 évitent que les2 signaux I2C ne puissent envoyer au
contrôleur des crêtes de tension tropimportantes. R5 et R6 sont les résistan-ces forçage au niveau haut requisespar tout bus I2C.Vous n’aurez pas manqué de remar-quer que le bus I2C du contrôleur tra-vaille à 3,3 V. Ces signaux ne sont pascompatibles avec un circuit intégré tra-vaillant à 5 V. L’expanseur de bus I2Cest malheureusement une puce 5 V, cequi requiert de commencer par rehaus-ser les 2 signaux I2C au niveau 5V,fonction qu’assurent T1, T2, R9 et R10.(Cf. les secrets du concepteur de cemois-ci.)L’expanseur de bus I2C P82B715PN,épaulé par R11 et R12, permet aubus I2C de s’accommoder de câbles deliaison d’une certaine longueur par,entre autres, abaissement de l’impé-dance et amplification du courant. Lemonde extérieur peut accéder auxsignaux ainsi traités par le biais del’embase K3.En dépit de sa petite taille, la platinedouble face à trous métallisés de lafigure 3 comporte tous les connecteursnécessaires. La mise en place des com-posants ne devrait pas poser de pro-blème, hormis celle des CMS IC1, T1 etT2. Si les 2 transistors se laissent aisé-ment souder à l’aide d’un fer à souder àpanne fine, le soudage de IC1 est plusdélicat lui. Commencez par fixer cecomposant en place à l’aide d’une
elektor - 12/200418
K1
1
2
4
3
R1
15k
D+
D-
USB-B
R2
33Ω
R3
33Ω
C1
1u
12MHz
X1
100n
C2
100n
C3 C4
1u
C5
22p
C6
22p
R4
1k5
R5
10k
R6
10k
R7
5k6
R8
10k
100n
C7
100n
C8
SDA
SCL
I2C
1N4001
D3
max 9V DC
100n
C10
IC4
7805
T1
S D
G
FDV301N
T2
S D
G
R9
10k
R10
10k
LSCL
LSDA
100n
C9R11
33
0Ω
R12
33
0Ω
100n
C11
TUSB3410
X1/CLK1
SUSPEND
VREGEN
WAKEUP
CLKOUT
VDD18
TEST0
TEST1
RESET
IC1
SOUT
P3 .0
P3 .1
P3 .3
P3 .4
VCC VCC
GNDGND
GND
PUR SDA
SCL
S I N
CTS
DSR
DCD
RTS
DTR
25
X2
2627 18
23
24
28
DP
DM
12
10
11
1917
32
31
30
29
13
14
15
16RI
20
21
22
3 4
8
1
5
6
7
9
2 24LC64
IC2SDA
SCL
A0
A1
A2WP
15
8
4
6 2
37
D1
BAT85
D2
RJ-11
K3
1
2
3
4
5
6
K2
P82B715PN
IC5
SX
SY
LX
LY
3
4
7
2
8
6
040334 - 11
+5V
16V
16V
2x
+5V
+5V
+3V3
+3V3
2x
LM1117-3.3IC3
X1 =
Figure 1. L’électronique de l’interface est centrée sur un TUSB3410.
petite goutte de colle. Soudez toutesles pattes du composant non seule-ment aux îlots correspondants maisaussi entre elles. Il faudra travaillerrapidement pour éviter une surchauffedu circuit. Une fois que la soudure encourt-circuit et le circuit intégré lui-même ont refroidi, vous placerez unmorceau de tresse à dessouder sur lespoints de connexion et supprimerez lasoudure excédentaire; les ponts decourt-circuit sont ainsi éliminés. Nepas utiliser de pompe à dessouder !Attention à éviter toute surchauffe ducircuit intégré. On vérifie ensuite, à laloupe et à l’aide d’un multimètre laconnexion correcte de toutes les pat-tes avec les lignes correspondantes et
12/2004 - elektor 19
I2C
100n
C1 R2
10k
R1
10k
RJ-11
K1
1
2
3
4
5
6
P82B715PN
IC1
SY
SX
LY
LX
6
4
2
7
8
3
+5V
LSDA SDA
SCLLSCL
040334 - 12
Figure 2. Circuiterie d’entrée pour modules I2C en cas d’utilisation de l’expanseurd’E/S I2C, IC5.
C1
C2
C3
C4
C5C6
C7 C8
C9
C10C11
D1D2
D3
IC1 IC2
IC3
IC4
IC5
K1
K2
K3
R1
R2R3
R4
R5R6
R7R8
R9R10
R11
R12
T1T2
X1
max 9V DC
040334-1
Figure 3. La platine de l’interface. IC1, T1 et T2 sont des CMS qu’il faudra souderavec soin à l’aide d’un fer à souder à panne fine.
Liste descomposantsRésistances :R1 = 15 kΩR2,R3 = 33 ΩR4 = 1kΩ5R5,R6,R8 à R10 = 10 kΩR7 = 5kΩ6R11,R12 = 330 Ω
Condensateurs :C1,C4 = 1 µF/16 V radialC2,C3,C7 à C11 = 100 nFC5,C6 = 22 pF
Semi-conducteurs :D1,D2 = BAT85D3 = 1N4001IC1 = TUSB3410 (Digikey n°. 296-
12699-ND)IC2 = 24LC64 (programmée,
EPS040334-21)IC3 = LM1117-3.3 ou LD1117V33C
(Digikey n°. 497-1492-5-ND)IC4 =7805IC5 = P82B715PN (Farnell n°. 559-
258, RS-components n°. 821-784)T1,T2 = FDV301N (Farnell n°. 995-
848, RS-components n°. 354-4907)
Divers :K1 = embase USB en équerre
encartable (Farnell n°. 152-754)K2 = jack d’alimentation encartable
pour adaptateur secteurK3 = embase RJ-11 à 6 contacts
(Farnell n°. 393-8359)X1 = quartz 12 MHzcâble USBPlatine : EPS 040334-1Disquette avec logiciel : EPS 040334-
11
Le dessin de la platine et le logiciel sontégalement disponibles sur le siteInternet www.elektor.fr
l’absence de tout court-circuit résiduel.Nous venons de terminer l’opération laplus délicate.Vous pourrez découvrir, dans l’article« I2C-homebus » un module connecta-ble à cette interface.Si vous préférez utiliser le bus I2C sansexpanseur de bus I2C, vous pourrezprocéder aux modifications suivantes :Ne pas implanter IC5, R11 et R12.Interconnecter les broches 2 et 3 deIC5. Faire de même pour les broches 6et 7. Il suffit pour cela d’implanter2 petits morceaux de conducteur auxemplacements correspondants du sup-port. Les modules connectés à l’inter-face peuvent alors relier directementles lignes SCL et SDA aux lignes I2C deleurs propres circuits intégrés.Si vous avez bien monté l’expanseurd’E/S sur la platine, il faudra que tousles modules connectés soient dotés de
la circuiterie d’entrée représentée enfigure 2.
Installation et DLLL’installation est simple. On commencepar y brancher un adaptateur secteur,le montage étant ensuite relié au PCpar le biais d’un câble USB. Windows(à compter de 98SE) reconnaît immé-diatement un périphérique HID etaprès quelques « tours de pistes » dudisque dur Windows signale que lepériphérique est prêt à être utilisé sousWindows.Nous n’en sommes cependant pasencore à la fin de nos peines. Il fautencore écrire un programme pour fairefonctionner l’interface. Son contenudépend bien entendu des modulesconnectés au système et de ce quevous voulez leur faire faire. Nous som-
mes bien conscients que le pilotaged’un périphérique HID n’est pas unesinécure pour n’importe quel program-meur, raison pour laquelle nous vousproposons une DLL écrite spéciale-ment pour le pilotage de notre inter-face USB.Il est recommandé de placer cette DLLdans le dossier C:\Windows\System32.Le système d’exploitation peut ainsitoujours retrouver cette DLL et il nevous est pas nécessaire de la placerdans le même dossier que celui desapplications qui y font appel !Cette DLL est utilisable avec tout lan-gage de programmation qui supportel’utilisation de DLL externes, tels queVisual Basic, Visual C++, Delphi etBorland C++ Builder.
2 approchesL’appel d’une DLL depuis votre appli-cation peut se faire de 2 manières. Lorsde l’écriture de la DLL il nous parutlogique de demander à l’application defournir une matrice d’octets danslaquelle la DLL place les octets reçusou lors de l’écriture d’où elle peut lireles octets à envoyer.Pour la plupart des langages de pro-grammation la mise en oeuvre dematrices en tant qu’argument d’unefonction DLL ne pose pas de problème.Il en va un peu différemment dans lecas de Visual BASIC. Il est vrai qu’il estégalement possible de procéder ainsiavec ce langage, mais c’est sensible-ment plus complexe pour le program-meur en Visual BASIC débutant. C’estpourquoi nous avons ajouté quelquesfonctions et procédures additionnellespermettant la mise en oeuvre facile decette interface sous Visual BASIC.Pour vous mettre sur la voie nous vousproposons 2 exemples très simples enVisual BASIC et en Delphi servant à lacommande d’un expanseur d’E/S I2Cclassique. Ces exemples illustrent2 manières d’utiliser la DLL.Le schéma du module nécessaire à ceteffet est donné en figure 4. De par sasimplicité il pourra être réalisé sur unmorceau de platine d’expérimentationà pastilles.
Word à contributionDans le numéro de juin 2004 d’Elektor,page 64, nous vous avons montré com-ment utiliser Word, le programme detraitement de texte, pour écrire sespropres programmes. Comme la plu-part des utilisateurs de Windows utili-sent ce traitement de texte il nous asemblé intéressant de proposer un
elektor - 12/200420
I2C
100n
C1 R2
10k
R1
10k
RJ-11
K1
1
2
3
4
5
6
P82B715PN
IC1
SY
SX
LY
LX
6
4
2
7
8
3
+5V
LSDA
SCLLSCL
D1
D2
D3
D4
D5
D6
D7
D8
040334 - 13
PCF8574
IC2
INT
SCL
SDA
10
11
12
15
14
13P0
P1
P2
P3
P4
P5
P6
P7A2
A1
A0
16
4
5
6
1
2
3
7
9
8
SDA
Figure 4. Vous pouvez réaliser ce circuit auxiliaire pour tester l’interface.
Figure 5. Exemple de programmation sous MS-Word.
exemple simple créé sous Word. Nousavons bien entendu opté pour uneapproche simple n’utilisant partant pasde matrices lors de sa communicationavec la DLL !Le fichier nécessaire est à trouver dansle logiciel du projet (EPS04334-11)dans le dossier « Word example ». Lorsde l’ouverture de ce document vous ilvous sera ou non, en fonction de votreparamétrage de sécurité, posé la ques-tion si vous voulez utiliser des macrosdans ce document. Il vous faut répon-dre par « Oui » à cette question sinonl’exemple ne peut pas fonctionner.L’écran affiche le document de lafigure 5. Une action sur le boutonsupérieur et le logiciel se met à larecherche de l’interface. La case à ladroite de ce bouton indique la décou-verte ou non de l’interface.Avant d’utiliser l’interface il nous fautcommencer par l’ouvrir. Ceci se fait parun clic souris sur le bouton « Openinterface ». Si l’on n’a plus besoin del’interface il faudra la refermer, opéra-tion se faisant par le biais du bouton« Close interface ». Le résultat d’un clicsouris sur l’un de ces 2 boutons estvisualisé par la fenêtre jaune cor-respondante.Les 2 boutons servent à la commandedes LED (vous avez réalisé et connectéle circuit de la figure 4, n’est-ce pas ?).Les LED du module permettent de voirsi cela fonctionne, mais ce changementd’état est également visualisé dans lacase à droite de ces boutons.Il reste, pour finir, un bouton permet-tant l’examen de l’état des entrées duPCF8574. La valeur fournie par lePCF8574 apparaît dans la fenêtre à ladroite de ce bouton. Pour en savoirplus, nous vous renvoyons à l’encadré« Utiliser la DLL ». Cet encadré et lecode-source du document Word devraitpermettre à tout programmeur de com-prendre le fonctionnement.
DelphiNotre second exemple est une applica-tion très simple écrite en Delphi. Ilnous est souvent demandé pourquoinous utilisons si souvent Delphi pournos exemples. La raison du choix de celangage dérivé de Pascal est que soncode est facile à lire. Un programmeuren C n’a pas, lui non plus, de problèmede lecture du code-source. À l’inverse,le code-source en C est, pour un pro-grammeur en Pascal sans expérienceen C, difficilement lisible voire incom-préhensible.Les fichiers de cet exemple se trouventdans le dossier « Delphi example ». Son
12/2004 - elektor 21
Fonctions DLLStandard :
type TReport = array[0..200] of Byte;function I2C_USB_Present : Boolean; stdcall;function I2C_USB_Opened : Boolean; stdcall;function I2C_USB_Open : Boolean; stdcall;procedure I2C_USB_Close; stdcall;
Communication par le biais d’un tampon propre :
function I2C_USB_Write (adr : Byte; length : Byte; data : array of Byte) : Boolean; stdcall;
function I2C_USB_Read (adr : Byte; length : Byte; var data : array of Byte) :Boolean; stdcall;
Communication par le biais du tampon dans la DLL :
procedure I2C_USB_ClearWriteBuffer; stdcall;procedure I2C_USB_ClearReadPointer; stdcall;procedure I2C_USB_FillBuffer (data: Byte); stdcall;function I2C USB GetBuffer : Byte; stdcall;function I2C USB WriteWithBuffer (adr : Byte) : Boolean; stdcall;function I2C USB ReadWithBuffer (adr:Byte; length:Byte) : Boolean; stdcall;
Activation du TUSB3410Le TUSB3410 s’active d’une manière spéciale. Contrairement à ses concurrentsactuels, il ne comporte pas de mémoire Flash intégrée pouvant recevoir des pro-grammes mais possède de la RAM de programme. Ceci explique que cettemémoire soit, au démarrage, totalement vide. Parallèlement à la RAM, TexasInstruments a prévu un petit programme se trouvant en ROM de programme quifait en sorte que lors du démarrage il y ait transfert intelligent d’un programmevers la RAM. Il existe pour cela 3 possibilités.
Le programme de démarrage (boot) commencer par « voir » s’il y a uneEEPROM I2C de connectée au bus I2C. Si ce n’est pas le cas, le contrôleur s’an-nonce sur le bus USB avec une ID Vendeur (V-ID) et une ID Produit (P-ID) don-nées. Si l’on a installé le bon pilote (disponible gratuitement sur le site de TexasInstruments, www.ti.com) sous Windows, le système d’exploitation le reconnaîtracomme « TUSB3410-boot device ». La réaction de Windows est d’envoyer leprogiciel requis vers le contrôleur. Texas Instruments explique dans sa documen-tation comment les choses se passent. Le contrôleur stocke le progiciel reçu danssa RAM de programme et ensuite se déconnecter du bus USB. Le contrôleurpasse ensuite en mode « normal » et se met à exécuter le progiciel présent danssa RAM de programme.
La dernière technique de démarrage est celle que nous utilisons pour fairedémarrer le contrôleur. Ici, l’ensemble du progiciel est transféré dans l’EEPROMI2C. Le programme de boot dans le contrôleur voit grâce à l’en-tête (header, lespremiers octets de l’EEPROM) que cette EEPROM contient la totalité du progi-ciel. Le contrôleur lit alors le reste de l’EEPROM et met le résultat de cette opéra-tion dans sa mémoire de programme. L’avantage majeur de cette approche estque l’utilisateur (vous en l’occurrence) n’a pas à installer le programme pilote deTexas Instruments.
Vous n’allez pas manquer de vous poser la question : que se passe-t-il lorsque j’aidéveloppé 2 périphériques aux logiciels totalement différents mais tous 2 dotésd’un TUSB3410; comment Windows sait-il quel progiciel envoyer ? La solution àce problème consiste à attribuer à chaque périphérique une combinaison IDVendeur et ID Produit unique. Celle-ci pourra être mise en EEPROM, le programmede boot s’annonçant alors avec ces 2 valeurs. La documentation de Texas expliquecomment modifier le fichier .inf pour le TUSB3410 de manière à sélecter desfichiers de progiciel différents pour les différentes combinaisons de V-ID et P-ID.
On trouvera, sur le site de Texas Instruments de plus amples informations sur l’acti-vation du TUSB3410.
code-source est très compact, de sorteque la totalité des communicationsavec l’interface se fait par le biaisd’une seule procédure, Timer1Timer.Cette procédure a également pourfonction la détection et l’ouverture del’interface. Immédiatement après on alecture du et écriture vers le PCF8574,que vous avez bien entendu déjàconnecté au bus I2C !Nous voudrions insister sur le fait qu’iln’y a pas de problème, dans votre pro-gramme, à ouvrir l’interface dès que le
programme est lancé et à la fermerlorsque vous quittez le programme.Nous l’avons fait ici dans une routinede temporisation à laquelle il est faitappel toutes les demi-secondes. Vouspouvez ainsi connecter et déconnecterl’interface USB à loisir pendant l’utili-sation du programme.
SuiteDans ce même numéro nous vous pro-posons une application de cette inter-
face permettant, par le biais d’un PC,de mettre en et hors-fonction diffé-rents périphériques (I2C-homebus).Rien ne vous interdit non plus deconcevoir vos propres modules et deles piloter par le biais de cette inter-face. Il vous faut cependant un mini-mum d’expérience quant à la program-mation sous Windows.
(040334-1)
elektor - 12/200422
Utiliser la DLL
sans matricesGénéralités :
I2C_USB_Open L’appeler pour obtenir l’accès à l’interface.Cette fonction fournit la valeur « vraie » si l’accès est acquis.
Lecture d’une puce I2C :
I2C_USB_ClearReadPointer A utiliser pour traiter unenouvelle instruction de lecture.
I2C_USB_ReadWithBuffer Se charge ensuite de la lecturedes octets par le biais du bus I2C. Cette fonction attend enoutre une paire d’arguments. Le premier est l’adresse I2C dela puce où doit se faire la lecture. Le second argument spécifiele nombre d’octets (255 au maximum) à lire. Cette fonctionrenvoie un « vrai » lorsque la lecture s’est faite correctement.
La fonction I2C_USB_GetBuffer permet d’accéder séquentiel-lement (l’un après l’autre) aux octets lus.
Écriture vers une puce I2C :
Pour l’écriture nous commençons par appeler la procédureI2C_USB_ClearWriteBuffer. Cette procédure permet dedémarrer au clair.
Nous pouvons ensuite envoyer à la DLL, octet par octet lesoctets à envoyer, par le biais de la procédureI2C_USB_FillBuffer. L’argument accompagnateur prend laforme d’un octet à envoyer. Une fois que tous les octets àenvoyer ont été envoyés à la DLL, il suffit d’un appel à lafonction I2C_USB_WriteWithBuffer pour envoyer lesoctets vers la puce I2C requise par le biais du bus I2C. Leseul argument requis par cette dernière fonction est l’adresseI2C de la puce destinataire.
avec matricesGénéralités :
(Cf. également Utilisation de la DLL sans matrices)
Lecture d’une puce I2C :
La lecture de données en provenance d’une puce I2C nerequiert qu’une fonction, à savoir I2C_USB_Read. Il faut àcette fonction 3 arguments. Le premier spécifie l’adresse I2Cde la puce avec laquelle il faut communiquer. Le seconddonne le nombre d’octets à lire. Le dernier argument prendla forme d’un tampon dans lequel peuvent être stockés lesoctets lus. Cette fonction fournir un résultat « vrai » lorsque lacommunication s’est faite sans erreur.
Écriture vers une puce I2C :
Cette fonction aussi ne requiert qu’un unique appel de notreDLL. La fonction I2C_USB_Write remplit cette tâche. Pourcette fonction aussi, c’est la première adresse qui spécifie l’a-dresse I2C. Le second argument donne le nombre d’octets àenvoyer. Enfin, cette fonction requiert un tampon dans lequelse trouvent les octets à envoyer. À l’image de la fonction pré-cédente, nous pouvons savoir, par la valeur retour de cettefonction si la communication s’est faite correctement.
N.B. : Il ne faudra pas oublier que c’est à votre propre pro-gramme de faire en sorte que le tampon ait la taille suffisan-te pour stocker toutes les données.
Publicité
Ce module peut, en combinaison avec l’interface USB/I2C(décrite dans ce même numéro), être utilisée pour commuter àdistance 4 charges alimentées par le secteur par le biais d’unPC. Une interface peut recevoir un maximum de 8 de cesmodules, ce qui nous donne un total de 32 chargescommutables. L’idéal pour démarrer un petit bus domotique !
I2C-homebus
elektor - 12/200424
Paul Goossens
Télécommutationsecteur par PC
Après avoir rencontré le leitmotiv« domotique » voire « home automa-tion » à plusieurs reprises dans cenuméro, nombre d’entre nos lecteursdoivent avoir envie d’automatiser oude télécommander l’une ou l’autrefonction. Si vous ne voulez pas vouslivrer pieds et poings liés à des modu-les au protocole plus ou moins connuvendus dans le commerce, pourquoi nepas essayer de réaliser vos propresmodules simples ?Si l’on se contente de créer un petitbus domotique doté de quelques pos-
sibilités de régulation et de commu-tation, un système I2C fait très bienl’affaire. Pour peu que l’on prévoie lespilotes de bus additionnels, il devientpossible d’atteindre de portées deplusieurs dizaines de mètres. Lecâble de liaison entre les modules estsimple (nous allons utiliser un câbleUTP à 6 conducteurs doté de connec-teurs RJ-11); il existe de plus uneriche palette de circuits intégrésdotés d’une interface I2C, de sortequ’il ne devrait pas y avoir de pro-blème pour trouver le composant adé-
quat pour la plupart des applications.Côté PC nous disposons déjà du mon-tage requis, l’interface USB/I2C. Elleest en mesure, de par son concept, deponter de bonnes distances et consti-tue un bon point de chute pour la réali-sation d’un réseau de domotique I2C.Côté périphériques, il existe, nous ledisions, de nombreuses possibilitéspour établir une connexion I2C. Dans leprésent article nous décrivons uneélectronique permettant la commuta-tion d’appareils reliés au secteur (TV,éclairage, cafetière, etc.).
12/2004 - elektor 25
I2C
100n
C3R26
10
k
R25
10
k
RJ-11
K1
1
2
3
4
5
6
+5V
040333 - 11
RJ-11
K2
1
2
3
4
5
6
P82B715PN
IC1
SX
SY
LX
LY
3
4
7
2
8
6
LSD
A
LSC
L
R4
5k
6
R3
5k
6
MOC3043
IC26
4
1
2
R14
33
0Ω
TR2
A2
A1G
R13
390Ω
R15
39
Ω
C8
10n 400V
K3
MOC3043
IC56
4
1
2
R17
33
0Ω
TR3
A2
A1G
R16
390Ω
R18
39
Ω
C9
10n 400V
K4
MOC3043
IC66
4
1
2
R20
33
0Ω
TR4
A2
A1G
R19
390Ω
R21
39
Ω
C10
10n 400V
K5
MOC3043
IC76
4
1
2
R23
33
0Ω
TR5
A2
A1G
R22
390Ω
R24
39
ΩC11
10n 400V
K6
R5
270Ω
PCF8574
IC3
INT
SCL
SDA
10
11
12
15
14
13
P0
P1
P2
P3
P4
P5
P6
P7A2
A1
A0
16
4
5
6
1
2
3
7
9
8
R6
270Ω
R7
270Ω
R8
270Ω
+5V
+5V
+5V
+5V
R10
1k
D3
R9
1k
D2
R11
1k
D4
+5V
+5V
R12
1k
D5
+5V
+5V
R2 4x 10k1
2345
S1
100n
C1
R1
47Ω
+5V
100n
C2
TR1
DAGNALLD2005
20mA T
F1
K7
7805
IC4
C4
100µ16V
100n
C5
100n
C6 C7
10µ16V
B1
+5VB80C1500
A2
A1
A0
D1
R27
1k
Figure 1. Le schéma de ce montage se résume en fait à un circuit de commande I2C et à un extenseur de bus.
Le bus peut recevoir plusieurs modu-les, ce qui permet la connexion d’unnombre intéressant d’appareilsdomestiques.
Un concept simpleLe circuit est relativement simple (fig-ure 1). La partie active se composed’un télé-expanseur d’E/S 8 bits dutype PCF8574 et d’un extenseur debus I2C PB82B715PN.Le PCF8574, IC3, intègre un port 8 bitsquasi-bidirectionnel et une interfacepour bus I2C. Les 8 sorties à drainouvert peuvent Fournir (source) suffi-samment de courant pour attaquerdirectement des LED. Grâce à des ver-rous interne, le circuit « se souvient »du dernier état paramétré des sorties.
4 lignes de sortie attaquent les 4 LEDd’état du montage, les 4 autres lignespilotent chacune une sortie « secteur ».(La commande des LED et des triacsse fait de façon différenciée au traversdu bus, mais le programme que nousavons écrit fait que les LED donnent enpermanence l’état des lignes « sec-teur »).3 lignes allant à l’interrupteur DIL S1permettent de paramétrer 8 adresses,ce qui explique la possibilité deconnecter un maximum de 8 de cesmodules au même bus. À noter qu’ilexiste une version A de ce composant,qui ne se différencie qu’au niveau del’adresse-esclave. Si on utilise cetteversion dans 8 modules additionnels ilest même possible de connecter untotal de 16 modules au bus.Le circuit extenseur, IC1, sert de
« booster ». Il augmente les courantsvéhiculés par le bus I2C et le rend ainsiinsensible aux parasites extérieurs. Ilest possible, par l’utilisation de câbleUTP comme dans notre exemple, deponter une distance de 200 mètresentre l’interface et le module, plus qu’iln’en faut, nous semble-t-il, pour câblerla totalité d’une maison.Notez que ce composant doit êtremonté sur tous les modules connectésau bus s’il est aussi implanté sur laplatine de l’interface USB-I2C (doncaussi s’il s’agit de modules de réalisa-tion personnelle).La connexion au bus I2C se fait par lebiais des 2 embases RJ-11 implantéessur la platine.Nous avons opté, pour la commutationdes bornes véhiculant la tension dusecteur, une approche faisant appel à
elektor - 12/200426
040333-1
B1
C1
C2
C3
C4C5
C6
C7
C8 C9 C10 C11
D1 D2
D3
D4
D5
F1
IC1
IC2
IC3
IC4
IC5 IC6 IC7
K1
K2
K3K4 K5 K6 K7
R1
R2
R3R4
R5
R6
R7R8R9
R10R11R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25R26
R27
S1
TR1
TR2 TR3 TR4 TR5
040333-1
A0A1A2
20mAT
Figure 2. Cette platine doit vous permettre de vous sortir aisément d’affaire.
Liste descomposantsRésistances :R1 = 47 ΩR2 =réseau de 4 résistances de 10 kΩR3,R4 = 5kΩ6R5 à R8 = 270 ΩR9 à R12 = 1 kΩR13,R16,R19,R22 = 390 ΩR14,R17,R20,R23 = 330 ΩR15,R18,R21,R24 = 39 ΩR25,R26 = 10 kΩ
Condensateurs :C1 à C3,C5,C6 = 100 nF
C4 = 100 µF/16 V radialC7 = 10 µF/16 V radialC8 à C11 = 10 nF classe X2
Semi-conducteurs :B1 = B80C1500 rondD1 = LED verte faible courantD2 à D5 = LED rouge faible courantIC1 = P82B715PN (Farnell n°. 559-258)IC2,IC5 à IC7 = MOC3043 (Farnell n°.
885-710)IC3 = PCF8574 (Digikey n°. 296-13106-
5-ND)IC4 = 7805Tr1 = transfo secteur encartable sec.
2 x 6V/2 x 1,5 VA (Farnell n°. 926-280)
Tri2 à Tri5 = TIC206D (Conrad RFA n°.186333)
Divers :F1 =porte-fusible encartable et fusible
20 mATK3 à K7 = bornier encartable à
2 contacts au pas de 7,5 mmK1,K2 = embase RJ-11 à 6 contacts
(Farnell n°. 393-8359)S1 = interrupteur DIP à 3 contactscâble RJ-11 (Farnell n°. 754-948)Platine : EPS 040333-1Disquette avec logiciel : EPS 040333-11Le dessin de la platine et le logiciel sontégalement disponibles sur le site Internetwww.elektor.fr
des opto-isolateurs qui pilotent chacunun triac. Nous sommes certains ainsid’une bonne isolation galvanique entrele secteur et le montage/bus domo-tique. Le MOC3043 est un opto-isola-teur intégrant un diac et un détecteurde passage par zéro, l’idéal partantpour la commande d’un triac.Les triacs utilisés sont des TIC206D. Ilsnécessitent un réseau d’amortisse-ment (snubber) pour les protégercontre des variations de tension troprapides entre les 2 anodes. Ce réseauprend ici la forme d’une résistance de39 Ω prise en série avec un condensa-teur de 10 nF. Si vous utilisez des triacsdits snubberless, il n’est pas nécessaired’implanter les résistancesR15/R18/R21/R24 ni les condensateursC8 à C11.La logique basse tension est alimentéedepuis le secteur par le biais d’untransformateur suivi d’un pont deredressement, d’un condensateur tam-pon et d’un 7805. Cet ensemble assure,de ce côté-là aussi, une isolation gal-vanique entre le montage et le secteur.
RéalisationLa platine dessinée à l’intention de cemontage (figure 2) est largementdimensionné, l’ensemble desconnexions reliées au secteur se trou-vent du même côté (sous la forme deborniers). L’implantation des compo-sants ne devrait pas poser de pro-blème. Attention aux composants àpolarité définie tels que condensateursélectrochimiques, LED et circuits inté-grés.
Il est bon d’implanter le montage dansun boîtier solide et de jeter à l’occasionun coup d’oeil à la page « Sécurité »publiée de temps à autre dans cemagazine.Il faudra, lors de l’implantation de l’en-trée secteur, veiller à la sécuriser sépa-rément. Le fusible du schéma ne pro-tège que le transfo monté sur la pla-tine.Une fois la réalisation terminée il fau-dra vérifier que la logique est bien iso-lée du secteur. Vous pouvez pour celamesurer la résistance entre la massede la logique et les 2 conducteurs ducâble secteur. Ce n’est qu’après avoirvérifié ce point que l’on pourra connec-ter le montage au bus I2C sans arrière-pensée.
LogicielPour vous permettre de passer immé-diatement à la pratique après avoirréalisé l’interface USB/I2C et un ou plu-sieurs des modules décrits ici, sansavoir à programmer vous-même, nousavons écrit un petit programme sousWindows vous permettant de com-mander les sorties des modulesconnectés à l’aide de la souris. Un bonpoint de départ pour des développe-ments personnels.La fenêtre principale donne un pan-orama des sorties sélectées avec leurdénomination; un commutateur y estjuxtaposé. La fenêtre de paramétrage(setup) permet de choisir l’un desmodules connectés (le circuit de testdécrit dans l’article de l’interfaceUSB/I2C également) pour ensuite ajou-
ter une ou plusieurs sorties à la « listede commutation » et la doter le caséchéant d’une dénomination. On lesvoit ensuite apparaître dans le pan-orama de la fenêtre principale.Le programme et le code-source enDelphi sont disponibles sur notre siteou sur disquette (EPS040333-11) pourceux qui n’auraient pas accès à Inter-net.L’utilisation des modules en environne-ment domotique dépend de la situa-tion locale. Il y a suffisamment de pos-sibilités. Pourquoi ne pas commencerpar piloter par PC les différents lumi-naires de votre maison ? Il faut cepen-dant veiller à ce qu’une commandemanuelle reste possible pour évitertout risque de tension avec d’autresmembres de la famille !
(040333-1)
12/2004 - elektor 27
Figure 3. Ce petit programme permet d’un simple clic de souris de commuter un module.
RETOUR VERS L
elektor - 12/200428
Commande de storejuillet/août 2003
n° 34
Télé-commutateursoctobre 2003
page 8
Interface de commutation pour le port
parallèledécembre 2003
page 58
Multiprisepilotée par RS-232
mai 2003page 46
Capteur acoustiquejuillet/août 2004
n° 81
Alarme d’effractionjanvier 2004
page 56
Le thème domotique n’a rien de révolutionnaire pour le lecteurassidu d’Elektor. À intervalle plus ou moins régulier, nouspublions en effet des montages intéressants ayant trait à cedomaine. Souvent ils sont utilisables pour une automatisation.Sur cette illustration vous trouverez quelques montages publiésdans Elektor par le passé.
LE FUTUR
12/2004 - elektor 29
La domotique par le passé
Autant en emporte le vent
mai 2004page 44
Détecteur deprésence optique passif
mars 2003page 20
Détecteur de pluiejuillet/août 2003
n° 52
Noctilummai 2003page 76
Interrupteur-gradateurjuin 2003page 46
IAccessfévrier 2004
page 18
Détecteur d’oragesoctobre 2003
page 76
AnciensnumérosVous ne possédez pas(ou plus) le numérod’Elektor concerné ? Pas de panique. Il estpossible de commanderles anciens numéros(dans la mesure où ilsexistent encore) vianotre site Internet(www.elektor.fr/order/orderfr.htm ou notrebureau, téléphone(0)1.42.61.18.75.(040396)Illustration: Peter Welleman
Du courrier pour vous !juillet/août 2004
n° 005
UN TON PLUSGünter Koch, Ingénieur Diplômé
Les mesures de lon-gueur ou de distancesont communémenteffectuées au moyend’un mètre pliant ouà ruban. La télémé-trie par ultrasonsoffre une alternativeintéressante auxendroits difficilementaccessibles, particu-lièrement dans le casdes mesures deniveau.
autrement de l’appareil présenté ici. Ilest aussi basé sur la mesure parréflexion, mais les transducteurs d’é-mission et de réception sont séparés.Il permet donc de mesurer des inter-valles très courts.L’appareil est fixe, car l’auteur le des-tine principalement à la mesure deniveau. L’émetteur et le récepteur sontcontenus dans un boîtier de capteurde mesure, ce qui permet de les posi-tionner indépendamment de la partieprincipale.
Principe de mesureLes mesures sont effectuées encontinu. Un cycle de mesure est lancétoutes les 200 ms. Une impulsion de40 kHz qui dure 250 µs est envoyée parla partie émettrice à partir du temps t0.Le signal (amplifié) reçu est échan-tillonné de façon répétée par le conver-tisseur analogique-numérique d’unmicrocontrôleur et les valeurs mesu-rées sont mémorisées. L’échantillon-nage débute aussi au temps t0 et dure35 ms. Les valeurs de mesure 8 bits dusignal d’entrée enregistrées sont com-parées à une valeur seuil. Comme l’in-tensité du signal sonore réfléchi décroît
fortement avec la distance parcourue,la hauteur du seuil est abaissée enfonction du temps. Il faut aussi tenircompte du signal d’une puissanceassez élevée reçu lors de l’émission del’impulsion et peu après. Il s’agit dediaphonie directe entre émetteur etrécepteur et d’effets secondaires.L’exemple de la figure 1 illustre le com-portement du signal mesuré et la lignede la valeur de seuil.
Le logiciel évalue tout d’abord le pointd’échantillonnage qui dépasse le plussa valeur seuil (point maximum). Uneforte réflexion (à faible distance) saturetoutefois le récepteur et le convertis-seur analogique-numérique. Comme levéritable maximum du signal dépassela valeur mesurable par le convertis-seur, la première mesure après l’ins-tant initial qui dépasse une valeur desaturation donnée sert de point maxi-mum. L’intervalle de temps entre l’ins-tant initial et le point d’intersectionavant le point maximum constituealors le temps de parcours de l’impul-sion utilisé pour le calcul de la dis-tance. Pour améliorer la précision, lepoint d’intersection exact est déter-miné par interpolation linéaire.
31
HAUT Télémétrie et mesure deniveau par ultrasons
La télémétrie par ultrasons est baséesur l’émission et la réception d’uneimpulsion ultrasonique. Le délai entrel’émission et la réception est propor-tionnel à la distance et peut êtreconverti aisément. Cette méthode nese limite pas à la mesure directe de ladistance. Dans le cas de la mesure parréflexion (mesure indirecte), l’émetteuret le récepteur se trouvent dans l’appa-reil de mesure. Un objet à 90°, aussidroit que possible et de taille suffi-sante, renverra l’impulsion sonore àl’appareil de mesure. Le son parcourt,bien entendu, le double de la distance.
Les appareils à usageprofessionnel sontgénéralement équi-pés d’un transduc-teur émetteur/récep-teur commun. Letemps de parcoursde l’impulsionrequis par cettesolution pratique,compacte et éco-nomique empê-che toutefois demesurer de trèscourtes distan-ces. Il en va
0
16
32
48
64
80
96
112
128
144
160
176
192
208
224
240
1 51 101 151 201 251 301 351 401 451 501 551 601 651 701
040015 - 13
751
Valeur du signal reçuValeur de consigne
Valeur de crête
Point d’intersection
Échantillonnage, Durée
Valeur de mesure (8 bits) Valeur de mesure max 255
Valeur de surmodulation
t0 Durée d’impulsion
Figure 1. Signal de mesure avec ligne de valeurs de seuil et valeur de saturation.
12/2004 - elektor
La vitesse du son dépend hélas plusfortement de la température qu’onpourrait le supposer. Elle est d’environ331 m/s à 0 °C et atteint déjà 354 m/sà 40 °C !
oùT = température en degrés KelvinVT = vitesse du son à la température T
C’est pourquoi la température estdéterminée par une résistance NTCdans le capteur de mesure et utiliséedans le calcul de distance. La chute detension dépendante de la température
VT
m sT = 331273
[ / ]
est aussi déterminée avec une préci-sion de 10 bits à l’aide d’un convertis-seur analogique-numérique du micro-contrôleur. La plage de températuremesurable est d’environ –35 à +44 °C.La distance obtenue avec un cycle demesure n’est pas affichée directementmais est tout d’abord comparée auxvaleurs des cycles précédents. Lavaleur moyenne n’est déterminée etaffichée que si la plupart des 10 der-nières valeurs calculées se trouventapproximativement dans la mêmeplage. L’affichage est donc insensibleaux valeurs qui « dérapent ».
Les valeurs sont affichées en centi-mètres bien qu’elles soient traitées
au 1/16ème de cm. La précision abso-lue dépend en effet aussi de l’envi-ronnement (taille et nature de la sur-face réfléchissante, réflexions d’aut-res objets).
Description du circuitLa commande de l’appareil de mesure(figure 2) est assurée par un microcon-trôleur AVR ATmega8. Il fournit l’im-pulsion de mesure sur PD2 (broche 4).Le signal de mesure logique est ampli-fié par les amplis op IC3.A (inverseur)et IC3.B (non-inverseur) pour atteindrela tension d’environ 55 VSS nécessitéepar l’émetteur US UT1. Cette valeur estatteinte par doublage de tension. C’est
elektor - 12/200432
+5V
C11
100n
C8
100n
C10
22p
C9
22p
X1
8MHz
R9
27
0Ω
R10
75
0Ω
K2
1 2
3 4
5 6
R8
10
k
C7
10n
ISP
C1
2n2
R1
3k
R2
68k
R3
3k
R4
110k
R5
16
k
R6
3k
3
R7
56
k
2
3
1IC1.A
6
5
7IC1.B
C2
27p
C4
15p
C3
2n2
C5
1µ
D11N4148
C6
33n
+5V
10k
P1
1 2
3 4
5 6
7 8
9 10
11 12
13 14
K5
C12
100n
R33270Ω
R32270Ω
R27270Ω
R28270Ω
R29270Ω
R30270Ω
R31270Ω
R26270Ω
R23
5k6
T1
T2
T3BC557
R24
5k6
R25
5k6
IC1
8
4
C14
100n
C15
100n
+5V
3x
–5V
A
A
A
A
A
A
040015 - 11
AFFICHAGE 7 SEGMENTS
R12
22
k
PB3(MOSI/OC2)
PC5(ADC5/SCL)
PC4(ADC4/SDA)
PB2(SS/OC1B)
PD4(XCK/TO)
PC6(RESET)
ATmega8-P
PD2(INT0)
PD3(INT1)
PD6(AIN0)
PD7(AIN1)
PB1(OC1A)
PB4(MISO)PC3(ADC3)
PC2(ADC2)
PC0(ADC0)
PC1(ADC1)
PD0(RXD)
PD1(TXD)
PB0(ICP)
PB5(SCK)
PD5(T1)
XTAL1 XTAL2
AREFIC2
AGND
AVCC
GND
VCC
21
1022
20
11
12
13
14
15
16
17
18
19
28
26
25
23
24
27
1
9 8
7
2
3
4
5
6
IC1 = TL082P
IC3
8
4
+15V
IC4
8
4
K3
2
3
1IC4.A
6
5
7IC4.B
2
3
1IC3.A
C13
220n
R13
12
0k
+15V
R14
18
0k
PC1
PC2
R20
82k
R18
12
0k
+15V
R19
82
k
R21
47k
R22
1k5
R16
12
0k
+15V
R17
18
0k
R15
82
k
–15V
PC3
PC4
PC5
PC6
PC7
+5V
JP1
VTARGET
K1
+15V
+5V
–5V
–15V
A
REC
REC-GND
TRA
TRA
RS232
f
e
d
c
b
a
dp
A1
A2
A3
RS
E
DB5
DB7
R/W
DB4
DB6
NTC
NTC+5V
50Hz
MISO
SCK
RST
MOSI
VCC
GND
BURST
R11
33ΩPC8
PC9
KEY
KEY
–5V
A
g
–15V
–15V–15V
IC4 = TL082P
IC3 = LM833N
6
5
7IC3.B
R34
10
k
K4
–5V
C16
100n
C17
100n
+VCC+VCC
+VCC
+VCC
+VCC
+VCC
0V
0V
0V
0V
0V
0V
2V8
0V
0V
14V
-14V
14V
2V9
-3V
0V
5V
0V7 0V6
-14V
Figure 2. Le circuit complet est réparti sur 3 cartes est piloté par un contrôleur ATmega8.
pourquoi IC3.A et IC3.B sont montésen pont. L’impulsion ultrasonique réflé-chie est captée par un transducteurUR1 résonnant au voisinage de 40 kHzet amplifiée approximativement500 fois par les amplis op IC1.A etIC1.B. Un filtre de bande (fréquencecentrale d’environ 40 kHz) permet desupprimer d’éventuels signaux parasi-tes externes.
Le signal de sortie alternatif IC1.B estcouplé par le condensateur C5 à ladiode redresseuse D1 polarisée par lediviseur de tension R5/R6. Les demi-ondes positives transmises par D1chargent le condensateur de lissageC6 à une tension proportionnelle au
signal d’entrée. R7 le décharge. Laconstante de temps de l’élément RC(C6/R7) est choisie de façon à atténuersuffisamment l’ondulation du signal demesure lissé tout en permettant qu’ildécroisse aussi rapidement que possi-ble. La résistance de décharge n’estpas reliée à la masse mais à –5 V pouraméliorer le comportement dedécharge. Le niveau maximum à l’en-trée du convertisseur analogique-numérique interne du microcontrôleur(PC5, broche 28) atteint alors environ3,7 V. Le signal de mesure est donccompatible avec le convertisseur dumicrocontrôleur. Le logiciel corrige enoutre la dépendance en températurede la tension de seuil de la diode par
un ajustement cyclique du zéro. Pource faire, la tension d’entrée du conver-tisseur est mesurée sans signal de sor-tie sur PD2 pour éviter la réceptiond’un signal ultrasonique. Il suffit deveiller à ce que le niveau zéro du signalmesuré ne descende pas au-dessousde 0 V, même à la température de fonc-tionnement la plus basse (calculée :–25 °C). Le niveau zéro dépasse légè-rement 0 V aux températures plus éle-vées (environ 150 mV à +45 °C).La tension de mesure maximale de3,7 V est transmise à AREF (broche 21)du microcontrôleur par le diviseur detension R9/R10 comme référence duconvertisseur analogique-numérique.La précision de conversion, égale à8 bits, suffit amplement dans notrecas. Il est donc possible d’utiliser unefréquence d’échantillonnage rapidelégèrement inférieure à 20 kHz (unemesure toutes les 52 µs).
La mesure de température est assuréepar la NTC R1 dans le capteur demesure. La chute de tension aux bor-nes de la résistance série R2, propor-tionnelle à la température, est mesuréepar le convertisseur PC0 (broche 23,ADC0) du microcontrôleur et inclusedans le calcul de la distance.L’exactitude de la mesure dépendaussi de celle de l’horloge du microcon-trôleur. C’est pourquoi l’oscillateur RCd’horloge interne du ATmega8 estévincé au profit d’un quartz externe.
AffichageLa distance en centimètres obtenueapparaît sur un affichage 7 segments à3 chiffres (anode commune) en multi-plexage temporel. Les 3 afficheurs à 7 segments sontmontés sur leur propre carte reliée parK1 à la carte principale (K5 sur la carteprincipale). Le point décimal (dp) del’affichage n’est pas utilisé avec le logi-ciel proposé. Le matériel (hardware)nécessaire à son fonctionnement esttoutefois disponible au cas où...
Il est aussi possible de raccorder unmodule LCD 2x16. L’afficheur est com-mandé en mode 4 bits. Comme cer-tains ports utilisés par les modules 7segments et LCD sont identiques, unmécanisme de multiplexage dans lelogiciel assure la commande simulta-née des 2 afficheurs. La commandeLCD et la commande 7 segments sonten quelque sorte « entrelacées ». Lepotentiomètre P1 sert comme à l’ordi-naire au réglage du contraste de l’affi-chage LCD. Un bouton en série avec
12/2004 - elektor 33
LC DISPLAY 2 x 16
LCD1
VS
S
VD
D
R/W
VO
RS
D0
D1
D2
10
D3
11
D4
12
D5
13
D6
14
D7
15 161 2 3 4 5 6E
7 8 9
A K
K4
dp
a
b
c
d
e
f
g
AFFICHAGE LCD
A3
A2
A1
K3
RS232
K6SUB D9
1
2
3
4
5
6
7
8
9
KEY
KEY
S1
UT1UR1
REC
REC-GND
TRA
TRA
R2
12
k
R1
10k- Θ
NTC
NTC+5V
7815
IC1
C2
220µ 25V
C3
100µ 25V
D21N4001
D1
1N4001
C1
220µ25V
7805
IC2
C4
470µ 16V
C5
100µ 25V
C6
220µ 25V
C7
100µ 25V
IC3
7905
B1
B80C800
K1
TR1
C9
220µ 25V
C10
100µ 25V
D4
1N4001
D3
1N4001
C8
220µ25V
IC4
7915
–5V
+5V
GND
+15V
–15V
63mA T
F1
K2
RS232
040015 - 12
R1
33kC11
10n
50Hz
SA0811
LD3
dp2
dp1
CA CA
13
14
12
10
11
CA CA
16
1a
b
c
d4
e2
f
g
3
9
5
6
SA0811
LD2
dp2
dp1
CA CA
13
14
12
10
11
CA CA
16
1a
b
c
d4
e2
f
g
3
9
5
6
SA0811
LD1
dp2
dp1
CA CA
13
14
12
10
11
CA CA
16
1a
b
c
d4
e2
f
g
3
9
5
6
2x 6V233mA2VA8
12
34
56
78
910
1112
1314
K1
R11 permet d’activer une option derétroéclairage de l’affichage LCD.Un signal 50 Hz extrait avant le redres-sement de la tension d’alimentationest transmis au contrôleur par laconnexion PC5 de la carte. Cette réfé-rence de temps sert au logiciel à met-tre à jour la date et l’heure. La date etl’heure alternent sur l’affichage LCD.
InterfacesUne interface RS232 est indispensablepour paramétrer l’appareil ou pourdisposer périodiquement des valeursde mesure. Comme une tension de±15 V est déjà disponible, on peut sepasser du convertisseur d’interface auprofit des 2 amplis op IC4.A et IC4.Butilisés comme étages pilotes. Commeles lignes du port sont protégées pardes diodes internes, l’application detensions de plus de 5 V et de moins de0 V ne pose aucun problème lorsque lecourant est limité (par R21).Le connecteur ISP 6 broches K2 (liaisonISP6PIN compatible Atmel STK500) deraccordement du programmateur per-met de réaliser aussi de nouveaux logi-ciels « in situ » (in-system). Le circuit
peut donc aussi servir de carte dedéveloppement ATmega8 indépen-damment de sa fonction réelle. N’insérer JP1 (VTARGET) que lorsquele programmateur ne dispose pas desa propre source de courant et doitfaire appel à notre circuit. JP1 doitdonc être normalement ouvert.
La ligne RESET du microcontrôleur estplacée à l’état bas pendant la program-mation. Toutes les lignes du port quine participent pas à la programmationsérielle sont alors placées dans l’étattrès haute impédance des 3 états. R12maintient la ligne Enable (E) de l’affi-cheur LCD au niveau bas pour quecelui-ci n’envoie pas de données surles lignes de programmation sériellepar suite d’un processus de lectureinvolontaire.
Les tensions d’alimentation ±5 V sontfournies par des régulateurs de ten-sion 7805/7905 sur la carte secteur.Les tensions ±15 V non stabiliséessont toutes deux fournies par un étagedoubleur de tension (pompes decharge C1, C2, D1, D2 et C8, C9, D3,D4). Le courant que doivent fournir ces
2 tensions d’alimentation n’atteintmême pas 20 mA.
Montage et fonctionnementLe circuit de mesure de distance estréparti sur 3 cartes et dans la tête demesure. Celle-ci, reliée au reste par uncâble, contient les parties émetteur etrécepteur du transducteur ultrasoniqueainsi que la résistance NTC. Le contrô-leur et les amplis op pour le prétraite-ment des signaux se trouvent sur lacarte mère, l’alimentation secteur et l’af-fichage (7 segments) sur leurs propressegments de carte (figure 3). La carteest tout d’abord divisée en segments.Le montage commence par les cava-liers : 9 sur la carte mère, 2 pour l’af-ficheur et 1 sur la carte secteur (à côtéde IC3). Un montage « serré » et despistes étroites sont le prix à payer pourune carte simple face. Il est donc pré-férable de placer les cavaliers (isolés)côté « pistes ». Les résistances, lescondensateurs et les supports des cir-cuits intégrés, sans oublier les brochesà souder et les connecteurs à picots,ISP et autres sont soudés (bien
elektor - 12/200434
040015-1
B1
C1
C1
C2
C2
C3
C3
C4
C4
C5
C5
C6
C6
C7
C7
C8
C8
C9
C9
C10
C10
C11
C11
C12
C13C14
C15
C16
C17
D1
D1
D2D3
D4
F1
IC1
IC1
IC2
IC2
IC3
IC3
IC4
IC4
JP1
K1
K1
K1
K2
K2
K3
K4
K5
LD1LD2LD3
P1
PC1
PC3
PC5 PC6
PC7 PC9
R1
R1R2
R3
R4
R5R6
R7
R8 R9 R10
R11
R12
R13
R14
R15
R16
R17 R18
R19
R20
R21
R22
R23
R24
R25 R26
R27
R28
R29
R30
R31
R32
R33
R34
T1
T2T3
TR1
X1
63m
AT
50Hz
040015-1
PC8
PC2
PC4
Figure 3. La carte mère comporte 9 cavaliers, la carte d’affichage 2 et la carte secteur 1 (à côté de IC3).
entendu sur la face de montage) avecune panne fine. Veiller à ne pas formerde ponts de soudure !Le montage de la carte d’affichage estpar contre sans aucun problème. Lesafficheurs ne sont pas soudés directe-ment, mais introduits dans des sup-ports pour qu’ils puissent émerger ducouvercle du boîtier et dépasser K1,même quand le connecteur du câbleplat est inséré. Le module LCD est déjàtout monté. Il suffit d’y souder un câbleplat à insérer dans K4 (ou à souderdirectement). Un câble plat avec31 conducteurs dont les fils pairs sontinutilisés fera parfaitement l’affaire. Le montage de la carte secteur est toutaussi simple et rapide. Il suffit deveiller à la polarité correcte de la majo-rité des composants. La consommationmodeste du circuit permet aux régula-teurs de tension de fonctionner sansdissipateurs thermiques supplémen-taires. Une broche à souder (50Hz)unique à côté de C9 sur la carte sec-teur et sa correspondante (PC5) à côtéde IC2 sur la carte mère assurent laliaison 50 Hz.
Il est indispensable d’assurer la liaisonentre le capteur de mesure et la cartemère avec un seul câble blindé à 4conducteurs (câble pour microphoneou connexion quad pour TV Sat). Lesbroches à souder (PC1 à PC4) assurantla liaison avec les 2 capsules ultraso-niques sont réparties sur la carte mère.Le blindage réuni des conducteurs quiaboutissent à PC1 à PC3 sert deconnexion de masse avec la broche àsouder PC4 (REC-GND). La liaisonNTC avec les broches à souder PC6 etPC7 est insensible aux perturbations,mais ce n’est pas une raison pour nepas utiliser le conducteur encore dispo-nible et son blindage. L’endroit où ceblindage est soudé ne joue pas ungrand rôle. Il ne doit bien entendu pasentrer en contact avec les autres tres-ses de blindage. Cette méthode n’estdonc applicable que lorsque les blinda-ges individuels des conducteurs ducâble sont isolés les uns des autres.Faute de quoi, il faudra se rabattre surla version à 5 conducteurs.
Le type de boîtier de la tête de mesurene dépend que des applications envi-sagées. Rien ne s’oppose à ce que l’é-metteur et le récepteur ultrasoniquessoient montés à quelques centimètresl’un de l’autre avec la résistance NTCdans le boîtier de l’électronique. Les 2capsules ultrasoniques doivent êtreaussi parallèles que possible l’une parrapport à l’autre.
12/2004 - elektor 35
Listes descomposants
Alimentation
Résistances :R1 = 33 kΩ
Condensateurs :C1,C2,C6,C8,C9 = 220 µF/25 V axialC3,C5,C7,C10 = 100 µF/25 V axialC4 = 470 µF/16 V axialC11 = 10 nF
Semi-conducteurs :B1 = pont 80 V (ou 40 V)/0,8 AD1 à D4 = 1N4001IC1 = 7815IC2 = 7805IC3 = 7905IC4 = 7915
Divers :K1 = embase autosécable à 1 rangée
de 5 contactsK2 = bornier encartable à 2 contacts au
pas de 7,5 mm (RM7,5)Tr1 = transformateur
2 x 6 V/2 x 233 mA (tel que, parexemple, ERA BV030-7590.0U)
F1 = porte-fusible encartable (RM22,5)+ fusible 63mA retardé (n’est pasnécessaire si le transfo est protégécontre les court-circuits)
Platine principale
Résistances :R1,R3 = 3 kΩR2 = 68 kΩR4 = 110 kΩR5 = 16 kΩR6 = 3kΩ3R7 = 56 kΩR8 = 10 kΩR9 = 270 Ω/1%R10 = 750 Ω/1%R11 = 33 ΩR12 = 22 kΩR13,R16,R18 = 120 kΩR14,R17 = 180 kΩR15,R19,R20 = 82 kΩR21 = 47 kΩR22 = 1kΩ5R23 à R25 = 5kΩ6R26 à R33 = 270 ΩP1 = ajustable 10 kΩ horizontal
Condensateurs :C1,C3 = 2nF2C2 = 27 pFC4 = 15 pFC5 = 1 µF RM5 ou RM7,5C6 = 33 nFC7 = 10 nFC8,C11,C12,C14,C15 à C17 =
100 nFC9,C10 = 22 pFC13 = 220 nF, RM 5 ou RM7,5
Semi-conducteurs :D1 = 1N4148T1à T3 = BC557AIC1,IC4 = TL082PIC2 = ATmega8-16PC (programmé
EPS040015-41)IC3 = LM833NX1 = quartz 8 MHz
Divers :K1 = embase autosécable à 1 rangée
de 5 contacts +connecteurK2 = = embase autosécable à 2 rangées
de 3 contactsK3 = = embase autosécable à 1 rangée
de 3 contactsK4 = = embase autosécable à 1 rangée
de 16 contactsK5 = = embase autosécable à 2 rangée
de 7 contactsK6 = embase Sub-D miniature femelle
9 pointspicots1x support CI 28 broches étroit3x support CI 8 brochesS1 = bouton-poussoir unipolaire à
contact travailmodule LCD à contrôleur 44780
2 lignes x16 caractères (avec rétro-éclairage éventuellement)
boîtier plastique dimensions internes125 x 102 mm (étanche pourenvironnement humide/extérieur)
Platine d’affichage
Divers :LD1 à LD3 = affichage 7 segments à
anode commune 20 mm (KingbrightSA08-11 SRWA)
K1 = embase autosécable à 2 rangéesde 7 contacts
Sonde de mesure
Résistances :R1=NTC 10 kΩR2=12 kΩ 1%UT1=émetteur US (36 à 40 kHz)UR1=récepteur US (36 à 40 kHz)câble à 5 conducteurs à isolation
individuelle (câble micro par exemple)cf. texte
boîtier plastique étanche pourenvironnement humide/extérieur avecfixation et verrouillage du câble (telque, par exemple, Bopla ET205, BF7,GM7)
*Tous les condensateurs modèle RM5sauf mention contraire
Ne pas oublier la liaison du signal50 Hz entre la carte secteur et la cartemère sous peine de n’afficher ni l’heureni la date. Trois lignes de l’interface RS-232 sont raccordées entre K3 et leconnecteur RS-232 encastré. Les aut-res liaisons sont raccordées directe-ment à ce dernier.
Mise en serviceLors de la première mise en service dudispositif de mesure de distance,veiller à ce que la carte secteur soit
correctement alimentée. Il est vive-ment recommandé d’utiliser tout d’a-bord un transformateur de séparation.Lorsque l’appareil est mis sous ten-sion, des traits de soulignement _ visi-bles brièvement sur l’affichage 7 seg-ments précèdent le début du proces-sus de mesure. On peut « entendre »les signaux ultrasonores émis, non pas,bien entendu, les oscillations à 40 kHz,mais le bruit d’enclenchement/dedéclenchement du transducteur enmode impulsionnel. L’apparition de3 signes « moins » - sur l’affichage
7 segments signifie que la valeur demesure n’a pas pu être obtenue. Cetaffichage d’erreur de mesure devraitdisparaître quelques secondes après lamise sous tension pour être remplacépar la valeur centimétrique. Letableau 1 indique les données visiblessur l’afficheur LC. Vérifier l’affichage de températureaprès les premiers tests. Comme lesrésistances NTC tendent (trop) sou-vent à dévier considérablement de leurvaleur nominale, il peut être nécessaired’effectuer une compensation. Il suffit
elektor - 12/200436
Le secret de lachauve-sourisL’Américain Daniel Kish, âgé aujourd’hui de 38 ans, estaveugle depuis l’âge de 2 ans. Et pourtant il peut s’o-rienter presque aussi bien qu’un voyant. Il émet de rapi-des claquements de langue en terrain inconnu et s’o-riente en fonction des échos renvoyés par les obstacles.Dan Kish, surnommé « l’homme chauve-souris » par sesamis a poussé si loin l’application de cette méthode dedétection par échos qu’il peut distinguer avec précisionla taille, la distance et même la forme ou la configura-tion spatiale des objets les plus divers. Il fait même dela bicyclette de montagne !
Il enseigne entre-temps sa méthode à d’autres non-voyants : http://www.worldaccessfortheblind.com/. Comme ceux-ci éprou-vent souvent au début des difficultés à identifier les échos dans leurs moindres détails, Kish a développé un appareil produisantles claquements : un « système embarqué » comportant un haut-parleur est fixé au front comme une lampe de mineur.L’électronique produit un choix de clics distincts et constants qui peuvent devenir passablement intenses en cas de besoin. Les« claquements assistés par ordinateur » sont bien supérieurs à la version « maison » ; l’écho peut être jusqu’à 3 fois plus fort.
L’industrie et la recherche ne sont demeurées en reste. Le prototype a convaincu l’entreprise Alcon, spécialiste mondiale de pro-duits ophtalmologiques. Elle a exprimé l’intention de lancer le petit boîtier sur le marché sous le nom de Soundflash. L’appareil« Soundflash » de la génération suivante émettra des signaux ultrasoniques en plus des signaux audibles. L’écho n’aura rien àenvier à celui d’une chauve-souris. Mais il y a comme un problème : L’appareil doit restituer la richesse des détails de l’écho ensons audibles pour l’oreille humaine. Il ne s’agit alors plus d’un écho, mais quasiment d’une projection limitée que la personnenon-voyante devra tout d’abord traduire avec peine en une impression spatiale d’une sorte ou autre. Seul un véritable échodans le domaine audible permet au cerveau de reconnaître immédiatement sa nature spatiale. Voilà pourquoi Kish s’attaquemaintenant avec des spécialistes au problème d’un modèle virtuel de l’environnement dont la consistance pourra être reconnuepar l’ouïe.
Les scientifiques de la chaire de technologie des capteurs de l’université d’Erlangen http://www.lse.uni-erlangen.de/layout.cgi?page=Forschung/Projekt8 s’occupent actuellement de la réalisation des parties individuelles d’une têteartificielle de chauve-souris. Ils entendent déterminer le fonctionnement exact de l’émission et de la réception des signaux émispar les chiroptères. Un projet de l’UE doit permettre d’acquérir plus d’expérience sur la reconnaissance des objets par ultrasons.L’équipe envisage avant tout des possibilités d’utilisation future en technique médicale comme moyen d’orientation pour les aveu-gles.
Les mouvements des oreilles et du museau de la tête artificielle de chauve-souris sont conformes à l’original. « La rotation de latête et des oreilles. Voilà ce qui est déterminant lors de l’investigation du système de localisation par ultrasons », expliqueReinhard Lerch, professeur à l’université d’Erlangen. « Nous nous concentrons actuellement sur les oreilles, qui captent le signal,et sur la partie qui engendre et reçoit le signal. »
La taille de cet appareil, en particulier, a posé un défi majeur. « Il faut que les dimensions de la tête artificielle ne dépassent pascelles de l’original pour que l’émission et la réception soient conformes à la nature », selon Alexander Streicher, collaborateurde Monsieur Lerch. Un autre problème occupera encore les scientifiques pendant un certain temps : ils n’ont pas réussi jusqu’icià reproduire dans son intégralité le spectre de fréquence de la chauve-souris (entre 20 et 200 kHz).
Outre les propriétés du transducteur d’ultrasons, l’oreille de la chauve-souris et ses diverses formes sont déterminantes pourla réception. Pour faciliter la réalisation, divers types d’oreilles de chauves-souris ont été scrutés par rayons X. Des modèlesinformatiques de simulation et des modèles de mesure en matière synthétique ont été élaborés sur cette base. Un programmed’ordinateur a finalement permis de déterminer la position des oreilles la plus favorable, leur forme, et a fourni un algorith-me génétique.
de modifier la résistance série R2 ducapteur de mesure (utiliser tout d’a-bord un potentiomètre d’ajustement àplusieurs tours si nécessaire). Dimi-nuer la valeur de la résistance série si latempérature affichée est trop élevée.Ajuster le tableau tension en tempéra-ture par l’interface RS-232 pour éten-dre la plage de température danslaquelle on obtient des valeurs de tem-pérature ou de distance précises.
Gens et bêtes ne doivent pas restertrop longtemps à proximité de l’appa-reil lorsque celui-ci fonctionne encontinu, bien que les ultrasons soientinaudibles pour les êtres humains.
ConfigurationPour configurer par l’interface RS-232,relier l’appareil au PC par un câble 1:1(Ne pas utiliser de câble fauxmodem !). Choisir un nombre de baudsde 57 600 (ou 56 000) dans le pro-gramme d’émulation de terminal etpositionner les autres paramètrescomme à l’ordinaire : 8 bits de don-nées, pas de parité, 1 bit d’arrêt.L’appareil envoie un message de bien-venue par l’interface RS-232 lors de samise en marche. La sortie de la date,de l’heure, de la température, de la dis-tance/du niveau et le cas échéant duniveau en pour-cent s’effectue une foispar minute. En pressant la touche de retour du PC,on passe en mode de commande quioffre le menu du tableau 2 :
d Mise à jour de la datet Mise à jour de l’heure
h Hauteur maximale de remplissage(distance entre le transducteur et lefond du récipient à surveiller) ; lavaleur de l’affichage de distance est0.
v Calibrage de la mesure de tempéra-
ture au moyen du tableau tension entempérature. La valeur de la tensionanalogique-numérique est enregis-trée à des valeurs de températuredéterminées (tous les 5 °C dans laplage de –30 à +45 °C). Les valeursintroduites doivent toujours croîtreavec la température. L’interpolationlinéaire est utilisée entre les pointsspécifiés. Un tableau Excel inclusdans le logiciel de ce projet Elektoraide à déterminer ces valeurs detension.
p Affiche en continu la températuremesurée à ADC0.
c Calibrage de la mesure de distance.Comme le calcul de distancedépend de la température actuelle, ilserait judicieux de calibrer préala-blement la mesure de cette der-nière. Le calibrage du calcul de dis-tance consiste à introduire jusqu’à9 paires de valeurs effectives/nomi-nales. Noter à des intervalles défi-nis la valeur affichée par l’appareilet la valeur réelle en regard surtoute la plage de distance. Reporterla valeur effective comme valeurd’entrée et la valeur nominalecomme valeur de sortie dans le
tableau de calibrage (paire devaleurs). Ces valeurs doivent êtreindiquées en seizième de centimè-tre. Le logiciel utilise en effet cetteunité pour effectuer les calculsinternes et cela améliore en outre leprocessus de calibrage. Il faut doncmultiplier par 16 la valeur en centi-mètres. Les paires de valeurs doi-vent être reportées en ordre crois-sant en commençant par la valeurd’entrée la plus basse. Le logicielinterpolera linéairement commetoujours entre les points spécifiés.
q Quitter le mode de commande etrevenir au mode de fonctionnementnormal affichant les valeurs mesu-rées au rythme d’une par minute.
Toutes les données de configuration,hormis la date et l’heure, sont enre-gistrées dans l’EEPROM où ellessont conservées en cas de coupurede courant.
(040015-1)
12/2004 - elektor 37
Tableau 1. Légende de l’affichage LCD
Si l’on n’a pas défini de hauteurde remplissage maximale (ce quiest toujours le cas après la pre-mière utilisation) :
Au cas où la hauteur de remplis-sage maximale est configuréepar le biais de l’interface RS-232 :
rrr La distance mesurée [en cm].
rr1,rr2,rr3 Les valeurs historiques de la distance décalées, minute après minu-te, vers la droite.
ttt.t La température actuelle [en ° Celsius].
ddddd Date (Jour.Mois) et heure (heure:minute) affichées alternativement
fff L’état de remplissage déterminé calculé à partir du niveau de rem-plissage maximal configuré diminué de la distance mesurée.
ff1,ff2 Valeur historique de l’état de remplissage décalé d’une place versla droite minute après minute.
hhh Niveau de remplissage maximal paramétré actuellement.
pp État de remplissage en pour cents = état de remplissage relevé /niveau de remplissage maximal x 100.
Tableau 2. Menu de configuration
Command Menu:d - datet - timeh - high level water markv - voltage to temperature tablep - temperature voltage loggingc - distance calibration tableq - quit command mode
udm>
rrr rr1,rr2,rr3ttt.tC ddddd
fff ff1,ff2 hhhpp% ttt.tC ddddd
Si vous possédez l’un ou l’autre afficheur LCDqui traîne dans un tiroir, voici un montagequi vous permettra de l’utiliser en liaisonavec un PICBASIC. Cemontage ne fonctionnequ’avec les afficheurséquipés d’uncontrôleur HD44780 ouéquivalent, il est conçu à partir dumicrocontrôleur PIC16F84A de Microchip.
PICBASIC se
38
Michel Vacher
D’autres utilisations sont égalementpossibles grâce aux 4 vitesses per-mises par la liaison série RS-232/TTL,2 400, 4 800, 9 600 ou 19 200 bauds.Ce montage possède quelques carac-téristiques inédites :
– Les 4 vitesses, 2 400, 4 800, 9 600 et19 200 bauds sont commutables àl’aide de 2 cavaliers amovibles.
– Gestion des afficheurs LCD de1 ligne de 16 caractères à 4 lignes de40 caractères, sélectionnés par2 cavaliers.
– 3 circuits imprimés différents vous sontproposés selon l’afficheur LCD utilisé.
– Les 8 caractères définissables sontstockés dans le LCD et aussi dansl’EEPROM de 64 octets du PIC.
– Une commande supplémentaire a étéajoutée qui permet un effacementpréalable de la ligne avant tabula-tion : commande « A6,X,Y »
– La commande « A3,X » permet detransmettre intégralement à l’affi-cheur le caractère X suivant et permetd’autres programmations du LCD.
Analyse du schémaLe schéma (figure 1) est très parlant.Son cœur, un microcontrôleur commentpouvait-il en être différemment, est lemicrocontrôleur le plus courant de lasérie des PIC de Microchip, lePIC16F84A version 4 MHz.A première vue, la partie droite duschéma semble plus complexe qu’ellene l’est en réalité. On se trouve en effeten présence de 3 schémas en 1. Quelque soit le type d’affichage utilisé, lecircuit reste le même, à l’embase allantvers l’afficheur LCD près…Entrons dans le schéma. L’entouragedu PIC est classique, un quartz, Q1,bardé par la paire de condensateurs de22 pF de service. L’afficheur LCD est commandé en4 bits par 4 lignes du port B, RB0, RB1,RB2 et RB3, pour les bits de donnée D7
à D4 respectivement..Les embases à 3 contacts (+ cavalier)destinées aux différents paramétrages,ST1, ST2, ST3 et ST4 sont prises sur les4 autres lignes du port B, RB4, RB5,RB6 et RB7.Les entrées pour les cavaliers utilisentles résistances de forçage au niveauhaut (pull-up) du PIC.Les différents paramétrages sont défi-nis par le placement d’un cavalier surles embases prévues à cet effet. Pas-sons-les en revue car ils sont impor-tants.
ST1 et ST2Les 2 cavaliers ST1 et ST2 permettentde commuter la vitesse RS :
Vitesse ST2 ST1 Vitesse PICBASIC19 200 1 1 *9 600 1 04 800 0 1 *2 400 0 0
ST3Le cavalier ST3 permet d’indiquer lenombre de caractères d’une ligne :ST3=1 40 caractèresST3=0 16 ou 20 caractères
ST4Le cavalier ST4 indique le type de l’af-ficheur :ST4=1 afficheur double 4x40ST4=0 autres afficheurs
Un potentiomètre, P1, permet de fairevarier le contraste.Le transistor T1 permet l’entrée d’unsignal RS-232 (+12/–12 V), sinon unsignal TTL (0,+5 V) est appliqué surl’entrée RA0.Les lignes de commandes de l’affi-cheur LCD sont :
RS sur la sortie RA1RW mis à la masse (le LCD est toujours
en écriture).E1 sur la sortie RA2.E2 sur la sortie RA3 (voir description
de l’afficheur 4x40 caractères).
La sortie RA4 permet de vérifier à l’os-cilloscope l’instant d’échantillonnagedu signal RS (en envoyant en perma-nence le même octet h’55’= touche Uà l’aide du « terminal » de Windows).La diode D2 entre l’entrée et la sortiede IC2 (78L05) permet de protéger IC2dans le cas ou la tension de +5V estfournie par le PICBASIC.
Afficheur 4 lignes de 40 caractères :Cet afficheur est particulier ; il est eneffet constitué de 2 afficheurs 2 x 40juxtaposés. Il possède 2 contrôleursHD44780. Toutes les lignes de com-mandes sont communes sauf les2 signaux de validation E1 et E2 quisont placés sur les broches 15 et 16 duconnecteur. La broche 6 qui recevait lesignal E n’est pas utilisée.Le signal E1 contrôle les lignes 1 et 2.Le signal E2 contrôle les lignes 3 et 4.Cet afficheur nécessite des temporisa-tions supplémentaires.Résumons les fonctions des lignes deport du PIC16F84 :
Port BPort B, 0 à 3 : sortie de donnée vers leLCD en format 4 bitsPort B, 4 : Entrée de sélection devitesse RS-232Port B, 5 : Entrée de sélection devitesse RS-232Port B, 6 : Entrée pour cavalier deconfiguration :
1 = 40 caractères par ligne0 = 20 caractères par ligne
Port B, 7 : Entrée pour cavalier deconfiguration :
1 = afficheur à 4 lignes de 40 carac-tères
0 = afficheur à 2 lignes de 20 carac-tères et autres…
Port APort A, 0 : Entrée RS-232 (TTL), 1 =repos, 0 = actifPort A, 1 : Sortie RS LCDPort A, 2 : Sortie E1 LCD
cristallise
4/2004 - elektuur 39
Interface PICBASIC afficheur LCD
Port A, 3 : Sortie E2 LCDPort A, 4 : Sortie test RS-232
3 Circuits imprimésIl existe 3 circuits imprimés différentsselon le type de l’afficheur. Attention,chacun d’entre eux comporte un cer-tain nombre de ponts de câblage dontil ne faudra oublier aucun sous peined’avoir une interface non fonctionnelle.Passons les différentes versions enrevue.
Platine 1Cette version baptisée version 1 (fig-ure 2), est destinée aux afficheurs de1 ligne de 16 caractères à 4 lignes de20 caractères.
Les cavaliers ST3 et ST4 peuvent êtreremplacés par un pont de câblage.Elle est dotée d’une embase à 1 rangéede 14 contacts (SIL).Brochage du connecteur1 = masse2 = +5 V3 = contraste4 = RS5 = RW6 = E7 = D0 forcée à la masse8 = D1 forcée à la masse9 = D2 forcée à la masse10 = D3 forcée au +5V11 = D412 = D513 = D614 = D7
Platine 2:Cette version baptisée version 2 (fig-ure 3), est destinée aux afficheurs à2 lignes de 40 caractères.Le cavalier ST3 peut être omis et ST4remplacé par un pont de câblage.Elle est dotée d’une embase à 2 ran-gées de 7 contacts (DIL).
Brochage du connecteurD6 13 14 D7D4 11 12 D5D2 (masse) 9 10 D3 (+5 V)D0 (masse) 7 8 D1 (masse)RW 5 6 EContraste 3 4 RSMasse 1 2 +5 V
Platine 3 :Cette version baptisée version 3 (fig-ure 4), est destinée aux afficheurs à4 lignes de 40 caractères.Les 2 cavaliers ST3 et ST4 peuvent êtreomis.Elle est dotée d’une embase à 2 ran-gées de 8 contacts (DIL).
Brochage du connecteurE1 15 16 E2D6 13 14 D7D4 11 12 D5D2 (masse) 9 10 D3 (+5 V)D0 (masse) 7 8 D1 (masse)RW 5 6 E (non utilisé)Contraste 3 4 RSMasse 1 2 +5 V
Le logicielQui dit PIC dit inévitablement pro-gramme à programmer dans le compo-sant. Voici en quelques lignes le prin-cipe de fonctionnement du logiciel.On a, toutes les 13 ms, interruption dutemporisateur Timer 0, servant pour lehors-temps de la réception RS-232.L’indicateur FLINT_H est positionné(mis à « 1 ») au bout de ces 13 ms.La figure 5 donne l’organigramme duprogramme. On voit qu’il se résume àdes initialisations suivies d’un pro-gramme principal tournant en boucle
en attendant l’arrivée d’un octet. Selonl’octet reçu, le programme procède àun traitement différent.Il est intéressant de noter qu’un mêmeprogramme dans le PIC convient aux3 versions de circuit imprimé.Le tableau 1 donne la liste des com-mandes de l’interface. Examinons-encertaines des spécificités.La programmation des 8 caractèresdéfinissables écrit les caractères à lafois dans le LCD et dans la mémoireEEPROM du PIC. Cela permet deretrouver ces caractères à chaqueremise sous tension (Initialisation duLCD + transfert EEPROM vers LCD).Il n’est plus nécessaire de program-mer ces caractères spéciaux à chaquedémarrage.La commande « A3 » permet de trans-mettre intégralement à l’afficheur lecaractère suivant.Cela permet d’envoyer à l’afficheur lescommandes :A3, 08 = pas d’affichage
elektuur - 4/200440
CN1
+5V
R3
1k
R4
1k
+5V
PIC16F84AOSC2/CLK
RA4RTCC
IC1
OSC1
MCLR
RA1
RA0
RA2
RA3
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
18
17
13
12
11
10
16
15
14
1
3
9
8
7
6
2
4
5
10k
P1
+5V
C3
100n
ST1
ST2
ST3
ST4
1 2
3 4
5 6
7 8
9 10
11 12
13 14
CN1
CN1
10
11 12
13 14
15 16
1 2
3 4
5 6
7 8
9
CN3
CN2
J1
TEST RS
R2
100k
R1
100k
C4
100n
QZ1
C2
22p
C1
22pT1
BC547
R5
10k
R6
100k
R7
22k
D1
1N4148
+5V
+5V
78L05
IC2
C7
100µ16V
C6
10µ16V
C5
100n
D2
1N4148
+5V
D3 D4
1N4148
1
2
3
4
5
6
7
8
9
DTR
RTS
TXD
GND
Liaison
Liaison vers PC
PICBASICvers
SUB-D9
externe
1
0
1
0
1
0
1
40 car / ligne
16/20 car / ligne
0autres
2x
D6
D4
D2
D0
RW
contraste
masse
D7
D5
D3
D1
E
RS
+5V
D6
D4
D2
D0
RW
contraste
masse
D7
D5
D3
D1
E
RS
+5V
E1 E2
Afficheur LCD
Afficheur LCD
Afficheur LCD
2 lignes de 40 car
4 lignes de 40 car
à 4 lignes de 20 car2 lignes de 16 car
D7
D6
D5
D4
D3
D2
D1
D0
E2
E/E1
RS
contraste
E
masse
+5V
ALIM
*
*
* *
*
voir texte*030401 - 11
4 x 40 car
Figure 1. Le schéma de l’interface dans toute sa simplicité et splendeur ; en sonmilieu règne un PIC16F84..
A3, 0C = pas de curseurA3, 0D = pavé clignotantA3, 0E = curseurA3, 0F = curseur + pavé clignotantCes ordres spéciaux peuvent êtreenvoyés par le PICBASIC grâce à lacommande :10 BUSOUT &HA3 ,&H0DLa commande d’effacement + tabula-tion « A6 » nécessite une temporisationsupplémentaire par le PICBASIC, àcause de son temps d’exécution pluslong, exemple :20 BUSOUT &HA6,4,1 : DELAY 10L’afficheur de 4x40 caractèresdemande aussi une temporisation pluslongue pour la commande de tabula-tion « A1 » car il gère le curseur sur2 contrôleurs différents, exemple :30 LOCATE 0,2 : DELAY 10
Ces différentes temporisations peu-vent être raccourcies par des essaissuccessifs.Vous avez maintenant en main tous leséléments vous permettant de pratiquerdes expériences intéressantes à basede PICBASIC et d’affichages LCD entous genres.
TéléchargementsCe logiciel « version 1.0 » est disponi-ble sur le site Internet d’Elektor (cher-cher le fichier 030401-11 (somme devérification = 731C) dans le mois depublication de l’article dans larubrique TÉLÉCHARGEMENTS. Lefichier en question est un ensemble defichiers dont les sources en asm et lesroutines .asm nécessaires.
Vous trouverez également à cet endroitun fichier 030401-12 qui donne les
organigrammes de ce programme.L’auteur aurait plaisir de correspondreavec les lecteurs d’Elektor qui aurontréalisé ce circuit. Vous pouvez le
4/2004 - elektuur 41
Figure 2. La platine pour un affichage comportant 1 x 16 à 4 x 20 caractères(version 1).
Figure 4. Platine pour un affichage de 4 x 40 caractères (version 3).
Figure 3. Circuit imprimé pour unaffichage de 2 x 40 caractères(version 2).
Liste descomposantsRésistances :R1,R2,R6 = 100 kΩR3,R4 = 1 kΩR5 =10 kΩR7 = 22 kΩ
Condensateurs :C1,C2 = 22 pFC3 à C5 = 100 pFC6 = 10 µF/16 V radialC7* = 100 µF/16 V radial
Semi-conducteurs :D1,D2*,D3*,D4* = 1N4148T1 = BC547BIC1 = PIC16F84A programméIC2* = 78L05
Divers :QZ1 = quartz 4 MHzST1 à ST4 = embase autosécable à une
rangée de 3 contacts + cavalierCN1 = = embase autosécable à
1 rangée de 14 contacts (version 1),ou embase autosécable à 2 rangéesde 7 contacts (Version 2) ou = embaseautosécable à 2 rangées de 8 contacts(version 3)
* les composants marqués d’unastérisque sont optionnels (ils nedoivent être montés que si l’afficheurest relié directement à un PC).
Les dessins de platine sont disponiblesau téléchargement sur le site Elektor(www.elektor.fr, rubriqueTéléchargements) sous la dénomination030401-1
contacter via son E-mail :« [email protected] ».
À noter que le microcontrôleur PICBASIC,sous ses différentes formes, 3B, 3H, etc.est distribué en France par Lextronic.Attention, il existe nombre de produitsbaptisés PIC Basic, PICBASIC, etc.
Liens Internet :www.lextronic.fr www.comfile.co.kr
elektuur - 4/200442
INITIALISATIONSPORT APORT B
RAZ MÉMOIREOption Reg = 07
Curseur = OE (défaut)
Délai 100 ms
INITIALISATION LCDINIT_LCD
ATTENTE RECEPTIONATTENTE_RS232
Octet reçu = commande A2Affichage (de 8 à 42 octets)
COMMAND_A2
Octet reçu = commande A3
Curseur (2 octets)COMMAND_A3
Octet reçu = commande A4
Redéfinition caractèreet affichage (10 octets)
COMMAND_A4
Octet reçu = commande A5
Redéfinition caractèresans affichage (10 octets)
COMMAND_A5
Octet reçu = commande A1
Positionnement curseur(3 octets)
COMMAND_A1
Octet reçu = commande A6
Effacement ligne etpositionnement curseur (3 octets)
COMMAND_A6
Octet reçu = commande A0
030401 - 12
Initialisation du LCD (1 octet)COMMAND_A0
BOUCLE PRINCIPALE
Reset
Reset et boucle principale Figure 5.Organigramme duprogramme limité à saboucle principale.Chaque sortie attaqueune nouvelle routine.
Tableau 1. Les commandes de l’interfaceCommande Description
A0 Initialisation de l’afficheur (rechargement des 8 caractères redéfinissables)
A1,X,Y Tabulation du prochain caractère. Place le curseur à la position horizontale « X » de 0 à 39, et à la posi-tion verticale « Y » de 0 à 3.
A2,C1,C2,C3,….,0 Affichage de la suite d’octets de codes ASCII C1,C2,C3,etc… (40 car. maxi) Le dernier octet (non affi-ché) doit être un zéro.
A3,X Transmet à l’afficheur le code de commande « X ». A3, 08 = pas d’affichage. A3, 0C = Pas de curseur.A3, 0E = Curseur présent (mode par défaut). A3, 0D = pavé clignotant. A3, 0F = curseur + pavé cli-gnotant.
A4,C,o1,…,o8 Permet de redéfinir le caractère « C » en envoyant une suite de 8 octets o1 à o8. Le caractère « C » peutêtre compris entre 08 et 0F. Chaque caractère est représenté sur une matrice de points composée de 8lignes et 5 colonnes. Le caractère redéfini s’affiche à l’écran.
A5,C,o1,…,o8 Idem commande « A4 » mais le caractère redéfini ne s’affiche pas à l’écran. Pour les 2 commandes« A4 » et « A5 » le caractère est également placé dans la mémoire EEPROM du PIC.
A6,X,Y Tabulation du prochain caractère avec effacement total de la ligne concernée. Place le curseur à la posi-tion horizontale « X » de 0 à 39, et à la position verticale « Y » de 0 à 3.
L’auteur
Le début de la carrière de MichelVacher ne date pas d’hier vu qu’ilétait déjà « impliqué », au cours deces premiers 4 lustres (±18 ans) desa carrière, dans l’étude et le déve-loppement des TO9 et TO9+ (micro-ordinateurs de Thomson au cas oùvous ne le sauriez pas ou plus). Il futensuite, 3 lustres durant, ingénieurde développement logiciel, tra-vaillant sur nombre de microcontrô-leurs, du 6303 au PIC en passantpar le 6805, 8051, ST6, ST9, pourn’en citer que quelques-uns et déve-loppant des logiciels en assembleuret C à leur intention.. Il a la chanceaujourd’hui, de pouvoir profiterd’une pré-retraite bien méritée…
elektor - 12/200446
mini-projet
Les électroniciens possèdent, contrai-rement aux profanes, le don de confé-rer avec une relative facilité une touchepersonnelle aux objets tant journaliersque festifs. L’arbre de Noël miniatureprésenté ici en est une parfaite illustra-tion. Cet ornement de Noël clignotantn’existe nulle part sur le marché souscette forme exacte. Il faut le montersoi-même. Pour ouvrir la voie auxmoins expérimentés d’entre nous,Elektor offre un kit de montage à touteépreuve comprenant la carte, les com-posants et la pile.Ceux qui cherchent quelque chose de« différent » et sont prêts à investir plusde temps et de composants dans uncircuit pour la période de Noël ne sontpas oubliés. La rédaction d’Elektor leurpropose un choix de circuits à téléchar-ger sur http://www.elektor.fr (voirencadré).
C’est très simpleLe circuit de cet arbrisseau est à laportée de n’importe quel débutant. Il a
servi à réaliser divers ornements cli-gnotants dans l’environnement peuconvivial des foires-expositions. Mêmedes enfants de 5 ans ont assembléavec succès un kit en moins de30 minutes au stand Elektor.Comme le montre la figure 1, l’électro-nique comporte en tout et pour tout unseul circuit intégré relié à 2 résistan-ces, un condensateur et 11 LED. LesLED possèdent l’avantage de durerplus longtemps et de consommermoins que les petites lampes à incan-descence. Le circuit peut fonctionneren permanence pendant 48 heuresavec une pile (alcaline 9 V) –ou pen-dant toute la période de Noël quand onne l’allume que le soir. Le circuit intégré est un 4060, unoscillateur/diviseur en techniqueCMOS robuste muni de 10 sorties. Lafréquence de l’oscillateur, déterminéepar C1, R1 et R2, est située aux envi-rons de 2 Hz.L’état des sorties du compteur Q3 à Q9et Q11 à Q13 change au rythme del’oscillateur. Les LED sont câblées de
façon à donner l’impression d’un cli-gnotement aléatoire. En observant leclignotement avec une attention sou-tenue, on remarquera toutefois que3 LED sont allumées simultanément.
Le soudageLa carte représentée dans la figure 2est déjà sciée en forme d’arbre deNoël. Le montage et le soudage sontaussi effectués rapidement grâce auplan de montage imprimé en sur-charge. Il suffit de veiller à la polaritécorrecte des LED (le fil le plus courtcorrespond à la cathode). Souder lesupport du circuit intégré et y insérercelui-ci dans la bonne direction (seréférer à l’encoche et au repère, voir lavue de dessus du circuit intégré dansla figure 1 et le plan de montage de lafigure 2). Une fois le montage terminéet contrôlé, souder les fils de liaison duclip de la pile : Souder l’extrémité du filrouge dans la perforation désignée par+ et celle du fil noir dans la perforationdésignée par le symbole « moins » (–).
Cet arbre de Noël miniature garni deLED est aussi simple à construire qu’àreproduire. Son fonctionnement estabsolument fiable. Un mini-projet de dernièreminute pour la période de Noël...
ARBRE DE NOËLGARNI DE … LEDEt autres circuits de Noël...
Faire passer les contacts du clip de lapile par les 2 trous prévus à cet effet aupied de la carte de l’arbre de Noël, cequi permet de connecter la pile de l’au-tre côté de la carte. La pile sert enmême temps de support. Connecter lapile. Les LED se mettent immédiate-
ment à clignoter joyeusement (commeprévu) si le montage est correct.
(040377-1)
Joyeux Noël !
12/2004 - elektor 47
CTR14
IC1
4060
CT=0
RCX
10
11
12
15
13
14
11
13
12
CT
CX
RX
!G
1
6
4
5
7
9
3
4
5
6
7
8
9
3
2
+R1
10k
R2
100k
C1
1n
D1
D2
D3
D4
D5
D7
D8
D9
D10
D11
D12
9V
ChristmasMerry
(C) ELEKTOR
-+
010019-1
ELEKTOR / ELEKTUUR
C1
IC1
R1
R2
Christmas
Merry
ELEKTOR \ ELEKTUUR
Figure 1. Le circuit de l’arbre de Noël garni de LED a fait maintes fois ses preuves...
Figure 2. Plan de montage de la mini-carte de l’arbre de Noël.
Montages de Noëlsur www.elektor.frIl neige des montages de Noëlsur www.elektor.fr. Nousavons choisi 5 montages pourla Noël appréciés par nos lec-teurs et vous les proposons,avec dessin de platine et pro-gramme (si tant est qu’il y enait un) sur notre site d’où vouspourrez les télédécharger :
– Étoile de Noël avec EPROM(Téléchargement N°. 990074-12)
– Cloche électronique(Téléchargement N°. 000116-12)
– Guirlande(Téléchargement N°. 014056-12)
– Étoile de Noël(Téléchargement N°. 020040-12)
– Boule de Noël(Téléchargement N°. 030157-12)
Liste descomposantsRésistances :R1 = 10 kΩ (noir-marron-orange)R2 = 100 kΩ (noir-marron-jaune)
Condensateur :C1 = 1 nF
Semi-conducteurs :D1 à D12 = LED faible courant
(n’importe quelle couleur sauf banc)IC1 = 4060
Divers :support pour IC1 (DIL 16 contacts)pile 9 V avec connecteur à pressionPlatine : EPS010019-1(Kit complet EPS10019-91)
La télévision numérique terrestre (DVB-T), on peutdéjà la capter dans plusieurs Länder allemands.Il y faut bien sûr un récepteur DVB-T et uneantenne UHF. S’il ne vous manque plus quel’antenne, en voici une petite d’intérieur, viteconstruite et à peu de frais.
Dipôle papillon p
elektor - 12/200448
Rolf Badenhausen
Il y a déjà un an que le centre urbainde Berlin est couvert par la télévisionnumérique terrestre, Digital VideoBroadcasting, et elle a fait cette année-ci ses débuts progressivement dans
les autres États fédérés. Dans lesrégions concernées, les émetteurs detélé analogique, au standard PAL,devraient bientôt disparaître, si cen’est pas déjà fait, comme à Berlin.
Si vous possédez un récepteur desatellite et un raccordement d’antenneadéquat ou si vous désirez faire deséconomies en vous équipant pour laréception de DVB-T, il vous faudra
construire une antenne appropriée.Elle ne se branchera évidemment pasau téléviseur, mais à un récepteur spé-cial, aussi appelé SetTopBox.Seuls quelques rares récepteurs sontlivrés avec une antenne intérieure sim-ple. La figure 1 vous présente une ver-sion sous forme d’antenne bâton. Sonprincipal inconvénient réside dans lesperturbations occasionnelles, d’origineoptique, ou encore l’étroitesse de sasensibilité dans la bande UHF réservéeaux canaux numériques.Comme antenne intérieure pour DVB-T, celle qui s’est distinguée par lescaractéristiques les plus avantageu-ses, c’est un modèle plat qui, en raisonde sa forme singulière, a été baptisé« dipôle papillon ». Non seulement il adémontré sur le terrain une meilleurelargeur de bande, mais un aérien aussiélégant peut aussi, à la maison, se dis-simuler dans un cadre de dimensionraisonnable.
DVB-TGrâce à la compression MPEG-2, onpeut maintenant transmettre quatrecanaux numériques dans le spectred’un seul ancien canal analogique.C’est assez impressionnant quand onsonge que la numérisation d’un telsignal, qui compte 625 lignes et unefréquence de récurrence d’image de50 Hz, produit, avant réduction de don-nées, un débit de 216 Mbits/s. Y consa-crer la bande passante nécessaire pourla transmission, tant par satellite quepar système terrestre, serait simple-ment impraticable.La norme MPEG-2, un perfectionne-ment notable de la MPEG-1, permet deramener le débit de données à13,27 Mbits/s (à peine quelque 6 % dela valeur de départ). En supplément,une méthode de modulation futée, dunom de COFDM (pour Coded Orthogo-nal Frequency Division Multiplexing),s’arrange pour tirer le meilleur parti dela bande passante disponible et de lapuissance émise. Elektor vous a déjàrendu compte en détail des bases de
cette technique, vous en trouverez lesréférences en fin d’article.
Le dipôle papillonLa résistance propre d’un dipôlepapillon se rapproche fort de celle d’undipôle pleine onde. Ce genre de dipôlese caractérise [1] par une valeur derésistance comprise entre 240 et 300 Ω.Il faut toujours intercaler un adaptateurpour la ramener à la norme de 75 Ω àl’entrée du récepteur.Le rapport de transformation ü d’unadaptateur comme celui de la figure 2se calcule par la formule :
dans laquelle re est la résistance d’en-trée, ra celle de sortie, ne et na le nom-bre de spires de chaque enroulement.Pour un rapport de transformation ü =2, on obtient avec ne = n1 + n2 et na= n3 le même nombre de spires pourn1, n2 et n3. Cela simplifie pas mal lafabrication de l’adaptateur, puisqu’ontrouve la même tension sur chaquebobine et que, grâce à cette configu-ration, on assure la séparation galva-nique de l’entrée à la sortie. Sur lemême principe, on peut égalementutiliser une bobine à prise médiane,pour constituer ce qu’on appelle com-munément un « balun » de balancingunit, tel que représenté à la figure 3.Pour profiter des faibles pertes d’untransformateur sans noyau, les fabri-cations industrielles utilisent laméthode de bobinage « bifilaire ». Lafigure 4 en présente un exemple,dans lequel on a bobiné en doublehuit spires de fil de cuivre émaillé(CuL) de 0,5 mm en parallèle (ici ennoir et blanc) sur un noyau cylin-drique (d = 4 mm) caractérisé par despertes négligeables. Les bobines 3 et4 du transformateur à air sont un peuplus volumineuses pour approcherpratiquement le rapport d’adaptation.Comme le montre le schéma de la
ür
r
n
ne
a
e
a
= =
pour DVB-T
12/2004 - elektor 49
Antenne intérieure de fabrication-maison
Z = 75ΩZ = 300Ω
040394 - 16
n1
n2
n3
Z = 300Ω
Z = 75Ω
040394 - 17
n1
n2
Figure 1. Antenne intérieure simplepour DVB-T de Technisat. Le bâtonmesure 31 cm de long.
Figure 2. Transformateur d’adaptationd’antenne en 75 Ω.
Figure 3. Adaptateur de symétrique àasymétrique à en seul bobinage.
figure 5, on a prévu un condensateurde séparation à la céramique, C1. Ilsert à éviter un court-circuit si éven-tuellement la descente d’antenne deDVB-T conduit également une tensioncontinue de commande. D’habitude, onutilise une tension de 5 V pour obtenir,si le besoin s’en fait sentir, la commu-tation à distance d’un amplificateurd’antenne intermédiaire.
ConstructionLe plus pratique pour assembler trans-formateur, condensateur d’isolation etantenne papillon, de l’épaisseur d’unstylo à bille, c’est certainement de toutmettre sur une face d’une platine derésine époxy de 1,5 mm. Le plan d’im-plantation est reproduit à la figure 6,le tracé des pistes est comme toujoursdisponible en téléchargement sur lesite www.elektor.fr.
Naturellement, on pourrait aussi utili-ser une fine tôle de zinc, de cuivre oude laiton sur support isolant en bois ouen Plexiglas. La figure 7 montre unexemple de réalisation sur une fineplaque de bois cintrée. Le transforma-teur et le condensateur d’isolation sesituent avec la prise de raccordement(pour câble d’antenne de 75 Ω) sur laface arrière.Les antennes d’émission de télévisionsont normalement attaquées en pola-
risation horizontale. Mais sur la basede l’expérience pratique acquise à Ber-lin avec DVB-T, on n’émet plus qu’enpolarisation verticale. Le dipôle doitdès lors pivoter pour se placer vertica-lement. Cependant, avec une antenneintérieure et particulièrement dans labande UHF, il convient toujours derechercher empiriquement la positionoptimale qui capte le moins possiblede réflexions. Mais dans une situationdéfavorable, comme au rez-de-chaus-sée, il est rarement possible d’obtenirune compensation optimale.
L’insertion d’un amplificateur d’an-tenne semble peu recommandable. Lesavis des utilisateurs de DBV-T recueillisdans les forums sur Internet sont plu-tôt mitigés sur la question ; ils consta-tent qu’avec une antenne active, onamplifie surtout le spectre de bruitenvironnant. Si de pareilles impulsionss’introduisent dans le signal utile reçude DBV-T, qui est faible de toute façon,et malgré le traitement du démodula-teur, ils apparaîtront à l’image ou dansle son comme parasites. Mais le mêmeinconvénient peut aussi résulter d’unesaturation de l’amplificateur d’antennelà où le champ est plus intense.
Comme le dipôle papillon proposé iciest équipé d’un adaptateur à 75 Ω, iln’y a aucune difficulté à utiliser, sibesoin est, un amplificateur de bande
elektor - 12/200450
4 mm
4
3
2
2 43
1
1
040394 - 15
Figure 4. Modèle à bobine à air enbifilaire.
TR1
C1
100pCERAM.
75ΩCP1
CP2
OUTPUT
GROUND
1
2
3
4
040394 - 14
Figure 5. Antenne avec transformateuret condensateur de couplage.
Figure 6. Plan de la platine (en réduction), le dessin est disponible sur www.elektor.fr.
standard du commerce, que l’on peutse procurer à peu de frais.Ndr : si la situation de la TVNT (TVNumérique Terrestre, égalementconnue sous la dénomination de TVnumérique hertzienne) est très chao-tique pour le moment, les chosesdevraient s’éclaircir dans les prochainsmois. D’où cet article sur la situationmieux cristallisée en RFA.
(040394-1)
Litérature :
[1] Gregor Kleine : La télévision numérique avec compres-sion de données MPEG-2 ; Elektor septembre 1995 p. 42 ss.
Notions théoriques et sources deréférences utiles :
[2] John D. Kraus : Antennas ; Mc Graw Hill Book Company, 1950.
Internet :
www.tvnt.net/
www.tdf.fr/
www.telesatellite.com/
www.droit-technologie.org/1_2.asp?actu_id=952
www.essentielpc.com/s/breve393.html
12/2004 - elektor 51
Figure 7. Le prototype d’antenne del’auteur.
Comparaison des antennes intérieuresCertains fabricants ont, de leur côté, découvert la part de marché que pouvait représenter DVB-T. Ainsi Hama, par exemple,propose également, sous l’appellation de « papillon » une antenne intérieure dont la géométrie ne rappelle que vaguement celledu lépidoptère en question. Ses propor-tions (figure 8) font davantage penserà une antenne bicône et sa structureaplatie à un dipôle strip-line. En raisonde sa longueur physique d’une quaran-taine de centimètres, un tel aérien pré-sente un maximum de sensibilité (réso-nance) dans une gamme de fréquencequi ne couvre ni le domaine VHF nil’UHF, mais entre les deux, centrée gros-so modo sur 350 MHz.
Combiner sur une antenne intérieure lesgammes VHF et UHF entraîne forcémentdes pertes à cause du compromis. C’estpourquoi Thomson a choisi une variantequi ne manque pas d’intérêt. Si lesdimensions intérieures de l’antenneANTD2000 (figure 9), elle aussi àdouble bande, sont plus petites, c’estqu’elle est accordée indubitablement surle milieu de la gamme UHF. Trop courtephysiquement pour la bande VHF, uneastuce technique a été mise à profit pourl’allonger électriquement. En revanche,sa géométrie la destine principalement àla réception de DVB-T en UHF, ce qui esttotalement fondé.
L’antenne papillon que nous vous propo-sons dans cet article s’inspirait du mêmeprincipe, de par sa forme de dipôleconstitué de triangles sensiblement équi-latéraux. L’inductance du transformateurprovoque un allongement électrique desbranches du dipôle de manière à cou-vrir les fréquences inférieures à lagamme UHF, ce qui favorise la réceptionde la bande III VHF.
Figure 8. L’antenne papillon de Hama (source : Hama).
Figure 9. L’antenne planeANTD2000 de Thomson
offre un gain de 18 dB(Source : Thomson).
Jörg Prim
L’interrupteur à claquement de mains (« clap-inter ») appar-tient sans conteste auxcircuits classiques à réaliser soi-même. Levoilà, avec une com-mande à microcontrô-
leur et de nouvelles pos-sibilités insoupçonnées
jusqu’alors...
elektor - 12/200452
Clap-inter intelli
Télécommande avec extras
Un circuit discret ne pourrait que rêverdes possibilités offertes par l’introduc-tion d’un microcontrôleur :
– Un circuit va-et-vient réalisé à l’aided’un interrupteur permettra de com-muter même en cas de mauvais fonc-tionnement.
– La commutation n’a pas lieu à lasuite d’un bruit quelconque mais estcausée par un double claquement demains dans un intervalle de tempsdéfini.
– L’interrupteur est bloqué pour un cer-tain temps (verrouillage enfant) encas d’utilisation « ludique » (commu-tation répétée trop fréquemment).
Il faut plusieurs bascules monostablespour remplir les conditions exigées(double claquement de mains et ver-rouillage enfant) avec des composants
logiques TTL ou CMOS – soyons plutôtmodernes et servons-nous d’un micro-processeur. Un avantage de plus : leclap-inter possède son propre bloc d’a-limentation secteur ; il ne nécessitepas de bloc secteur enfichable.
Un petit contrôleurLe microcontrôleur flash PIC12F629 deMicrochip est en soi un objet fascinant :Le boîtier à 8 broches recèle un micro-contrôleur complet avec oscillateur designal d’horloge, circuit d’initialisation,ROM flash, RAM et EEPROM. Deux des8 broches sont réservées à l’alimenta-tion, les 6 broches restantes serventd’E/S génériques.Quelques broches E/S ont des fonc-tions particulières, dont le compara-teur qui sera utilisé ici. Le seuil ducomparateur, et donc la sensibilité,
peuvent être ajustés dans certaineslimites par logiciel.Le circuit de la figure 1 ne comporte,hormis le contrôleur, que peu de com-posants. Un microphone électret à 2sorties convertit le signal acoustiqueen un signal électrique. Un transistoramplifie le signal et l’envoie à l’entréedu comparateur du PIC. Le potentio-mètre d’ajustage permet de position-ner le point de travail du transistor, etdonc la sensibilité.Deux sorties du PIC activent un relaisbistable par l’intermédiaire de transis-tors. Le relais possède 2 enroulementsqui le commutent par de courtesimpulsions. Ce relais offre 2 avan-tages : il ne nécessite qu’un tempsd’activation bref, il n’est pas nécessairede l’exciter continuellement. Ledeuxième avantage se manifeste lorsd’une coupure de courant. Le relais
12/2004 - elektor 53
TR1
B1
B80C1500
78L05IC1
C1
220µ25V
C2
100n
+5V
+UK1
GP4/COUT
GP5/CIN
12F629
GP3/MC
IC2
GP1
GP0
GP2
3
1
6
8
2
7
5
4
JP1
R6
4k7
R7
4k7
T2
T3
BC238
R5
150
Ω
R4
10k
R2
150k
R1
4k7
100k
P1
T1
BC238R3
22k
C3
1µ
D1
1N4148
D2
1
K2
2x
2x
RE1
+5V +U
030166 - 11
2VA36V
D3
LED duovert-rouge
MIC1
Electret
230V
CO
M
gent
Figure 1. Ce minuscule PIC12F629 évalue les signaux d’entrée et commande le relais bistable.
garde sa position la plus récente et lacharge commutée reste dans l’état pré-cédant la coupure de courant. En par-ticulier, on risquerait, dans le cas d’uncircuit va-et-vient d’enclencher lacharge si, lors d’une coupure de cou-
rant, le circuit d’un relais normal étaitfermé et que cet état corresponde parhasard à l’état de repos.Deux autres sorties du PIC commutentune LED bicolore indiquant l’état ducircuit. La dernière broche E/S du PIC
n’est pas utilisée. Elle est munie d’uncavalier permettant de commuter lesoptions du logiciel.
LogicielLe logiciel évalue le signal d’entrée. Unniveau bas de GP1 (un claquementdétecté) est suivi d’un délai de courtedurée (environ 200 ms) lors duquel laLED est rouge. L’entrée est ensuiteéchantillonnée pendant 3 s au coursdesquelles la LED est verte. La sortieest commutée si un autre signal estdétecté dans cet intervalle de temps.L’entrée reste bloquée après la commu-tation pendant environ 10 s au coursdesquelles la LED est rouge. Le nouvelétat de sortie est mémorisé dans l’EE-PROM pour que l’enroulement correctdu relais puisse être excité après unecoupure de courant.Chaque commutation incrémente uncompteur interne qui décroît lentementen l’absence de signal d’entrée. L’en-trée se bloque pendant 1 min si cecompteur atteint une limite. La LEDclignote en rouge pendant cet inter-valle de blocage. Le tout permet d’évi-ter qu’un niveau de bruit continu (parexemple des applaudissements) activele clap-inter.
Tout sur une carteNous avons mis au point un tracé decarte comportant tous les composantsdu clap inter (figure 2)... moins un. Eneffet, le microphone à électret doit cap-ter les ondes sonores d’une façon oul’autre. Il doit donc se trouver parexemple sous une surface perforée dela paroi du boîtier. Il faut absolumentéviter d’autre part que la longueur ducâble blindé (!) entre la capsule et lacarte dépasse 10 cm.Le montage est simple et ne prend quequelques minutes, mais il faut commetoujours respecter la polarité des dio-des et des condensateurs électroly-tiques (ainsi que du redresseur et ducircuit intégré). Ne pas oublier le cava-lier à côté du redresseur ! La LED doitêtre placée assez haut pour émergerde quelques millimètres du couvercledu boîtier à la fin du montage.Montage terminé et contrôlé ? Placerla carte dans un petit boîtier plas-tique. Veiller à ce que les conducteursde raccordement au réseau ne soientpas soumis à la traction. Désire-t-onvarier la sensibilité sans démonter lepetit appareil ? Percer au-dessus deP1 un trou prévu pour un tournevisd’ajustement.
(030166-1)
elektor - 12/200454
(C) ELEKTOR030166-1
B1
C1
C2
C3
D1D2
D3
IC1
IC2
JP1
K1
K2
P1R1
R2R3
R4
R5R6
R7
RE1
T1
T2
T3
TR1
230V~ 030166-1
MIC1+
-
COM
Figure 2. Tous les composants (hormis la capsule du microphone à électret) sontréunis sur cette petite carte.
Liste descomposantsRésistances :R1,R6,R7 = 4kΩ7R2 = 150 kΩR3 = 22 kΩR4 = 10 kΩR5 = 150 ΩP1 = ajustable 100 kΩ
Condensateurs :C1 = 220 µF/25 V radialC2 = 100 nFC3 = 1 µF/16 V
Semi-conducteurs :B1 = B80C1500 (rond)D1,D2 = 1N4148D3 = LED Duo (rouge/vert)IC1 = 78L05IC2 = PIC12F629CP (programmé
EPS030166-41)
T1 à T3 = BC238 ou BC547
Divers :JP1 = embase autosécable à 2 contacts
+ cavalier K1 = bornier encartable à 2 contacts au
pas de 7,5 mm (RM7,5)K2 = bornier encartable à 3 contacts au
pas de 7,5 mm (RM7,5)MIC1 = microphone électret à 2 contactsRe1 = relais bistable inverseur bipolaire
(tel que, par exemple, SchrackRT314F12)
Tr1 = transformateur 1 x 6 V, 2 VAminimum, protégé contre court-circuit(tel que, par exemple, MarschnerVN30.15/10522 ou Era 030-7340.0T)
Platine EPS 030166- (son dessin estaussi disponible sur le sitewww.elektor.fr)
Logiciel (source et hex) EPS 030166-11(disponible gratuitement autéléchargement sous www.elektor.fr)
elektor - 12/200456
Ron Coates
Les processeurs de la série 18Fxx2 disposent soit de 16,soit de 32 Koctets de ROM Flash. Cependant, chaqueinstruction de programme consomme au moins un mot (etdonc deux octets), ce qui veut dire qu’en termes de nom-bre de lignes de code de programme, vous serez limité àun maximum de 8 ou de 16 Koctets. Par conséquent, auniveau de la programmation vous ne pourrez jamaisadresser que les emplacements d’ordre pair de la ROM.Si dans le cas d’un programme de la série 16F vous obs-ervez la fenêtre de la mémoire de programme, les adres-ses du code s’incrémentent au rythme d’une unité parligne, soit 0000, 0001, 0002, etc. Le même code destinéà un 18F générerait un programme présentant un incré-ment de deux à chaque ligne : 0000, 0002, 0004, etc.Dans la pratique, cela n’a aucune importance sauf dansle cas des tables de recherche.L’ensemble de la mémoire ROM est complètement linéaire
et il n’y a donc aucun problème avec les instructions CALLou GOTO, et ce peu importe la taille du programme.
Tables de rechercheUne des principales critiques émises dans le passé à pro-pos des fonctionnalités des processeurs PIC a été la diffi-culté d’implémentation des tables de recherche d’unetaille raisonnable. Une des caractéristiques les plus utilesde la série 18 est la possibilité que vous avez de créerdes tables de recherche de virtuellement n’importe quellelongueur pour peu qu’elles « rentrent » dans la quantitéde Flash ROM disponible.Il pourrait s’avérer utile à ce niveau d’examiner en détailla seule manière d’implémenter une table de recherchedans la série 16.Microchip l’avait appelé “GOTO calculé” et elle nécessi-
ADIEU “16”, BIE2ème partie : la ROM et les tables de recherche de grande taille
12/2004 - elektor 57
NVENUE PIC18Ftait de la part du programmeur de construire la table derecherche à la manière d’une sous-routine commençantpar une instruction ajoutant la valeur du registre W aucompteur d’instructions. Elle était suivie par la liste desvaleurs destinées à être retournées. Pour utiliser la table,vous deviez vous assurer, avant d’appeler la sous-routine,que la valeur contenue dans W représentait la positionrequise dans la table. Après exécution de la sous-routine,le programme principal disposait de la valeur recherchéedans W.L’exemple suivant fournit la vitesse maximum permise àun pilote selon le rapport de vitesse engagé. Nous appel-lerons la sous-routine SPEED.
SPEED ADDWF PCLRETLW 0xFFRETLW 0x0ARETLW 0x20RETLW 0x3CRETLW 0x50
Si le programme principal avait placé le numéro du rap-port (1, 2, 3 or 4) dans W, un appel à cette sous-routineaurait alors provoqué de la part du programme un saut àla ligne correspondant à cette vitesse et le retour de lavitesse maximum sous la forme d’un nombre hexadéci-mal. Notez que la première ligne de la table correspondà une valeur de zéro dans W. Puisque dans le cas pré-sent nous n’aurions jamais une telle valeur nulle, unevaleur factice (FF) est insérée.La limitation de cette méthode est que la valeur contenuedans W ne peut varier qu’entre 00 et FF (ou 0 et 255 endécimal). Selon ce principe, les tables ne peuvent doncpas comporter plus de 256 entrées. Si vous avez besoind’une table plus étendue que cela, vous devez diviservotre table en tronçons de 256 entrées et exécuter descalculs supplémentaires pour vous assurer que vous effec-tuez une recherche dans le bon tronçon. Ceci n’est claire-ment pas pratique pour des tables contenant plusieursmilliers de valeurs.La méthode ci-dessus peut toujours être utilisée dans lecas de la série 18 et s’avère pratique pour les tables detaille réduite. Cependant, la situation est moins favorabledans la mesure ou le compteur d’instructions ne« connaît » que les chiffres pairs. Cela implique que, peuimporte que W contienne 0 ou 1, cela ne fait aucune dif-férence et le programme sautera à la première ligne dela table (0xFF dans l’exemple précédent). Pour que leprogramme ci-dessus fonctionne correctement, vous dev-rez placer dans W une des valeurs 2, 4, 6 ou 8. Celaveut également dire que la longueur maximale de votretable est maintenant limitée à 128 entrées.Si vous avez besoin de tables de recherche plus étendues,vous devrez utiliser une méthode alternative. Celle-ci estdécrite en détail dans la section 5 de la fiche de caracté-ristiques mais il s’agit seulement de principes généraux. N’importe quelle quantité de la Flash ROM disponiblepeut être utilisée par le programmeur en vue de consti-tuer une ou plusieurs tables de recherche. Ainsi, si nousutilisions un circuit comportant 32 Koctets de ROM et quenous n’avions besoin que de 4 Koctets pour le pro-
gramme lui-même (souvenez-vous que ce serait l’équiva-lent d’environ 2 000 lignes de code), 28 Koctets seraientalors disponibles pour les tables de recherche.Il s’agit d’un pas en avant très significatif et pourraitmême permettre à des applications qui auparavant utili-saient une EPROM externe pour stocker des données dedevenir de véritables applications « single chip », entraî-nant de considérables économies en complexité, taille ducircuit imprimé et bien sûr coûts.Des circuits 18F plus grands encore sont disponibles, les-quels comportent jusqu’à 128 k de ROM. Consultez lesite Internet de Microchip pour de plus amples informa-tions à leur propos.La capacité à adresser une telle quantité de mémoires’articule autour des Pointeurs de Table. Il en existe trois :TBLPTRU (« Table Pointer Upper ») dont seuls 5 bits sontdisponibles, TBLPTRH (« Table Pointer High ») et TBLPTRL(« Table Pointer Low »). Utilisés ensembles, ils formentune adresse de 21 bits de long, ce qui permet d’adresserjusqu’à deux méga-octets. Dans la pratique, avec les pro-cesseurs dont nous parlons ici, TBLPTRU peut être laissé àzéro car les seize bits des autres pointeurs sont plus quesuffisants pour adresser la quantité de ROM disponible.Ces tables peuvent être lues et écrites durant l’exécutiondu programme et vous devez par conséquent être pru-dents lors de la manipulation des valeurs contenues dansles pointeurs car il est parfaitement possible d’écraservotre propre code.Et comment introduisons-nous les données dans cestables ? C’est un point sur lequel la fiche de caractéris-tiques est étrangement silencieuse. Ce que vous ne pou-vez pas faire, c’est l’introduire à partir du programme dela même manière que vous le faites pour le GOTO cal-culé. Dans MPLAB, vous pouvez aller dans la fenêtre« Program Memory » et à partir de là modifier directe-ment les valeurs, ce qui est en fait utile en phase dedébogage. Par contre, il n’y a aucun moyen de sauve-garder ces modifications et dès que vous aurez quitté l’é-diteur, ces informations seront perdues. De toute façon, sivous envisagez une table de recherche de huit kilo-octets,vous ne voudrez probablement pas en introduire toutesles valeurs à la main !Nous avons pensé à deux manières de le faire et peut-être que des lecteurs pourront en suggérer d’autres. Àtitre d’exemple, considérons les valeurs résultant de l’é-chantillonnage digital d’un instrument de musique, parexemple un piano. Il serait normal d’utiliser un PC pourmanipuler et stocker des données de ce type et nous sup-poserons donc que la table que vous voulez transférerdans le PIC est effectivement disponible sous forme d’unfichier sur votre PC.Vous pouvez écrire pour le PC le programme adéquat etensuite utiliser le port parallèle ou sériel pour téléchargezle fichier. Tous les PIC dont nous parlons comprennent eneffet un USART (« Universal Synchronous / AsynchronousReceiver Transmitter ») qui peut facilement être paramétrépour communiquer avec le port série d’un PC.Si vos connaissances ne s’étendent pas à la programma-tion des PC, la méthode alternative consiste à utiliser unprogrammateur d’EPROM pour transférer l’informationdans une EPROM et ensuite utiliser un programme
contenu dans le PIC pour transférer l’information de l’E-PROM à la mémoire du PIC. C’est plutôt laborieux carcela implique que vous introduisiez le code (en utilisantun programmateur PICSTART ou équivalent) pour ensuiteconnecter le PIC à un circuit spécifique, juste pour trans-férer les données de l’EPROM au PIC avant, finalement,de pouvoir utiliser le PIC dans l’application cible.
Transfert d’une application 16FexistanteLa première page de la fiche technique de la série18FXX2 comporte l’affirmation plutôt optimiste selonlaquelle le 18F « est compatible au niveau du codesource avec le jeu d’instructions de la série 16C … »Cela pourrait vous amener à penser que tout ce que vousauriez à faire pour convertir des applications existantesserait d’adapter les références au modèle de PIC et quetout se passerait bien. En réalité, vous recevrez probable-ment une longue série de messages d’erreur mais qui nesont pas difficiles à corriger.En tout premier lieu, les bits des registres d’état RP0 etRP1 qui étaient utilisés avec le 16F pour la commutationde bancs n’existent plus. Vous aurez certainement faitréférence à ceux-ci puisque vous n’auriez pas pu gérer lesports d’I/O autrement à l’aide des registres TRIS. Toutesles références vers ceux-ci doivent donc être supprimées.Un autre problème ne se présentera que si votre pro-gramme originel utilise l’adressage indexé. Si c’était lecas, vous aurez certainement fait référence aux registresFSR. Nous disposons maintenant de trois registres FSR
dénommés FSR0, FSR1 et FSR2 et chacun d’entre euxcomporte un octet « haut » et un octet « bas ». Donc, tou-tes les références à FSR devront être changées en FSR0L.Un problème similaire se présentera à propos des réfé-rences au registre INDF. Celles-ci pourront être rapide-ment corrigées grâce à la fonction de recherche et rem-placement automatique de l’éditeur.Enfin, si vous aviez intercalé des instructions CONFIGdans le code source, celles-ci généreront également deserreurs. Les instructions CONFIG de la série 18F ont unformat complètement différent de la série 16F et lameilleure méthode consiste à supprimer les instructions16F et à recommencer en utilisant le fichier INCLUDEcomme exemple.Les erreurs de syntaxe comme celles-ci peuvent être rapi-dement corrigées. Il est seulement important que vousrevérifiiez la structure du programme pour vous assurezque vous profitez bien de tous les petits “plus” que cesnouveaux circuits apportent.
Un pas plus loin : DSPJusqu’au début de cette année, les processeurs de lasérie 18F étaient les plus puissants produits par Micro-chip. Cela a complètement changé il y a quelques moisavec l’apparition de la série dsPIC. Il s’agit de proces-seurs « full 16 bits » qui incorporent également des fonc-tionnalités que l’on ne trouve habituellement que sur lesDSP (« Digital Signal Processor »). Comme d’habitude,Elektor sera le premier à vous fournir des détails à cepropos. Surveillez cette rubrique …
(040036-2)
elektor - 12/200458
AI D E S À L A R É A L I S AT I O NElektor ne fait pas la vente de composants. Ceux-ci sont normalement à trouver chezun revendeur de composants. Il nous a cependant semblé nécessaire, suite à de nom-breuses lettres, de résumer sur cette demi-page les informations cruciales pour la lec-ture et la compréhension des articles publiés dans Elektor. Nous utilisons, pour l'indi-cation des valeurs de composants, les préfixes (classiques) suivants :
E (exa) = 1018 a (atto) = 10-18
P (peta) = 1015 f (femto) = 10-15
T (tera) = 1012 p (pico) = 10-12
G (giga)= 109 n (nano) = 10-9
M (mega) = 106 µ (micro) = 10-6
k (kilo) = 103 m (milli) = 10-3
h (hecto) = 102 c (centi) = 10-2
da (deca) = 101 d (deci) = 10-1
Dans certains schémas et dans la liste des composants nous préférons utiliser, contrai-rement aux recommandations IEC et BS, le préfixe + symbole comme caractère déli-miteur en remplacement de la virgule. 2 exemples :
3kΩ9 = 3,9 kΩ 4µF7 = 4,7 µF
Sauf mention contraire, la tolérance des résistances est ±5% et leur wattage 1/3 à1/2 watt. La tension de service des condensateurs est de ≥ 50 V.
Lors de la mise en place des composants on commencera en règle générale par l'im-plantation des composants passifs de la taille la plus faible, c'est-à-dire les ponts decâblage, les résistances et les petits condensateurs; on passera ensuite aux supportspour circuits intégrés, aux relais, aux condensateurs de for te capacité tels que lesélectrolytiques et aux connecteurs et autres embases. Les semi-conducteurs vulnéra-ble et les circuits intégrés fragiles seront montés en dernier.
Le soudage. On utilisera un fer à souder d'une puissance de 15 à 30 W doté d'unepointe fine et de la soudure à âme de résine (60/40). On enfiche les connexions ducomposant concerné dans les orifices prévus à cette intention, on les replie légère-ment, on les coupe à la bonne longueur et on procède à leur soudure; on attend de 1 à2 secondes jusqu'à ce que l'alliage étain/plomb devienne liquide et vienne souder relierla connexion au métal de l'orifice. On peut alors enlever le fer à souder. Attention à évi-ter de surchauffer le composant en particulier les circuits intégrés et les semi-conduc-teurs. S'il faut désouder un composant on utilisera de préférence un fer à dessouder àpompe aspirante ou un appareil spécialement prévu à cet effet.
Le dépannage. Si le circuit ne fonctionne pas correctement, il faudra comparer soi-gneusement les composants mis en place sur la platine avec la sérigraphie de l'im-
plantation des composants et vérifier leurs caractéristiques à l'aide de la liste des com-posants. Tous les composants se trouvent-ils à leur place (celle prévue sur la sérigra-phie)? Les polarités des composants en ayant une a-t-elle bien été respectée. N'avez-vous pas fait d'erreur dans le branchement des lignes d'alimentation ? Toutes les sou-dures faites sont-elles « saines » ? N'avez-vous pas oublié de pont de câblage ? Si leschéma de la réalisation en cause compor te des valeurs de mesure, les élémentsmesurés sur le circuit imprimé correspondent-ils à ces valeurs – on peut accepter unedérive de ±10% des dites valeurs.
La valeur d'une résistance est indiquée à l'aide d'un code de couleurs qui défini comme suit :
couleur 1er chiffre 2ème chiffre facteur multiplicateur tolérancenoir -- 0 -- --marron 1 1 x101 ±1%rouge 2 2 x102 ±2%orange 3 3 x103 --jaune 4 4 x104 --vert 5 5 x105 ±0,5%bleu 6 6 x106 --violet 7 7 -- --gris 8 8 -- --blanc 9 9 -- --or -- -- x10-1 ±5%argent -- -- x10-2 ±10%rien -- -- -- ±20%
Exemples :marron-rouge-marron-or = 120 Ω, ±5%jaune-violet-orange-marron = 47 kΩ, ±1%
Il arrive que nous ayons à publier des corrections éventuelles concernant l'une oul'autre réalisation, ce que nous faisons dans les plus brefs délais dans l'un des maga-zines publiés ultérieurement. On notera que la rubrique « le coin du lecteur » contientde temps à autre des commentaires ou/et des informations additionnelles concer-nant des montages publiés dans un numéro précédent.
Il ne nous arrive pas souvent deparler de logiciels. Aha-Soft nousa proposé, tout dernièrement, parE-mail, de tester leur dernière ver-sion de ArtIcons. Avec la curiositéqui nous caractérise, nous avonsaccepté leur proposition.Les 1,2 Goctets du fichier neposèrent pas le moindre pro-blème pour glisser sur notredisque dur. L’installation, enfrançais SVP, est une affaire dequelques secondes. Le pro-gramme est impressionnant deconfort d’utilisation et sa miseen oeuvre intuitive d’autant plusque l’environnement a été tra-duit en français (et avec prati-quement pas de fautes d’ortho-graphe). Vous chercherezcependant en vain un fichierd’aide en français (il existe heu-reusement bien en anglais).On commencera bien évidem-ment par charger l’un ou l’autredes exemples présents dans ledossier SAMPLES pour se faireune idée de ce à quoi peut bienressembler une icône.La palette de possibilités offertepar ArtIcons est assez impression-nante et pourtant très facile à maî-
triser. Rien de tel que de mettre lamain à la pâte.L’un des intérêts majeurs de ceprogramme de création (ou demodification) d’icônes est qu’ilpermet d’utiliser des fichiers .bmpde la bonne taille pour en fairedes icônes. Ainsi, le coeur d’unephoto de 4 Mpixels peut êtreramené, par le biais d’un pro-gramme de traitement d’imagecomme Paintshop Pro, à uneicône de 64 x 64, à 16 M decouleurs, son sujet restant,comme l’illustre la recopie d’é-cran ci-dessus, parfaitement iden-tifiable. Il est également possiblede travailler sur plusieurs cou-ches. Le nombre de formatsimportables et exportables estimpressionnant lui aussi.En un mot comme en cent, ArtI-cons 4.10 permet de réaliser desicônes au look professionnel et ceà peu de frais.Essayez donc la version d’évalua-tion de ce programme utilisable30 jours à télécharger à l’a-dresse : www.aha-soft.com/index.htmpour vous faire votre propre idée.
(047200-1)
La pratique du modélisme radio-commandé requiert un soin toutparticulier, surtout dans la partieélectronique qui en représente, enquelque sorte, le cerveau.Cet ouvrage initie les adeptes dumodèle réduit à l’aventure« électronique » du modélisme enleur dévoilant des astuces sur l’é-quipement radio convenant lemieux à leur passion.Il fournit, de plus, des montagespratiques qui serviront à la miseen oeuvre de leurs modèlesréduits.Cette deuxième édition, entière-ment revue et mise à jour, pro-pose, en outre, de nouveauxmontages dont les dessins de pla-tine se caractérisent par leur for-mat « quasi-3D ».Tout au long des 11 chapitres dece livre les auteurs abordent tousles aspects qui présentent un inté-rêt indéniable pour l’amateur demodélisme, allant des notions debase simple des sources d’éner-gie aux appareils de mesure sim-ple, en passant par la pratique &connaissance de l’électronique,la propagation des ondes, lesaccumulateurs en tous genres,
voire les accessoires.On pourra être quelque peu sur-pris de trouver, dans le chapitreintitulé Les accumulateurs CdNi,un montage baptisé Chargeurrapide pour accumulateurs Ni-MH, mais où aurait-il fallu le pla-cer sans lui consacrer un chapitredistinct qu’il ne justifierait pas.Autre aspect innovant, la possibi-lité de téléchargement des fichiersdepuis un site Internet dont l’a-dresse est donnée dans le livre.Cela évite d’avoir à sacrifier unCD-ROM pour une quantité defichiers (3,2 Mo), trop importantepour trouver place sur une dis-quette mais qui n’occuperaitqu’une partie insignifiante sur unCD-ROM.On notera que les imprimeursd’ouvrages ont les mêmes problè-mes de reproduction d’un _ queleurs homologues imprimant desmensuels... (cf. page 196).
En 3 mots, une contribution inté-ressante pour le radio-modélistequi n’a pas peur de mettre lamain à la pâte pour réaliser sespropres montages.
(47192-1)
11/2004 - elektor 59
grains de sel grains de sel grains de sel grains de se
ArtIcons 4.10Créez de superbes icônes
Electronique pour modélisme radioPhilippe Bajcik & Patrice Oguic
Ray King
Routeur
« Smooth Operator »présenté dans le numérodu mois dernier utilise desservos de modèles réduitspour contrôler lesaiguillages d’un circuitferroviaire. Un de sesavantages est sonactivation unifilaire, ce quiest idéal pour le contrôleinformatisé décrit ici !« Routeur Ferroviaire » estune combinaisonélectronique + logicielcapable de contrôler
La partie « matériel » du Routeur Ferro-viaire se compose de deux sous-ensembles : un circuit maître capablede contrôler directement jusqu’à15 aiguillages et un circuit esclave quilui est raccordé via un câble en nappeet qui ajoute 16 contrôles d’aiguillages.Le schéma du système est illustré enfigure 1. Les circuits maître et esclaveutilisent le même circuit imprimé« peuplé » selon la fonction désirée.Les routeurs-esclaves sont optionnels– si vous vous contentez de « juste »15 aiguillages et/ou signaux, alors lerouteur-maître est juste suffisant.
Un circuit pour2 fonctions …Le diagramme de circuit présenté enfigure 2 est inhabituel dans le sens oùil représente à la fois le circuit maîtreet le circuit esclave. Les tracés etconnexions en pointillés servent àindiquer les différences entre les deuxcircuits qui peuvent être construits àpartir du même circuit imprimé. Elec-triquement parlant, la différence entreles deux circuits dépend de la pré-sence ou de l’absence de pontets etde composants. Le convertisseur deniveau bidirectionnel RS-232/TTLMAX232 par exemple n’est nécessaireque pour la fonction maître qui(comme vous l’aurez probablementdéjà deviné) nécessite une connexionavec un PC où tourne le logiciel decontrôle spécifique du Routeur Ferro-viaire (plus de détails à ce propos plusloin). Le port RS-232 du PC estconnecté au circuit maître du RouteurFerroviaire via le connecteur sub-DK17. Seules les transmissions RX/TX
sont prises en compte, sans protocoled’acquittement.Un microcontrôleur PIC16F877 setrouve au cœur tant du circuit maîtreque du circuit esclave. Bien que lemicrocontrôleur soit chargé avec lemême code pour le maître et pour l’es-clave, il exécute en réalité l’une ou l’au-tre de deux séquences de code enfonction du niveau du niveau logiqueque vous avez défini sur la ligne deport RC5 au moyen du cavalier JP1. Le16F877 bat à 8 MHz, fréquence impo-sée par le quartz X1 et ses condensa-teurs de charge C1 et C2.Les circuits maître et esclave du rou-teur nécessitent une alimentation de8 V à 15 V qui peut être fournie par unpetit adaptateur secteur ou à partirune sortie DC d’un des régulateurs devitesse destinés aux trains.
Fonctionnement en maîtreLe microcontrôleur PIC surveille enpermanence les informations sériellesentrantes et détermine si le sous-ensemble spécifié dans la commandefait partie des 15 premiers aiguilla-ges. Si oui, il change l’état du contrôled’aiguillage (via K2 à K16). Si non, iltransmet l’information au tampon IC3et, de là, au connecteur K18 pour per-mettre aux modules esclaves de latester. Chaque connecteur de sortie(K1 à K16) sur le circuit du routeurvéhicule une tension d’alimentationnon régulée (V+), une masse et le filde contrôle comme cela est requis parla circuiterie de commande des ser-vos du « Smooth Operator ». Notezque la sortie n°1 (K1) n’est pas utili-sée dans le cas de la configurationmaître. Elle est présente en prévision
d’une utilisation ultérieure afin d’ob-tenir des fonctionnalités étendues.
Fonctionnement en esclaveLe fonctionnement du circuit esclaveest similaire à celui du maître, tout enétant plus simple à cause de l’absencede l’interface sérielle RX/TX avec lePC. L’adresse particulière de chaquemodule esclave est déterminée à par-tir du bloc d’interrupteurs DIP S1. Lefait de sélectionner par exemple l’a-dresse 001 permet ainsi au circuitesclave de commander les aiguillages16 à 31, le code 001 étant représentéau niveau du PIC par RE2 = 0, RE1 = 0et RE0 = 1.
… et un circuit impri-mé à double emploiComme évoqué précédemment auniveau du diagramme, le circuitimprimé développé pour le systèmeRouteur Ferroviaire peut fonctionnercomme maître ou comme esclave selonles composants qui y sont installés.Les deux plans de montage des com-posants sont donnés aux figures 3a(maître) et 3b (esclave). Etudiez soi-gneusement la liste des composants etleur plan de positionnement afin d’évi-ter des erreurs difficiles à localiser. Sinécessaire, référez-vous au diagrammedu circuit.Tous les composants sur les deux cir-cuits ont une taille normale et leurconstruction ne devrait donc pasoccasionner la moindre difficulté sivous prenez votre temps et que vousfaites spécialement attention auxcomposants polarisés (circuits inté-grés, transistors, condensateurs
12/2004 - elektor 61
ferroviaireRoutage de modèles réduits de trains à partir d’un PC
électrolytiques). Nous recommandonsd’utiliser des supports de bonne qua-lité pour le ou les PIC puisque ceux-cisont les composants les plus chers dumontage.
Le logiciel PICNous pouvons être relativement brefsà propos du logiciel exécuté par le
microcontrôleur PIC utilisé dans ceprojet. Les programmeurs passionnésparmi vous seront ravis d’apprendreque les fichiers du code source completet commenté fournis par Ray King sontdisponibles gratuitement depuis notresite Web sous la référence 030403-11.Il vous suffit de les télécharger, de lescompiler et de programmer votre pro-pre circuit 16F877. À titre d’alternative,
vous pouvez utiliser directement lecode hexadécimal. Ceux d’entre vous qui n’ont pas la pos-sibilité ou l’envie de « griller » leurspropres PIC peuvent se rabattre sur lesadresses habituelles auprès desquel-les les circuits PIC programmés de ceprojet sont disponibles sous la réfé-rence 030403-41.
Routeur Ferroviairepour le PCUne recopie d’écran du PC où tourne lelogiciel du Routeur Ferroviaire est four-nie en figure 4. Un nombre quelconquede configurations de voies peut êtrestocké sur le PC et chargé au lance-ment du programme Routeur Ferro-viaire ou à n’importe quel moment del’utilisation. Le logiciel écrit par Rayoffre la possibilité de créer et modifierles configurations de voies avant d’enpermettre la sauvegarde sur disque. La
elektor - 12/200462
RouteurMAÎTRE
PC
Alimentation
Max. 15x
Câble plat
Liaisonsérielle
Aiguillage Aiguillage Aiguillage
RouteurESCLAVE
Alimentation
Max. 16x
Max. 16x
Aiguillage Aiguillage Aiguillage
RouteurESCLAVE
Alimentation
Jusqu'à7 cartes
ESCLAVES
030403 - 11
Aiguillage Aiguillage Aiguillage
Figure 1. Un système complet serait mis en place comme ceci. Les cadres marqués« aiguillage » représentent un module « Smooth Operator ».
Routeur-maître
Résistances :R1 = 4kΩ7R2 à R4 = 10 kΩR5 = 47 kΩ
Condensateurs :C1,C2 = 22 pFC3 à C7,C9 = 10 µF/25 V radialC8,C11,C12 = 100 nFC10 = 1 µF/16 V radial
Semi-conducteurs :IC1 = PIC16F877-20/P(programmé
EPS030403-41)IC2 = MAX232IC3* = 74HCT241IC4 = 7805
Divers :JP1,JP2 = embase autosécable mâle à
2 contacts + cavalierK2 à K16 = embase autosécable SIL
mâle à 3 contactsK17 = embase sub-D 9 points femelle en
équerre encartableK18* = embase HE10 à 2 rangées de
5 contactsK19 = bornier à 2 contacts au pas de
5 mm encartableX1 = quartz 8 MHzPlatine 030403-1 (auprès des adresses
habituelles)Disquette, tous programmes (PIC & PC),
030403-11 ou au Téléchargementgratuit
* n’est requis qu’en cas de connexiond’un routeur-esclave
Routeur-esclave
Résistances :R2,R3 = 10 kΩR5 à R8 = 47 kΩ
Condensateurs :C1,C2 = 22 pFC9 = 10 µF/25 V radialC12 = 100 nFC10 = 1 µF/16 V radial
Semi-conducteurs :T1 = BC550IC1 = PIC16F877-20/P (programmé
EPS030403-41)IC4 = 7805
Divers :K1 à K16 = embase autosécable SIL
mâle à 3 contactsK18 = embase HE10 à 2 rangées de
5 contactsK19 = bornier à 2 contacts au pas de
5 mm encartable S1 = interrupteur DIP à 3 ou 4 contactsX1 = quartz 8 MHzPlatine 030403-1 (auprès des adresses
habituelles)
Liste des composants
12/2004 - elektor 63
X1
8MHz
C1
22p
C2
22p
C12
100n
R2
10
k
R1
4k
7
+5V
PIC16F877
RA4/T0CK
RA3/AN3
RA5/AN4
RA1/AN1
RA0/AN0
RA2/AN2
INT/RB0
RE0/AN5
RE1/AN6
RE2/AN7
RX/RC7
TX/RC6
MCLRIC1
OSC2OSC1
RC0
RB1
RB7
RB4
RB3
RB6
RB5
RB2
RC1
RC2
RC3
RD0
RD1
RD2
RD3
RC5
RC4 RD7
RD4
RD5
RD6
11
15
40
39
38
37
35
36
34
33
3112
10
32
16
17
18
19
20
21
22
26
25
24
23 30
27
28
29
1413
1
3
2
4
6
5
7
8
9
K18
10
1
2
3
4
5
6
7
8
9
S1
1 2 3 4
8 567R
64
7k
R7
47
k
R8
47
k
+5V
K9
K10
K11
K12
K13
K14
K15
K16
V+
K1
K2
K3
K4
K5
K6
K7
K8
V+
O1
O2
O3
O4
O5
O6
O7
O8
MAX232
R1OUT
R2OUT
T1OUT
T2OUT
IC2
T1IN
T2IN
R1IN
R2IN
C1–
C1+
C2+
C2–
11
12
10
13
14
15
16V+
V-
7
8 9
3
1
4
5
2
6
C4
10µ25V
C5
10µ25V
C3
10µ25V
C8
100n
C7
10µ25V
C610µ
25V+5V
K17
SUB D9
1
2
3
4
5
6
7
8
9
O9
O10
O11
O12
O13
O14
O15
O16
O1
O2
O3
O4
O5
O6
O7
O8
O9
O10
O11
O12
O13
O14
O15
O16
K19
C9
10µ25V
C10
1µ16V
7805
IC4
+5V
T1
BC550
R5
47k
R4
10
kR3
10
kJP1
JP2
+5V
+5V
S0
S1
S2
S3
S4
S5
S6
S7
+5V
S0
S7
S1
S6
S2
S5
S3
S4
74HCT241
IC3
5
16
3
18
EN
19 EN
13
8
11
6
17
4
15
1
2
9
12
7
14
OUVERT: ESCLAVEFERMÉ: MAÎTRE
OUVERT: ESCLAVEFERMÉ: MAÎTRE
IC3: MAÎTRE: UTILISER IC3ESCLAVE: CONNECTER SELON POINTILLÉS
030403 - 12
ESCLAVEUNIQUEMENT
ESCLAVEUNIQUEMENT
MAÎTREUNIQUEMENT
MAÎTREUNIQUEMENT
ESCLAVEUNIQUEMENT
V+
IC3
20
10
C11
100n
+5V
Figure 2. Diagramme de circuit combiné pour les configurations des routeurs-maître et esclave.
(C) ELEKTOR
030403-1
C1
C2
C3
C4 C5C
6
C7
C8
C9
C10
C11 C12
H1
H2 H3
H4
IC1
IC2
IC3
IC4
JP1
JP2
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
K12
K13
K14
K15
K16
K17
K18
K19
R2
R3
R4
X1
R1
0+
03
04
03
-1
(C) ELEKTOR
030403-1
C1
C2
C9
C10
C11 C12
H1
H2 H3
H4
IC1
IC4
K1
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
K12
K13
K14
K15
K16
K18
K19
R2
R3
R5
S1
T1
X1
41
0+
03
04
03
-1
R6..R8
Figure 3. Plans d’implantation des composants ducircuit maître (gauche) et du circuit esclave (droite).
vitesse de transmission du routeurmaître est de 9 600 bit/s. Le logiciel PCa été écrit en Visual Basic 6 (VB6). Lecode source (.VBP et composants),ainsi que la version exécutable sontinclus dans le « set logiciel » du projetréférencé 030403-11.
Exécutez tout simplement le fichierrailrout.exe et le programme serainstallé sur votre PC.Les toutes dernières mises à jours etrévisions matérielles sont disponiblesà partir du site Web de Ray King.
Concevoir une configuration de voies …Cliquez sur bouton « Change LayoutDesign » et l’écran d’édition apparaî-tra. Cliquez sur n’importe quel casedans l’espace de dessin, ensuite cli-quez sur le symbole que vous souhai-tez placer dans cette case. Continuezà ajouter des symboles jusqu’à ce quevotre configuration soit achevée. Assu-rez-vous que tous les chemins et voiesentrantes et sortantes du schéma seterminent par un symbole « end ».Une fois cela terminé, cliquez sur« Save Design and Exit » et donnez unnom à votre configuration lorsque celavous l’est demandé.
Une fois votre configuration sauvegar-dée, le programme enregistre le détailde tous les aiguillages et alloue un« port » hardware à chacun d’eux. Pourvérifier les associations, cliquez sur
« Check Port Assignment » afin d’obte-nir une liste des numéros d’aiguillageset de leur port hardware associé.Chaque port hardware (par exempleK2 à K16 sur un circuit maître ou K1 àK16 sur un circuit esclave) devrait êtreraccordé au port de contrôle du« Smooth Operator » correspondant àcet aiguillage particulier.
À l’installation, il est possible que lemécanisme d’aiguillage fonctionne ensens opposé à celui du logiciel, com-mutant l’aiguillage en mode « virage »alors que le mode « tout droit » estsélectionné. Ceci peut être résolu enutilisant le bouton « Change TurnoutSense ». Cette option demandera surquel port agir et en inversera le sens(polarité digitale). Cette informationest reproduite sur l’écran des assigna-tions de ports.
… modifiez-là…Cliquez sur « Change Layout Design »et la configuration courante sera affi-chée. Vous pouvez alors ajouter ousupprimer des symboles pour adapterla configuration à l’envi. Ensuite, sau-vez la configuration modifiée en cli-quant sur le bouton « Save and ExitDesign ». Accessoirement, vous pou-vez abandonner ces modifications encliquant sur « Exit Design withoutSaving ». Il existe également uneoption de chargement d’une autreconfiguration permettant ainsi degérer plusieurs configurations diffé-rentes à partir du même logiciel.
… et devenez contrôleur ferroviaireCliquez sur la section de voie à partirde laquelle vous voulez tracer la routeet cliquez ensuite sur la section de voiede destination. Cliquez sur « Plot » etle programme va tenter de découvrirun chemin allant du départ à l’arrivée.S’il y arrive, cette route sera colorée enjaune. S’il n’y arrive pas, le message« No Route Found » sera affiché.Si la demande de routage a aboutimais que vous estimez qu’il y existe unmeilleur chemin pour atteindre le but,cliquez à nouveau sur « Plot » et ce jus-qu’à ce que votre route préférée soitsélectionnée.La route tracée en jaune peut être acti-vée directement en utilisant le boutonapproprié ou bien sauvegardée parmil’une des trois routes colorées et acti-vée à n’importe quel moment. On peutstocker de la sorte jusqu’à trois routesdifférentes.Evitez de faire partir ou arriver votreroute à un croisement, un aiguillage ouun symbole de fin car cela risque auniveau du programme de générer desrésultats inhabituels – normalementdes message « No Route » ce qui, si ony réfléchit, n’est pas aussi mauvais que« Services Indisponibles ce Jour ».
(030403-1)
Site web de référencewww.king.ray.btinternet.co.uk/index.htm
elektor - 12/200464
Figure 4. Le logiciel Routeur Ferroviaire en action du côté PC.
TéléchargementsgratuitsLogiciel PC et microcontrôleur.Nom de ficher : 030403-11.zip
Tracé de circuit imprimé au for-mat PDF. Nom de fichier :030403-1.zip
www.elektor.fr, sélectionnez lemois de publication.
elektor - 12/200466
eur secrets du concepteur secrets du concepteur secret
Il faut, au professionnel, pour lamacro-photographie, un objectifmacro au prix souvent élevé dèslors qu’il ne doit pas induire dedistorsion. L’amateur dispose luid’une alternative bien plus sim-ple, s’acheter un objectif macrobon marché ou alors utiliser unscanner tout ce qu’il y a de plusclassique.
Un appareil adéquat est unscanner à plat. Il n’est pas pos-sible d’utiliser un scanner detype à fente d’insertion ouencore de poing pour scanningmanuel pour réaliser des « pri-ses de vue » macro, il en va demême d’ailleurs des scanners àdiodes extrêmement compactsqui, de par leur principe, possè-dent une profondeur de résolu-tion proche de zéro.
Il existe, même avec les scannersà plat qui, en règle générale,sont dotés d’un capteur CCD,des différences sensibles et cemême entre les modèles d’unmême fabricant. Si vous n’avezpas encore de scanner et quevous vouliez en acheter un envue de faire de la macro-photo,il est recommandé d’utiliser uneimage-test pour mettre la mainsur le modèle adéquat.
OrigamiImprimez l’image-test (fig-ure 1) sur un papier d’une cer-taine épaisseur (voire cartonné)et vérifiez que l’échelle est respec-tée (l’écart interligne est de5 mm). Il est temps de s’initier àl’origami et de plier le papier à90 ° vers l’arrière au niveau deslignes pointillées, le papier étantreplié à 90 ° vers l’avant auniveau de lignes pleines. SI l’onutilise du papier cartonné, onpourra passer sur les lignes àl’aide d’un stylo sans mine (etrègle) pour faciliter le pliage. Onse retrouve en présence d’unescalier dont le dessous estimprimé (figure 2).
Munissez-vous de l’image-testlorsque vous allez chez votrerevendeur de matériel micro-infor-matique. Placez l’escalier sur laplaque de verre du scanner choisiet effectuez un scan en modeniveaux de gris ou couleur maispas en N&B ou OCR.
Il est possible immédiatement,grâce aux surfaces quadrillées,de voir quelle est la résolution enprofondeur et la distance d’éclai-rage. La résolution en profondeurest un élément fixe fonction de
l’optique, l’é-clairage pouvant
être modifié ultérieure-ment; il est même possible descanner correctement des objetsauto-éclairés.
Tous les objets ne peuvent pasêtre scannés, en particulier s’ilsdépassent les possibilités méca-niques du scanner (éléphant),sont mobiles (insectes), fuient (bat-teries), etc. Attention égalementaux objets tels que pierres pré-cieuses qui peuvent, de par leurdureté, rayer la plaque de verredu scanner ! Il vaut mieux ne pasposer de tels objets sur le verremais de les fixer à l’aide deruban adhésif double face dansle fond d’un support (boîtier decongélation en plastique laiteux).
Avant le scan, ajustez le pointN&B, les résultats sont meilleurs,ceci par le réglage correspon-dant de la courbe de référence(accessible le plus souvent parl’onglet options avancées dumodule Twain du scanner). Vouspouvez compenser à ce niveau lachute de luminosité normale dansle cas d’objets sphériques.
Le scan se fera au maximum à larésolution physique maximale du
scanner concerné, sachant qu’au-delà tout ce qui est obtenu est uneinterpolation (traitement mathéma-tique). Il est possible, ultérieure-ment, de diminuer la résolution àl’aide d’un programme de traite-ment graphique. Si vous devezarchiver les images il ne faudrapas les comprimer (ne pas lesmettre en .jpg par exemple) maisles sauvegarder dans un formatsans perte (.tiff par exemple).
Bien le bonjour à DaliSi l’on scanne couvercle ouvert(sous un éclairage qui ne soitpas trop puissant) les objets setrouvent placés sur un fond noir.Il est possible de modifier la cou-leur de l’arrière-plan à l’aided’un logiciel de dessin et de leremplacer le cas échéant par lefond de votre choix. Il est, avec laplupart des motifs, bien souventimpossible de savoir, a poste-riori, comment ils ont été photo-graphiés. Par l’éclairage uni-forme, les images deviennent debelles photos de bureau.
Si l’on bouge l’objet en cours d’o-pération on obtient des effets sur-réalistes étonnants.
Un scanner permet même decréer des images-stéréo : les
Images viavotre scannerMacro-caméra hautes perfos
Jürgen Friker
La quasi-totalité des posses-seurs d’ordinateur possède,sans le savoir, un appareilphoto haut de gammepour la macro-photogra-phie : son scanner !
12/2004 - elektor 67
s du concepteur secrets du concepteur secrets du concep
0 cmDéfinition / Focalisation Jürgen Friker, 2004
0,5 cm
1,0 cm
1,5 cm
2,0 cm
2,5 cm
3,0 cm
3,5 cm
4,0 cm
4,5 cm
5,0 cm
5,5 cm
040128 - 11
DS1302
IC1SCLK
VCC2 VCC1
GNDI/O
RSTRTC
X2
X1
3
1
4
6
7 2
5
8
X1
32.768kHz
BT1
3V0...3V6
040139 - 11
VCC2
SCL
RST
SDA
GND
Pla
que
de v
erre
du
scan
ner
040128 - 12
photographes obtiennent cet effetpar un déplacement latéral del’appareil photo, avec un scanneril suffit de déplacer l’« objet »latéralement. Le montage des tri-plets se fait alors sur l’écran del’ordinateur. Les images stéréodoivent toujours être imprimées
en triplets G-D-G (D-G-D est égale-ment possible) car ce n’est qu’a-lors que l’on peut effectuer uneobservation parallèle (P, II) voirecroisée (X, crosseyed) sansmoyen auxiliaire.
(040128-1)
1
2
Horloge temps réelBenjamin Metz
Certaines applications à basede microcontrôleur requièrent unsuivi de l’heure. Bien souvent lelogiciel s’en charge. Cela n’arien de bien sorcier, et si l’oncherche bien, on trouve sur Inter-net un exemple pour pratique-ment n’importe quel type decontrôleur. Cette approche n’estcependant pas idéale lorsquel’on a besoin d’une précisionélevée, que la consommation decourant (au repos) doit être mini-misée ou tout simplement quel’on n’a plus suffisamment deplace pour le code requis.Il existe heureusement une alter-native très simple, à savoir unehorloge en temps réel« dédiée ». Cette dénominationfait plus cher que le coût réel. Eneffet, tout ce dont on a besoinest un circuit intégré et unquartz ! Le DS1320 est un exem-ple de ce genre d’horloge. Unetension d’alimentation compriseentre 2,0 et 5,5 V et un quartzhorloger bon marché travaillant à32,768 kHz. Notez que lequartz doit avoir une capacitéde charge spécifiée de 6 pF.
Le circuit dispose de 2 lignes d’a-limentation, d’une ligne pour lemode normal et d’une dernièreligne servant à rester à l’heure enveille, par le biais d’une pile desauvegarde par exemple.Le circuit donne les secondes,minutes, heures, jours, mois etannées, en tenant compte de lalongueur des différents mois etdes années bissextiles. L’horlogepeut travailler en mode 12 ou24 heures. La programmation etla lecture de cette horloge entemps réel se fait par le biais dubus I2C intégré dans le compo-sant. La fiche de caractéristiquesdu circuit intégré à décharger àl’adresse donnée plus loinexplique la technique à utiliserpour cela.À noter que le DS1320 intègreen outre un chargeur de maintien(au goutte-à-goutte) utilisable pourun accu de sauvegarde.
Pour de plus amples informations :pdfserv.maxim-ic.com/
en/ds/DS1302.pdf
Exemple de programme (MBASIC) :www.basicmicro.com/downloads/docs/DS1302RTC.pdf
(040139)
12/2004 - elektor 67
s du concepteur secrets du concepteur secrets du concep
0 cmDéfinition / Focalisation Jürgen Friker, 2004
0,5 cm
1,0 cm
1,5 cm
2,0 cm
2,5 cm
3,0 cm
3,5 cm
4,0 cm
4,5 cm
5,0 cm
5,5 cm
040128 - 11
DS1302
IC1SCLK
VCC2 VCC1
GNDI/O
RSTRTC
X2
X1
3
1
4
6
7 2
5
8
X1
32.768kHz
BT1
3V0...3V6
040139 - 11
VCC2
SCL
RST
SDA
GND
Pla
que
de v
erre
du
scan
ner
040128 - 12
photographes obtiennent cet effetpar un déplacement latéral del’appareil photo, avec un scanneril suffit de déplacer l’« objet »latéralement. Le montage des tri-plets se fait alors sur l’écran del’ordinateur. Les images stéréodoivent toujours être imprimées
en triplets G-D-G (D-G-D est égale-ment possible) car ce n’est qu’a-lors que l’on peut effectuer uneobservation parallèle (P, II) voirecroisée (X, crosseyed) sansmoyen auxiliaire.
(040128-1)
1
2
Horloge temps réelBenjamin Metz
Certaines applications à basede microcontrôleur requièrent unsuivi de l’heure. Bien souvent lelogiciel s’en charge. Cela n’arien de bien sorcier, et si l’oncherche bien, on trouve sur Inter-net un exemple pour pratique-ment n’importe quel type decontrôleur. Cette approche n’estcependant pas idéale lorsquel’on a besoin d’une précisionélevée, que la consommation decourant (au repos) doit être mini-misée ou tout simplement quel’on n’a plus suffisamment deplace pour le code requis.Il existe heureusement une alter-native très simple, à savoir unehorloge en temps réel« dédiée ». Cette dénominationfait plus cher que le coût réel. Eneffet, tout ce dont on a besoinest un circuit intégré et unquartz ! Le DS1320 est un exem-ple de ce genre d’horloge. Unetension d’alimentation compriseentre 2,0 et 5,5 V et un quartzhorloger bon marché travaillant à32,768 kHz. Notez que lequartz doit avoir une capacitéde charge spécifiée de 6 pF.
Le circuit dispose de 2 lignes d’a-limentation, d’une ligne pour lemode normal et d’une dernièreligne servant à rester à l’heure enveille, par le biais d’une pile desauvegarde par exemple.Le circuit donne les secondes,minutes, heures, jours, mois etannées, en tenant compte de lalongueur des différents mois etdes années bissextiles. L’horlogepeut travailler en mode 12 ou24 heures. La programmation etla lecture de cette horloge entemps réel se fait par le biais dubus I2C intégré dans le compo-sant. La fiche de caractéristiquesdu circuit intégré à décharger àl’adresse donnée plus loinexplique la technique à utiliserpour cela.À noter que le DS1320 intègreen outre un chargeur de maintien(au goutte-à-goutte) utilisable pourun accu de sauvegarde.
Pour de plus amples informations :pdfserv.maxim-ic.com/
en/ds/DS1302.pdf
Exemple de programme (MBASIC) :www.basicmicro.com/downloads/docs/DS1302RTC.pdf
(040139)
elektor - 12/2004
DOMOTIQUESUR MESURE« Self-automatisation »
Bien qu’il existe différents standards de domotique et qu’aucund’entre eux n’est arrivé à dépasser le niveau de la mêlée,nombre de propriétaires immobiliers ont pris le taureau par lescornes et ont essayé d’interconnecter en réseau différentsappareils en vue d’automatiser leur domicile ou d’ytélécommander des appareils.
68
ÉLECTRONIQUE EN LIGNE
Harry Baggen
On trouve, sur Internet, nombrede personnes qui montrent, surleur site, leurs tentatives d’auto-matisation. Certains y présen-tent le gros œuvre (mise enplace du câblage et intercon-nexion des appareils), d’autresfont quasiment tout tout seuls etconçoivent l’électronique néces-saire à une fonction donnée.Ces 2 sortes de sites sont inté-ressants car ils donnent unebonne idée de tout ce que l’onpeut réaliser au niveau de l’au-tomatisation d’une habitation.
Il est surprenant de constaterque la plupart des exemplesreposent sur le système X10, unstandard qui, dans noscontrées, n’a pris son envoléequ’il y a peu. Ce sont ses possi-bilités limitées (trafic unidirec-
12/2004 - elektor
tionnel sans réponse entre autres) qui font qu’il ne soitpas répandu en Europe. Depuis, le X10 a évolué et nom-bre de périphériques X10 (en version 230 V) sont égale-ment disponibles ici.
Black Firs [1] est une belle propriété dans le sud de laGrande Bretagne « aux mains » de Mike en Amalia Hug-gins depuis quelques années. Lors de la rénovation de latotalité du réseau électrique de leur maison, ils décidè-rent d’en profiter pour installer un réseau de domotique.Le résultat est impressionnant et l’examen des photos auxdivers stades de l’exécution. Impressionnant en effet, neserait-ce qu’en raison de la présence d’une alimentationde secours, une UPS, de pas moins de 5 000 VA ! Autreaspect intéressant, la présence de 110 et de 240 V danstoutes les pièces.
Le site de Andy Burton [2] est plus rigide mais on ytrouve des informations plus techniques. On y aborde,entre autres, la configuration adoptée, le câblage, lelogiciel et le système de home-cinéma.
La page de Edward Cheung [3] va encore plus loin.Tous les composants qu’il a utilisés sont décrits un par un.Autre point intéressant les serveurs Web à PIC conçuspar Cheung et utilisés dans son système domotique.
Sur la page Tom’s home automation web-page [4] on entre dans les secrets du système X10. Ilen aborde les possibilités, décrit les modifications effec-tuées sur des modules X10 existants et donne bienentendu un panorama du concept de son propre sys-tème domotique. Les schémas de quelques modules X10où sont mentionnées les modifications nécessaires pourun fonctionnement avec le secteur 230 V européenvalent d’être consultés. La plupart de ces modificationsproviennent d’autres sites, mais Tom a en fait une col-lection bien ordonnée.
Si les détails techniques et les modifications vous intéres-sent, le détour par le site X10 home automationknowledge base [5] vaut sans doute la peine. On yévoque théorie et protocoles.
Le site de Hans Otten 6] est plus centré sur l’utilisationde X10 en Europe. Il donne des conseils quant à la miseen oeuvre de périphériques X10, aborde la réalisationd’un réseau domestique et décrit également quelquesmodifications de modules X10.
Le site Leike’s Homepage [7] offre une description trèsparlante du système X10 et de ses possibilités. Nous ydécouvrons plus de 100 liens, un panorama des logicielsX10, une liste de forums et même une énumération desalons ayant trait (en partie) à ce domaine.
Il nous reste à mentionner 3 sites qui méritent la visite deceux que le sujet intéresse : le DIY Home automationwebring [8], le site de la X10-community [9] et leHome Automation Index [10].
(045081-1)
69
Adresses Internet :[1] Black Firs: www.blackfirs.com/
[2] The Burton’s automated home:http://homepage.ntlworld.com/chipb3/ha/index.htm
[3] Homepage Edward Cheung: www.edcheung.com/
[4] Tom’s home automation webpage: www.laureanno.com/
[5] X10 home automation knowledge base:www.geocities.com/ido_bartana/
[6] Hans Otten’s X10 pages:www.geocities.com/SiliconValley/Hills/6490/index.html
[7] Leike’s homepage: www.leike.com/
[8] DIY Home automation webring:http://c.webring.com/webring?ring=homeauto;list
[9] X10-community: ww.x10.com/community/neighborhood_ha.htm
[10] Home Automation Index: www.homeautomationindex.com/
elektor - 12/200470
outils de développement outils de développement outilment
Déballons !Une carte de très belle factu-re et en couleurs SVP ! Il luifaut, comme toute carte deprogrammation ou d’évalua-tion ne travaillant pas sousUSB, de quoi l’alimenter.C’est là que l’on est frappépar l’absence d’adaptateurd’alimentation; il faut cepen-dant signaler l’existenced’un câble destiné à établirla liaison entre une sourced’alimentation quelconquefournissant une tensioncomprise entre 10 et 15 V etla carte du STK500. La carteest bien protégée contre uneinversion de la polarité de latension d’alimentation, cequi n’est pas toujours le casailleurs.Outre la carte, le câble d’ali-mentation et le câble RS-232, le set comporte égale-ment un CD-ROM et unmanuel (tous 2 en anglais) etquelques câbles multibrinsservant à assurer des inter-connexions. La carte arrivedotée d’un AT90S8515 et estaussi accompagnée d’unATmega16 pour se faire lamain.
Si l’on est un habitué deschangements de compo-
sants, on pourra regretterque les supports soient dessupports standards et nonpas des supports à tulipe,tels que les représentent lesillustrations du manuel del’utilisateur (pour 2 d’entreeux du moins). Tout lemonde connaît les risquesque l’on courre à sortir descircuits intégrés de tels sup-ports et à en enficher denouveaux, faux contacts, lesfines languettes ayant perduleur ressort. On pourraitimaginer d’implanter dessupports à contact tulipedans les différents supports,mais il se peut que le remè-de soit pire que le mal.
La famille des AVR d’Atmelest l’une des plus connuesdans le monde des amateursde réalisations personnellesmais aussi dans celui desprofessionnels en raison dunombre de types différentsqu’elle comporte et pour leuruniversalité.
Coup d’oeil à la carteUne belle réalisation à basede composants CMS.En fait, le STK500 se compo-se de 3 parties : au centre, lapartie programmation, sur la
droite la partie alimentationet communication RS-232,sur la gauche, la partiedémonstration et ports.
Le dos de la platine compor-te également des indica-tions sur le positionnementde certains des cavaliers.
Ses caractéristiques sontintéressantes :– Compatible avec AVR
Studio (versions 4 et 3.5fournies sur le CD-ROM)
– Interface RS-232 pourcommande et programma-tion
– Alimentation embarquéeprotégée
– Supports pour compo-sants AVR à 8, 20, 28 et40 broches
– Programmation parallèleou sérielle haute tensiondes microcontrôleurs
– ISP (In-SystemProgramming) pour la pro-grammation de µC AVRimplantés sur un systèmeexterne
– Reprogrammation de com-posants AVR
– 8 boutons-poussoirs d’u-sage général
– 8 LED d’usage général.– 2 Mbits de mémoire de
données en Flash
Le nombre de microcontrô-leurs d’Atmel que le STK500permet de programmer estimpressionnant, surtout sil’on sait combien il existe detypes de processeurs diffé-rents à 8 broches tels queles ATtiny 12, ATtiny 15 (ànoter qu’ils utilisent 2 sup-ports différents), à 20 bro-ches AT90S2313,AT90S1200, à 28 brochestels que les AT90S233 etATtiny28 (à nouveau 2 sup-ports distincts) et à 40 bro-ches pour les AT90S4434 etATmega161 (ici aussi,2 supports distincts). Lemanuel mentionne pasmoins de 32 types de micro-contrôleurs directementprogrammables sur les9 supports (dont 8 seule-ment sont utilisés sur cetteversion du STK500, 4 descomposants les ATmega 64,103, 128 et 169 requièrentl’implantation d’une exten-sion, le STK501 ou STK502Top Module et ne peuventde ce fait être que program-més sur un montage-cibleexterne). Comme on le voit,il faut bien savoir ce que l’onveut faire.Heureusement qu’Atmel aopté pour un système decouleurs qui permettent de
STK500Pour la quasi-totalité des µC d’Atmel !
À l’ouverture du coffret, on a tendance àpenser : est-ce tout, à la vue de la seuleplatine dans son emballage antistatique.Mais on a vite fait de constater qu’il s’a-git d’un coffret à « double fond » !
mieux associer les supportsaux connecteurs de pro-grammation.Les mains dans le cambouisÀ noter que l’on peut vérifierle fonctionnement de lacarte sans avoir à la connec-ter à un PC. On connecteune alimentation au jack etaprès avoir basculé le bou-ton POWER, la LED d’ali-mentation rouge s’allume etla LED d’état (bicolore)passe du rouge au vert. LeAT90S8515 présent dans lesupport du bas est program-mé pour un pilotage desLED suite aux actions sur lesboutons-poussoirs. Uneaction maintenue ou fugitivesur les boutons SWX se tra-duit par différents alluma-ges des LED, clignotements,incrémentation et décré-mentations. Une pressionsur le bouton RESET leséteint toutes.AVR Studio, l’IDE Comme lemontrent les recopies d’é-cran, AVR STudio, ici danssa version 4, est un IDE(Integrated DevlopmentEnvironment) très conforta-ble.Il va sans dire que l’on nepourra utiliser qu’un seultype de microcontrôleur à lafois. À noter que les
AT90C8534, ATtiny11 etATtiny28 ne peuvent pasêtre programmés in-situ.En résumé, un kit de déve-loppement et de program-mation aux possibilités trèsdiverses, requérant, pourson utilisation, une lectureattentive du manuel et unrien de logique. L’IDE esttrès moderne et confortable.
(047161-1)
Liste des µCprogrammablesATtiny11 ATtiny12 ATtiny15 ATtiny22 ATtiny26ATtiny28
AT90S1200 AT90S2313 AT90S2323AT90S2333 AT90S2343 AT90S4414AT90S4433 AT90S4434 AT90S8515AT90S8535
ATmega8 ATmega8515 ATmega8535ATmega16 ATmega161 ATmega162ATmega163 ATmega169 (2) ATmega32Atmega64 (1) ATmega323 ATmega103 (1)
ATmega128 (1)
AT89951 (3) AT89952 (3) AT86RF401 (3)
(1) montage-cible externe ou module adaptateur
STK501(2) montage-cible externe ou module adaptateur
STK502(3) montage-cible externe uniquement
12/2004 - elektor 71
s de développement outils de développement outils de dévelo
12/2004 - elektor 75
ue rétronique rétronique rétronique rétronique rétroniq
Testeur de tubesHeathkit TC-2PJan Buiting
J’ai trouvé ce bijou à un endroit oùje ne m’y attendais pas, à savoirun marché aux puces pour piècesdétachées de motocyclettes d’an-tan ! De l’avis du vendeur, entouréde pistons et autres pièces demoteurs, il s’agissait d’un « instru-ment électrique quelconque » per-mettant « je crois, te tester toutessortes de trucs ». À l’ouverture ducoffret j’eu vite fait de reconnaîtreun testeur de tubes Heathkit ayantconnu des jours meilleurs.Après avoir convaincu le proprié-taire que je n’avais pas la moin-dre idée de ce à quoi pouvaitbien servir cet instrument que deplus « était incomplet, dans un étatde conservation déplorable » jepuis, cachant ma joie, l’emporterpour 10 livres.
Rosée levanteMon TC-2P (construit aux alentoursde 1962) a beaucoup souffert del’humidité après avoir sans douteséjourné de longues années dansune cave humide. Le panneau decommande comportait de largestaches qui semblaient être du cal-
caire. Elles furent heureusementaisément éliminées à l’aide d’unebrosse à dents douce et d’un peude car wax. J’ai à dessein évité detraiter une partie du tableau. Tousles boutons et le galvanomètre àbobine mobile furent enlevés, lepanneau de commande retrouvantvite son lustre d’antan.À l’examen des « entrailles », ils’avéra qu’il y avait de gros pro-blèmes. Le câble secteur(110 V CA) avait la consistancede cornflakes présentant partantun danger certain. Le petit inter-rupteur marche/arrêt coulissantétant totalement bloqué par unematière blanche inconnue. Toutceci fut vite réparé sans trop deproblèmes.
La pièce la plus problématique futle galvanomètre à bobine dontl’aiguille semblait cassée. Un exa-men approfondi me permit deconstater que l’ensemble ancre/bobine du galvanomètre (une mer-veille d’assemblage de précision)avait été mangé par la corrosionau point d’être irréparable. Lasolution fut de récupérer un autregalvanomètre 1 mA antique dontj’ai remplacé l’échelle par la pla-quette d’origine de Heathkit avecsa si jolie légende
BAD – ? – GOOD.
Après avoir percé 4 orifices dansle panneau de commande j’y aimonté le « nouveau » galvanomè-tre. Il fonctionna comme uncharme.La carte de sélection de tube parroulette des testeurs de tubes deHeathkit est connue pour être aisé-ment endommagée par une utilisa-tion soit trop fréquente, soit troprare ! Chez moi, la partie de lacarte disposée horizontalementdepuis des années a séché et estdevenue tellement rigide qu’ellerisque de craquer si je tourne laroulette. Aujourd’hui elle tourne ànouveau, même s’il n’est pas pos-sible d’aller à fond. Le problèmefut résolu par un téléchargementde la carte depuis Internet et parréférence aux pages impriméespour déterminer les paramètresd’un tube spécifique à tester.
Utilisation pratiqueAu milieu des années 70, un ami,radio-amateur comme moi me per-mettait à l’occasion d’utiliser sonincroyable TT-1, un testeur detubes pour vérifier quels tubes dema collection étaient encore enbon état. Il apparut qu’il n’y enavait que peu !Se servir d’un testeur de tubesdevint rapidement une secondenature. Utiliser la carte déroulante,trouver les codes du brochage et
paramétrer les commandes etinterrupteurs pour le tube à testertout ceci requiert de bien faireattention sinon on risque d’obtenirdes résultats pour le moins étran-ges lorsque l’on abaisse le levierTEST. La plupart des badaudsavaient un léger sourire aux lèvreslors d’une démonstration du TC-2pour vérifier la « qualité » dequelques tubes implantés dans dif-férents supports en voyant l’ai-guille bouger, les plus jeunesétaient étonnés de voir qu’il exis-tait des tubes aussi « gros » que le807.Quelqu’un aurait-il un set de capu-chons pour les leviers en excé-dent ? 8-)))
(045086-1)
Liens Internetwww.jogis-roehrenbude.de/
Roehren-Geschichtliches/Roe-Pruefer/Heat hkit-TC-2/Heath-TC-2.htm
http://bama.sbc.edu/heath.htm
1 2
Rétronique est une colonne mensuelle s’intéres-sant à de l’électronique du siècle dernier y comprisdes montages de légende décrits dans Elektor.Nous sommes ouverts à toutes les contributionset suggestions. N’hésitez pas à nous envoyer un E-mail à [email protected], sujet : Rétronique Elektor
elektor - 12/200476
Règles de participation :
Envoyez votre réponse à la question Trick.e parCourriel, Télécopie ou Courrier à
Rédaction Elektor, SEGMENT B.V./ELEKTORchez WWS, 4, Rue Caroline, 75017 Paris,
Télécopie 01.42.61.18.78, Courriel : [email protected]
Date limite de réception des envois :le 15 décembre 2004.
Tout recours légal est exclu. Cette opération estouverte à tous nos lecteurs, exception faite despersonnels de SEGMENT B.V., société dont faitpartie Elektor.
Gagner avec
TRICK.e !Les lecteurs ayant envoyé les 3 réponsesjugées les meilleures gagnent
un chargeur ultra-rapide (15 mn)
Charge & Go de VARTA
y compris 4 accus AA Charge & GoMigon, le tout d’une valeur de quelque70 €.
L’évaluation des réponses sera effec-tuée sous l’égide du ProfesseurOßmann en collaboration active avecles rédactions d’Elektor; tout recourslégal contre cette opération est exclu.En cas de réponses identiques, le vain-queur sera tiré au sort.
Martin Oßmann est un professeur del’Université Technique d’Aix-la-Cha-pelle. On le voit ici en magicien pen-dant son discours de Noël dans lecadre duquel il effectua une démons-tration de la guirlande lumineusemagique décrite dans ce TRICK.e.
040272 - 4 - 11
U
040272 - 4 - 12
U
L
La1
La2
La3
Dans le cadre de l’Avent, nous allons cette foisnous intéresser au problème classique de l’arbrede Noël. Les guirlandes lumineuses classiquesont leurs ampoules en série (figure 1), ce quise traduit immédiatement par un problème.En cas de défectuosité d’une ampoule, le cir-cuit-série est interrompu et toutes les ampoulessont éteintes. Non seulement on se retrouvedans le noir, mais il est de plus difficile, mêmeà l’aide d’une « vraie » bougie, de découvrirl’ampoule défectueuse. Il doit pourtant existerune solution. Nous allons monter les ampoulesd’une manière légèrement différente, telle quel’illustre la figure 2.À chaque ampoule arrive un conducteur de lon-gueur L = 4,5 m. Nous allons utiliser pour cela,en raison de leurs belles couleurs, des liaisons àbase de paires torsadées d’un câble Ethernet.À proximité de l’alimentation nous remettons ensérie les extrémités des câbles. La photo de lafigure 3 montre l’approche adoptée. Lesampoules utilisées sont, en règle générale, dutype 12 V/0,1 A.Nous allons maintenant alimenter l’ensemble àl’aide d’une source d’alimentation alternativeconvenable, fournissant 36 volts et découvronsun fonctionnement totalement différent de laguirlande lumineuse: en cas de défectuosité del’une des ampoules de la nouvelle guirlandelumineuse (ce que l’on peut simuler en dévissantl’une des ampoules), les autres ampoules res-tent gentiment allumées, mieux encore, ellesvoient leur luminosité augmenter un courtinstant ! La luminosité totale reste constante, lafête de Noël peut battre son plein. Il est en outretrès facile d’identifier l’ampoule défectueuse.Notre question ce coup-ci :
Comment cela fonctionne-t-il ?
TRICK.e D1
2
3
12/2004 - elektor 77
DU PROF OSSMANNLa solution :La première idée à laquelle on pense :le circuit comporte un élément engen-drant des pertes, à savoir larésistance R. Elle fera en sorte que tou-tes les tensions et courant chutent gen-timent. De ce fait toute l’énergie vadans cette résistance. Mais les chosessont plus compliquées que cela.Suivons l’indice et examinons le pro-blème de dualité. Au lieu d’un circuitparallèle comportant 2 bobines, unerésistance et un interrupteur fermé,nous obtenons un circuit-série constituéde 2 condensateurs, d’une résistance(élément conducteur) et un interrupteurouvert (figure 4). Avant fermeture del’interrupteur (t <0) la tension aux bor-nes du condensateur gauche C1 pos-sède une valeur U1 = U et le conden-sateur C1 possède une chargeQ = C ⋅ U. Le condensateur gauchestocke l’ensemble de l’énergie du sys-tème, W, qui vaut W(0) = 1/2CU2.Lorsque l’on ferme l’interrupteur, lacharge du condensateur C1 se trans-fère vers le condensateur C2. Audébut, le courant I est limité par larésistance uniquement. Il prend toutd’abord une valeur I = U/R et chute defaçon exponentielle. Si l’on attend suf-fisamment (infiniment) longtemps, onaura la même tension aux bornes des2 condensateurs, à savoir Q = 2. Lafigure 5 illustre l’évolution qualitativedu courant et de la tension. De ce fait,cette tension vaut exactement U/2 etl’énergie stockée dans l’ensemble dusystème vaut W(∞) = 1/4CU2. Cecicorrespond à la moitié de l’énergieW(0) se trouvant dans le système audébut. Le reste a été dissipé en chaleurdans la résistance. Elle vaut partantWR =1/4CU2 indépendamment de larésistance R !Il se passe dans notre circuit à bobineexactement la dualité : lors de l’ouver-ture de l’interrupteur le courant qui cir-cule à travers la bobine L1 doit, auxpremiers instants, continuer de traver-ser la résistance vu que le courant nepeut qu’augmenter lentement dans L2.Il naît ainsi aux bornes de la résis-tance R une tension U. La tension chuteensuite de façon exponentielle, tandis
que le courant dans la bobine L2 croît.De ce fait, le courant de bobine croîtjusqu’à la moitié de la valeur dedépart, le courant à travers L1 chutantlui à la moitié. La réponse à notre ques-tion est partant : on a, dans la résis-tance, dissipation en chaleur d’uneénergie WR = 1/4LI2 = 0,5 mWs.Par le biais de l’expérience à base decondensateur on peut utiliser le com-portement de charge de la plaquettesupérieure (haut de la figure 6) pourexpliquer pourquoi l’état final serégule ainsi. Existe-t-il, dans l’expé-rience à base de bobines, la mêmegrandeur de transfert similaire. Les
bobines L1 et L2 étant idéales, ellesconstituent une boucle parfaitement (àl’infini) conductrice (bas de lafigure 6). Mais dans des boucles par-faitement conductrices à l’infini, le fluxmagnétique est constant. En effet, s’ildevait varier, on aurait une tensioninduite dans la boucle (loi d’induction).En raison de la conduction infinie elle setraduirait par des pertes infinies. Il estd’ailleurs possible de démontrer toutcela à l’aide de bobines supraconduc-trices. En l’absence de supraconductionles pertes au niveau des bobines(conduction finie) entraînent une dimi-nution relativement rapide des champsmagnétiques. Il est en effet toujoursplus simple de transférer des conden-sateur chargés que des bobines char-gées. On retrouve les situations décri-tes tout juste dans les alimentations à
découpage dans lesquelles les chargesou les flux magnétiques se transfèrenten cas de perte d’énergie.
(040272-4)
Solution du TRICK.e du n°317 (novembre) :
C1 C2
040272 - 3 - 13
R
SUR
U1 U2
040272 - 3 - 14
II
t
U/R
U
U2
U1
t
U/R
U
RL1
C1 C2
L2
H
E
S
040272 - 3 - 12
R S
Figure 4: Circuit à base de2 condensateurs.
Figure 6. Grandeurs de transfert.
Figure 5. Évolution du courant et de la tension.