lundi 22 juillet 2019

Un télérupteur MYSENSORS pour rail DIN



Un télérupteur MYSENSORS pour rail DIN


L'étude qui suit décrit un télérupteur double connecté. Elle a été menée suite à un constat : les micro-modules de commande de télérupteurs du commerce sont très peu fiables :

Ayant acheté un de ces micro-modules Blyss, au bout de trois semaines, un matin je constate que la lumière est allumée dans le couloir. La bobine du télérupteur est sous tension et génère un bruit caractéristique. Tout rentre dans l'ordre après débranchement du module. Conclusion : la sortie du module est en court circuit. Fiabilité à revoir.

D'autre part une solution du commerce est chère :
  • micro-module : 32€
  • télérupteur : 25€
  • total : 57€ par canal
Le module décrit dans cet article, boîtier compris, m'a coûté 19.50€ pour deux canaux.

Les micro-modules du marché ne sont pas tous des bidules infâmes à fuir absolument. Un Fibaro FGS-212 est un bon choix. Il coûte 50€.

Cette réalisation est fortement inspirée de cet article :
https://riton-duino.blogspot.com/2018/02/une-prise-connectee-mysensors.html

1. Câblage

Classiquement, il serait possible de commander un télérupteur classique d'habitation avec le montage suivant :

Un petit relais est branché en parallèle sur les boutons-poussoirs existants. A chaque commande le relais est fermé pendant un temps très court et actionne le télérupteur.
Dans le cas où l'on utilise un micro-module du commerce, celui-ci est branché également en parallèle sur un des boutons-poussoirs.

Le module proposé ici se passe de télérupteur. Il le remplace. Les boutons-poussoirs existants peuvent être raccordés sur le module :

Bien entendu, on pourra raccorder autant de boutons-poussoirs que nécessaire, comme pour un télérupteur classique.

2. Les fonctionnalités

Ce télérupteur possède deux relais et peut donc commander deux charges. Il est destiné à être logé dans un boîtier prévu pour un rail DIN (largeur 4 modules, donc 70mm). Il s’intégrera donc parfaitement dans le tableau électrique  :


Il peut être soit commandé directement par des boutons-poussoirs (optionnels), soit télécommandé par l'intermédiaire d'un serveur DOMOTICZ (ou autre supporté par MYSENSORS). Les actions peuvent être commandées via une télécommande par exemple, ou un interrupteur connecté.

Les liens suivants vous seront utiles :
https://riton-duino.blogspot.com/2019/05/mysensors-presentation.html 
https://easydomoticz.com/domoticz-arduino-mysensors-org-partie-2-la-passerelle
 
Le relais utilisé est du type bistable, ce qui lui évitera de chauffer inutilement durant les périodes ou il sera activé. Il est capable de commuter des charges résistives de 16A maximum.

L'alimentation est un modèle à découpage de 3W de bonne qualité.

3. Le matériel

Pour réaliser cette prise, il vous faudra réunir :
  • un ARDUINO MINI
  • un module radio NRF24L01
  • une alimentation à découpage MEANWELL IRM-03-5
  • un régulateur 3.3V LDO MCP1702
  • deux condensateur de 100nF
  • un condensateur MLCC de 1µF
  • 2 relais bistables OMRON-G5RL-K1A-E-5DC
  • 4 transistors 2N3904
  • 4 résistances de 1K
  • 4 diodes 1N4148
  • 5 borniers à vis 2 broches au pas de 5.00mm
Cliquez sur les liens pour avoir une idée plus précises du matériel.

Une bonne partie des éléments peuvent être trouvés facilement sur AliExpress, surtout les connecteurs.

4. Le schéma


Le schéma est réalisé à l'aide de KICAD.

Il est possible bien entendu de n'implanter qu'un seul relais. Dans ce cas, on implantera uniquement :
  • 2 transistors 2N3904
  • 2 résistances de 1K
  • 2 diodes 1N4148
Rappel : les deux relais OMRON commandent directement les charges. Ancun télérupteur n'est nécessaire.
Les boutons-poussoirs existants peuvent être raccordés sur les entrées MANUAL1 et MANUAL2.

Pour récupérer le projet voir plus bas :  11. Téléchargements.

Vous pouvez essayer ce montage sur une bread-board. Le module NRF42L01 devra être relié à celle-ci à l'aide de câbles DUPONT mâle-femelle, à moins de disposer d'une carte "BreakOut" directement implantable sur la bread-board.
Pour supporter un courant important les pistes reliant les connecteurs 230V et le relais devront être surchargées avec de l'étain ou du cuivre monobrin de 1.5 mm2.

5. IDE ARDUINO

Il vous faudra bien entendu installer les bibliothèques ARDUINO suivantes :
Librairie MYSENSORS : https://www.mysensors.org/download

Dans votre IDE (arduino-cc 1.6.9 par exemple), dans le menu "Outils/Type de Carte" choisir "Arduino Pro or Pro Mini". Dans le menu "Outils/Processeur" choisir "ATmega328 (3.3V, 8MHz)" ou "ATmega328 (5V, 16MHz)" suivant le modèle de votre possession.

6. Le code

Pour récupérer le projet voir plus bas :  11. Téléchargements.

7. Chargement

Reportez-vous à la page traitant de l'ARDUINO MINI.

8. DOMOTICZ

Reportez-vous à ce document :
Il arrive que l'on doive commander une prise par l'intermédiaire d'un logiciel autre que DOMOTICZ.

Cela a été mon cas jusqu'à récemment. Mon serveur DOMOTICZ tourne sur une RASPBERRY PI sur laquelle était également installé un script PYTHON recevant les ordres d'une télécommande infra-rouge. Ce script interprète les codes reçus et appelle ensuite un autre script qui se contente d'envoyer une requête JSON à DOMOTICZ.
Le relais connecté décrit ici alimente chez moi deux éclairages. Ce script permet de les piloter :

https://bitbucket.org/henri_bachetti/mysensors-plug/src/master/raspberry-pi/

9. Boîtier

Ce montage a été intégré dans boîtier kradex-Z-108. Ce boîtier est pourvu d'une fenêtre transparente, blanche ou rouge :


Ce modèle existe également sans fenêtre :



10. Photos

Ci-dessous une image du montage réalisé :

Comme vous le voyez, il rentre parfaitement dans son boîtier. 

