Bonjour à tous !
Je me permets d'ouvrir un post car cela fait plus d'une semaine que je galère sur mon bus RS 485. JE m'explique. J'essaie de piloter une caméra qui fonctionne en RS 485 à 19200 bauds. J'ai au début réussi à lui envoyer des trames, mais je n'avais jamais d'acquittement, pensant que cela venait de la caméra.
Pour explorer la chose un peu mieux, je me suis muni de deux microcontrôleurs (PIC32MX564F128L) et deux transceivers RS 485 (MAX3072EESA+) et j'ai essayé de reproduire la communication RS 485. Je vous passe les interminables essais que j'ai pu faire, j'ai pu plus ou moins isoler mon problème (enfin je crois ...).
Dans un premier temps, côté software, l'implémentation est bonne car les messages partent sur le bus. Là où j'ai un problème, c'est que lorsque j'envoie une trame du µC #1 vers le µC #2, elle arrive et j'ai même droit à un écho. Par contre lorsque j'envoie du µC #2 au µC #1, rien. J'échange les transceivers, toujours pareil. J'échange les boards RS 485 (câblage et montage fait moi-même) et la le problème se déplace. j'en conclue que c'est mon montage et non mes transceivers. Après quelques lectures, j'ai compris l'importance du câble torsadé et je l'ai donc torsadé moi-même à la main, mais ça n'a pas amélioré mon problème, mais il a légèrement bougé : L'envoi du µC #1 vers le µC #2 ne fonctionne qu'à la première trame et l'envoi du µC #2 vers le µC #1 ne fonctionne pas, cependant j'ai cette fois-ci de l'écho, chose que je n'avais pas avant.
Concernant l'écho, c'est assez étrange justement. Au vu de cette page (http://www.ti.com/lit/an/snla049b/snla049b.pdf), chapitre 7 "Termination Options", la résistance de fin de ligne de 120 ohms devrait absorber la puissance du signal et je ne devrais pas avoir d'écho. Donc j'en conclue que mon bus est mal "dimensionné" physiquement. Il doit faire entre 30 et 40 centimètres, câble d'épaisseur 0.2 :
P2183222.jpg
Du coup j'ai plusieurs questions... Car j'ai entendu parlé de résistance de polarisation, de masse commune et plein d'autres choses dont je ne sais plus quoi penser. Dans l'ordre :
1/
Ce forum :
http://www.68hc08.net/modules/newbb/...d=1262&forum=4
Ainsi que le chapitre "Termination Options" du document présenté précédemment parlent de résistance de polarisation, "anti-biasing". J'ai essayé (plusieurs valeurs), mais ça n'a rien changé.
2/ J'ai lu un article (très intéressant) sur les masses communes que j'avoue avoir parcouru en diagonal, et qui revient sur tous les types de montage... Pour ma part, mes masses sont communes entre les deux µC. Mon montage s'apparente à ça :
t.jpg
3/ Dans cet article là (http://www.ti.com/lit/an/slla272b/slla272b.pdf), ils parlent d'un type de câble particulier, avec une impédance de 120 ohms.
Donc en gros, avant que je torsade ma ligne, j'avais :
-> Envoi de message du µC #1 vers µC #2 : OK avec écho / Envoi de message du µC #1 vers µC #2 : Rien
Après l'avoir torsadée :
-> Envoi de message du µC #1 vers µC #2 : OK uniquement à la première trame sans écho / Envoi de message du µC #1 vers µC #2 : écho uniquement, pour toutes les trames envoyées.
Mes questions sont les suivantes :
Dois-je utiliser des résistances de polarisation (pull up et pull down) ? Dois-je mettre mon bus à la masse ? Dois-je utiliser du câble particulier (impédance, torsade, ...) pour le RS 485 ?
Merci d'avance pour ceux qui pourraient avoir des solutions.
Greg
-----