CPL et Arduino

Bonjour tout le monde !

Je viens içi pour vous demander, est-ce que c'est possible de communiquer entre deux arduino / une arduino et un Rpi / deux Rpi avec une liaisons CPL ?, si oui Comment ?

J'ai beau chercher, je ne trouve pas de "tutoriel" complet m'expliquant le matériel qu'il me faudrait, et comment faire pour réalisé tout cela, je souhaite en fait, établir une transmission de donnée (variables, etc...) via le protocole CPL, entre un arduino et un Rpi, dans un projet de domotique (Rpi en tant que central et Arduino en tant que Module / Capteur)

Merci d'avance

Il faut que tu fasses des recherches sur de la communication Ethernet. Le CPL est juste un support à l'ethernet, ce n'est pas un protocole.

Si tu trouves des choses je suis preneur. J'ai cherché il y a quelque temps je n'ai rien trouvé de bien intéressant ... Bizarrement un sujet qui n’intéresse pas les DIYers

Je suis peut-être à côté de la plaque, mais vu de loin, quelle est la différence entre ça et la communication d'un Arduino + shield Ethernet avec un ordi sous Linux ?

Ce que je voudrais n’est pas un arduino + shield ethernet connecter avec un CPL au réseau électrique, je veut une arduino qui SERT de CPL, idem pour le Rpi (logiquement, ce qui marche pour arduino, marche pour le Rpi)

Bonjour, Fait une recherche avec g......e en utilisant "transmission par courant porteur" Un transformateur d'isolement avec les filtres qui vont biens et tu fais ton soft Attention : Ne pas négliger la présence du 230 V (jadis j'avais fait des essais sur une ligne 24 V alternatif) @+ [edit] peut être une source d'inspiration http://kudelsko.free.fr/domotic_recept_CPL/sommaire.htm http://kudelsko.free.fr/domotic_emet_CPL/sommaire.htm

icare: [edit] peut être une source d'inspiration http://kudelsko.free.fr/domotic_recept_CPL/sommaire.htm http://kudelsko.free.fr/domotic_emet_CPL/sommaire.htm

Oh punaise parfait ! Enfin un circuit à me mettre sous la dent et un chip à utiliser : LM2893 !

EDIT : visiblement le lm2893 n'est plus de ce monde, voir donc le TDA5051A

J'ai trouver sa aussi : http://www.arobose.com/shop/cartes-d-extension-robot/308-shield-courant-porteur-mamba.html

Là c'est carrément un shield, je le trouve quand même chers...

le TDA5051A à l'air intérréssant, mais je ne sais pas comment je pourrais m'en servir ?

Quelqu'un pourrait m'expliquer ?

Re,
Pour le TDA5051A, tu devrais regarder la datasheet, il y a des exemples d’utilisation. :wink:
Pour le shield que tu sites, si tu enlèves les filtres et la mise en forme des signaux, il ne reste plus grand chose
@+

Oui tout est dans la datasheet, faut faire le circuit ensuite ...

Bonjour, Pour revenir sur le sujet. On peut aussi imaginer une solution du "pauvre" (sans utiliser de composant spécifique), à savoir un filtre pour se "protéger" (attention tout est relatif) de la tension du secteur et on injecte une porteuse (valeur en rapport avec le filtre) pour assurer la communication. D'un point de vue logiciel tout restera à faire : - codage des informations à transmettre - contrôle des informations - etc... Bref, il faut développer le protocole de communication. La solution la plus simple serait la version half-duplex pour éviter la double modulation de la transmission, les filtres à des fréquences différentes (tout en respectant la non perturbation par les harmoniques) Si quelqu'un est intéressé par cette aventure, je veux bien rechercher dans mes archives les schémas utilisés (cela remonte à plus de 30 ans mais c'est possible) @+

Moi je suis preneur, après te tracasse pas trop la tête, je pourrai pas m'occuper de ce projet de suite, mais au moins j'aurais de quoi cogiter :D

Grosso modo tu veux superposer une porteuse sur celle du 230V ? Une des seules documentation que j'avais trouvé portait sur le X10 et elle expliquait que la communication était opérée vers le passage à zéro (+/- 5ms autour du zéro, surement pour éviter de se bouffer des harmoniques de triac non filtrés)

Bonjour,

B@tto: Moi je suis preneur, après te tracasse pas trop la tête, je pourrai pas m'occuper de ce projet de suite, mais au moins j'aurais de quoi cogiter :D

Pas de problème, je lance la tâche recherche ;) (je suis entrain de me battre avec les threads sous python)

