Problème récupération téléinfo

Bonjour

Un peu plus de détails sur le schéma que tu utilises serait le bien venu.
As tu un moyen de vérifier à l'oscilloscope ?
As tu bien mis aussi le terminal série d'Arduino à 1200 baud puisque c'est ce que tu règles dans ton sketch.

Bonjour,

Est tu sûr de bien avoir configuré ton terminal série à 1200 bauds (8bits, 1 bit de stop, pas de parité) ?

Autre chose :

Serial.write((byte) cptSerial.read() & 0x7F);

Avant de lire un octet il faut être sûr qu'il y a quelque chose à lire :wink:

while(cptSerial.available() < 1); // Bloque le programme en attendant un octet
Serial.write((byte) cptSerial.read() & 0x7F);

Bonjour,

@barbudor: Alors non je n'ai pas les moyens de voir mon signal sur un oscilloscope. :frowning: Et en ce qui concerne le terminal série, oui je l'ai bien réglé en 1200 bauds.

@skywodd: J'ai essayé avec cptSerial.available() < 1, mais ça me donne le même résultat.

Le schema de mon installation est attaché à mon post.

Donc comme vous pouvez le voir, par rapport à ce que j'avais dit, j'ai rajouter une résistance de tirage entre l'optocoupleur et a carte arduino.

C'est à devenir dingue, je n'arrive pas à récupérer ne trame cohérente.

Je vous remercie de votre aide.... j'ai peur de devenir chauve à force de m'arracher les cheveu :wink:

Bonjour
-sur le schéma la sortie de l'optocoupleur est inversée, il faut mettre l'émetteur du transistor à la masse (simple erreur de schéma ou aussi erreur de câblage ?)
-les leds d'optocoupleurs supportent mal les tensions inverses, mieux vaux mettre une diode en parallèle et en inverse.
-quel est le modele d'optocoupleur utilisé ?

Je découvre le signal 'téléinfo' et je ne comprend pas ou et comment serait effectuée dans ton cas la démodulation du signal.
A moins qu'il existe plusieurs variantes de 'téléinfo' et que le signal ne soit pas toujours du type décrit içi :

Sur ces schémas le signal téléinfo est alternatif et modulé (présence/absence de 50kHz). Un optocoupleur rapide est utilisé suivi d'une mise en forme et d'une démodulation par monostable. Il est peut etre possible de faire plus simple, juste avec un optocopleur 'lent,' mais ça demande sans doute un certain tâtonnement pour trouver la bonne résistance de pull-up....

L'information de téléinfo module une porteuse à 50kHz. Ton montage fonctionne correctement si l'optocoupleur est lent, sinon l'arduino reçoit des impulsions supplémentaires et il perd les pédales.
Un montage plus élaboré là : La téléinformation EDF - ..:: Planète-Domotique : Le Blog ::..

Accessoirement, il faut aussi que la sortie de l'information téléinfo soit activée sur ton compteur. Sinon tu ne récupères que l'identifiant du compteur si mes souvenirs sont bons.

regarde là : http://arduino.cc/forum/index.php/topic,108382.0.html
mes deux montages en espérant avec était clair.

Rebonjour,

@fdufnews: Oui ma sortie téléinfo est activée sur mon compteur. L'optocoupleur utilisé est ls PC817 (datasheet : Redirect Notice)

@al1fch: Pour le sens de branchement de l'optocoupleur je pourrais te le dire ce soir. Le modèle d'optocoupleur est celui que j'ai cité juste au dessus. Et pour le diode inverse je savais pas. En attendant que j'en commande un je peux continuer sans?

Merci beaucoup de votre aide ... ca fais du bien de se sentir moins seul :slight_smile:

Je vous tiens au jus ce soir!

@al1fch: Pour le sens de branchement de l'optocoupleur je pourrais te le dire ce soir. Le modèle d'optocoupleur est celui que j'ai cité juste au dessus. Et pour le diode inverse je savais pas. En attendant que j'en commande un je peux continuer sans?

Si l'amplitude du signal teleinfo ne dépasse pas 5V (?) l'optocoupleur choisi peut tenir 'un cetain temps' puisqu'il supporte 6V en inverse......
Tu n'as pas une petite diode, voire une petite led à mettre en parallèle avec l'entrée de l'optocoupleur ?

Bonjour à tous,

Alors je reviens vers vous pour vous epliquer ce que j'ai fais hier soir.

