Commande relais via PCF8574

Bonjour

Question d’un bleusaille en électronique

J’ai un relais avec entrée de commande en 5V.
Mon arduino dialogue sur le bus I2C avec un PCF8574.

Je cherche la solution la plus simple et efficace pour relier une sortie du PCF8574 et l’entrée de commande du relais, respectant la contrainte ci-dessous :
A la mise sous tension de l’automate, le relais dois rester au repos, sans que son entrée de commande passe par une tension à 5V sur une durée très courte (éviter un aller-retour du relais).

En effet, à la mise sous tension, les sorties du PCF8574 sont à 5V.
Le temps que le programme passe sa séquence d’initialisation, et envoie un octet à 0 au PCF8574, l’entrée de commande du relais est à 5V et c’est ce que je veux éviter.

Merci de votre aide

Bonsoir, Il suffit de commander ton relais en logique négative (Une sortie à 0 qui commande ton relais) @+

Utiliser les PCF8574 en sink et pas en source ;) (en gros les relais activer à l'état bas de la sortie, ce qui normalement l'utilisation des PCF8574 car ils peuvent commander bien plus de courant de cette manière). Mais j'espère que tu ne commandes pas directement les relais à partir des PCF ?

Ben en fait mon intention est de piloter le machin ci-dessous via I2C avec un PCF8574.

Voici les images récupérées sur le site de vente. Le schéma arduino [u]n'est pas[/u] ce que je compte faire (puisque je passe par bus I2C), mais je le mets car je suis étonné de voir le vendeur proposer d'alimenter les 4 relais à partir du 5V d'un arduino, alors que la carte dispose d'un cavalier (à droite sur la photo) permettant de dissocier les alim 5V.

4-Channel Relay Module for Arduino, Pic, Pi, etc. 5V 4-Channel Relay interface board Optical isolation on each channel Drive directly from Arduino etc. High power relays for each channel: 250V 10A AC Indication LED for each output Module size: 70 x 53 x 20mm

Normalement 4 relais l'alim de l'Arduino peut les tenir mais c'est très limite ... Donc a déconseiller !

Du coup tu n'auras pas de problème vu que c'est du sink, donc relais actif si l'entrée logique est à l'état bas

ah bah oui effectivement Il aurait suffit que je me pose trois secondes en regardant le schéma ou le circuit imprimé, et j'aurais trouvé la réponse tout seul pour la commande des relais. Désolé, j'ai réagi comme un informaticien incurable. allumé = 1 = 5V :)

Pour l'alim des relais : en fait je n'ai besoin que de trois relais. Le quatrième ne servira pas, sauf si un jour j'en ai un des trois autres qui rend l'âme.

Est-ce que trois passent avec la sortie 5V de l'arduino (mega) ? Si non, je peux faire en sorte de n'en n'avoir que deux maximum activés en même temps.

Parce que si possible j'aimerais assez éviter d'avoir deux alims distinctes.

Du coup j'ai procédé à des mesures de courant

D'abord avec les relais non alimentés. Le courant est donc juste celui pour les optocoupleurs & led témoins GND=0V, IN1=5V, IN2=5V, IN3=5V, IN4=5V, VCC=5V courant=0 mA GND=0V, IN1=0V, IN2=5V, IN3=5V, IN4=5V, VCC=5V courant=2 mA GND=0V, IN1=0V, IN2=0V, IN3=5V, IN4=5V, VCC=5V courant=4 mA GND=0V, IN1=0V, IN2=0V, IN3=0V, IN4=5V, VCC=5V courant=6 mA GND=0V, IN1=0V, IN2=0V, IN3=0V, IN4=0V, VCC=5V courant=8 mA Pas de souci, 2 mA par commande

Puis avec les relais reliés au 5V. Mesure du courant global tiré sur le 5V de l'arduino GND=0V, IN1=5V, IN2=5V, IN3=5V, IN4=5V, VCC=5V courant=0 mA GND=0V, IN1=0V, IN2=5V, IN3=5V, IN4=5V, VCC=5V courant=70 mA GND=0V, IN1=0V, IN2=0V, IN3=5V, IN4=5V, VCC=5V courant=126 mA GND=0V, IN1=0V, IN2=0V, IN3=0V, IN4=5V, VCC=5V courant=175 mA GND=0V, IN1=0V, IN2=0V, IN3=0V, IN4=0V, VCC=5V courant > 200 mA (hors plage de mon multimètre)

Conclusion : sauf avis contraire éclairé, je vais partir sur l'alimentation de 3 relais à partir du 5V de l'Arduino

Il me reste néanmoins deux questions :

1) est-ce normal que le courant consommé ne soit pas exactement proportionnel au nombre de relais activés ? Après avoir vu 70 mA avec un seul relais activé, je m'attendais à 140 mA pour 2, 210 mA pour 3 etc. Là c'est dégressif. Et quand j'inverse les relais cela ne change rien. Un seul (n'importe lequel) c'est 70mA, deux c'est 126 mA, etc.

2) dois-je me méfier d'un éventuel très court pic de courant tiré à l'activation d'un relais ? Par exemple, en évitant d'activer simultanément plusieurs relais. Vu ce que je commande avec ces relais, cela ne me pose aucun problème d'attendre systématiquement une seconde (par exemple) dès qu'un seul relais change d'état., pour laisser tensions et courants se stabiliser.

[Edit : j'ai oublié de préciser : pour ce test, l'arduino était branché sur un bloc secteur 9 VDC 660 mA)

1) avec ton multi vérifie la tension au fur et à mesure que tu allumes les relais. A mon avis, ça doit chuter ...

2) justement l'isolation galvanique fournie par les opto-coupleurs permet normalement d'éviter de se poser la question (en plus de la protection galvanique évidemment). Le problème c'est que les µC Atmel sont très sensibles à l'alimentation, à la moindre variation ==> plantage. Donc si ton application ne peut pas vraiment se permettre de plantage, par sécurité il vaut mieux séparer les deux alims. Sinon un gros condo pour "lisser" l'appel de courant. Car peut-être que ça marchera un temps comme ça, mais un jour ça sera peut-être autrement (variation de température, vieillissement des composants ...)

Effectivement la tension de 5V baisse légèrement : grosso modo -0,1 V par relais allumé.

Je comprends bien l'avantage de l'isolation, mais comme je suis dans un cas d'utilisation où mes relais seront au repos la plupart du temps, je vais partir sur le principe de tout brancher sur le 5V de l'arduino. Je verrai bien à l'usage si ça passe ou s'il me faut une seconde alim.

Merci