Cours:Téléinformation

De troyesGEII
Aller à : navigation, rechercher

Présentation du projet

Objectif

Les compteurs EDF de type électronique possèdent deux bornes qui permettent à des équipements externes de dialoguer avec le compteur. Il sera pas exemple possible de lire l’énergie instantanée consommée, la puissance maximum autorisée, le dépassement de cette puissance maximum…

Compteur EDF doté de deux bornes de télé-information

Les informations sont transmises de manière cyclique avec un protocole particulier. Mais il est possible de lire ces informations en utilisant un système de lecture de la télé-information. Ainsi, l'objectif de ce travail consiste à réaliser ce système de lecture qui assurera les taches suivantes:

  • Détecter et démoduler le signal de télé-information.
  • Décoder les informations transmises par le compteur.
  • Mettre en œuvre un gestionnaire d'énergie (lecture et affichage de la puissance consommée).

Principe de la télé-information

Les compteurs électroniques installés par ERDF sont équipés d'un module de dialogue permettant à un équipement de communiquer avec le compteur. Cette communication est unidirectionnelle : il est uniquement possible de lire les données présentes dans le compteur. Les informations sont transmises dans un ordre imposé, périodiquement, selon un format présenté ci dessous.

Description de la liaison télé-information :Le compteur électrique envoie périodiquement un bloc de données. Un bloc comporte : . Un caractère de début : 0x02(STX) (0x..est une valeur hexadécimale) . Les données scindées en lignes . Un caractère de fin : 0x03 (ETX)


Chaque ligne se décompose ansi :

 . Début de ligne : 0x0A (LF)
 . Une étiquette (4 à 8 caractères)
 . Un espace 0x20 (SP)
 . Une donnée (1 à 12 caractères)
 . Un espace 0x20 (SP)
 . Un caractère de contrôle : la somme des caractères envoyés.
 . Fin de ligne 0x0D (CR)]
Ces données sont transmises par une liaison série 7 bits, parité paire, 1 bit de stop à 1200 bits/s. Les bits sont transmis modulés en amplitude avec une fréquence de porteuse de 50kHz : le niveau logique 1 est représenté par une tension nulle, et les niveaux 0 par un signal sinusoïdal de fréquence 50kHz, 8VPP
Signal de téléinformation

Pour plus de détails sur la télé-information, vous pouvez consulter les liens suivants

Téléinformation EDF

Sorties de télé-information client des appareils de comptage électroniques utilisés par ERD

Principe de la démodulation

Le découpage fonctionnel ci-dessus est le principe général que nous mettrons en œuvre. Il faut cependant avoir conscience que certains blocs peuvent être permutés, combinés ou supprimés.

Fonctionteleinfo.jpg

Redressement : La technique la plus simple de démodulation d'amplitude consiste à effectuer un redressement suivi d'un filtrage du signal modulé.

Isolation galvanique : Le fabricant du compteur électrique précise qu'en cas de défaut une tension alternative de 230VAC peut-être présente sur la liaison télé-information. L'isolation permet de séparer 2 parties d'un circuit afin d'éviter la propagation du défaut.

Gestion et décodage : Le signal de télé-information doit être décodé selon le protocole de transmission utilisé pour récupérer les données transmises. Ensuite, ces données sont exploiter pour gérer à titre d'exemple la puissance consommée.

Affichage du statut : On souhaite avertir l'utilisateur de la présence d'un signal de télé-information. Une Led rouge indiquera la présence du signal, tandis qu'une led verte clignotante indiquera la consommation d'un 1 Wh .

Alimentation : Les différents blocs du système de lecture sont alimentés grâce à un module de puissance. Ce module assure l’adaptation de la puissance disponible pour chaque blocs cités ci-dessus.


Travail à réaliser

Cahier des charges

  • Démodulation du signal de télé-information d'un compteur EDF.
  • Décodage du signal et gestion du système de lecture par une carte Arduino.
  • Indication de la présence du signal télé-info par une LED rouge clignotant deux fois chaque seconde.
  • Allumage d'une LED verte pendant 0.5 seconde pour chaque 1 Wh consommé par la charge reliée au compteur.
  • Alimentation régulée de 5V.

Objectif

L'objectif sera bien évidemment de terminer le projet de sorte qu'il réponde au cahier des charges décrit précédemment.

Pour ce faire, il conviendra de :

  • dimensionner les composants utilisés
  • tester les différents blocs fonctionnels
  • fabriquer la carte électronique
  • programmer les composants
  • valider le fonctionnement