B@tto: Grosso modo tu veux superposer une porteuse sur celle du 230V ?

C'est cela De mémoire, avant le résultat de mon thread, le codage des bits 0 ou 1 était fait sur une période fixe avec une durée variable pour le 0 et le 1 (un peu comme le signal DCF77) @+

Je suis preneur aussi :D sa me permettra d'apprendre des trucs

icare: ... Si quelqu'un est intéressé par cette aventure, je veux bien rechercher dans mes archives les schémas utilisés (cela remonte à plus de 30 ans mais c'est possible) @+

Bonjour Par principe et curiosité :grin: , je m'associe à l'aventure mais j'ai à priori un avis pas tres enthousiaste sur le CPL en general

  • J'ai fais il y a longtemps des test en X10 (sur base PIC ) et rien que les versions 50/60Hz etait déjà "coton à deriver"
  • j'ai vu ce que donne le CPL ethernet en milieu urbain/residentiel chargé , les "freeze" avec ce vecteur sont redhibitoires (pour moi)

Mais bon , faut bien s'amuser en attendant la retraite :grin:

Re,
J’ai retrouvé mes billes :wink:
Avertissement : les filtres utilisés pour injecter la HF sur le secteur sont au potentiel du secteur donc il y a risque de mort.
Il faut faire ces manipulations que si l’on maîtrise les risques liés à ce type de montage et que l’on sait se protéger contre ces risques.
Pardon pour les schémas mais je n’ai pas le temps de les mettre au propre et l’utilisation du scanner est tellement facile.
Filtre pour l’émission:

Il faut injecter au point A un signal de fréquence 100 kHz. Ce signal peut être généré par la carte Arduino (pas sur que la carte puisse le faire).
Mais on peut également utiliser un astable extérieur de 100 kHz associé à une porte ET, dans ce cas la carte Arduino peut déclencher l’envoi du signal.
Si je devais refaire ce montage, je mettrais un opto-coupleur entre la carte Arduino et le point A (pour avoir un isolement galvanique complet)
Filtre pour la réception:


Le schéma est un peu plus complexe. Les signaux provenant du secteur sont filtrés par les condensateurs C3 à C6 et les résistances R1 et R2. Le signal qui a survécu à ce passage est amplifié par les 2 ampli op (G=100). Puis le résultat est injecté dans le NE567 qui est décodeur de fréquence à PLL. Les composants C7, R3 et P sont réglés pour la détection du 100 kHz. La diode LED permet, éventuellement, d’indiquer l’activité du signal. Le signal en sortie du 567 est inversé (+5V au repos) et dépourvu de la composante modulation.
Même remarque que pour l’émetteur, je rajouterai un opto-coupleur pour l’isolement galvanique.
Le signal présent au point B doit être traiter par la carte Arduino.

A partir de ces éléments, il suffit de définir son protocole de communication.

A titre d’exemple, les règles d’utilisation que j’avais utilisé étaient les suivantes:

@b@tto, tu vois ma mémoire m’avait trahit et ce n’était pas sur une période fixe mais cette solution est également plausible en faisant varier la durée de l’impulsion pour discriminer les 0 et 1.
Le détail de l’impulsion de 1 ms

Remarque pour la communication sur courant porteur également valable pour les CPL classiques. Lorsqu’on est en présence d’un réseau électrique triphasé, il faut mettre des filtres inter-phases pour que le signal HF puisse être présent sur les 3 phases.

Petit rappel : Soyez prudent avec le secteur.
@+

Bonjour,
Un petit oubli : lorsqu’on fait une transmission bidirectionnelle, il ne faut pas oublier de désactiver la réception de l’émetteur pour éviter l’auto-réception.
Évident mais il ne faut pas l’oublier :slight_smile:
@+

Bonsoir,
Des schémas un peu plus présentables.

@+

icare: Bonsoir, Des schémas un peu plus présentables.

@+

Bonsoir Icare simple ajout de referencement pour tout ce qui est directement relié au "secteur" - du "X2" pour les condos - pour les "R" au moins faire une serie de 2

Bonjour, il y a la carte OM13313 de chez NXP Semiconductors qui est une demo board pour le TDA5051A.
Vendu pas moins de 150euros ce qui me parait énorme vu les composants qui sont dessus.
En plus le schéma est disponible dans la datasheet http://www.nxp.com/documents/application_note/AN10903.pdf
Quelqu’un est motivé pour essayer d’en faire une?