Problème carte relai 16ch

Bonjour à tous,

Petite question technique du jour. J'ai une carte relay 16ch alimentée en 12v qui vient de me cramer une arduino. Surement mon cablage qui n'est pas juste. Quelqu'un saurait me dire quelle bêtise j'ai fait (cf le schéma en PJ) ?
Il y a un truc que je ne comprends pas. Lorsque je connecte la masse de ma carte relay à celle de mon arduino et que je relie la pin IN1 de ma carte relay à la pin 22 (configurée en output) de mon arduino, cela alimente mon arduino même si le cable 12v de mon arduino n'est pas branché. Comment se fait-il ?

Autre truc bizarre, lorsque je passe la pin IN1 à HIGH ou à LOW, le courant passe dans les deux cas...

Je n 'y comprends rien ! Quelqu'un de doué ici ?

arduinoscheme.pdf (149 KB)

Je ne suis pas doué mais sur ton schéma tu n'indiques pas ou va la masse ? (on dirai que tu n'utilises qu'une broche de l'alim 12V de ta carte relai). Trace peut-être clairement toutes les connexions.

Donne nous le code (balise code </>) de la version minimale de ton programme mettant en évidence le problème.

Bref aide nous :wink:

Merci pour ton retour, j'ai refait un schéma en ajoutant la masse pour que ce soit plus clair. Chaque carte arduino est par ailleurs supplée d'une carte ethernet W5100.
Les masses arduino et carte relais sont reliées entre elles sur les pins GND.
La pin 5V de la carte relais est reliée aux pins 5V de ma 1ere carte arduino.
La pin INT1 de la carte relais est reliée à ma pin 22 de la 1ere carte arduino.

Je n'ai que des sketchs vides pour le moment sur chaque carte, expecté la première qui est reliée à la carte relais et qui ne contient que deux lignes : dans le setup j'ai mis
pinMode(22,OUTPUT);

Dans la loop:

digitalWrite(22,HIGH);

J'ai essayé aussi de changer la valeur mais aucun changement:

digitalWrite(22,LOW);

Même en prenant la carte relais seule (sans la connecter à l'arduino), j'ai le courant qui passe entre les bornes com et NO de mes relais et ce dans n'importe quel cas (que ma pin INT soit mise à la masse ou non).

Est-ce que mon montage semble juste ? Si oui, comment se fait-il que lorsque je déconnecte l'alimentation de ma carte arduino reliée à mon relais, ma carte reste toujours alimentée ? Est-ce que le petit film rouge entre mon 5V de ma carte relai et le 5V de ma arduino est bon ou est-ce qu'il faut que je l'enlève (je ne l'ai pas rebranché depuis que ma carte précédente a grillée et cette nouvelle carte qui la remplace semble cette fois tenir)...

On est d'accord que ça ne pose pas de problème que toutes mes masses soient communes entre mes arduinos ? (c'est pour ça que je les ai fait figurer, au cas ou...)

Un immense merci d'avance pour vos eclaircissements !

arduinoscheme2.pdf (154 KB)

Deux alims distinctes obligatoires et surtout sans relier les deux masses

  • une pour les relais (sur le bornier prévu à cet effet sur la carte relais)
  • une pour les arduino (qui supportent 12V maximum, et encore pas sur un fonctionnement continu en 24/24 7/7). Pas la peine de relier les masses des arduinos, elles le sont déjà par leur alim commune.

Lors des commutations, les bobines des relais envoient des chtouilles sur leur tension d'alim.
Si celle-ci alimente aussi les arduino , il doit y avoir des pointes à plus de 12V.

Merci pour ces premières précisions ! Je ne savais pas qu'ims ne pouvaient pas être alimentés par la même alim (j'utilise des alims de pc, ce qui etait plutot pratique :wink: ).
Ceci etant, je ne comprends pas pourquoi mon courant passe sur mon bornier relais quel que soit l'état de ma pin INT (high ou low)...
Du coup je vire le fil entre ma pin GND de ma carte relais et celui de mon arduino ?.... Et le fil rouge branché sur la pin 5v de ma carte relais et relié a ma pin 5v de mon arduino c'est bon ?

EDIT : Et aussi, comment se fait-il que ma carte relais alimente toute seule ma carte arduino ? L'arduino est alimenté par où dans le cas de figure ou je déconnecte l'alim 12v de l'arduino ? par les pins de sorties ?

EDIT : Et aussi, comment se fait-il que ma carte relais alimente toute seule ma carte arduino ?

Doit-on en conclure que ce que tu appelle "la carte relais" est ce qu'arduino appelle un "shield" qui s'enfiche sur une carte Uno ou Mega ?

Carte relais : sans documentation de ta part on ne peut rien dire.
Carte arduino : il en existe plus 20 modèles différents -> on ne peut rien dire.
Cf : lire le message "Règles du forum francophone".

Si ma supposition est bonne quand deux (des) cartes sont emboîtées toutes les pins correspondantes des différents étages sont reliées entre elles ce qui peut expliquer ce que tu constate.
Perso je met tout à plat et c'est moi qui décide qui doit être relié.
Autre solution : tu peux laisser les cartes empilées si tu utilises la pince coupante pour supprimer les liaisons dangereuses.

Tu as raison, je dois être confus dans mes explications.

La config :

  • Carte Arduino Mega 2560
  • Shield Ethernet W5100
  • Carte relais SainSmart 16ch (en pj la documentation de la carte en question).

La carte relais est donc séparée de la carte arduino et non emboitée. Pour autant, dès que je connecte la pin GND de la carte relais à la GND de ma arduino et que je relie l'une des pin INT de ma carte relais à l'une des mes pins de sorties de ma arduino, cela auto alimente la carte arduino. C'est ça que je ne comprends pas...