11. Téléchargements

Pour télécharger le projet : https://bitbucket.org/henri_bachetti/mysensors-din-relay.git
 
Cette page vous donne toutes les informations nécessaires :
https://riton-duino.blogspot.com/p/migration-sous-bitbucket.html
 

12. Lien utiles

DOMOTICZ : https://domoticz.com/MYSENSORS : https://www.mysensors.org/
NRF24L01 : http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01

13. Conclusion

Voici une petite réalisation très simple et bon marché qui remplacera avantageusement les solutions fantaisistes ou très chères du commerce.


Cordialement
Henri

14. Mises à jour

23/07/2019 :  1. Câblage

samedi 13 juillet 2019

L'utilisation des Condensateurs



L'utilisation des Condensateurs


Nous allons expliquer dans cet article quels sont les types principaux de condensateurs que l'on utilise dans nos montages et surtout parler de leurs utilisations types.

Ce sujet abordera principalement les cas suivants :
  • alimentations filtrées
  • régulateurs
  • microcontrôleurs, circuits logiques et analogiques
  • filtres secteur et anti-parasitage
  • audio
Je ne parlerai pas de HF. Ce n'est pas mon domaine d'expertise et suffisamment de sites spécialisés traitent du sujet.

Également je vais très peu m'étendre sur les explications théoriques, mais plutôt sur les applications pratiques et surtout les précautions à respecter.

D'autre part je ne vais pas présenter, comme on le voit souvent, les condensateurs par type avec leurs applications possibles, mais plutôt aborder chaque cas d'utilisation en suggérant un ou plusieurs types de condensateur.

Après tout, c'est bien souvent comme cela que se présente le problème :
J'ai telle application en vue, quel condensateur employer ?

Une petite présentation en images des principaux types de condensateurs se trouve en fin d'article.

1. Le condensateur

On trouve beaucoup d'explications sur la théorie des condensateurs. Je ne vais pas répéter ce d'autres écrivent de manière très complète :
https://fr.wikipedia.org/wiki/Condensateur
Condensateurs Utilisés En électronique De Puissance.pdf
http://www.dreamm.net/pub/ARCHI/LesCondensateurs/condensateur.pdf

Disons simplement qu'un condensateur est un composant passif capable de stocker de l'énergie sous forme de champ électrostatique, entre deux armatures métalliques séparées par un isolant (diélectrique) :
Un condensateur peut être polarisé, c'est à dire qu'il aura un sens de branchement précis avec un pôle positif et un pôle négatif :
Attention : un condensateur polarisé branché à l'envers peut exploser.

La majeure partie des condensateurs ont un petit nom abrégé :
  • polystyrène ou styroflex : MKS, MKY (Siemens)
  • polypropylène : MKP, MKV (à huile)
  • polyester ou mylar : MKT
  • polycarbonate : MKC
  • papier huilé : MP
  • céramique multicouche : MLCC
Attention, la marque WIMA code certains de ses condensateurs polyester MKS ce qui prête à confusion.

1.1. La capacité

La capacité est principalement déterminée par la surface des armatures, mais elle dépend aussi de l'isolant. La valeur est exprimée en Farad, pico-farad, nano-farad ou micro-farad.

Qui dit capacité importante dit forcément taille importante et inversement.

On est capable à l'heure actuelle de fabriquer des condensateurs électrolytiques d'un farad supportant 25V ayant un encombrement de Ø90x170mm :


La technologie employée limite souvent la capacité, principalement à cause de l'impossibilité de laminer certains diélectriques en feuilles suffisamment fines :
  • tantale : 1000µF
  • polyester : 100µF
  • polypropylène : 100µF
  • céramique MLCC : 4.7µF
  • papier : 1µF
  • polystyrène : 33nF
  • etc.

1.2. La tension de service

La tension de service indique la tension maximale à ne pas dépasser entre les deux pôles d'un condensateur.

Les tensions disponibles dépendent de la technologie employée :
  • électrolytiques : 4V à 500V
  • céramique MLCC : 25V à 500V
  • tantale : 6.3V à 50V 
  • polystyrène : 63V à 160V
  • papier : 125V à 1500V
  • polyester : 30V à 3000V
  • polypropylène : 30V à 10000V
  • etc.
1.2.2. Sous-voltage des condensateurs plastique
Il ne faut pas être effrayé d'utiliser un condensateur film plastique 63V dans une application 5V. Ce sont des condensateurs généralement non fabriqués pour des tensions de service de faible valeur.
Si vous avez un stock de condensateurs polyester 100nF 250V dans vos tiroirs, n'hésitez pas à les utiliser sous 5V ou 3.3V. Il n'y a aucun inconvénient, à part leur taille, qui sera supérieure à celle d'un modèle 30V ou 63V.

1.2.3. Sous-voltage des condensateurs électrolytiques
Certaines personnes affirment que pour un condensateur électrolytique il est déconseillé de choisir une tension de service trop importante sous peine d'accélérer son vieillissement.

Légende urbaine ? pas forcément ...

Réponse d'un collègue ingénieur : Un fabricant d'alimentations m'avait dit il y a  une quinzaine d'années, qu'un condensateur se dégradait lorsqu'il était soumis à une tension très inférieure à sa tension de service. Mais je n'ai jamais vu de document de fabricants de condensateur qui donnait l'évolution de la capacité d'un condensateur en fonction de sa tension d'utilisation.

D'autres personnes affirment que : Le condensateur électrolytique présente la singulière propriété de réparer son diélectrique tout au long de sa vie, et même de l'adapter à la tension appliquée. Son diélectrique se dégrade s'il reste non utilisé ou sous-volté un certain temps. En revanche, lorsqu'une tension plus forte que celle que supporte le diélectrique lui est appliquée, ce condensateur reforme son diélectrique au seul prix d'une augmentation transitoire de son courant de fuite.

Cela semble contredire le proverbe "qui peut le plus peut le moins", mais ce proverbe est-il vrai dans tous les cas ?Je dirais, étant anti-conformiste de nature, qu'un proverbe aussi simpliste a forcément ses limites.

L'augmentation du courant de fuite d'un condensateur électrolytique non utilisé pendant une période longue est indéniable. Qu'en est-il s'il a été longtemps sous-volté ? Un sous-voltage important peut-il être assimilé plus ou moins à une période de non-utilisation ? Rien n'interdit de le penser.

