View  Edit  Attributes  History  Attach  Print  Search

Shield Arduino "TéléInfo" pour Monitoring et datalogging de 1 à 2 compteurs EDF, par www.carteletronic.fr

MATERIEL - Shield – Par X.HINAULT - Créé le 09/11/2011.

Synthèse

Description

Ce shield, ou carte d'extension, permet d'interfacer rapidement et facilement une carte Arduino avec 1 à 2 compteur(s) électriques électroniques et de réaliser du datalogging assez simplement.

Ce shield intègre :

  • un étage de communication série avec compteur électrique électronique associant :
    • un bornier de connexion pour la connexion série de 2 compteurs électriques,
    • une protection électrique par optocoupleur des lignes série en entrée
    • une interface de démodulation du signal série du compteur
    • un connecteur droit de connexion à la ligne série RX (broche 0) matérielle de la carte Arduino (à enlever pour programmer la carte Arduino).
    • des LEDs de visualisation de la connexion/communication avec les compteurs électriques
  • un connecteur pour carte micro-SD connecté aux broches de communication SPI de la carte Arduino, permettant le stockage de données dans la carte micro-SD.
  • une horloge temps réel RTC :
    • à base de chip DS1307
    • alimentée par une micropile à insérer dans un connecteur intégré au shield
    • cadencée par un quartz horloger 32,768 Khz intégré sur la carte.
  • livrée montée
Notre Avis
  • Reçue et testée

Les + :

  • Shield de bonne facture, propre, livré monté avec une pile fournie pour le circuit d'horloge.
  • Inclut également un emplacement pour une SD-Card, un circuit d'horloge temps réel.
  • Utilisable avec 2 compteurs, l'un de production et l'autre de consommation.
  • LEDs de visualisation de la communication.

Les - :

  • le prix ?
  • On cherche...

Au total :

  • En plus du fait de permettre la communication avec 1 ou 2 compteurs EDF électroniques, ce shield est potentiellement polyvalent car l'utilisation d'une horloge temps réel et d'une SD-Card permettra toutes sortes de datalogging de façon assez simple.
  • Ce shield constitue de plus une excellente base didactique permettant d'aborder les notions de communication série, SPI, I2C, RTC, système de fichier SD-Card, démodulation signal, etc...
Fabricant
Liens utiles
Notre Note

Dispo chez :

Description

Ce shield, ou carte d'extension, permet d'interfacer rapidement et facilement une carte Arduino avec 1 à 2 compteur(s) électriques électroniques et de réaliser du datalogging assez simplement.

Ce shield intègre :

  • un étage de communication série avec compteur électrique électronique associant :
    • un bornier de connexion pour la connexion série de 2 compteurs électriques,
    • une protection électrique par optocoupleur des lignes série en entrée
    • une interface de démodulation du signal série du compteur
    • un connecteur droit de connexion à la ligne série RX (broche 0) matérielle de la carte Arduino (à enlever pour programmer la carte Arduino).
    • des LEDs de visualisation de la connexion/communication avec les compteurs électriques
  • un connecteur pour carte micro-SD connecté aux broches de communication SPI de la carte Arduino, permettant le stockage de données dans la carte micro-SD.
  • une horloge temps réel RTC :
    • à base de chip DS1307
    • alimentée par une micropile à insérer dans un connecteur intégré au shield
    • cadencée par un quartz horloger 32,768 Khz intégré sur la carte.

Documentations utiles :

Brochage

  • L'étage de réception série en provenance des compteurs EDF utilise :
    • La broche 0 (RX) de la carte Arduino pour la réception des données en provenance des compteurs.
    • La broche 5 de la carte Arduino pour sélectionner la lecture des données en provenance du compteur 1 : le compteur est sélectionné sur niveau HAUT.
    • La broche 6 de la carte Arduino pour sélectionner llecture des données en provenance du compteur 2 : le compteur est sélectionné sur niveau HAUT.
  • La communication avec la carte mémoire micro-SD utilise :
    • la broche 4 de la carte Arduino pour la sélection de la carte micro-SD (chip select = CS),
    • la broche 13 pour l'horloge SPI
    • et les broches 11 (MOSI) et 12 (MISO) pour la communication SPI.
  • La communication avec l'étage d'horloge "temps réel" RTC est de type I2C et utilise les broches analogiques 4 et 5 de la carte Arduino (utilisées en mode digital ici).

Schéma interne

