Téléchargement des logiciels pour
Windows et Android pour la gestion de l'interface :
Les commandes sont
extrêmement simples à maitriser puisqu'elles
reposent sur un transfert UDP de différentes chaines de caractères ASCII prédéfinies.
Les chaînes sont envoyées
vers l'interface dès
que vous pressez sur l'un des boutons du logiciel.
La liste des chaines de caractères
est disponible un peu plus bas. La
lecture de l'octet présent
sur les entrées E1 à E8
s'effectue au moyen d'un Timer qui interroge l'interface
de façon cyclique. Ce temps est bien entendu réglable
par l'utilisateur sous Delphi.
Logiciel pour :
La
gestion de l'interface s'effectue au moyen d'un petit programme
d'application écrit avec Borland Delphi 7 nommé "Interface Ethernet 8 entrées / 8 sorties".
Consultez
la page [
Indy
sous Delphi 7 ]
afin
d'installer le composant nommé
"Indy" vous permettant
sous Delphi de modifier le code source du logiciel de l'interface selon vos besoins.
Le logiciel "Interface Ethernet 8 entrées / 8 sorties" est compatible avec
,
Seven, Vista et XP et il n'a pas
été testé sous les OS antérieurs.
L'ensemble code
source du programme Delphi et le
fichier exécutable
sont librement
téléchargeables ci-après. Le code source est commenté et vous n'aurez aucun mal à
le modifier selon vos critères personnels d'utilisation.
Téléchargement des fichiers sources
Borland
Delphi et du fichier exécutable : 243ko
Téléchargement du code source au format TEXTE : 26.1
ko
Logiciel pour :
La
gestion de l'interface s'effectue au moyen d'un programme
d'application écrit sous Basic4Android nommé "Interface Ethernet 8 IN - 8 OUT".
Il permet de piloter l'ensemble des
8 sorties
de l'interface et de lire
l'octet présent
sur les entrées E1 à E8
au moyen d'un Timer qui interroge l'interface
de façon cyclique. Ce temps est bien entendu réglable
par l'utilisateur au niveau du code
source sous Basic4Android.
Consultez la page [ Applications Android ] pour en savoir plus sur le
compilateur Basic4Android afin d'adapter le logiciel selon vos
besoins.
Le logiciel "Interface Ethernet 8
IN - 8 OUT" est compatible avec tous les
supports (Smartphone, tablette tactile, etc...) fonctionnant sous Android 2.2 ou supérieur.
L'ensemble du code source et le fichier compilé Apk sont librement téléchargeables
ci-après. Le
code source est commenté et vous n'aurez aucun mal à le modifier selon vos critères personnels
d'utilisation.
Téléchargement
des fichiers sources Basic4Android et du fichier Apk : 460ko
Téléchargement du code source au format TEXTE : 9,8 ko
Paramètres
Ethernet par défaut après
programmation du microcontrôleur
:
Lorsque
vous insérez pour la première
fois le
microcontrôleur programmé
dans son support,
les paramètres réseaux par défaut
inscrits en mémoire sont les suivants :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 02 : 00
Vous
pouvez modifier à loisir
ces trois paramètres
si par exemple un de vos périphériques
Ethernet dispose lui aussi de la même adresse IP ou
bien encore, si vous souhaitez connecter
à votre réseau plusieurs exemplaires de
l'interface 8 entrées / 8 sorties. En effet, n'oubliez
pas que
l'adresse IP de
l'interface Ethernet ne
peut en aucun cas être la même
que celle de votre PC
ou de tout autre dispositif connecté
à votre réseau sous peine de conflit d'IP.
Chaque
adresse
doit être
unique
sur un réseau !
Pour
ce faire, lisez attentivement la page [
Configuration
du ENC28J60 ]
vous expliquant comment utiliser le
logiciel "Config
du ENC28J60"
permettant de modifier
les
paramètres
(IP, PORT et MAC) de votre interface. Il vous permet également
de connaitre le numéro
de révision du silicium
de votre ENC28J60 afin de déterminer
exactement la valeur de la résistance
R7
(nommée
Rbias
sur la datasheet de Microchip). Téléchargez
et installer
ce
logiciel sur votre disque dur, vous
en aurez besoin dans la suite de ce
paragraphe.
Aspect
du logiciel "Config
du ENC28J60"
permettant de connaitre le
numéro de révision du
circuit et
éventuellement de modifier les caractéristiques
IP, PORT et MAC de votre interface 8
entrées / 8 sorties.
Votre
réseau local dit également
"domestique" :
Les
réseaux à IP fixe (non DHCP) sont recommandés
pour connecter ce type d'interfaces. Ainsi, votre PC dispose toujours
de la même adresse IP comme par
exemple : 192.168.0.5. Néanmoins
si vous utilisez un serveur DHCP afin d'attribuer dynamiquement les adresses IP sur vos PC, assurez-vous
que l'interface 8 entrées / 8 sorties soit dans
une zone d'IP fixe (voir mode d'emploi
de votre routeur). Si
vous souhaitez piloter votre interface 8 entrées / 8 sorties via le
réseau Internet depuis n'importe où dans le monde,
assurez-vous de laisser passer les trames UDP au
niveau de votre routeur. Pour
ce faire, lisez attentivement la page [
Configuration
routeur ]
où vous trouverez un exemple
de configuration d'un routeur intégré
à un modem ADSL de type Freebox...
Lors
du lancement du logiciel de gestion
de l'interface 8 entrées / 8 sorties ou
bien lors du lancement du logiciel "Configuration du ENC28J60",
votre pare-feu
(firewall) intégré à
Windows peut vous demander
si les trames UDP sont autorisées.
Il faudra bien entendu autoriser ces trames UDP
à transiter sur votre PC. Si vous refusez vous ne pourrez pas
communiquer avec votre interface.
Connexion
de l'interface à votre réseau
domestique selon deux types de Modem
ADSL :
Connectez
votre interface
8 entrées / 8 sorties à
votre réseau
domestique au
moyen d'un câble
Ethernet droit.
Ci-après
voici deux
illustrations
possibles de connexion de l'interface
à un modem ADSL dont le mode
routeur est activé. Il existe d'autres
configurations possibles comme par exemple
l'usage d'un Routeur externe (Netgear,
Linksys, etc...) relié lui-même
à un modem ADSL avec le mode
routeur inactif...
Si votre Modem ADSL type Box dispose
de plusieurs connecteurs Ethernet de
type RJ45, reliez votre interface 8 entrées / 8 sorties à l'un
des connecteurs RJ45 libres au moyen d'un
câble Ethernet droit. Assurez-vous
d'avoir le mode routeur activé sur votre Modem ADSL.
Configuration
réseau avec un Modem
ADSL
équipé
de plusieurs connecteurs Ethernet. Le
mode
Routeur
a été activé dans
la configuration interne du Modem
ADSL.
Si votre Modem ADSL ne dispose que d'une seule prise Ethernet RJ45 (déjà
reliée à votre PC), il
vous suffit d'acheter dans le commerce
un Switch vous permettant d'accroitre
le nombre de connecteurs Ethernet à
4, 5 ou 8 et plus encore selon les modèles.
Comme précédemment, assurez-vous
d'avoir le mode routeur activé sur votre Modem ADSL.
Configuration
réseau avec un Modem
ADSL
équipé
d'un seul connecteur Ethernet. L'ajout
d'un Switch est donc nécessaire
afin d'y relier le PC
et l'interface. Le
mode
Routeur
a été activé dans
la configuration interne du Modem
ADSL.
Détermination
provisoire de la résistance R7
(Rbias) associée à votre ENC28J60 :
Comme
nous l'avons vu dans les chapitres [
Configuration
ENC28J60 ] et
chapitre [
ENC28J60 ],
le ENC28J60
a
subi au
fil des années
de sa production des corrections
matérielles internes au niveau
du silicium.
L'une de ces corrections porte sur la
valeur
à attribuer à la résistance
référencée
R7 de
notre application nommée Rbias
par Microchip.
Pour
mémoire, nous rappelons que la résistance R7 est directement associée
à la stabilité de la connexion réseau de
votre interface 8 entrées / 8 sorties connectée
à
votre routeur. Une mauvaise valeur peut
entrainer des déconnexions aléatoires de l'interface du
réseau.
Afin
de déterminer le numéro
de révision du silicium de
l'ENC28J60
que vous avez entre vos mains, nous
utilisons le logiciel nommé
"Config du ENC28J60". Or
ce logiciel
communique uniquement via une connexion
réseau, il nous faut donc dans
un premier temps choisir au hasard l'une des deux valeurs
possibles pour R7: soit une résistance de 2,32k à 1% ou bien une de 2,74k à 1%.
Ainsi et de façon totalement arbitraire,
soudez provisoirement sur le
circuit imprimé de l'interface
8 entrées / 8 sorties, une résistance R7 de
2,74k à 1%. Elle vous permet de vous
connecter au réseau durant
quelques instants même si sa valeur
était incorrecte. En revanche, si vous connaissez déjà
le numéro de révision
de votre ENC28J60, soudez la bonne valeur de R7.
Vérifications
préalables avant la mise sous
tension de votre interface :
Conditions
initiales :
Assurez-vous
de ne pas avoir de court-circuit sur l'ensemble de
la platine. Vérifiez également
l'absence de microcoupures sur la partie cuivrée
du circuit imprimé. Connectez la
platine
à une source d'alimentation en +12V et
sans
placer aucun circuit intégré
sur les supports, mesurez toutes les
tensions présentes sur les
différentes broches des supports
de l'interface. Assurez-vous d'obtenir les tensions
requises +5V et +3,3V en vous aidant du schéma de principe téléchargeable
au bas de la page [
Réalisation ]. Si
tous les potentiels mesurés sont
normaux, coupez l'alimentation et insérer tous les circuits
intégrés dans leurs supports
respectifs.
Mise
sous tension :
Votre
interface étant connectée
à votre réseau domestique
au
moyen d'un cordon RJ45 de type droit, appliquez une tension continue comprise entre +8V et +20V sur le bornier d'alimentation
K2. Une tension de +12V est un bon compris comme ci-dessous
:
Instantanément,
la led rouge ON référencée
D4 doit s'illuminer. Deux secondes après la mise
sous tension, la led verte D1 nommée statut (Link) doit s'allumer en feu fixe si la connexion
réseau est correctement détectée.
Si elle reste éteinte votre interface
n'a pas été détectée sur
le réseau
et dans ce cas, vérifiez vos
branchements, le câble Ethernet,
le Modem et
les éléments qui lui sont
associés.
Si
tout c'est bien passé, après
l'illumination de la led verte D1, la led jaune D2 nommée activation (Act) peut s'illuminer un très court
instant
avant que D1 et D2 ne s'éteignent tous les deux
durant environ 1 seconde. C'est durant ce court laps
de temps que le microcontrôleur
récupère le numéro
de révision du silicium de
l'ENC28J60.
Passé
ce délai on recommence le cycle
de démarrage. La led verte D1 s'allume en feu fixe puis la led jaune D2 s'illumine de courts instants de façon aléatoire. Cette
led témoigne de la communication quasi-permanente de
l'interface avec le routeur auquel cas
ce dernier la considèrerait comme
déconnectée du réseau.
Bien entendu, dès qu'un utilisateur
agit sur l'interface via le logiciel
de gestion (téléchargeable
ci-dessus) la led D2 clignote également en
synchronisme attestant du transfert de données en UDP.
Cette
animation tente de reproduire approximativement
la séquence de démarrage
de l'interface Ethernet.
Détermination
exacte de la résistance R7 à
1% :
Si
vous connaissez le numéro de
révision de votre circuit ENC28J60,
vous pouvez sauter ce paragraphe et il vous suffit
de souder directement la bonne valeur
de la résistance R7 sur votre circuit imprimé.
Dans
le cas contraire, suivez les explications
suivantes.
Ayant
téléchargé et installé
le logiciel "Config du ENC28J60" disponible
à
la page [
Configuration
ENC28J60 ],
lancez ce dernier sur votre PC.
Cliquez
sur le bouton "Défaut'
permettant d'inscrire automatiquement
les paramètres par défaut
de connexion avec
l'interface.
Cliquez ensuite sur le bouton "Connexion
au ENC28J60" et si tout ce passe
bien, vous obtenez un message informatif
attestant de la bonne communication avec votre interface.
Ce message contient également
le
numéro de révision de
votre circuit ENC28J60 comme ci-après
:
Pour
les exemplaires dont nous disposons,
le numéro de révision de
notre ENC28J60 est 5. D'après
le tableau ci-après déjà
vu à la page [
ENC28J60 ], il suffit
de lire la valeur de la résistance
R7 correspondante au numéro
de révision. Dans notre cas, la valeur 5 correspond à la
Rev B5, donc nous souderons
une résistance de R7 = 2,32k à 1% sur le circuit imprimé
de l'interface Ethernet.
|
Rev
B1
|
Rev
B4
|
Rev
B5
|
Rev
B7
|
Valeurs
en décimal (Registre
EREVID)
|
2
|
4
|
5
|
6
|
Datasheets
Errata
|
[
Rev B1
]
|
[
Rev B4
]
|
[
Rev B5
]
|
[
Rev B7
]
|
Valeur
de Rbias (1%)
|
2,74k
|
2,74k
|
2,32k
|
2,32k
|
Quittez
le logiciel et désormais
votre interface 8 entrées / 8 sorties équipée
de la bonne valeur de R7 est totalement fonctionnelle
avec ses paramètres réseaux par défaut
inscrits en mémoire
que nous vous rappelons :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 02 : 00
Communication avec le logiciel de
gestion sous
Windows pour l'interface Ethernet :
Lancez
le logiciel "Interface Ethernet 8 entrées / 8 sorties"
disponible en téléchargement
au début de cette page pour .
Afin
de tester le bon fonctionnement des différentes sorties de
l'interface depuis votre réseau
domestique, connectez 8 leds couplées à
leurs résistances de limitation
en courant
(470
ohms) sur les 8 sorties. Les différentes
leds seront alimentées en +5V en positionnant
le cavalier SW1 sur la position +5V. Un
DIP-Switches composé de 8 mini-contacts
reliés à
la masse permet de tester les 8 entrées logiques en positionnant
SW2 sur UP (pull-up) comme sur la photo ci-dessous.
Cliquez sur l'image ci-dessus pour l'agrandir
En
cliquant sur le différents boutons
numérotés S1, S2, S3, etc... du
logiciel de gestion de l'interface,
vous pouvez allumer ou éteindre les différentes
leds. Le logiciel met à votre
disposition
plusieurs types de commandes possibles
: ON, OFF, Toggle (mode bistable), Impulsionnel, toutes les sorties à l'état haut ou à l'état bas. L'octet
présent sur les 8 entrées E0 à E8 est affiché sous sa forme décimale en haut
de la fenêtre du logiciel comme
sur la recopie d'écran ci-desssous
:
Référez-vous
au code source du programme écrit
sous Delphi pour en savoir plus sur les
chaînes de caractères ASCII utilisées pour chacune
des touches
et aux tableaux présents ci-après
où sont listés l'ensemble
des différentes commandes ASCII
possibles.
Note
:
N'oubliez
pas de consulter la page
[ Configuration
routeur ]
si
vous souhaitez par la suite piloter
depuis n'importe où dans le monde
l'interface 8 entrées / 8 sorties via le réseau Internet que ce soit depuis un PC ou bien depuis un Smartphone via le réseau 3G.
Monté
en température des principaux
composants :
Après
plusieurs dizaines de minutes d'utilisation
de l'interface 8 entrées / 8 sorties, le circuit
ENC28J60 référencé
U1 doit être à peine tiède au touché. Le microcontrôleur PIC18F252
référencé
U3 reste froid. Le régulateur
7805 référencé
U4 devient rapidement chaud tandis
que le régulateur LM2937-3.3
référencé U5 reste tiède.
Tout
échauffement excessif du circuit
ENC28J60 n'est pas normal. Dans ce cas,
coupez immédiatement l'alimentation
électrique et vérifiez
le circuit imprimé puis les tensions
d'alimentation en ayant retiré
de son support préalablement
le circuit.
Protocole
de communication ASCII utilisé
pour piloter l'interface 8 entrées
/ 8
sorties :
Afin
de récupérer l'octet présent sur les 8 entrées,
le logiciel écrit sous Delphi
interroge l'interface Ethernet à
intervalles réguliers. Les
intervalles sont modifiables par l'utilisateur sous
Delphi et sont définis par défaut
à 500ms. Les états logiques présents
sur les 8 entrées E0 à E8
sont reçus par le PC sous la forme
d'une chaine de caractères ASCII
dont la valeur décimale est comprise
entre 0 et 255. La
chaine ASCII reçue peut-être
par la suite exploitée selon
les besoins de votre application...
Etats
logiques présents
sur les 8 entrées
E0 à E8 (en binaire)
|
Valeur
décimale réceptionnée
sur le PC
|
E8
|
E7
|
E6
|
E5
|
E4
|
E3
|
E2
|
E1
|
E0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
...
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
46
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
47
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
...
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
255
|
Pour
piloter sélectivement les
8 sorties, différentes
commandes
composées d'une suite de caractères
ASCII ont été définies.
Si l'on souhaite piloter correctement
l'interface, il faudra veiller à
respecter scrupuleusement la syntaxe
des différentes suites ASCII.
Cinq
groupes de commandes différentes ont été
retenus pour chacune des 8 sorties
:
un groupe de commandes ASCII pour mettre à
l'état bas la sortie considérée
: mode OFF.
un groupe de commandes ASCII pour mettre à
l'état haut la sortie considérée :
mode ON. un
groupe de commandes ASCII permettant de basculer
entre deux états : mode TOGGLE.
un
groupe de
commandes ASCII pour mettre à
l'état bas simultanément
toutes les sorties. un
groupe de commandes ASCII pour mettre à
l'état haut simultanément
toutes les sorties.
Groupe
de commandes
ASCII permettant d'affecter un état bas sur
une sortie déterminée :
Commandes
ASCII
|
Sorties
mises à l'état
bas
|
S01F
|
S1
|
S02F
|
S2
|
S03F
|
S3
|
S04F
|
S4
|
S05F
|
S5
|
S06F
|
S6
|
S07F
|
S7
|
S08F
|
S8
|
Groupe
de commandes
ASCII permettant d'affecter un état haut sur une sortie déterminée
:
Commandes
ASCII
|
Sorties
mises à l'état
haut
|
S01N
|
S1
|
S02N
|
S2
|
S03N
|
S3
|
S04N
|
S4
|
S05N
|
S5
|
S06N
|
S6
|
S07N
|
S7
|
S08N
|
S8
|
Groupe
de commandes
ASCII permettant de basculer entre deux
états logiques en sortie :
Commandes
ASCII
|
Sorties
basculées
|
S01T
|
S1
|
S02T
|
S2
|
S03T
|
S3
|
S04T
|
S4
|
S05T
|
S5
|
S06T
|
S6
|
S07T
|
S7
|
S08T
|
S8
|
Commande
ASCII permettant de mettre à
l'état bas toutes les sorties simultanément
:
Si
vous souhaitez désactiver toutes
les sorties S1 à S8, il vous
suffit d'envoyer à l'interface
la commande ASCII suivante :
Commandes
ASCII
|
Sorties
mises à l'état
bas
|
F$
|
S1
à S8
|
Commande
ASCII permettant de mettre à
l'état haut toutes les sorties simultanément
:
Si
vous souhaitez activer toutes les sorties
S1 à S8, il vous suffit d'envoyer
à l'interface la commande
ASCII
suivante :
Commandes
ASCII
|
Sorties
mises à l'état
haut
|
N$
|
S1
à S8
|
L'interface
Ethernet refuse de répondre aux
sollicitations :
Si vous n'arrivez pas à vous
connecter via le logiciel "Config
du ENC28J60" à votre interface 8
entrées / 8 sorties depuis votre réseau local,
vérifiez
si vous avez bien la led verte D1 nommée "Statut" allumée en feu fixe et si la led jaune D2 nommée "Activité"
clignote de temps à autre
de façon aléatoire.
Si
la première constatation se vérifie,
assurez-vous d'avoir utilisé
le bon numéro de PORT et la bonne adresse IP et vérifiez également
votre pare-feu intégré à
Windows pouvant bloquer les requêtes
UDP.
De
plus, avec l'aide d'un oscilloscope et lorsqu'aucun câble RJ45 n'est connecté sur
l'embase K1 de l'interface, assurez-vous d'obtenir en
permanence les différents signaux émis par le microcontrôleur
aux allures suivantes
sur les différentes broches du
circuit intégré
U1 (ENC28J60) comme ci-dessous :
Broche
6 (SO ou MISO) du circuit U1 (Time/Div 10µs)
:
Cliquez sur l'image ci-dessus pour l'agrandir
Broche
7 (SI ou MOSI) du circuit U1 (Time/Div 10µs)
:
Cliquez sur l'image ci-dessus pour l'agrandir
Broche
8 (SCK) du circuit U1 (Time/Div 10µs)
:
Cliquez sur l'image ci-dessus pour l'agrandir
Broche
9 (CS) du circuit U1 (Time/Div 10µs)
:
Cliquez sur l'image ci-dessus pour l'agrandir
|