Arduino Forum

International => Français => Topic started by: renzejo on Mar 17, 2018, 02:02 pm

Title: Protocole pour liaison RS485
Post by: renzejo on Mar 17, 2018, 02:02 pm
Bonjour à tous,

Je suis actuellement entrain de réaliser un projet basé sur arduino qui nécessite une communication avec de grand nombre de cartes.
Je dois pouvoir avoir une communication, a minima, en half-duplex. Chaque esclave agira également en tant que maître d'un autre circuit. Pour cela, chaque carte esclave aura 2 modules MAX485, le premier servant à la réception des ordres d'un master et le second servira à renvoyer des ces requêtes sur le circuit suivant. Ainsi, on peut grandement augmenter le nombre de systèmes utilisés.
Je vous mets un schéma ci-dessous afin de bien expliquer le principe. La réception se fait sur le Serial1 et l'envois sur le Serial2 de mes arduino mega.

(https://i.imgur.com/LWXGVev.png)

La véritable question que je me pose est au point de vue du protocole. J'ai pu voir sur le forum et sur différents sites qu'il fallait créer son protocole. Existe-t-il des librairies permettant d'utiliser des protocoles existants pour communiquer avec mes RS485 ?

Cordialement,
renzejo
Title: Re: Protocole pour liaison RS485
Post by: hazerty565 on Mar 17, 2018, 02:34 pm
salut, alors, etant donner que la RS485, est un bus multipoint, ça manque de detail, dans ton projet, pourquoi RS485?


en modbus, tu peux avoir un seul maitre, et autant d'esclave.
je dis pas que c'estpas possible, mais ton schéma, tu auras un arduino maitre, un esclave/maitre puis un esclave/maitre, mais c'est ce compliqué les choses...
pour un esclave en bas, ton maitre va demander deja a l'un de la premiere ligne, et ensuite la deuxieme, donc passer par 2 arduino, ce qui complique la chose
avant toute chose, tu as quoi comme module RS485?

(https://www.wut.de/pics/collage/e-6wwww-12-grus-000.gif)


                         Maitre 1          esclave 2                   esclave 4         esclave 6      esclave X
                             |                     |                            |                       |                 |
BUS 485( 2 fils) =================================================
                                          |                          |                       |                            |
                                     esclave 1               esclave 3             esclave 5           esclave X


En faite, en modbus tu as le maitre, en faite, chaque esclave doit avoir un ID, et le maitre va demander

esclave 1: ID[7] // le maitre demande a l'esclave 1 la temperature par exemple

pour plus d'infos
http://www.yoctopuce.com/FR/article/petite-introduction-a-rs485-et-modbus (http://www.yoctopuce.com/FR/article/petite-introduction-a-rs485-et-modbus)
Title: Re: Protocole pour liaison RS485
Post by: renzejo on Mar 17, 2018, 04:37 pm
Salut a toi et merci pour ta réponse rapide !

Alors pourquoi la RS485 ? Et bien j'ai besoin de beaucoup d'esclave (donc du multipoint) sur de longue distance (jusque plus de 1km).

Le principe du modbus est intéressant, mais quelle est la longueur maximale ? Si je vois bien sur ton schéma c'est 500m et la sa pêche un peu, je me trompe ?
Title: Re: Protocole pour liaison RS485
Post by: hazerty565 on Mar 17, 2018, 05:52 pm
Si tu t'es renseigné un peu, pour la RS485 le débit pouvant atteindre plusieurs Mbit/s, selon la longueur du bus (de 100 kbit/s sur ligne de 1200 m à 35 Mbit/s sur ligne de 10 m)

C'est quoi le nom de ton module RS485?
Title: Re: Protocole pour liaison RS485
Post by: renzejo on Mar 18, 2018, 12:01 pm
Salut,
Oui j'ai vu pour la vitesse de transmission, je pensais juste, au vu du schéma, que les distances étaient réduite pour le modbus.
Les modules sont des MAX485.