Il semblerait que la légende ne soit pas aussi infondée que cela. Un condensateur électrolytique n'est pas un condensateur comme les autres, il n'est pas simplement constitué de deux armatures et d'un diélectrique. La présence d'électrolyte change beaucoup de choses, et la chimie intervient pour beaucoup.

Je pencherais donc pour une tension de service supérieure à la tension d'utilisation, mais sans exagération.

Ma plus ancienne réalisation audio - un préamplificateur - tourne depuis 30 ans avec une alimentation à transformateur de 2x12V, redressement, filtrage par des condensateurs 4700µF 25V + régulateur shunt.
La tension sur les condensateurs est de 18V. La marge est donc de 35%, pas plus.

1.2.4. La règle des 20% ou des 80%
Quoiqu'il en soit, on choisira une tension de service au minimum supérieure de 20% aux besoins réels, sans excéder 50%, sans quoi la taille deviendra vite un handicap.

D'autres appliquent la règle suivante : la tension d'utilisation devra être au maximum égale à 80% de la tension de service.

Selon la règle des 80% un condensateur ayant de 6.3V de tension de service pourra être utilisé jusqu'à 5.04V.
Selon la règle des 20% un condensateur devant supporter 5V devra avoir une tension de service de minimum 6V.

Il est bien évident que cette règle s'applique uniquement lorsque l'on a affaire à une tension régulée. Lorsque la tension est susceptible de varier, il faut tenir compte de la tension maximale pouvant être présente aux bornes du condensateur.

Ensuite chacun fait comme il le sent. Libre à chacun de doubler la valeur de tension de service pour avoir l'impression d'obtenir plus de sécurité.

Il n'en reste pas moins que sur une carte mère de PC, qui constitue tout de même un des standards de l'industrie, les condensateurs 6.3V sont réservés aux lignes d'alimentation 5V tandis que les condensateurs 16V sont situés sur les lignes 12V.

Dans ce cas la règle des 20% et la règle des 80% fonctionnent, donc je me dis que cela doit correspondre à une preuve tangible que cette règle est un standard reconnu.

1.3. La température

Les problèmes liés aux variations de température sont les mêmes que pour d'autres composants :
  • variation des caractéristiques
  • diminution de la durée de vie
Ici je vais surtout parler de la durée de vie des condensateurs électrolytiques.
Les fabricants précisent souvent une durée de vie et une température : 105° et 5000H par exemple.
Cela ne veut pas dire que le condensateur décédera systématiquement au bout de 5000H (6 mois) de fonctionnement, mais qu'il conservera ses caractéristiques pendant 5000H s'il est soumis en permanence à une température de 105°.
Le condensateur tiendra probablement plusieurs dizaines d'années à 25° et probablement 10 ans à 40° ou 50°.

En général un condensateur électrolytiques décédé pour cause de température excessive présente une surface supérieure bombée :


Les condensateurs que j'ai changé récemment sur ma tireuse à bière étaient des modèles 16V pour une tension d'utilisation effective de 10.5V et ils sont morts au bout de dix ans, car il fait chaud dans cette machine (ils ont gonflé, et la panne est connue).
Comme par hasard, ces condensateurs sont situés près d'un dissipateur !

Si vous rencontrez ce genre de cas, n'hésitez pas, remplacez-le par un condensateur supportant une température supérieure, et augmentez la ventilation si vous le pouvez.

Vous rencontrerez souvent ce type de panne sur une carte mère de PC. C'est une bonne raison pour installer un ventilateur de boîtier ! Le ventirad du processeur et le ventilateur de l'alimentation ne suffisent pas toujours.

Mais vous aurez beaucoup de mal à remplacer les condensateurs gonflés d'une carte mère. Il vous faudra un fer à souder très puissant pour faire fondre les soudures sur un PCB 8 couches ou plus.
L'extraction du condensateur défectueux reste possible (je vous conseille d'ajouter un peu de soudure), mais le remplacement l'est moins, car pour cela il vous faudra aspirer la soudure des perçages du PCB. Certains y parviennent !


Une carte mère Asus P5S800-VM. Les condensateurs verts sont tous de la marque LTEC. En tout 25 exemplaires avec le même défaut (bombés).
Une marque à éviter ? non, à fuir !

1.4. Durée de vie et ondulation

Pour un condensateur, surtout électrolytique, il existe également un problème de  durée de vie lié à l'ondulation de la tension à ses bornes :
https://www.astuces-pratiques.fr/electronique/duree-de-vie-des-condensateurs-chimiques

1.5. Fiabilité

Les condensateurs sont responsables de 30% des défaillances des circuits électroniques.
Je vous recommande de ne pas utiliser de condensateurs sans marque achetés chez des revendeurs chinois, en particulier des électrolytiques.
Une marque réputée vous offrira des composants durables dans le temps, et de plus vous n'aurez aucun mal à trouver les datasheets pour connaître leurs vraies caractéristiques (durée de vie, température maximale, etc.) :
  • Nichicon
  • Panasonic
  • Samwha
  • Vishay
  • etc.

2. Les principaux cas d'utilisation

Commençons par les cas les plus courants.

2.1. Filtrage d'alimentation

Dans ce montage d'alimentation à transformateur, redressée et filtrée, on voit un condensateur électrolytique (polarisé) doublé par un condensateur non polarisé.

2.1.1. Attention à la tension réelle
Il faut choisir une marge de manœuvre plus importante pour un condensateur de filtrage d'alimentation à transformateur, qui lui est soumis à une tension dépendante de la tension secteur, qui peut varier dans des proportions non négligeables.

Il ne faut pas oublier non plus que la tension à vide d'un transformateur est supérieure à sa tension en charge, et plus sa puissance est faible, pire c'est.
Un transformateur 12V 5VA délivre souvent 17V à vide. Donc on doit tenir compte de la tension à vide pour les calculs.

Si l'on calcule la tension filtrée à partir de 12V en charge, on obtient 17V.
Si l'on calcule la tension filtrée à partir de 17V à vide, on obtient 24V, ce qui n'est pas tout à fait la même chose.

Dans le premier cas, le choix théorique serait un condensateur de 25V.
Alors que dans le deuxième cas, on choisira plutôt 35V, en tenant compte d'une éventuelle variation du secteur de 10%.

