Go Down

Topic: Newbie et Carte relais rs-485 (Read 2 times) previous topic - next topic

fdufnews

Quote
J'ai tenté le port serie 3 et 2, avec differentes commandes du type :
 Serial3.println('FF 01 01', HEX);

...mais rien n'y fait !!!

Je pense qu'il y a une incompréhension sur le format de la trame. Le Serial3.println('FF 01 01', HEX) envoie le caractère 'F' puis le encore 'F' puis 0 ....
Je pense que ta carte elle attend les valeurs binaires. Essaie d'envoyer ça:
Code: [Select]
Serial3.print("\xFF\x01\x01");
Et attention parce que println envoie en plus à la fin de la chaine le saut de ligne (\0A \0D) ce qui peut embrouiller la carte relais.

Bidouille

Bonjour,

Quote
J'envoie un bit 0 sur Re/De

Tu veux dire que tu mets les lignes Re et De à 0 ?
Si je lis bien la datasheet du 75176, il faut mettre DE à 1 pour pouvoir envoyer des données sur la RS485 ...
Tu peux aussi metre RE à 1 puisqu'à mon avis, tu ne devrais pas avoir grand chose à lire ...

Regardes page 2 de la datasheet : http://pdf1.alldatasheet.com/datasheet-pdf/view/28605/TI/SN75176A.html
et là aussi : http://www.arduino.cc/playground/DMX/DMXShield

D'autre part, as tu mis les resistances de ligne ?

A+

zoroastre

#12
Apr 30, 2010, 10:37 pm Last Edit: Apr 30, 2010, 11:04 pm by zoroastre Reason: 1
Merci pour toutes vos aides.

C'est super sympa  ;)

Voici mon nouveau schema : http://guilde.cwahi.net/

J'ai l'impression de ne pas être bouclé côté controler, une masse manque, non ???

Les 2 résistances de ligne doivent-elles absolument avoir les mêmes valeurs, dans ce cas, j'en récup une dés lundi au boulot ???

Bidouille +1

fdufnews, ma carte relais fais 'guirlande de noel', soit ma trame est mauvaise, soit cela est dû à la valeur résistance. Petite question tout de même : C'est quoi donc un bit de stop ??? J'envoie ma trame point, ou j'envoie ma trame et je dis 'stop' (Serial3.print("\0A")) ???

Je teste
Code: [Select]
Serial3.print("\xFF\x01\x01"); dés que possible.

Pour l'instant, mes essais sont réalisés à courte distance, mais j'ai cru comprendre qu'un câble croisé & blindé est nécessaire sur A et B.

Que pensez-vous de ces cartes relais niveau rapport qualité/prix ???

@++
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

Bidouille

Bonjour,

Pour la liaison, un simple fil torsadé suffit. Pour de la très longues distances, tu peut utiliser du cable informatique pour réseau : pas cher, solide, ...

Quote
C'est quoi donc un bit de stop ??? J'envoie ma trame point
Pour toi, c'est totalement transparent.
Jettes un oeil la dessus : http://www.rennes.supelec.fr/ren/fi/elec/docs/rs232/rs232.htm
Comme c'est l'Atmega qui gère la transmission, il s'occupe de mettre les données en 8bits, de ne pas créer un bit de parité ( et de ne pas l'envoyer ) et de mettre un bit de stop et d'envoyer le tout, à la vitesse choisie.

A+

zoroastre

Bonjour,

J'ai pû faire fonctionner la carte !!! Ouff !

Merci pour toutes vos aides... ;D

J'ai réalisé le schema suivant : http://guilde.cwahi.net/ sans la ligne de résistances 470 ohms.(elle doit être utile sur de plus longue distance je pense...)

Ce qui a résolue mon problème se trouvait au niveau du code; Il faut activer la transmission avec un bit à 1 sur RE/ & DE, transmettre, puis relacher avec un bit 0, etc...

Ce qui donne :
Code: [Select]

...
digitalWrite(any_dpin, HIGH);
Serial3.print("\xFF\x01\x01"); # Swith on relais 1
digitalWrite(any_dpin, LOW);
...


Je continue mes experimentations...

@++
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

Go Up