Je j'ai 28 ans et j'habite en Moselle. Je suis en train de faire une animation pour noël et j'ai un petit problème avec ma carte 16 relais saintsmart. Lorsque je branche mon arduino mega sur ma carte relais, tous les relais passent a 1 alors que j'ai aucune commande sur les sorties. Par contre lorsque je commande une sortie a 1 le relais passe a 0
oui je suis d'accord, mais pourquoi lorsque je ne commande pas le relais celui-ci est a 1. J'ai lu qu'il fallait mettre les masses de l'alimentation 12v de la carte relais et de l'alimentation de l'arduino mais le problème est toujours la.
Le 5V (pins de gauche) va sur le VIN de l'arduino
les 16 relais sont branchés sur les sortie 22 a 37 de l'arduino
le masse (pins complètement a droite) va sur la GND juste a coté du VIN de l'arduino
la masse 12V de l'alimentation de la carte relais va sur le GND de l'arduino
Ces cartes relais utilisent des optocoupleurs pour commander les relais.
Les leds des optocoupleurs sont à Anodes communes, de ce fait toutes les anodes sont mise à 5v en permanence. Donc pour commander une entrée il faut la mettre au GND ou à l'état bas ou encore 0. Ainsi tu fermes le circuit, le courant passe, la led s'allume et le relais colle.
Si au contraire tu mets une sortie à l'état haut ou 1, anode et cathode de la led se trouve à 5v, il n'y aura donc pas de différence de potentiel, le led ne s'allumera pas et donc pas de commande du relais.
Voilà, j'avais eu le problème avec une carte deux relais. C'est tout comme a dit Jambe. Et c'est bien dommage, parce que ça veut dire que -- la plupart du temps -- pendant le démarrage de l'Arduino tout est connecté, puisque les sorties sont pendant un court laps de temps à zéro.
Dans mon cas c'était problématique, puisque c'était sur une CNC qui tourne sur TinyG. A chaque démarrage de la carte (environ deux secondes) j'avais la broche qui démarrait. Gênant, et dangereux! J'avais contourné le problème en inversant le sens de la sortie dans le programme, et en intercalant un inverseur logique entre les deux cartes.
Peut-être qu'une solution serait de couper l'alimentation de la carte par défaut, et de la rendre connectable par le biais d'un transistor, comme ça tu actives l'alimentation une fois que l'Arduino a démarré et que toutes les sorties commandant les relais sont au bon niveau?
Je vous remercies, dans mon code j'ai inséré un commande pour inverser la valeur des sorties.
OK ca fonctionne et le fait d'avoir toutes les sorties a 1 au démarrage (1/2 seconde) n'est pas un problème vu que ca sont des guirlandes.
vous pouvez aussi simplement inverser la logique de commande et sortir sur l'autre sortie du relai (et avoir un pull down si nécessaire)
voici un électromécanique qui traînait dans un de mes tiroirs.
D'un côté vous mettez GND et 5V et vous avez une pin de commande et de l'autre côté vous avez 3 sorties. Deux de ces sorties sont toujours connectées suivant l'état de la commande. HIGH OU LOW. voici un tableau récapitulatif pour le mien (à vérifier pour le vôtre bien sûr!)
Aussi, quand il n'y a pas de courant du tout (imaginez l'adruino en panne n'envoyant pas les 5V) la connexion entre B et C est établie (Normalement fermé entre ces 2 pôles) donc le courant peut passer sans pb entre B et C.