2.1.2. Augmenter la tension de service
Choisir un condensateur de tension supérieure en filtrage d'alimentation permet d'allonger sa durée de vie, car le courant ondulé admissible est plus important. La résistance série sera également plus faible, ce qui ne peut qu'améliorer la réponse transitoire.
Attention toutefois : l'augmentation de la tension se service s'accompagne d'une augmentation de l'encombrement et aussi du prix. 

Augmenter la tension de service dans de larges proportions (50V ou 100V pour une tension de 5V par exemple) peut à la longue avoir un effet de dégradation du diélectrique. Il conviendra de tenir compte de ce paragraphe :
1.2.3. Sous-voltage des condensateurs électrolytiques

2.1.3. Cas général
Étant donné les capacités importantes nécessaires pour lisser une tension alternative redressée, le choix qui s'impose est le condensateur électrolytique.

On ajoute souvent en parallèle un petit condensateur film polyester afin d'éliminer les petites ondulations haute fréquence.
On peut aussi combiner plusieurs technologies pour filtrer sur une bande de fréquence plus large :
Exemple : électrolytique + 100nF polyester + 100pF céramique.

Donc le choix se résume à ceci :
  • électrolytique
  • électrolytique + film polyester (MKT)
Je vous renvoie à cet article si vous voulez en savoir plus sur le calcul d'une capacité de filtrage :
https://riton-duino.blogspot.com/2019/01/alimentation-transformateur.html

2.1.4. En audio
En audio haut de gamme on peut aussi ajouter en parallèle un électrolytique faible ESR (résistance série) afin d'améliorer la réponse de l'alimentation aux variations brusques de consommation (réponse transitoire).
On peut aussi ajouter en parallèle un condensateur à film polypropylène (MKP).
On peut aussi n'utiliser que des condensateurs électrolytique faible ESR, mais le prix sera élevé.

Donc le choix se résume à ceci :
  • électrolytique + électrolytique faible ESR
  • électrolytique + film polyester (MKT) ou polypropylène (MKP)
  • électrolytique faible ESR seul
2.1.5. Mise en parallèle
Un condensateur de forte capacité présente une faible impédance aux fréquences basses. Une capacité de faible valeur présente une impédance plus faible aux haute fréquence.
Il est intéressant de placer plusieurs condensateurs en parallèle afin d'améliorer le comportement en régime impulsionnel. C'est une technique qui donne de bons résultats car chaque condensateur travaille dans sa plage de fréquence.

Par exemple :
  • électrolytique + céramique 100nF
  • électrolytique + polyester 100nF + céramique 100pF 
Remarque : un condensateur tantale est un condensateur basse fréquence, tout comme un électrolytique.

2.2. Stabilité d'un régulateur

On voit très souvent un condensateur à l'entrée et un autre à la sortie d'un régulateur :


Le condensateur en entrée permet d'éliminer les éventuelles petites ondulations résiduelles de l'alimentation. Il est facultatif si la distance qui sépare le régulateur de l'alimentation est faible (< 10cm).

Le condensateur de sortie est absolument nécessaire à la stabilité du régulateur.
La valeur minimale de ce condensateur est précisée dans la datasheet du régulateur. Il est indispensable de la lire. Certains fabricants vont jusqu'à préciser le type de condensateur à utiliser (souvent tantale ou MLCC).

Certains régulateurs se contentent de 0.1µF (LM7805), d'autre ont besoin de 100µF (LM1117).

2.2.1. Augmenter la tension de service
Contrairement aux alimentation à transformateur, augmenter la tension de service d'un condensateur de sortie de régulateur n'apporte rien. L'échauffement par ondulation est nul. La diminution de la résistance série pourra s'obtenir de manière plus efficace en choisissant un condensateur au tantale.

2.2.2. Cas général
Ici, en fonction de la valeur on pourra adopter :
  • < 1µF : céramique MLCC, film polyester (MKT)
  • > 1µF : tantale, céramique MLCC, électrolytique
A la sortie d'une alimentation stabilisée de laboratoire, on pourra appliquer la même règle.

On peut éventuellement combiner plusieurs technologies pour filtrer sur une bande de fréquence plus large :
10µF électrolytique ou tantale + 100nF polyester + 100pF céramique.

2.2.3. En audio
Pour des applications audio exigeantes, on préférera le condensateur film polypropylène (MKP), ou tantale pour les capacités trop importantes.

2.2.4. Mise en parallèle
Ici aussi il est intéressant de placer plusieurs condensateurs en parallèle afin d'améliorer le comportement en régime impulsionnel.

Par exemple :
  • électrolytique 10µF + céramique 100nF
  • électrolytique 10µF + polyester 100nF + céramique 100pF
  • polyester 100nF + céramique 100pF
2.2.5. Condensateurs électrolytiques audio
Il existe des condensateurs électrolytiques haut de gamme :

2.3. Découplage d'alimentation

Il est recommandé lorsque l'on implante un microcontrôleur, un circuit logique ou analogique de placer un condensateur en parallèle au plus près de ses broches d'alimentation.

Ces condensateurs empêchent les fortes variations de courant de remonter les lignes d'alimentation et d'aller perturber d'autres circuits. Ils agissent comme un petit réservoir d'énergie.

2.3.1. Cas général
Pour des circuits numériques ou analogiques, en général on utilisera ici un petit condensateur de 4.7nF à 100nF à film polyester :
  • micro-contrôleur
  • circuits logiques
  • amplificateurs opérationnels
  • modules radio à faible consommation (NRF24L01 par exemple)
  • etc.
On pourra découpler l'alimentation d'un ESP8266 ou d'un ESP32 à l'aide d'un condensateur électrolytique de plus forte valeur (10µF minimum), car s'il consomme peu quand il est connecté, pendant la phase de connexion WIFI il peut consommer plus de 400mA.
La capacité pourra même être largement supérieure si le régulateur qui l'alimente est un peu juste en courant (500mA par exemple).
On peut ajouter également un 100nF à film polyester.

Pour des appels de courants plus importants, la bobine d'un relais par exemple, on pourra utiliser un condensateur électrolytique de grosse capacité (100µF ou plus, en fonction du courant demandé) :
Ce condensateur évitera que les appels de courant de la bobine ne perturbe l'alimentation du microcontrôleur par exemple.

