• catégorie : Domestique
  • Publié en 5/2008 à la page 54
Présentation de l'article

DigiButler (2)

Assemblage, essais et installation du logiciel

DigiButler (2)
Comme suite de l’article paru en avril 2008, voici la seconde et ultime partie qui décrit la construction de l’ensemble et la mise en relation du matériel et du logiciel pour donner vie sur Internet à DigiButler aux commandes d’un appareil électrique, chez vous ou au bureau. Soyez d’une extrême prudence si vous utilisez cette carte pour brancher un appareil à la tension du secteur qui sera alors présente sur les broches de J14 et de RE1. Le courant maximum à commuter par les lames du relais ne peut pas excéder 2 A. Au moindre doute, demandez conseil à un professionnel avisé.Pour le téléchargement de CodeWarrior 6.3 for Coldfire voir l'onglet Mises à jour, Infos.
Le téléchargement de cet article est réservé aux membres abonnés d'Elektor.
Cliquez ici pour vous identifier.
Produits
Fichier Gerber

Le circuit imprimé de cet article est disponible sous forme d’un ou plusieurs fichiers Gerber. Seuls les membres de la communauté d’Elektor peuvent télécharger gratuitement ce(s) fichier(s). Avec ce(s) fichier(s), vous pouvez réaliser vous-même le circuit imprimé ou bien le faire faire.
Si vous souhaitez passer par un service en ligne, nous vous recommandons notre partenaire Eurocircuits. Nous faisons régulièrement appel à Eurocircuits pour nos prototypes et notre production en série.

Extra info, Update

Le lien donné en Référence [1] n'existe plus sur le site Web de Freescale. CodeWarrior 6.3 for Coldfire est disponible ici sous l'onglet Téléchargements gratuits. Pour info, la taille du fichier est de l'odre de 145 Moctets.

 

Article d'avril

Vous pouvez trouver des informations supplémentaires ici:

magazines/2008/avril/digibutler.404815.lynkx

 

5 mai 2008

La production du microcontrôleur du type MC68HC908JB16 utilisé dans le document TBLCF original a été cessée. Le composant qui le remplace est le MC908JB16JDWE disponible sous forme d'échantillon gratuit par le biais du site Web de Freescale.

 

21 Mai 2008

La date d'approvionnement prévue pour le kit DigiButler (no 071102-71) se situe en cours de semaine 22 (26 au 31 mai 2008). Nous vous prions de bien vouloir nous excuser pour les conséquences potentielles de ce retard.

 

3 Juin 2008

Il a été découvert une paire de connexions de pistes incorrectes sur les cartes partiellement montées fournies par Freescale. La disponibilité du kit 071102-71 s'en trouve quelque peu retardée d'ici que soit trouvée une procédure de modification, fonctionnelle et testée. Nous vous prions, une fois de plus, de bien ne pas en vouloir trop pour le retard consécutif à cette découverte. Cette erreur existe également sur la carte 071102-1 disponible en EPS par le biais de l'E-choppe Elektor (non programmée et dotée des seuls composants CMS). Comme les livraisons avaient été retardées, il n'a pas été livré de platine "défectueuse" et celles qui seront fournies auront été corrigées.

 

20 août 2008

La liste des composants et le schéma corrigés ont été produits en masse (version papier) pour être inclus dans les kits (071102-71).

La livraison des 300 kits initiaux démarre le vendredi 22 août (commandes en attente).

Les cartes non programmées sont attendues la semaine 36 - reçues - livraison semaine 37.

Nous attendons la livraison de nouvelles cartes programmées : seront annoncées - reçues - livraison semaine 37.

 

3 Septembre 2008

Le contrôleur présent sur la carte (U1) a tendance à chauffer au toucher (de l’ordre de  40 à 50 degrés Celsius). Ceci est parfaitement normal et reste bien en deçà des spécifications fabricant – Cf. la fiche de caractéristiques du MCF52231.

 

4 Septembre 2008

