com RS232

  • Auteur de la discussion aziz002
  • Date de début
A

aziz002

Nouveau
salut tout le monde.
je suis entrain de construire un contrôleur pour moteur cc la liaison avec le PC se fait par sortie série RS232 . il me faut impérativement arrêter la réception a la fin de chaque ligne de commende .
j'ai essaye avec le XON/XOFF et aussi avec la ligne RTS/CTS mais les deux tentative n'ont aboutie qu'a ralentir le PC et non a le bloquer complètement.
or comme je n'ai pas de buffer ou de d'eeprom pour stocker le fichier g code
j'ai penser a le lire et l'exécuter ligne par ligne .
1/ EST CE QUE C'EST POSSIBLE??
2/COMMENT FAIRE??
alors si quelqu'un peut m'aider!!!! je lui serait reconnaissant merci tout le monde. :cry:
 
C

coutard jean

Nouveau
l'ideal, c'est un microcontrôleur, un pic
c'est plus l'ordi qui travail, c'est le micro contrôleur
 
A

aziz002

Nouveau
ma carte consiste a utiliser un pic tout banal 16F84A en communication avec le PC par RS 232 il recoit le code ascii ex:X+.12 il actionne la carte puissance dans un sens+ jusqu'a ce que intrb0 compte 12 top d'encoder .
une fois fini de cette consigne il relance une la réception d'une nouvelle consigne.
 
A

aziz002

Nouveau
le probleme avec cette methode c'est que je n'arrive pas a bloquer le pc malgres l'activation de la ligne rts , le pc continue a envoyer a faible cadence, 5seconde pour chaque carractere.
au faite j'utilise l'hyperterminal .
 
A

aziz002

Nouveau
sinon tout fonctionne correctement .
ce contrôleur est dédier a une perceuse (au départ).
maintenant je suis pas si sure de pouvoir bloquer la com donc je serait obliger a faire un étage tompant (buffer).
 
A

aziz002

Nouveau
alors ca vous interesse pas
soyer sympa aider moi je bloc et c'est vraiment du costaud
S O S
 
C

coutard jean

Nouveau
un PC ne fournit pas de caractère par l'hyperterminal s'il n'est pas invité à le faire (saisie clavier). Le problème vient surement d'un problème coté microcontroleur.
Il faudrait plutot retoucher le programme coté microcontroleur s'il y a ou changer d'interface afin d'y mettre de l'intelligence. L'outil simpa à ce niveau est des microcontroleurs PIC (microchip).
Il y a une multitude d'exemples et de cartes de prototypage rapide en tapant sur google.
Sinon il y a aussi de faire avec du NXP (philips) mais je n'ai pas trop vu de choses à ce propos, mais n'ai pas non plus beaucoup chercher.
Si je devais en concevoir un je penserais plutot à un système coté pc du type hyperterminal avec caractère start "xabsolue=125 yabsolue=200 vitesse=1000" + caractère 10 +13 (retour charriot nouvelle ligne) ; coté microcontroleur un décodage de la trame ascii. Si des caractères arrivent au microcontroleur comme dans le cas d'un reboot PC (envoie alors des cochonneries sur les ports de communication !! Très dangereux lors d'une commande directe au niveau des ports), le microcontroleur ne voyant pas de message intelligible le mettrait à la poubelle et ne ferai rien.
Plus de problème alors.
Toute trame devra être de la forme "caractere start" + commande + paramètres + "caractères de fin" + éventuellement crc ou parité si on veux etre sur des données, en plus de la parité de la trame physique paire ou impaire
 
A

aziz002

Nouveau
salut coutard jean
bon j'utilise bien l'hypertherminal j'envoie avec un fichier texte ce fichier est en réalité fichier nc que je fait avec visualcam,artcam ou tout autre soft
la com se fait très bien puisque mon pic me retourne la valeur exact qui lui a ete envoyer.
consernant les microcontroleur j'en utilise puisque le recepteur est un pic 16F84
je ne tape sur le clavier pour envoyer le g code.
le gcode inclue 10,13 a la fin de chaque ligne envoyer.
 
A

aziz002

Nouveau
mais je peut mettre tout autre caractère a la fin de la ligne (ca se fait au niveau postproc) du soft.
le pic detect la fin de ligne et envoie un XOFF ou enclenche la ligne RTS c'est selon le choix du protocole de control de flux qu'on choisit.
mon problème que même avec XOFF je n'arrive pas a arrêter la transmission du PC mais simplement a le ralentir.

