J'aimerais vos conseils pour le raccordement de module TTL RS-485.
Voici les modules que j'ai:
Je voudrais qu'il communiqueront entre 2 arduino MEGA
J'ai trouvé quelques infos
Raccordement RS-485 entre les broches A et B
Mais c'est sur l'arduino que j'ai un doute. DI et RO semble être respectivement TX et RX et j'ai vu que DE et RE etait shunté ensemble mais je ne sais pas ou il se raccorde. Auriez vous quelques info.
De plus y a t'il une adaptation à faire coté soft ou juste utiliser la bibliothèque du port série. Je n'est pas besoin de gérer les adressage je pense puisque j'aurais que 2 cartes.
RO = Réception à connecter au RX
DI = Emission à connecter au TX
RE = activation de la réception (0 active le récepteur)
DE = activation de l'émission (1 active la sortie)
On voit que RE et DE peuvent être réunis, dans ce cas:
0 = réception
1 = émission
Il faut connecter RE/DE à un sortie digitale de l'arduino pour commuter le module du mode émission au mode réception.
Il n'y a pas d'adresse à gérer avec 2 cartes mais il faut quand même mettre en place un minimum de protocole puisque la liaison est half-duplex. Il faut déterminer dans quels conditions une carte peut prendre la parole.
Quand vous parlez de mettre en place un minimum de protocole, c'est justement la gestion de RE/DE ?
J'aurai mon 1er arduino, le maître qui envoie les commandes et attend le retour de l'esclave.
Cela fonctionne bien les événements sur les port COM 1 , 2 et 3 ? Ou faut t'il que je teste la présence de données en permanence. Juste une question de fiabilité.
Quand vous parlez de mettre en place un minimum de protocole, c'est justement la gestion de RE/DE ?
Oui afin que chacun parle à son tour.
Le protocole minimum c'est tout le monde est à l'écoute par défaut (les émetteurs sont désactivés)
Lorsque l'un parle l'autre attend une fraction de seconde après la fin du message pour lui laisser le temps de désactiver son émetteur.
ATTENTION: concernant l'émetteur, il faut s'assurer que le dernier caractère à bien été émis avant de couper l'émission. Ne pas se contenter de vérifier que le buffer d'émission est vide. Sinon on coupe la fin du message.
Un collègue ma parlé de mettre le RE/DE avec le TX. Et c'est vrai qu'on la fait au taf et cela fonctionne parfaitement mais ce n’était pas un arduino ni avec ces module RS485. Mais avec nos systèmes cela a fonctionné.
Cela n’empêche pas qu'il faille faire la gestion de l'émeteur et attendre le caractére de fin avant au l'autre prenne la parole. Mais pas besoin de gestion du RE/DE
megamario:
Un collègue ma parlé de mettre le RE/DE avec le TX. Et c'est vrai qu'on la fait au taf et cela fonctionne parfaitement mais ce n’était pas un arduino ni avec ces module RS485. Mais avec nos systèmes cela a fonctionné.
C'est équivalent à une sortie en émetteur ouvert.
Cela fonctionne tant que le débit n'est pas trop rapide car le temps de désactivation du driver n'est pas aussi rapide que son temps de basculement. De nombreux driver de ligne RS485 peuvent aller à plusieurs mégabits/sec alors que le temps de désactivation reste limité à quelques dizaines de kilohertz. Cela dit dans le cas de l'arduino ce n'est sans doute pas très gênant.