L'étage de communication série pour 1 à 2 compteurs EDF électroniques

  • Le signal série de téléinformation en sortie du compteur EDF est une porteuse de 50khz (+/-3%) modulée en amplitude (tension 5V) et a la forme suivante :

Source : Fiche technique ERDF

  • Chaque étage de communication série pour compteur EDF assure donc la démodulation du signal en provenance du compteur et met en forme le signal pour utilisation avec la carte Arduino (extraction du signal série à partir de la porteuse et mise en forme en signal numérique HAUT/BAS classique) :
    • La diode D1 et l’optocoupleur 6N138 (U1) permettent de supprimer une alternance du signal et de transmettre le signal au module en restant isolé de la partie téléinformation (ceci répond à une recommandation de la doc ERDF qui préconise une isolation de l'électronique du récepteur vis à vis du 220V bien que l'électronique du compteur soit isolée galvaniquement du 220V - voir doc ERDF).
    • La porte NAND (74LS132) permet d’inverser le signal et de produire des fronts carrés à la place du signal sinusoïdale.
    • Le trigger U3 est utilisé pour filtrer le signal, cela permet de définir des créneaux cadencé sur le 50khz et ainsi d’obtenir des bits 0 ou 1 pour la communication série.
  • Cet étage utilise :
    • La broche 0 (RX) de la carte Arduino pour la réception des données en provenance des compteurs.
    • La broche 5 de la carte Arduino pour sélectionner la lecture des données en provenance du compteur 1
    • La broche 6 de la carte Arduino pour sélectionner llecture des données en provenance du compteur 2

L'étage de communication avec la carte micro-SD

  • La communication avec la carte mémoire micro-SD se fait selon le protocole SPI classique. Ici, sont utilisées :
    • la broche 4 de la carte Arduino pour la sélection de la carte micro-SD (chip select = CS),
    • la broche 13 pour l'horloge SPI
    • et les broches 11 (MOSI) et 12 (MISO) pour la communication SPI.

L'étage horloge-temps réel

  • La carte intègre un CI DS1307 qui assure une horloge temps-réel autonome. L'étage est constitué des composants externes utiles ainsi qu'un quartz horloger à 32.768 khz qui cadence le CI.
  • A noter, la communication de type I2C qui utilise les broches analogiques 4 et 5 de la carte Arduino.

Comment çà marche ?

Le protocole de télé-information

Le protocole série utilisé

  • La téléinformation fournie par un compteur EDF électronique est de type série, sur 2 fils donc. Les niveaux de sortie du compteur sont de type sinusoidal et doivent être mis en forme en tant que signal numérique classique, ce qui est fait par l'électronique de la carte Téléinfo.
  • Une fois le signal mis en forme pour une communication série numérique, on se retrouve face à une communication série classique dont le protocole est un peu particulier. Chaque caractère est émis dans un ensemble cohérent de 10 bits dont la constitution est la suivante :
    • un bit de start correspondant à un "0" logique,
    • 7 bits pour représenter le caractère en ASCII,
    • 1 bit de parité, parité paire,
    • un bit de stop correspondant à un "1" logique.
  • Lors d'une émission les bits sont transmis, le Least Significant Bit (L.S.B.) en premier, le Most

Significant Bit (M.S.B.) en dernier.

Note technique concernant le protocole de communication série utilisé par la Téléinformation

  • Lors de l'utilisation avec une carte Arduino, on va être confronté au problème suivant :
    • seule l'USART matérielle supporte protocole 7 bits, 1200 bauds, 1 bit parité et 1 bit de stop
    • par contre le Terminal Arduino ne supporte pas cette communication : donc on n'aura pas accès à la communication série avec Arduino lors de la lecture des trames de téléinformation.
  • On sera donc obligé d'utiliser un terminal série supportant le protocole utilisé si on souhaite afficher en direct les caractères série reçu par la téléinformation.
  • On sera par ailleurs obligé d'enlever un cavalier sur la carte téléinformation pour pourvoir programmer la carte Arduino puis le remettre lors de l'exécution du programme.
  • Une solution cependant consisterait à utiliser une carte Arduino Mega qui dispose de 4 UART matérielle différentes. Ceci en phase de mise au point notamment.
  • Une autre solution, pour récupérer les informations à distance consiste à coupler la carte téléinformation à une carte Ethernet, elle même connectée au réseau domestique via un bloc CPL (courant porteur).
  • La meilleure solution cependant consiste, au sein d'un même programme Arduino, à configurer l'USART de l'Arduino pour une communication série pour la téléinformation puis de reconfigurer ensuite l'USART pour communication avec le Terminal Arduino afin de pouvoir afficher les données dans le Terminal Série Arduino ou une interface Processing. Cette solution permet de garder tout le bénéfice du système Arduino pour la téléinformation !