""
Si je devais en concevoir un je penserais plutot à un système coté pc du type hyperterminal avec caractère start "xabsolue=125 yabsolue=200 vitesse=1000" + caractère 10 +13 (retour charriot nouvelle ligne) "".
ca franchement je connait pas. seulement je suis sur d'une chose c'est mon pic recoit parfaitement la trame .
 
C

coutard jean

Nouveau
es ce qu'il ne seait pas possible de virer les protocoles et ne garder que les parités
 
J

jcma

Compagnon
Bonsoir,

Le probleme est que xon/xoff ou cts/rts sont fait pour gerer les tampons d'emission ou de reception du port serie. XOFF met en pause la transmission et XON la reactive.

Si tu veut synchroniser ton pic et ton PC, il faudrait une communication dans les deux sens. Par exemple le PC envoit une ligne de commande et attend un ok du pic indiquant que celle-ci a été traitée et qu'il peut envoyer la commande suivante.
Je ne vois pas comment le faire autrement que par programation.

@+
Jean-Charles
 
A

aziz002

Nouveau
bonjour tout le monde!!
"es ce qu'il ne serait pas possible de virer les protocoles et ne garder que les parités"
les parité sert a con troller les données normalement il n'ont rien a voir avec le control de flux,
merci jcma pour ta réponse mais j'ai synchronisée mon pic et mon PC,
le pic attend les données du PC une fois la ligne terminer le pic reçoit retour chariot (0D) ,alors le pic envoie XOFF (13) le pc a bien reçu le XOFF puisque j'ai capturer la transmission et que j'ai decoder en hexa tout les carractere de control y sont.
le pc au lieu d'arreter net la transmission jusqu'a XON il continue a emmetre mais a faible cadence .
maintenant je ne sais pas si c'est normal xon/xoff ne sert qu'a ralentir ou que j'ai un probleme de configuration du port ou que je me gour completement.
 
J

jcma

Compagnon
Bonjour,

A-tu essayé de desactiver les tampons fifo dans la configuration avancée du port com (Dans le pilote du peripherique) ?. L'envoi se fera caractere par caractere au lieu d'essayer de remplir les tampons d'emission et reception.
Dans hyperterminal, il faut egalement que le bon controle de flux soit activé (Materiel pour rts/cts ou xon/xoff).

@+
Jean-Charles
 
A

aziz002

Nouveau
normalement j'ai choisit le bon control de flux la première fois j'ai utiliser xon/xoff par soucie d'economie de pin. j'ai eu juste un ralentissement.
puis j'ai envoyer xoff en permanence question de voire se que ca donne, meme resultat.
puis j'ai opte pour le control cts/rts j'ai branche la ligne la ligne rts de mon pic a la cts du pc et tj meme chose
 
A

aziz002

Nouveau
normalement j'ai choisit le bon control de flux la première fois j'ai utiliser xon/xoff par soucie d'economie de pin. j'ai eu juste un ralentissement.
puis j'ai envoyer xoff en permanence question de voire se que ca donne, meme resultat.
puis j'ai opte pour le control cts/rts j'ai branche la ligne la ligne rts de mon pic a la cts du pc et tj meme chose
 
A

aziz002

Nouveau
salut tt le monde
bon la bonne nouvelle c'est que j'ai trouver le probleme , l'hypertherminal n'est pas bon un ami m'a file un soft "easydnc " j'ai essaie et c'est impeccable
sans rien modifier dans mon programme actuel.
mais je ne comprend tj pas pourquoi l'hypertherminal n'a pas bien fonctionne
bref si qlq un peut bien nous expliquer. :oops: :roll:
 
C

coutard jean

Nouveau
bonjour, as tu réussis à faire fonctionner?
tu sais, c'est pas moi qui t'avait répondu, c'est mon fils,
il est docteur en électronique, tout ca c'est son job quotidien, il ne vient pas souvent,chez moi, donc je ne pourrai pas t'aider, s'il dit que c'est la programmation du micro contrôleur, je pense que tu devrais en tenir compte. dis moi si tu as réussi, bonne journée
 
A

aziz002

Nouveau
salut jean
oui j'ai réussi , mais pas avec l'hypertherminal . j'ai utilise un autre logiciel qui s'appelle easydnc et ca marche impecable . je te remercie ainsi que ton fils.
cependant pour ceux que ca interresent il me reste le gros du travail a faire,
c'est la gestion de vitesse du moteur pour avoir un démarrage et surtout un arret progressif pour ne pas rater la consigne.
alors les Gard aidez moi un peu SVP !! ou indiquer moi si le sujet est déjà sur le forum.
Merci d'avance!!
 

Sujets similaires

laurenttanguy
Réponses
0
Affichages
474
laurenttanguy
laurenttanguy
Haut