Comme me l'a suggéré skywodd j'ai un peu modifié mon code pour prendre en compte les octets uniquement lorsque ceux ci sont disponible (c'est vrai ca sonne mieux avec available :wink: ):

while(cptSerial.available() < 1); // Bloque le programme en attendant un octet
Serial.write((byte) cptSerial.read() & 0x7F);

Et j'ai modifié mon schema elec en rajoutant une diode inverse en entrée de l'optocoupleur comme l'a suggéré al1fch. J'ai aussi bien verifié le branchement de l'optocoupleur en sortie.

Alors avec tout ça que se passe-t-il? => Rien :frowning: ... je ne récupère aucun octets.
Ensuite j'ai essayé de modifier le UCSROC mais le problème est que je ne sais pas trop ce que je fais.

De plus je suis sur que ma teleinfo fonctionne, car avant j'avais un capteur commercial et il me récupérait bien ma teleinfo. Donc c'est forcement un problème soft ou hard. Pour le soft je me dis quand même que le programme est pas bien compliqué, et que ce même code fonctionne chez d'autres personnes (vu sur internet). Et le hard j'ai fais toutes les modifs que vous m'avez preconisées.

Aidez moi svp, là je sèche vraiment!

En ésperant qu'une idée de génie me traversera l'esprit aujourd'hui (laissez moi un peu révé :wink: ).

Bonne journée à vous en tout cas et encore merci de l'aide que vous m'apportez :slight_smile:

Pezioz

Si tu as vu mon lien, au dessus, je n'ai pas réussi à avoir le signal depuis un UNO et l'optocoupleur + R par contre il fonctionne très bien avec mon 2560. Je ne sais pas pourquoi ...

L'émetteur de l'opto coupleur est donc bien à la masse sur le montage réel ?

Aucun octet récupéré ? pas d'oscilloscope disponible ?

Tenter dans un premier temps d'augmenter par palier la résistance de tirage entre Vcc et le collecteur de l'optocoupleur :
10k -> 22k -> 47k ->100K Si ça ne donne rien réduire cette résistance 10k -> 4,7k -> 2,2k -> 1k

Un montage ultra simplifié comme celui là (un opto + deux résistances) est très tributaire des caractéristiques individuelles du composant utilisé. Les opto-coupleurs ont en général de fortes dispersions dur certains de leurs parametres (ratio courant sortie/courant entrée, bande passante...). On compte içi sur l'optocoupleur et sa lenteur relative pour démoduler grossièrement le signal.... c'est une utilisation un peu marginale de ce composant et il n'est pas surprenant que ça demande un peu d'adaptation

Tu peux une petite mise a jour de ton schéma ?

al1fch:
...
Tenter dans un premier temps d'augmenter par palier la résistance de tirage entre Vcc et le collecteur de l'optocoupleur :
10k -> 22k -> 47k ->100K Si ça ne donne rien réduire cette résistance 10k -> 4,7k -> 2,2k -> 1k

Bonjour al1fch
Bonne suggestion , et si dispo pour test plus simple sur "paillasse" utiliser un potentiomètre (100K ou 220K* ) câblé en résistance variable
et voir si "ça fini par tomber en marche" et que donc "ça cause dans le poste", si c'est le cas ensuite cerner les limites basses/hautes de R et "taper" sur une valeur fixe de R
"standard" au plus proche de la moyenne.
Perso si dispo je prendrais un 100 ou 220K en courbe log 8)

Bonjour Artouste
potentiometre OK mais pas sans résistance de 'butée' 1K en série :grin:

Rebonjour à tous,

Je vous joins avec ce message le schema éléctrique mis à jour.

Pour essayer avec différentes valeurs de résistance je ferais ça ce soir.

En tout cas merci beaucoup de votre aide à tous!!

Pezioz

al1fch:
Bonjour Artouste
potentiometre OK mais pas sans résistance de 'butée' 1K en série :grin:

:grin:
bien evidemment 8)

Juste une petite question, qu'est ce que vous appelé une résistance de butée? C'est une résistance mise en série ou parallèle du potentiomètre?

Toujours un grand merci à vous tous!

pezioz:
Juste une petite question, qu'est ce que vous appelé une résistance de butée? C'est une résistance mise en série ou parallèle du potentiomètre?

Toujours un grand merci à vous tous!

c'est ce que l'on apelle une resistance talon
cela conditionne la valeur residuelle
elle est évidemment à mettre en serie du potentiomètre cablé en résistance variable

Il me semble qu'il manque toujours le filtrage de la porteuse téléinfo.
SoftwareSerial ne va rien n'y comprendre.

Bonsoir Barbudor
En fait l'idée dans ce genre de schéma minimal qui semble fonctionner chez certains c'est que l'opto soit suffisement lent pour ne pas 'passer' le 50kHz. Il integre les 'impulsions' (50k monoalternance) et sort la valeur moyenne.... il faut donc que cette valeur moyenne passe en dessous le seuil Vcc/2 quand le 50kHz est présent... La tension de sortie de l'opto remontant )à +5V quand le 50k disparait....
Donc dépendence assez forte avec les caractéristiques individuelles de l'opto et la résistance de collecteur.
Si j'avais accès à mon compteur EDF j'opterai personnellement sur le schéma 'normal' = opto rapide+trigger+monostable !