Structure de la trame de données de téléinformation

  • Voici une trame type de téléinformation envoyée par le compteur EDF électronique :
ADCO 031128245600 7
OPTARIF BASE 0
ISOUSC 30 9
BASE 000032632 [
PTEC TH.. $
IINST 005 \
IMAX 021 B
PAPP 01170 *
MOTDETAT 000000 B
  • Chaque ligne est structurée de la façon suivante :

CHAMP + " " + valeur champ + " " + caractère de contrôle+ saut de ligne

  • Les différents champs et le format de la valeur de champ sont rassemblés dans ce tableau (le nombre de champ est variable selon le type de compteur ) :
  • Par exemple, dans l'exemple de trame ci-dessus, la ligne :
IINST 005 \

correspond à une instensité instanée de 5 ampères. Une fois la trame reçue, il suffira de l'analyser pour en extraire l'information utile.

La carte mémoire micro-SD

  • détails à venir

L'horloge temps réel RTC

  • détails à venir

Caractéristiques techniques

  • Compatible broche à broche avec une carte Arduino

Fonctionnement

Fonctionnement général

Ce CI permet :

  • de recevoir les informations de téléinformation en provenance d'un à 2 compteurs EDF électroniques
  • de disposer d'une horloge temps-réel autonome
  • d'enregistrer des données sur carte mémoire micro-SD.

Signification fonctionnelles des broches

Etage de téléinformation

  • L'étage de réception série en provenance des compteurs EDF utilise :
    • La broche 0 (RX) de la carte Arduino pour la réception des données en provenance des compteurs.
    • La broche 5 de la carte Arduino pour sélectionner la lecture des données en provenance du compteur 1 : le compteur est sélectionné sur niveau HAUT.
    • La broche 6 de la carte Arduino pour sélectionner llecture des données en provenance du compteur 2 : le compteur est sélectionné sur niveau HAUT.

Etage de RTC :

  • La communication avec l'étage d'horloge "temps réel" RTC est de type I2C et utilise les broches analogiques 4 et 5 de la carte Arduino (utilisées en mode digital ici).

Etage carte micro-SD :

  • La communication avec la carte mémoire micro-SD utilise :
    • la broche 4 de la carte Arduino pour la sélection de la carte micro-SD (chip select = CS),
    • la broche 13 pour l'horloge SPI
    • et les broches 11 (MOSI) et 12 (MISO) pour la communication SPI.

Mise en oeuvre pratique

ATTENTION : La connexion de ce shield sur le compteur électrique se fait à proximité du 220V. L'utilisation du 220V est dangereuse et nécessite impérativement de respecter des règles de sécurité précises. Les mineurs ne doivent en aucun cas utiliser du 220V sans la présence d'un adulte. En cas de doute, faire appel à un électricien professionnel.

  • On connecte la sortie de téléinformation du compteur EDF électronique à la carte téléinfo sur les 2 bornes du compteur voulu. Pour ce faire, enlever le capot plastique du bas du compteur : le bornier de téléinformation est celui de DROITE. Il n'y a pas de polarité particulière et le sens de connexion n'a pas d'importance puisque le signal de téléinformation en sortie du compteur est sinusoidal.
  • On peut utiliser un câble jusqu'à 500m pour la téléinformation du compteur (voir doc ERDF)

Tests

Avis

Les + :

  • Shield de bonne facture, propre, livré monté avec une pile fournie pour le circuit d'horloge.
  • Inclut également un emplacement pour une SD-Card, un circuit d'horloge temps réel.
  • Utilisable avec 2 compteurs, l'un de production et l'autre de consommation.
  • LEDs de visualisation de la communication.

Les - :

  • le prix ?
  • On cherche...

Au total :

  • En plus du fait de permettre la communication avec 1 ou 2 compteurs EDF électroniques, ce shield est potentiellement polyvalent car l'utilisation d'une horloge temps réel et d'une SD-Card permettra toutes sortes de datalogging de façon assez simple.
  • Ce shield constitue de plus une excellente base didactique permettant d'aborder les notions de communication série, SPI, I2C, RTC, système de fichier SD-Card, démodulation signal, etc...

Applications possibles

  • Surveillance de sa consommation électrique

Exemples d'utilisation de cette interface

Liens vers autres pages perso utilisant cette interface :