16 relay 2.pdf (55.1 KB)

16 RELAY.pdf (491 KB)

Il y a des points qui m'interpellent.

Dans un opto coupleur (U3 à U19) il passe en moyenne de 10 à 20 mA dans la diode.
Seize fois 20 mA cela fait 320 mA
Or il est spécifié dans la datasheet du micro que le courant dans Vcc ou Vee ne doit pas dépasser 200 mA.
Avec 10 mA cela fait 160 mA il ne reste que 40 mA pour le reste de la consommation.

On ne sait ce qu'il y a dans les rectangles PR3 à PR8 --> probablement une limitation du courant mais laquelle ?

Les diodes des opto coupleurs sont alimentées par le 5 V de la carte relais, il faut donc que les masses des 2 cartes soient reliée et dans ce cas à quoi servent les optocoupleurs puisqu'il n'y a pas d'isolement galvanique ?

Alimentation parasite de la Mega :
Toutes les entrées des circuits intégrés sont protégées par des diodes en inverse.
(les flèches noires sont à Vcc)


Donc si on applique sur une pin une tension supérieure à la tension Vcc du micro la diode de protection supérieure peut se retrouver polarisée en direct et donc passante.
Pire si le micro n'est pas alimenté il sera quand même alimenté de façon parasite si une tension est appliquée à ses bornes.

Dans le cas d'une nano alimentée par l'USB la tension Vcc sera égale au 5V USB moins la chute de tension dans la diode shottky soit environ 4,5 à 4,6 V

Ou je passe à coté d'une évidence ou je ne comprend pas cette carte relais.

J'en pense qu'il faut alimenter la carte micro à partir du 5V de la carte relais.

Bonjour a tous,
68tjs, il ne faut pas generaliser. Toutes les LED ne sont pas parcourues par un courant de 10/20mA.

Je n'ai pas de carte 16 relay mais je viens de faire des mesures sur une carte fabrication semblable avec 2 relais.

Le circuit d'entrée est constitue d'une led SMD, d'une resistance 1K et de la led de l'opto en serie.

Aux bornes de
la LED SMD, je mesure 1.85V
la R de 1K, 1.1V
la led interne de l'opto 1.97V
soit un total de 4.92V

Donc 1mA est consomme sur la sortie de l'ATmegaxxx. On pourrait commander 20 relais avec une sortie!

L'opto est un EL817C soit un CTR (Current Transfert Ratio) compris entre 200 et 400.

http://www.everlight.com/file/ProductFile/EL817.pdf

Bonne journee

Jacques

L'opto est un EL817C soit un CTR (Current Transfert Ratio) compris entre 200 et 400.

Aucune référence du CI opto-coupleur n'est fournie.
Dans les opto bas de gamme que l'on voit couramment le CTR étant proche de 1 j'ai pris cette valeur.

Comme la documentation fournie par artishow est très insuffisante j'ai fait des recherche chez SaintSmart -> c'est la même lamentable documentation, il n'y a pas mieux.
<mode râleur > Ces boîtes aux US sont au même niveaux technique qu'Ebay ou aliexpress et en plus ils se goinfrent sur les prix de vente <fin mode râleur>

Néanmoins on peut y lire :

SPECIFICATION

  • The use of the industry's top quality optocoupler isolation, strong anti-interference ability, stable performance
  • 12V 16-Channel Relay interface board, and each one needs 15-20mA Driver Current
  • 1-16 road can be any full on / off, or any road.
  • Equiped with high-current relay, AC250V 10A ; DC30V 10A
  • Standard interface that can be controlled directly by microcontroller (Arduino , 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic)
  • Indication LED’s for Relay output status

Donc 1mA est consomme sur la sortie de l'ATmegaxxx. On pourrait commander 20 relais avec une sortie!

Je ne pense pas, il me semble que c'est plutôt du 15 à 20 mA par sortie comme je le présumais.

Les règles pour les micro avr (Uno, Mega, Léonardo) :
I_Vcc et I_gnd <= 200mA
Par port (groupe de 8 sorties) (--> voir la répartition dans la datasheet du micro) :

  • Si le courant sort de la pin (mode source) I_port <= 150 mA
  • Si le courant entre dans la pin (mode sink) I_port <= 100 mA

Et par sortie individuelles ne pas oublier aussi qu'à 20 mA la sortie ne délivre plus que 4,5V et que cela se gâte vite après.
Courant_max_atmega328p.png

@Artishow
Peut-tu relever toutes les références des circuit intégrés pour qu'on ait le cœur net de la consommation d'une entrée.
Si elle sont assez nettes tu peut envoyer des photos.

Zone PR1 à PR8 : une photo d'une zone. Si tu vois des petit cachous noir c'est des résistances CMS, essaye de lire ce qui est marqué dessus, c'est la valeur ohmique qui pourra confirmer le courant d'entrée.

Si après vérification le courant est réellement de 15 à 20 mA il faudra ajouter une interface de type ULN.

Courant_max_atmega328p.png

Tout a fait d'accord avec toi.

J'ai aussi ete voir chez SaintSmart, ils publient des shemas sans donner la valeur des composants !

Les mesures que j'ai faites sont evidemment valables uniquement sur la carte que j'ai devant moi.

Carte qui coute 2€ frais de port gratuit et qui est realisee avec beaucoup de serieux. N'en deplaise a ceux qui veulent toujours decrier les fabrications chinoises.

Pour mesurer le courant sur l'entree de la carte, une alim 5V et un milli-amperemetre font aussi l'affaire :wink:

N'en deplaise a ceux qui veulent toujours decrier les fabrications chinoises.

Saint Smart fait fabriquer en Chine dans les mêmes usines que les cartes à 2€.