1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

com RS232

Discussion dans 'Electronique spécifique CNC' créé par aziz002, 12 Mars 2011.

  1. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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:
     
  2. coutard jean

    coutard jean Nouveau

    Messages:
    33
    Inscrit:
    26 Février 2011
    Localité:
    Vosges
  3. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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.
     
  4. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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 .
     
  5. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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).
     
  6. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
  7. coutard jean

    coutard jean Nouveau

    Messages:
    33
    Inscrit:
    26 Février 2011
    Localité:
    Vosges
    com RS232
    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
     
  8. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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.
     
  9. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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 .
     
  10. coutard jean

    coutard jean Nouveau

    Messages:
    33
    Inscrit:
    26 Février 2011
    Localité:
    Vosges
  11. jcma

    jcma Compagnon

    Messages:
    1 658
    Inscrit:
    2 Novembre 2008
    Localité:
    Mulhouse - Haut-Rhin
    com RS232
    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
     
  12. coutard jean

    coutard jean Nouveau

    Messages:
    33
    Inscrit:
    26 Février 2011
    Localité:
    Vosges
  13. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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.
     
  14. jcma

    jcma Compagnon

    Messages:
    1 658
    Inscrit:
    2 Novembre 2008
    Localité:
    Mulhouse - Haut-Rhin
    com RS232
    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
     
  15. aziz002

    aziz002 Nouveau

    Messages:
    12
    Inscrit:
    7 Février 2011
    Localité:
    Algerie
    com RS232
    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
     
Chargement...

Partager cette page