Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser ;)

En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.

Topic "Pb com MAX485"

Flux RSS des posts récents dans ce topic ( Flux Atom)


Photo de profil de Lutcho

Lutcho

Membre

#960 | Signaler ce message


bonjour,

j'ai un problème de communication série entre un arduino MEGA et un UNO avec 2 MAX485. la MEGA (emetteur) utilise le port serial 1, et la UNO (recepteur) les broches 10 et 11 avec la lib. SoftwareSerial (pour pouvoir débugger par la console).

ça semble être un pb matériel, car en reliant directement les ports serie RX1/TX1 - 10/11, tout fonctionne parfaitement. en passant par les 2 MAX485, plus rien…

la UNO reçoit bien une trame serie, mais après plusieurs debugs, il appparait que le 1er carractère du buffer de réception de la UNO est un "0" (byte) et le script arrête la récupération de l'ensemble.

j'ai essayé en modifiant les résistances de fin de ligne (avec 2 Res. de 690 ohms) sur A et B du MAX récepteur, ça ne change rien…..

j'utilise des circuits MAX485 déjà montés sur CI courants sur le net. je viens de commander ces MAX485 en circuits intégrés seuls (pour pouvoir modifier plus facilement les résistances), mais en attendant de les recevoir je suis bloqué. les petits CI de 485 ont une resit. de 20k entre le A et le +5v, le B et la masse, et une de 120 ohms entre A et B. je suis tombé sur des tests ou il fallait 2 resits de 690 ohms et une de 240, j'attents mes circuits intégrés pour tester..

j'ai aussi essayé d'utiliser directement le port RX/TX de la UNO pour ne pas utiliser la lib softwareSerial (tant pis pour les debugs), même problème….

comme tout est OK en RX/TX direct (sans 485), c'est un pb matériel des 485 en cause je suppose. j'ai essayé quelques tutos et avis trouvés sur le net pour les 485, mais toujours pareil….

si quelqu'un à une idée ou une piste, je suis preneur… cordialement. JL.

PS: debug avec RX/TX directs, sans 485:

EMISSION MEGA:

-----> Emission vers [MAX id:2 >> per02] _#PER_SET#02:ON_

RECEPTION UNO (avec détail du buffer):

index= 0 -byte max485.read()= 35 --> char()= '#' index= 1 -byte max485.read()= 80 --> char()= 'P' index= 2 -byte max485.read()= 69 --> char()= 'E' index= 3 -byte max485.read()= 82 --> char()= 'R' index= 4 -byte max485.read()= 95 --> char()= '_' index= 5 -byte max485.read()= 83 --> char()= 'S' index= 6 -byte max485.read()= 69 --> char()= 'E' index= 7 -byte max485.read()= 84 --> char()= 'T' index= 8 -byte max485.read()= 35 --> char()= '#' index= 9 -byte max485.read()= 48 --> char()= '0' index= 10 -byte max485.read()= 50 --> char()= '2' index= 11 -byte max485.read()= 58 --> char()= ':' index= 12 -byte max485.read()= 79 --> char()= 'O' index= 13 -byte max485.read()= 78 --> char()= 'N' <----- Réception _#PER_SET#02:ON_

debug avec MAX485:

EMISSION MEGA:

-----> Emission vers [MAX id:2 >> per02] _#PER_SET#02:ON_

RECEPTION UNO:

index= 0 -byte max485.read()= 0 --> char()= ' ' <----- Réception _ _

Derniére modification le par Lutcho


Photo de profil de Lutcho

Lutcho

Membre

#961 | Signaler ce message


résolu….