Vous serez évalué sur la fabrication de la carte électronique, ainsi que sur un dossier qui devra :

  • détailler les différentes fonctions
  • expliquer les choix effectués (structure,composants ....)
  • utilisera des courbes ou mesures pour appuyer les explications
  • donnera une estimation (hors temps de conception) du coût de la carte électronique

Fonction à étudier

Partie 1: Téléinformation

Fonctions Description
Isolation galvanique Isoler électriquement les différentes parties du système à l'aide d'un optocoupleur.
Redressement double-alternance avec filtrage Transformer une tension alternative à une tension continue en utilisant un optocoupleur. Réduire les ondulations de la tension redressée.
Affichage 2 leds permettent d'informer l'utilisateur
Gestion et décodage Vous utiliserez un µcrocontroleur ATMEGA328p qui sera programmé pour répondre au cahier des charges.

Partie 2: Alimentation

Fonctions Description
Transformation Adapter l'amplitude de la tension d'alimentation (tension du réseau par exemple) en utilisant un transformateur
Redressement avec filtrage Transformer une tension alternative à une tension continue en utilisant un pont de diodes. Réduire les ondulations de la tension obtenue en insérant une capacité de filtrage.
Régulation Réguler la tension redressée à l'aide d'un régulateur de tension pour qu'elle soit adaptée aux différents organes du système.

Contraintes de fabrication

  • La carte fabriquée devra être la plus compacte possible
  • Le transformateur qui alimentera la carte sera à l'extérieur
  • Il convient de prévoir les borniers nécessaires pour :
    • signal téléinformation
    • alimentation
    • programmation
    • éventuellement débogage par liaison série

Planning à respecter

Vous serez évalué tout au long du projet en début de séance. Ce qui vous permet de terminer en dehors des séances si vous n'avez pas achevé le travail demandé.

Une chose importante à noter : Il vous revient de saisir au fur et à mesure le schéma des différentes fonctions étudiées dès que possible.

Vous trouverez ci dessous l'avancement attendu des différentes séances. Notons également que vous devrez achever votre travail après les 7 séances si le projet n'est pas terminé.

De plus, le routage devra être fait en bonne partie en dehors des séances.

n° de séance Détail de l'attendu
1 Documentation, dimensionnement et tests
2 Documentation, dimensionnement et tests
3 Documentation, dimensionnement et tests
4 Tests + routage+ Fabrication
5 Fabrication
6 Programmation de la carte Arduino
7 Test et validation de la carte
8 Amélioration et finition du programme et rendu de rapport écrit

Déroulement des séances

Séance 1-2

  1. Consulter la documentation de l'optocoupleur SFH620A. SFH620A Datasheet
  2. Avec cet optocoupleur, réaliser un montage inverseur qui permet de redresser le signal de téléinfo. Dimensionner les composants nécessaires.
  3. Tester le bon fonctionnement du montage en employant un signal d'entrée similaire à celui de la télé-info (8 V crête à crête, 50 kHz).
  4. Observer la tension redressée. En cas de présence d'ondulations, proposer un solution pour lisser cette tension.
  5. En utilisant une carte Arduino, lire la tension redressée comme une entrée numérique.

Séance 3

  1. Commande des leds
  2. Alimentation

Fabrication de la carte électronique

Saisie du schéma

Comme précisé en introduction, le schéma devrait à ce point être déjà bien avancé.

La relative simplicité de l'étude doit vous amener à approfondir votre réflexion sur le schéma de votre carte et notamment sur les points suivants :

  • comment allez-vous programmer le µcontrôleur ?
  • comment choisir judicieusement les pattes du µcontrôleur

Quelques éléments de réponse :

ISP In System Programming : la plupart des µcontrôleurs modernes dont celui-ci sont programmable directement sur la carte (in situ).

Il faut donc prévoir le connecteur de programmation et le relier au composant en respectant l'ordre de câblage.

Vous utiliserez, comme Atmel le préconise, le connecteur ISP à 6 broches.

Avr isp.jpg
choix des pattes L'avantage d'utiliser un composant programmable est de pouvoir placer (dans une certaine mesure) les entrées et sorties où bon nous semble.

Attention cependant, il faut garder à l'esprit que le programme sera plus complexe à écrire s'il n'y a pas un minimum de réflexion.

Pins réservées La patte RESET principalement, ne peut servir qu'à cet usage !! Dans le cas contraire, vous ne pourrez plus reprogrammer le microcontrôleur.


Routage

Il est bien évident que vous devez essayer de respecter les conseils de bases pour réaliser une bonne carte électronique.