En raison de la demande souvent formulée, les cartes vierges du TBLCF tool vont être mises au programme de l’e-choppe d’Elektor. Le numéro de commande de la platine sera 071102-2. Il est prévu, actuellement, que les cartes soient disponibles en semaine 40; il est donc préférable de ne pas effectuer de commande bien avant cette date. Le fonctionnement et la réalisation de la carte TBLCF sont expliqués en détail dans le document (en anglais) TBLCF manual_v14.pdf, dû à  Daniel Malik.

 

4 Septembre 2008

Toutes les cartes DigiButler programmées comportent une version ancienne du progiciel (firmware) qui force le système à répondre à l’adresse IP statique 192.168.0.151 la totalité des autres fonctionnalités respectant les termes des articles publiés dans le magazine, y compris l’accès WAP et les pages Web. Une adresse IP statique est utile si ce n’est essentielle pour des applications requérant une commande à distance sécurisée et qu’un utilisateur autorisé n’est pas en mesure de connaître les adresses IP assignées par le DHCP après une réinitialisation (reset) d’un routeur (suite à une disparition momentanée de la tension d’alimentation par exemple).

Pour être en mesure d’établir une liaison (LINK) avec le DigiButler, votre routeur se doit de supporter la plage IP 192.168.0.1 pour des périphériques client. Consultez si nécessaire la documentation de votre routeur en votre possession à ce sujet. De nombreux routeurs, mais pas tous, permettent une modification de la plage d’adresses IP par le biais de leur utilitaire de configuration. Le routeur ou le PC si ce dernier est relié directement au Digibutler se doit de connaître le mode 100 Mbit/s. La connexion à un port LAN (Local Area Network) de PC requiert l’utilisation d’un câble Ethernet croisé.

 

Au cas où :

a). l’utilisateur n’a pas la possibilité de définir 192.168.0.151 comme adresse IP client convenable sur le routeur ;

b). l’utilisateur n’a pas la possibilité de paramétrer 192.168.0.1 comme l’adresse IP client sur le routeur (et donc de permettre au DigiButler de résider à l’adresse 192.168.0.151);

c). l’utilisateur souhaite utiliser la fonctionnalité serveur DHCP en association avec DigiButler,

 

les procédures et les périphériques requis sont décrits ci-après, informations fournies par  John Stuart sur le Forum d’Elektor UK.

 

À titre info, le progiciel d’origine du DigiButler a été développé sous CodeWarrior for ColdFire Architectures version 6.3 (qui reste toujours téléchargeable gratuitement depuis la page Web consacrée au projet DigiButler), Freescale conseillant de ne pas utiliser la version 7.0 en raison de problèmes avec le MCF52231. Depuis lors, CodeWarrior en est passé à sa version 7.1 et tout récemment à sa version 7.2

 

La procédure en détail

Veuillez trouver ci-après les conseils sur la manière de modifier et de compiler le code source de DigiButler pour lui permettre d’obtenir automatiquement une adresse IP via DHCP. Il y est également décrit comment utiliser le programmateur TBLCF pour flasher le nouveau progiciel dans DigiButler. Il faut donc disposer d’une unité TBLCF fonctionnelle ou d’un autre outil de programmation Coldfire.

 

Voici, pour commencer, les fichiers dont vous aurez besoin :

1. CodeWarrior for Coldfire Architectures 7.1. Vous pouvez la trouver à cette adresse : www.freescale.com/webapp/sps/site/overview.jsp?nodeId=01272600610BF1

2. archive 071102-11.zip. Ce fichier est disponible à l’adresse www.elektor.fr/digibutler. Il se trouve sous l’entête « Téléchargements gratuits » sous la dénomination de « Software ». Ce fichier se trouve également sur le CD-ROM fourni avec le DigiButler kit d’ Elektor 071102-71.

3. setup.xml; est également à trouver sur la page de projet mentionnée plus haut («DHCP Update »).