En résumé :
  • < 1µF : céramique MLCC, film polyester (MKT)
  • > 1µF : tantale, céramique MLCC, électrolytique
2.3.2. En audio
Pour des applications audio exigeantes, on préférera le condensateur film polypropylène (MKP).

2.4. Condensateur de liaison

Entre deux circuits analogiques, si l'on veut éviter qu'une tension continue ne soit transmise d'un étage à un autre, on utilise un condensateur de liaison.

On peut également éliminer la tension continue aux bornes d'un potentiomètre de réglage de volume à l'aide de ce moyen (ce qui permettra d'éviter les bruits de crachements dus à cette tension continue) :
Sur ce schéma la base du transistor est polarisée à l'aide de 2 résistances R1 et R2. La tension sur la base sera probablement de 12V / 2 donc 6V.
Cette tension ne doit en aucun cas être envoyée sur l'entrée, d'où la présence de C1, qui protège aussi le circuit d'une éventuelle tension continue en provenance de l'entrée.
Cette tension ne doit en aucun cas être appliquée sur le potentiomètre, d'où la présence de C3.
Le condensateur C2 empêche d'envoyer une tension continue sur la sortie.
Il en découle que seule une tension alternative peut traverser ce circuit.

2.4.1. Les circuits analogiques modernes
Dans les circuits analogiques modernes, on utilise une alimentation symétrique, avec la masse comme point milieu, ce qui fait que ces composantes continues sont inexistantes ou presque.
Cela explique la quasi absence de condensateurs de liaison dans les amplificateurs modernes, ce qui va dans le bon sens : moins il y a de composants sur le trajet du signal, plus celui-ci est fidèlement restitué.

2.4.2. Liaison analogique / numérique
Vous pouvez être amené à utiliser un condensateur de liaison entre un montage analogique à alimentation symétrique et une entrée analogique de microcontrôleur, à des fins de mesure et de traitement :
Sur ce schéma, le signal alternatif en sortie de l'amplificateur opérationnel est centré de part et d'autre du zéro (GND).
Les résistances R1 et R2 permettent de polariser l'entrée du convertisseur analogique / numérique autour de 2.5V, ce qui permettra à celui-ci de travailler sur une tension d'entrée compatible avec sa tension d'alimentation (0V à 5V).
Le condensateur permet d'éviter que cette tension continue ne se retrouve sur la sortie de l'amplificateur opérationnel.

2.4.3. Calculer la valeur
Les condensateurs de liaison agissent comme des filtres passe-haut.
Le calcul de la valeur d'un condensateur de liaison fait intervenir l'impédance d'entrée du circuit en aval (celle du circuit en amont étant en général beaucoup plus faible) et la fréquence de coupure désirée.
Des valeurs de 1µF ou plus sont courantes en application audio.
La fréquence de coupure sera calculée comme suit :
Fc = 1 / (2 * 3.14 * RC)
En retournant la formule :
C = 1 / (Fc * 2 * 3.14 * R)

Plus la fréquence de coupure Fc sera basse, plus la capacité C du condensateur sera importante.
Plus l'impédance R sera basse, plus la capacité C du condensateur sera importante également.

2.4.4. Augmenter la tension de service
En audio très haut de gamme il n'est pas rare de rencontrer des condensateurs de liaison polypropylène ou papier huilé largement surdimensionnés en tension de service (400V ou même 1200V) sur le trajet du signal :
Pourquoi une telle débauche de moyens alors qu'un condensateur de 30V suffirait amplement pour assurer le passage d'un signal de 100mV ?

Les audiophiles considèrent que les armatures d'un condensateur vibrent lors du passage du signal, introduisant une certaine distorsion. Ce n'est pas faux, mais dans quelle mesure serez-vous capable d'entendre une différence ?

Je vous laisse seul juge.

A partir du moment où certains illuminés pensent qu'un cordon secteur FURUTECH à 400€ peut apporter plus de dynamique à leur système audio, tous les délires sont permis.

Les amateurs d'audio haut de gamme actuels sont particuliers. Il écoutent des CD échantillonnés en 16 bits et 44KHZ, et pour eux cela a été une révolution dans les années 1980, mais à mon sens le CD est un standard misérable.

Personnellement, pour avoir numérisé de galettes 33T vinyle en 24bits et 96KHz ou 192Khz, je pense que les audiophiles actuels ont raté quelque chose ... mais ils ne le savent pas, c'est rassurant pour leur ego.

Écouter des CD dont le spectre de fréquence est hyper-limité dans les aigus et penser qu'un cordon secteur à 400€ va améliorer les choses ne relève pas du bon sens.

Personnellement, étant exigeant, j'utilise des condensateurs polypropylène WIMA série MKP 250V ou 400V dans mes circuits audio.
Leur prix (0.70€ pour un condensateur de 1µF 250V) est certes supérieur à celui d'un polyester courant (0.10€) mais reste sans commune mesure avec le prix d'un Jantzen Alumen Z-CAP (25€).

Mais rien ne dit que je n'essaierai pas le Jantzen un jour ...

Pour votre curiosité visitez ce site, où un testeur éclairé écoute le son des condensateurs :
http://www.humblehomemadehifi.com/Cap.html

2.4.5. Cas général
Le choix va dépendre surtout de la valeur de la capacité :

Nous allons commencer par les condensateurs à proscrire, car non linéaires. Ces condensateurs produiraient une distorsion importante :
  • tantale
  • céramique
Si les impédances en jeu sont basses, ce qui est plutôt rare, la valeur de capacité sera élevée, nous n'aurons guère de choix :
  • électrolytique
  • électrolytique non polarisé
Afin d'augmenter l'impédance d'entrée d'un circuit audio, il est souvent préférable d'ajouter un étage amplificateur suiveur, plutôt que d'utiliser un condensateur électrolytique de forte valeur.

Sinon, dans un ordre de qualité décroissante on pourra choisir :
  • polystyrène (MKS)
  • polypropylène (MKP)
  • papier huilé
  • mylar ou polyester
  • polycarbonate (MKC)
Pour ceux qui ont envie d'approfondir :
https://www.sonelec-musique.com/electronique_theorie_condensateur_liaison.html
http://optimisetonampli.chez-alice.fr/passif.htm

Les types de condensateurs utilisés en tant que condensateurs de liaison conviennent également pour la réalisation de filtres audio.

2.4.6. Mise en parallèle
Lorsque l'on est obligé d'utiliser un électrolytique, ici aussi il est intéressant de placer plusieurs condensateurs en parallèle afin d'améliorer le comportement aux haute fréquence.

Par exemple :
  • électrolytique 10µF + polyester 100nF
  • électrolytique 10µF + polystyrène 10nF
  • électrolytique 10µF + polypropylène 100nF
Vous aurez du mal à trouver des condensateurs polystyrène dépassant 33nF.

Rappel : en audio le tantale et la céramique sont à éviter.

2.4.7. Condensateurs électrolytiques audio
Lorsque l'on est obligé d'utiliser un électrolytique, il existe des modèles haut de gamme :

2.5. Condensateur de filtrage et anti-parasitage secteur

Nous abordons ici un domaine où intervient un critère important : la sécurité des personnes et des biens.

Prenons un exemple pour illustrer :

Ce filtre secteur possède deux types de condensateurs :
Le condensateur C1 est obligatoirement du type polypropylène ou papier X2 400V. Les condensateurs de classe X2 sont souvent connectés entre phase et neutre et ne doivent pas dans leur mode de défaillance provoquer de court-circuit, il sont "auto-cicatrisants" :
La classa X1 supporte des "pointes" de 4kV, la class X2 2,5kV.

Les condensateurs C2 et C3 sont obligatoirement du type polypropylène ou papier Y2 400V. Les condensateurs de classe Y2 sont connectés à la terre, et sont garantis sans fuite, ceci afin de garantir la sécurité des personnes, et d'éviter aussi bien sûr qu'une fuite importante à la terre ne fasse sauter votre disjoncteur différentiel :
Le condensateurs Y1 et Y2 sont testés à l'aide de pointes de 8kV pour la class Y1 et 5kV pour la classe Y2.

Les condensateurs X2 et Y2 sont utilisée notamment dans toute alimentation à découpage, dans celle de votre PC par exemple.

Il est formellement interdit d'utiliser des condensateurs classiques du type film polyester ou autre sur le secteur.

Autre cas : un condensateur anti-parasites.

Le condensateur C1 doit être de préférence du type X2 pour des raisons de sécurité, et doit pouvoir supporter bien entendu 250V alternatifs ou 400V continus.
Un condensateur à film polyester qui se mettrait partiellement en court-circuit pourrait entraîner un échauffement important de la résistance de 100Ω et déclencher un incendie.

En résumé :
  • entre phase et neutre : polypropylène X2
  • entre phase et terre ou neutre et terre : polypropylène Y2

2.6. Les super-condensateurs

Ces condensateurs de très forte capacité (jusqu'à plusieurs milliers de Farads) permettent de stocker une quantité énorme d'énergie.

Il sont utilisés comme réservoir d'énergie en cas de coupure secteur, et sont capables de maintenir un microcontrôleur alimenté pendant plusieurs secondes,  minutes, ou même heures, le temps de faire une sauvegarde de données par exemple.
Leur tension de service peut varier entre 2.5V et 16V.

J'en parle ici : https://riton-duino.blogspot.com/2019/03/arduino-sauvegarde-de-donnees-en-eeprom.html

3. Les principaux types de condensateurs

Un petit tour d'horizon en images :
Condensateur électrolytique polarisé
Condensateur électrolytique bipolaire (non polarisé)
Condensateur électrolytique snap-in
Condensateur électrolytique à visser
Les condensateur électrolytique snap-in et à visser sont en général des modèles de grande capacité.
Condensateur tantale goutte (polarisé)
Condensateur tantale solide (polarisé)
Un condensateur tantale peut remplacer avantageusement un électrolytique lorsque l'on ne trouve pas de modèle de petite capacité et faible tension, par exemple un 10µF / 6.3V.
Les condensateurs au tantale présentent de meilleures caractéristiques de stabilité que les électrochimiques, aussi bien en températures qu'en fréquence. Leur résistance série est plus faible.
Par contre ils ne sont pas recommandés sur le trajet de signaux audio.

Condensateur céramique
Ces condensateurs sont utilisés dans les applications haute fréquence ou dans les applications haute tension (circuits à tubes par exemple).
Ils ne sont pas recommandés sur le trajet de signaux audio.


Condensateur céramique multicouche MLCC
Il existe différentes classes de condensateur MLCC. La capacité d'un MLCC Y5V, très répandu, varie énormément avec la température, ce qui sera moins le cas avec un X7R.
Si vous voulez en savoir plus, visitez ces sites :

Condensateur polyester KEMET
Condensateur polyester SR Passives
Condensateur polyester WIMA
Les condensateurs polyester sont parmi les plus courants dans les montages électroniques. Ils sont peu coûteux.
Condensateur polypropylène KEMET

Condensateur polypropylène SR Passives

Condensateur polypropylène WIMA
Comme vous le voyez il est impossible de discerner un condensateur film polyester ou polypropylène de par l'aspect.
Condensateur polystyrène Styroflex
Condensateur polystyrène Styroflex
Les condensateurs polystyrène se trouvent facilement chez les revendeurs de composants audio.
Condensateur papier huilé
Les condensateurs au papier huilé également. Il sont très souvent utilisés dans le matériel de sonorisation (amplificateurs de guitare).
Condensateur polypropylène X2
Condensateur papier X2 WIMA
Condensateur polypropylène Y2
Condensateur papier Y2 WIMA
Super-condensateur 100000µF 5.5V

Super-condensateur 3000 Farads 2.7V

4. Approvisionnement et stockage

Je vous déconseille d'acheter des lots de condensateurs de toutes valeurs. Ceux-ci sont en général de piètre qualité et comportent souvent un bon nombre de valeurs de capacité et de tension que vous n'utiliserez jamais.
Il est largement préférable de stocker uniquement quelques valeurs courantes pour des tensions qui vous sont habituelles :
  • 10µF / 10V électrochimique et 1µF / 40V MLCC pour vos sorties de régulateurs
  • 100nF film polyester pour vos découplages
Les autres besoins pourront être couverts au fur et à mesure en fonction des applications à développer.

5. Bibliographie

https://fr.wikipedia.org/wiki/Condensateur
Condensateurs Utilisés En électronique De Puissance.pdf
http://www.dreamm.net/pub/ARCHI/LesCondensateurs/condensateur.pdf
https://www.sonelec-musique.com/electronique_theorie_condensateur.html
https://www.sonelec-musique.com/electronique_theorie_condensateur_liaison.html
http://optimisetonampli.chez-alice.fr/passif.htm

6. Conclusion

J'espère que ce petit tour d'horizon des condensateurs vous aura permis de mieux cerner leurs applications respectives et éclairer vos futurs choix.


Cordialement
Henri

7. Mises àjour

13/07/2019 : 1.2.4. La règle des 20% ou des 80%
14/07/2019 : 1.5. Fiabilité
                     2.1.1. Attention à la tension réelle
                     2.1.2. Augmenter la tension de service
                     2.2.1. Augmenter la tension de service
                     4. Approvisionnement et stockage
                     2.4.1. Les circuits analogiques modernes
                     2.4.2. Liaison analogique / numérique
                     2.4.4. Augmenter la tension de service
                     1.2.2. Sous-voltage des condensateurs plastique
                     1.2.3. Sous-voltage des condensateurs électrolytiques
16/07/2019 : 2.1.5. Mise en parallèle
                     2.2.4. Mise en parallèle
                     2.2.5. Condensateurs électrolytiques audio
                     2.4.6. Mise en parallèle
                     2.4.7. Condensateurs électrolytiques audio

lundi 1 juillet 2019

Une Télécommande Domotique Infrarouge


 Une Télécommande Domotique Infrarouge


Dans cet article je décris une solution de télécommande infrarouge permettant de piloter des dispositifs divers et variés :
  • allumage / extinction home-cinema
  • allumage / extinction éclairages
Afin de ne pas multiplier le nombre de télécommandes sur la table de salon, j'ai détourné quelques touches inutilisées de la télécommande de mon amplificateur (un ampli stéréo Rotel).
Une carte ARDUINO NANO équipée d'un récepteur TSOP4838 reçoit les codes de la télécommande.

Ce projet s'adresse à toute installation domotique équipée d'un serveur possédant une interface JSON, mais pas seulement. On peut également commander facilement des dispositifs WIFI à base d'ESP8266 ou ESP32.

1. La réception infra-rouge





Voici le petit sketch très simple du récepteur infrarouge :

#include <IRremote.h>

#define IR_PIN      9

IRrecv irrecv(IR_PIN);

void setup()
{
  Serial.begin(115200);  //starts serial communication
  irrecv.enableIRIn(); // Starts the receiver
}

long getIR(void)
{
  decode_results results;

  if (irrecv.decode(&results)){
    long int decCode = results.value;
    irrecv.resume();
    if (decCode != -1) {
      return decCode;
    }
  }
  return 0;
}

long lastCode;

void loop()
{
  //decodes the infrared input
  long   ir = getIR();
  if (ir != 0) {
      if (ir != lastCode) {
      Serial.println(ir, HEX);    }
    irrecv.resume();
  }
  lastCode = ir;
  delay(100);
}


Comme on le voit L'ARDUINO envoie les codes en hexadécimal sur sa ligne série (USB) au serveur, une RASPBERRY PI dans mon cas.

2. La RASPBERRY PI

Voici un schéma du système :


On voit plusieurs passerelles connectées en USB à la RASPBERRY PI :
  • une passerelle 2.4GHz MySensors
    • ARDUINO NANO
    • NRF24L01
  • une passerelle 433MHz RFLINK 
    • ARDUINO MEGA
    • Aurel RTX-MID-5V
  • le récepteur infrarouge
    • ARDUINO NANO
    • TSOP4838
La RASPBERRY PI est posée sur une étagère du home-cinema et la télécommande se trouve en permanence sur la table de salon.

Sur la RASPBERRY PI un petit script en PYTHON interprète les codes et exécute les actions correspondantes :

#!/usr/bin/python

import serial
import time, os

remote = serial.Serial('/dev/ttyUSB1', 115200, timeout=1)
lamp = 0
homeCinema = 0

while (1):
    line = remote.readline()
    if line <> '':
        command = line[:-2]
        print command


# ESP8266 MONOSTABLE RELAY

        if command in ('C148C837','F732'):
            os.system('curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://192.168.1.11/?pin=1&action=PULSE&delay=100"')


# BLYSS PLUG

        elif command in ('F70D', 'C148708F'):
            cmd = 'bash -c /home/pi/lamp-on.sh'  if lamp == 0 else 'bash /home/pi/lamp-off.sh'
            print cmd
            os.system(cmd)
            lamp = not lamp


# ESP8266 PLUG

        elif command in ('F78D', 'DE103B86', 'C14858A7'):
            os.system('curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://192.168.1.13/toggle"')


# HOME-CINEMA

        elif command in ('F7C2', 'F7B2', 'C148F00F', 'C148D02F'):
            cmd = 'bash -c /home/pi/home-cinema-on.sh'  if homeCinema == 0 else 'bash /home/pi/home-cinema-off.sh'
            print cmd
            os.system(cmd)
            homeCinema = not homeCinema


Que peut-on commander à partir d'un tel script ?
On peut tout faire en fait :
  • envoyer une commande sur la ligne série du RFLINK
  • envoyer une requête HTTP à un dispositif WIFI (ESP8266)
  • envoyer une requête JSON à un serveur DOMOTICZ ou autre
  • appeler un script

2.1. Les codes de la télécommande

Pour relever les codes de la télécommande, il suffit de lancer le script dans un terminal et de relever les codes des touches qui nous intéressent.

Note : le script a besoin de pyserial pour fonctionner. On installe pyserial comme ceci :

sudo apt-get install pyserial

Ensuite il faut remplacer les codes dans le script :

        elif command in ('F70D', 'C148708F'):

On voit ici que deux touches permettent d'effectuer la même action. Il est bien entendu possible d'en affecter une seule :

        elif command == 'F70D':

2.2. Le RFLINK

La passerelle RFLINK permet de piloter des prises du commerce (Blyss, Chacon, etc.).
Les commandes RFLINK peuvent être envoyées directement sur sa ligne série. Il faut connaître les protocoles employés.
Le plus simple est de disposer d'un serveur DOMOTICZ, JEEDOM ou autre et d'actionner la prise à l'aide de l'icône associée à la prise. Ensuite on va copier / coller la commande à partir des logs du serveur (sous DOMOTICZ cliquer sur "Réglages / Logs) :

2019-07-01 11:50:25.371 User: Admin initiated a switch command
2019-07-01 11:50:25.371 RFLink Sending: 10;Blyss;006776;e1;ON
2019-07-01 11:50:26.195 (RFLINK) Light/Switch (Lampe sur pied)

Dans le script PYTHON On voit la ligne suivante :

            cmd = 'bash -c /home/pi/lamp-on.sh'  if lamp == 0 else 'bash /home/pi/lamp-off.sh'
            os.system(cmd)

Comme on le devine les scripts lamp-on.sh et lamp-off.sh permettent d'allumer et d'éteindre une lampe branchée sur une prise Blyss. Il suffit d'envoyer les commandes sur la ligne série :

lamp-on.sh :

echo "10;Blyss;006776;e1;ON" > /dev/ttyACM0


lamp-off.sh :

echo "10;Blyss;006776;e1;OFF" > /dev/ttyACM0

C'est tout ce qu'il y a à faire.

2.3. Le WIFI

Pour envoyer une commande à un ESP8266 ou un ESP32 il suffit d'utiliser curl :

            os.system('curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://192.168.1.11/?pin=1&action=PULSE&delay=100"')

Dans cet exemple le télérupteur a été développé par moi-même et l'URL "http://192.168.1.11/?pin=1&action=PULSE&delay=100" permet d'activer la sortie 1 à l'aide d'une impulsion de 100ms.

Mais on peut bien évidemment utiliser une autre URL pour commander toute prise WIFI du commerce, une SONOFF par exemple :

            os.system('curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://192.168.1.10/control?cmd=GPIO,12,1"')
            os.system('curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://192.168.1.10/control?cmd=GPIO,12,0"')

Voir ici l'intégration d'une prise SONOFF à DOMOTICZ : https://projetasgarddiy.fr/2018/06/14/interrupteur-sonoff-dans-domoticz/

Avec cette solution il serait même possible de se passer de la RASPBERRY PI, et envisager de commander ses prises directement à l'aide d'un client HTTP à base d'ESP8266, ESP32 ou même un ARDUINO + shield Ethernet.
Dans ce cas, on peut se passer de l'ARDUINO NANO et connecter le récepteur TSOP4838 directement sur l'ESP8266, l'ESP32 ou la MEGA.

2.4. Contrôle direct par le serveur

On peut à l'aide de ce moyen contrôler tous les dispositifs y compris les précédents, à partir du moment où ils sont connus du serveur.

Cette méthode sera la seule permettant un contrôle de dispositifs MYSENSORS à base de NRF24L01.

Dans le script PYTHON plus haut je l'utilise pour contrôler le HOME-CINEMA (une prise connectée à base d'ARDUINO MINI + NRF24L01) :

            cmd = 'bash -c /home/pi/home-cinema-on.sh'  if homeCinema == 0 else 'bash /home/pi/home-cinema-off.sh'
            os.system(cmd)

Que font les scripts home-cinema-on.sh et home-cinema-off.sh ?

home-cinema-on.sh :

python home-cinema.py On

home-cinema-off.sh :

python home-cinema.py Off

On se doute bien que si la tâche est confiée à un script PYTHON, c'est qu'elle est un peu plus complexe (on utilise JSON) :

Voici le contenu de home-cinema.py :

#!/usr/bin/python
# - *- coding: utf- 8 - *-
import sys
import json
import urllib2
import re
import time
import datetime
import httplib, urllib

def open_port():
    pass

def close_port():
    pass

class DomoticzDevice():

    def __init__(self, url):
        self.baseurl = url

    def __execute__(self, url):
        req = urllib2.Request(url)
        return urllib2.urlopen(req, timeout=5)

    def getDeviceId(self, name):
        """
        Get the Domoticz device id
        """
        url = u"%s/json.htm?type=devices&filter=all&used=true&order=Name&" % (self.baseurl)
        print url
        data = json.load(self.__execute__(url))
        for device in data['result']:
            if device['Name'] == name:
                return device['idx']
        return None

    def getDeviceData(self, name):
        """
        Get the Domoticz device data
        """
        url = u"%s/json.htm?type=devices&filter=all&used=true&order=Name&" % (self.baseurl)
        print url
        data = json.load(self.__execute__(url))
        for device in data['result']:
            if device['Name'] == name:
                return device['Data']
        return None

    def setDeviceInfo(self, xid, category, info):
        """
        Set the Domoticz device information.
        """
        url = "%s/json.htm?type=command&param=%s&idx=%s&switchcmd=%s&" % (self.baseurl, category, xid, info)
        print url
        data = json.load(self.__execute__(url))
        return data

url = "http://192.168.1.134:8080"
domo = DomoticzDevice(url)
switch = domo.getDeviceId(u'Home-cinema')
print switch
domo.setDeviceInfo(switch, "switchlight", sys.argv[1])

Explications des dernières lignes :

L'URL du serveur DOMOTICZ :
url = "http://192.168.1.134:8080"  
Instanciation de l'objet DomoticzDevice :
domo = DomoticzDevice(url)
Récupération de l'identifiant du dispositif portant le nom "Home-cinema" :
switch = domo.getDeviceId(u'Home-cinema')
Envoi de la commande à DOMOTICZ :
domo.setDeviceInfo(switch, "switchlight", sys.argv[1])

sys.argv[1] représente l'argument passé au script sur la ligne de commande :  "On" ou "Off" :
python home-cinema.py On
python home-cinema.py Off

Ce script construit en définitive une URL avec quelques arguments interprétés par le serveur.
Il est facile d'essayer de commander une prise en tapant cette URL dans son navigateur :

http://192.168.1.134:8080/json.htm?type=command&param=switchlight&idx=328&switchcmd=On
http://192.168.1.134:8080/json.htm?type=command&param=switchlight&idx=328&switchcmd=Off

Il est à noter que ces URLs sont les mêmes que celles que l'on peut utiliser pour définir une action au niveau du serveur pour un bouton-poussoir, un interrupteur ou un capteur de présence :

Voir cet article :
Paragraphe 5.3. Les actions

3. Conclusion

Voici une petite solution simple et économique à mettre en oeuvre pour commander ses prises à l'aide d'une simple télécommande infra-rouge.

Cordialement
Henri