Rappelons également qu'une partie de ce dossier est dédiée aux contraintes de fabrication, qu'il convient sans doute à ce stade de relire !

Rappels pour préparation des calques

Via : 0.8 pour les trous et 1,25 pour le diamètre externe

Exports sous forme d'images :

  1. fond en blanc : Options -> user interface -> layout
  2. lancer ulp -> drill-aid vous propose Drill center diameter 0,3mm et c'est OK. Le remplissage se fait en couche 116 mais avec des hachures.
  3. Choisir cette couche 116 puis change -> Fillstyle en plein
  4. Choisir les couches Bottom (bleu) Pads vias et la 116
  5. File -> export -> Image donner un nom et choisir 1200 DPI et monochrome
  6. Idem pour Top (rouge) avec pads et vias (et éventuellement la 116)

Conception du programme

Afin de mettre au point progressivement le programme, il convient de réaliser progressivement les étapes suivantes !

Nous commencerons donc par l'observation des données issues du compteur, avant de les interpréter et de commander les leds comme souhaité.

Téléinformation

Une fois démodulé, le signal émis par le compteur est une classique liaison série dont les paramètres (vitesse parité ...) sont précisés plus haut dans ce document.

Sur les cartes arduino UNO, nous disposons d'une liaison série matérielle, utilisée pour la liaison USB, et il n'est donc pas possible de l'utiliser pour communiquer avec le compteur électrique.

Il est cependant possible de créer d'autres liaisons série qui seront gérées de façon logicielle. Il est bien évident qu'une liaison matérielle demande moins de ressources processeur.

Le principe d'utilisation est donné dans le code ci dessous :

#include <SoftSerialTeleinfo.h>           // liaison série logicielle 7 bits parité paire 1 bit de stop

SoftSerialTeleinfo edf(xxx, NOT_A_PIN);   // choix de la position physique, dans l'ordre (Rx,Tx) NOT_A_PIN permet de spécifier que le Tx n'est pas utilisé

void setup()
{
   edf.begin(1200);                       // choix de la vitesse de transmission "compteur"
   Serial.begin(xxxx);                    // choix de la vitesse de la transmission "usb"
}

void loop()
{
   char c;
   // vous utiliserez les fonctions classiques d'une liaison série cf page arduino
   if ( edf.??????() >0)                          // s'il y a au moins un caractère à lire sur la liaison "edf"
   {
       c= edf.?????();                            // on récupère ce caractère
       Serial.?????(c);                           // et on le transmet sur la liaison "usb"
   }
}


Todo.jpg Vous allez dans un premier temps essayer de transférer les données envoyées par le compteur sur le PC

Pour cela, il convient de :

  • créer la liaison vers le compteur (cf ci dessus)
  • configurer les vitesses des 2 liaisons séries (elles peuvent être différentes)
  • attendre d'avoir un caractère à lire sur le compteur
  • lire ce caractère
  • l'envoyer sur la liaison vers le PC.

Décodage du message

Il convient maintenant d'essayer de séparer les étiquettes des données.

Pour cela, on remarquera que :

  • chaque message commence par un "retour à la ligne"
  • l'étiquette est suivie d'un "espace"
  • la valeur est suivie d'un "espace"

Todo.jpg En utilisant la méthode readBytesUntil, essayez de séparer étiquettes et données du message :

  • Attendre d'avoir au moins une ligne à lire
  • Attendre de recevoir un "retour à la ligne"
  • Récupérer l'étiquette à l'aide de "readBytesUntil"
  • Récupérer la valeur à l'aide de "readBytesUntil"
  • Convertir cette valeur en entier (cf atoi)


la bonne étiquette

Todo.jpg Il ne reste plus qu'à vérifier si l'étiquette est celle qui nous intéresse en utilisant la fonction strcmp


cahier des charges

Todo.jpg Il ne vous reste plus qu'à relire le cahier des charges et compléter votre programme pour qu'il réaliser ce que l'on souhaite.

Ressources

Librairies arduino

Voici la librairie permettant de communiquer avec le compteur électrique : Media:arduinoLibTeleinfo.tar

Composants

Nom Type Boîtier Librairie Eagle Référence eagle Documentation Fournisseur Référence
ATMEGA328p µcontrôleur DIP-20 atmega328 ATMEGA328-20P atmega328p.pdf
LED CMS PLCC2 led LG_T679-E1F1-1
ISP barrette mâle sécable traversant con-lstb MA03-2
SFH620A optocoupleur CMS optocoupler SFH620A SFH620A Datasheet
douille(alimentation) borne pour fil 4mm traversant special-drill special_drill_0.3650