4. mcf5223_sysinit.txt (peut-être); disponible lui aussi sur la page de projet mentionnée plus haut («DHCP Update »).

 

La première étape consiste à installer CodeWarrior 7.1. Ceci fait, il vous faut extraire les fichiers du projet de l’archive 071102-11.zip. Extrayez tous les fichiers de 071102-11.zip dans un dossier. Ouvrez ensuite le dossier appelé «Versions CW 7.0 » ; vous devriez y trouver un autre fichier compacté .zip appelé SW_Main_Board_31_03_08.zip. Décompactez ce fichier .zip et vous devriez trouver un dossier appelé SW_Main_Board, dossier qui contient tous les fichiers et le code source du projet.

 

Le répertoire contenant les fichiers du projet CodeWarrior s’appelle ..\SW_Main_Board\build\m5223evb. On trouve, dans le dossier m5223evb, un fichier baptisé elektor.mcp. Vous pouvez soit Glisser/déposer (drag and drop) elektor.mcp dans CodeWarrior, soit, depuis CodeWarrior, aller à File puis Open et choisir le fichier elektor.mcp. Vous devriez alors découvrir un répertoire avec tous les fichiers source sur la gauche de CodeWarrior.

 

Il vous faut, pour valider DHCP, procéder à deux modifications. La première se situe au niveau de main.c. Ouvrez main.c par un double clic sur son nom dans le répertoire (ce fichier se trouve dans le dossier « project files ». Cherchez le code suivant dans main.c:

 

#if 1  

     IP_ADDRESS(192,168,0,151);

     DEF_GATEWAY(192,168,0,1);

     SUBN_MASK(255,255,255,0);       

#else  // IP: 0.0.0.0 Gateway: 0.0.0.0 Mask: 255.255.255.0    -  Now DHCP client works properly

     IP_ADDRESS(10,171,88,10);

     DEF_GATEWAY(10,171,88,254);

     SUBN_MASK(255,255,255,0);   

#endif

 

Effacez ce code et remplacez-le par celui-ci :

 

#if 0  

     IP_ADDRESS(192,168,0,151);
     DEF_GATEWAY(192,168,0,1);

     SUBN_MASK(255,255,255,0);        

#else  // IP: 0.0.0.0 Gateway: 0.0.0.0 Mask: 255.255.255.0    -  Now DHCP client works properly

     IP_ADDRESS(0,0,0,0);

     DEF_GATEWAY(0,0,0,0);

     SUBN_MASK(255,255,255,0);    

#endif

 

La seconde modification est à faire sur ipport.h, que vous trouvez dans le dossier \common\ColdfireLite\headers. Identifiez le code suivant :

 

// EMG - To enable DHCP, uncomment the line below

//#define DHCP_CLIENT     1  /* include DHCP client code */

 

Effacez ce code et remplacez-le par :

// EMG - To enable DHCP, uncomment the line below

#define DHCP_CLIENT     1  /* include DHCP client code */

 

Compilez ensuite ce code en allant dans le menu Project et en optant pour « Make » ou en appuyant sur la touche F7. Souhaitons que la compilation se fasse sans erreur. Vous pouvez maintenant flasher la nouvelle version de progiciel dans le  DigiButler.

 

Ouvrez le dossier «TBLCF » qui se trouvait dans 071102-11.zip. Au cœur de ce dossier, extrayez les fichiers de « tblcf_v10.zip ». Suivez scrupuleusement et à la lettre les instructions données dans le document manual_v14.pdf pour installer les pilotes (drivers) TBLCF et flasher le TBLCF. Une fois que vous avez terminé le paramétrage du TBLCF allez dans le menu « Tools » et optez pour « Flash programmer » dans CodeWarrior. Cliquez sur le bouton « Load Settings » et choisissez setup.xml. À partir de cet instant CodeWarrior est prêt à flasher le DigiButler.

 

Assurez-vous, avant la programmation, que vous avez bien enfiché les cavaliers requis sur la carte du DigiButler. Le cavalier 2 (jumper 2) doit être enfiché et les broches 1 et 2 du cavalier 2 devraient être interconnectées.

 

Connectez le TBLCF au port de programmation du DigiButler, et enfichez ensuite le TBLCF dans votre ordinateur avant de mettre ensuite le DigiButler sous tension. Cliquez sur le bouton « Erase / Blank Check » dans CodeWarrior. Cliquez sur « Erase » et attendez l’apparition d’un message de succès de l’opération. En cas d’échec de l’effacement, faites un nouvel essai ; en cas de nouvel échec, redémarrez CodeWarrior.

 

Cliquez ensuite sur le bouton « Program / Verify » avant de cliquer ensuite sur « Browse ». Allez dans le dossier SW_Main_Board\obj et choisissez web_coordinator.S19. Cliquez maintenant sur « Program » et attendez l’apparition d’un message de succès.

 

Dès lors que DigiButler est programmé vous pouvez exécuter le logiciel en allant dans « Project » puis « Debug »ou en appuyant sur la touche F5. En cas d’apparition d’une fenêtre de dialogue, cliquez sur « Yes ». Vous devriez voir alors s’ouvrir la fenêtre de déboguage. Cliquez sur le bouton « Run » en haut à gauche de cette fenêtre (c’est le bouton doté d’une flèche et d’une vermine). Il se peut qu’il vous faille appuyer deux fois sur le bouton pour démarrer le programme. Si vous ne souhaitez pas déboguer il vous suffit d’appuyer sur le bouton de réinitialisation (reset) de la carte du DigiButler pour démarrer le programme.

 

Si, après la programmation, vous voyez apparaître le message « @@@@ LINK IS DOWN @@@@ » par le biais du port sériel, faites appel à un contournement  (workaround) logiciel se trouvant dans la pile TCP/IP la plus récente. Reprogrammez le DigiButler selon la procédure décrite plus haut. Sous CodeWarrior, ouvrez le fichier appelé mcf5223_sysinit.c se trouvant dans le répertoire « Cpu ». Sélectez la totalité du code et effacez-le. Recopiez le code de mcf5223_sysinit.txt (téléchargement depuis la page de projet) et collez-le dans mcf5223_sysinit.c. Compilez et flashez le code dans le DigiButler. Le problème devrait être résolu maintenant.

 

Notes :

1. Il vous faut toujours effacer le contrôleur (MCU) avant la programmation.

2. Il se peut qu’il vous faille redémarrer CodeWarrior entre deux programmations. Ceci pourrait être dû à un mauvais setup.

3. Après la programmation, le taux de transmission sériel (serial baud rate) sera fixé à 115200. Vous pouvez le changer dans le fichier m5223evb.h en modifiant cette ligne :

#define UART_BAUD                115200    /*  19200*/ 

Remplacez 115200 par le taux de transmission que vous souhaitez.

4. Vous trouverez des utilisateurs de DigiButler très au courant à l’adresse : www.elektor.com/forum (pour nos lecteurs français, il ne dépend que de vous que nous démarrions une section DigiButler dans le Forum français).

En attendant, rendez-vous dans le Forum anglais et lisez avec attention les messages postés dans la section « DigiButler (April & May 2008) ».

 

5 Septembre 2008

Elektor a fait une demande officielle à Freescale de reprendre son service d’échantillons gratuits du MC908JB16JDWE utilisé sur la carte TBLCF. Environ 350 échantillons ont été envoyés aux lecteurs d’Elektor pendant la période de mai à juillet 2008.

 

15 septembre 2008

La carte TBLCF est à nouveau disponible chez Elektor. Toutes les commandes en attente ont été livrées.

 

16 septembre 2008

Il est à nouveau possible de commander chez Freescale des échantillons gratuits du MC908JB16JDWE. Saisir « Elektor DigiButler » comme votre projet dans le formulaire de demande d’échantillon. Nous vous rappelons que le service d’échantillons gratuits dans certains pays ne dépend que de Freescale et qu’Elektor n’a aucune influence sur ce service.

 

25 novembre 2008

Les fichiers à téléchargement de Henri LAIDET ont été mis à jour:

- Les problèmes de blocage de la camera ont été résolus avec un NCV4276
- Ajout d'extensions IO TOR ( je vise la motorisation de la camera ) avec un MCP23S17
- Suppression de quelques bugs que j'avais laissés.
- Ajout répertoire "doc" avec historique+schéma électronique
- Ajout répertoire "site"  pages web ( base Elektor adaptées noms courts + camera )
- Ajout répertoire "screen" quelques captures d'écran
 
La gestion de la camera dans une page web est opérationnelle (pas encore de motorisation).

1. Composants déjà montés sur la platine

Résistances :

R3 = 12 k?, CMS 0805

R4 = 390 ?, CMS 0805

R5 = 10 M?, CMS 0805

R6 à R9 = 51 ?, CMS 1206

 

Condensateurs :

C2 à C4,C12 à C14 = 220 nF céramique CMS 0805

C9 à C11 = 100 nF céramique CMS 0805

C5,C6 = 22 pF céramique CMS 0805

C7 = 1 nF céramique CMS 0805

C8 = 100 nF céramique CMS 1206

C16 = 10 nF céramique CMS 1206

C17 = 220 nF céramique CMS 1206

 

Inductances

FB1,FB2 = perle ferrite BLM31PG601SN1 CMS 1206

 

Semi-conducteurs :

U1 = MCF52231CAF6 (Freescale)*

 

2. Composants à monter sur la carte

Résistances :

R1 = 22 ? SFR16S

R2,R17,R18 = 10 k? SFR16S

R15 = 470 ?

R10 à R13 = 75 ? SFR16S

R14 = 270 ?

R16 = 1 k? SFR16S

RN1 = réseau SIL de 7 résistances de 4k?7

RN2 = réseau SIL de 5 résistances de 10k?

RN3 réseau SIL de 7 résistances de 10k?

 

Condensateurs :

C1,C23,C24,C26,C19,C27 à C30 = 100 nF céramique au pas de 5 mm

C15,C20,C21 = 4?F7 solide CMS1206

C18 = 2nF2/1 000 V céramique (TDK)

C22 = 330 ?F/16 V électrolytique radial

C25 = 220 ?F/6V3 électrolytique radial

 

Semi-conducteurs :

D1 = 1N4004

D2 = LED verte 3 mm

D3 = 1N4148

D4 = LED jaune 3 mm

Q1 = BC546B

U2 = LD29080DT33R (STMicro)

U3 = MAX3232ECPE

 

Divers :

F1 = porte-fusible + fusible retardé 0,5 A 5 x 20 mm

J1 = embase autosécable à 2 rangées de 13 contacts

J2 = embase RJ-45 encartable

J3 = embase-jack d’alimentation encartable

J5 = embase sub-D à 9 contacts femelle en équerre encartable

J6 = embase autosécable à 2 rangées de 4 contacts

J7 = embase autosécable à 2 rangées de 5 contacts

J14 = bornier encartable à 2 contacts au pas de 5 mm

JP1 = embase autosécable à 1 rangée de 3 contacts + cavalier

JP2 = embase autosécable à 1 rangée de 2 contacts + cavalier

RE1 = G6D-1A-ASI-DC5 (Omron)

S1,S2 = bouton-poussoir EVQ-PAE05R Panasonic)

T1 = transformateur Ethernet H1102 (Pulse)

Y1 = quartz 25 MHz

kit des pièces, Elektor e-choppe # 071102-71, avec tous les composants + carte dotée des CMS (Cf. texte) platine Elektor e-choppe # 071102-1 disponible séparément. Repérée : 00286_01 “home automation unit”

platine pour TBCLF, Elektor e-choppe # 071102-2 **

* programmé sur la platine du kit 071102-71; vierge sur la platine 071102-1

** optionnel, cf. texte

Chargement des commentaires