Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Soft de commande CNC en asm
JJE
Passioné
Passioné
Messages : 399
Âge : 83
Enregistré en : novembre 2017
Localisation : Picardie

#151 Message par JJE » mar. 10 juil. 2018 18:13

Question naïve à satinas (post #145)
en quoi est écrit ton code ?
Cordialement
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#152 Message par F6FCO » mar. 10 juil. 2018 18:15

On dirait du pseudo-code.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
JJE
Passioné
Passioné
Messages : 399
Âge : 83
Enregistré en : novembre 2017
Localisation : Picardie

#153 Message par JJE » mar. 10 juil. 2018 18:18

Remarque rapide à F6FCO (post#144),
Je devrais mettre ma note de fin ce post en action, je crois que le nombre d'échanges sur ce sujet devrait te rassurer.
Même si je n'ai que peu parlé je trouve ce sujet très intéressant.
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Soft de commande CNC en asm
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#154 Message par satinas » mar. 10 juil. 2018 19:26

Bonjour
oui, c'est une espèce de pseudo code que j'ai écrit comme ça me venait. Ce programme pic je l'avais en tête depuis ce post :
viewtopic.php?p=9428#p9428
Fallait bien qu'il sorte un jour :)
Pour les if, faut faire attention, il y a une tabulation façon Python
Il y a un peu de C, du franglais, tout sauf de l'asm (à part les goto), l'asm c'est pour F6FCO, si ma solution l'inspire.
Ca se voit peut être pas, mais ce programme est le pendant de la macro Tera Term. Le format du paquet a un peu changé (header+datas+checksum+trailer), mais la macro s'adaptera facilement.
D'abord faire et tester la partie communication et ensuite s'attaquer au traitement du gcode, faut procéder par étapes.

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#155 Message par F6FCO » mar. 10 juil. 2018 19:57

Oh que ouais, par étapes :wink:, sinon on se noie vite.
Je ne suis jamais vraiment arrivé à écrire en pseudocode, il me faut un logigramme bien graphique pour réfléchir.

Je viens justement de terminer celui de la réception d'un train d'octets pour les trois axes ZXY, c'est tout simple, juste un aiguillage.
Un train d'octets est composé de:
'Z' ascii, valeur Z(32bits), 'espace' ascii, 'X' ascii, valeur X(32bits), 'espace' ascii, 'Y' ascii, valeur Y(32bits).
On ignore les espaces et on se sert des lettres précédant les valeurs pour les ranger dans les bonnes variables. Une fois la valeur Y rangée on sait qu'on a terminé la gestion du train et on envoie l'ordre au PC de se calmer pour avoir le temps de mouvoir les trois axes, ce qui se fera en dehors de l'interrupt évidemment.
Une fois les mouvements des trois axes terminés on enverra au PC l'ordre d'envoyer le train suivant. Normalement on évite de mettre trop de code au sein d'une interruption mais ici on s'en fout un peu car en dehors le PIC n'a rien à faire tant qu'on n'a pas rendu la main.

Les variables concernées:

Code : Tout sélectionner


             CBLOCK    H
'80'
                flagZ                            ; flag pour aiguillage valeur gcode Z
                flagX                            
; flag pour aiguillage valeur gcode X
                flagY                            
; flag pour aiguillage valeur gcode Y
                coordZ
: 4                        ; valeur gcode du déplacement Z, traité dans l'interrupt RX
                coordX: 4                        ; valeur gcode du déplacement X, traité dans l'
interrupt RX
                coordY
: 4                        ; valeur gcode du déplacement Y, traité dans l'interrupt RX
             ENDC



C'est saoulant ces apostrophes qui font changer la couleur du code entre les balises :furieux:


interruption REC.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#156 Message par Temps-x » mar. 10 juil. 2018 22:45

Bonsoir F6FCO, satinas, JJE, et tout le forum,

Je passe rapide, F6FCO peux tu me faire un Gcode d'un rond , et d'un triangle, merci d'avance

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#157 Message par F6FCO » mer. 11 juil. 2018 00:08

Sitôt lu, sitôt fait. Valeurs en 32bits, si tu veux en 8bits il suffit de demander mais çà n'a pas de sens.

Triangle, sa base fait 100mm:

Code : Tout sélectionner

Z000003
Z000003 X000000 Y000000
Z000001 X000000 Y000000
Z000000 X000000 Y000000
Z000000 X000030 Y000050
Z000000 X000100 Y000000
Z000000 X000000 Y000000
Z000003 X000000 Y000000
Fin


Rond Ø48mm, un peu long mais c'est parce que le cercle est composé d'une multitude de verticales et horizontales:

Code : Tout sélectionner

Z000003
Z000003 X000048 Y000025
Z000001 X000048 Y000025
Z000000 X000048 Y000025
Z000000 X000048 Y000027
Z000000 X000048 Y000028
Z000000 X000047 Y000030
Z000000 X000047 Y000031
Z000000 X000047 Y000033
Z000000 X000046 Y000034
Z000000 X000045 Y000035
Z000000 X000045 Y000037
Z000000 X000044 Y000038
Z000000 X000043 Y000039
Z000000 X000042 Y000041
Z000000 X000041 Y000042
Z000000 X000040 Y000043
Z000000 X000039 Y000044
Z000000 X000037 Y000045
Z000000 X000036 Y000045
Z000000 X000035 Y000046
Z000000 X000033 Y000047
Z000000 X000032 Y000047
Z000000 X000030 Y000048
Z000000 X000029 Y000048
Z000000 X000027 Y000049
Z000000 X000026 Y000049
Z000000 X000024 Y000049
Z000000 X000023 Y000049
Z000000 X000021 Y000049
Z000000 X000020 Y000048
Z000000 X000018 Y000048
Z000000 X000017 Y000048
Z000000 X000015 Y000047
Z000000 X000014 Y000047
Z000000 X000012 Y000046
Z000000 X000011 Y000045
Z000000 X000010 Y000044
Z000000 X000008 Y000043
Z000000 X000007 Y000042
Z000000 X000006 Y000041
Z000000 X000005 Y000040
Z000000 X000004 Y000038
Z000000 X000003 Y000037
Z000000 X000003 Y000036
Z000000 X000002 Y000034
Z000000 X000002 Y000033
Z000000 X000001 Y000031
Z000000 X000001 Y000030
Z000000 X000000 Y000028
Z000000 X000000 Y000027
Z000000 X000000 Y000025
Z000000 X000000 Y000024
Z000000 X000000 Y000022
Z000000 X000001 Y000021
Z000000 X000001 Y000019
Z000000 X000001 Y000018
Z000000 X000002 Y000016
Z000000 X000003 Y000015
Z000000 X000003 Y000013
Z000000 X000004 Y000012
Z000000 X000005 Y000011
Z000000 X000006 Y000010
Z000000 X000007 Y000008
Z000000 X000008 Y000007
Z000000 X000009 Y000006
Z000000 X000010 Y000005
Z000000 X000012 Y000005
Z000000 X000012 Y000004
Z000000 X000013 Y000004
Z000000 X000015 Y000003
Z000000 X000016 Y000003
Z000000 X000018 Y000002
Z000000 X000019 Y000002
Z000000 X000021 Y000001
Z000000 X000022 Y000001
Z000000 X000024 Y000001
Z000000 X000025 Y000001
Z000000 X000027 Y000001
Z000000 X000028 Y000002
Z000000 X000030 Y000002
Z000000 X000031 Y000002
Z000000 X000033 Y000003
Z000000 X000034 Y000004
Z000000 X000036 Y000004
Z000000 X000037 Y000005
Z000000 X000038 Y000006
Z000000 X000039 Y000007
Z000000 X000041 Y000008
Z000000 X000042 Y000009
Z000000 X000043 Y000010
Z000000 X000044 Y000012
Z000000 X000044 Y000013
Z000000 X000045 Y000014
Z000000 X000046 Y000016
Z000000 X000046 Y000017
Z000000 X000047 Y000018
Z000000 X000047 Y000020
Z000000 X000048 Y000021
Z000000 X000048 Y000023
Z000000 X000048 Y000025
Z000003 X000048 Y000025
Fin
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#158 Message par Temps-x » mer. 11 juil. 2018 00:22

Bonsoir

Merci ! pour le Gcode, alors je viens de tester le Gcode que tu m'as donné, et je m'aperçois que mon programme ne sait pas gérer
les diagonales, donc, il faut lui apprendre.

Voici ce que j'obtiens pour un triangle :

Triangle.jpg


Voici ce que j'obtiens pour un rond :

Rond.jpg



écrit par [b]F6FCO :[/b]

Si je peux me permettre une remarque constructive: le gcode fonctionne toujours par rapport à une origine qui est
X=0, Y=0 et Z=0. X0 et Y0 sont normalement en bas à gauche de l'usinage, ce serait bien que
ton programme le prenne en compte.


Ce genre de remarque constructive m'apporte beaucoup, et je te remercie.

Ok je vais modifier tous cela quand ça fonctionnera bien(le Gcode), j'ai encore plein de petit truc à voir, si j'arrive à le faire sur PC,
ça sera plus claire pour moi, de le refaire avec un Pic.

Dans la foulé, je me demande si il y aurait pas un moyen de détecté un pas moteur manqué, en m’étant un capteur.

Par exemple le programme demande d'avancé d'un pas, le microcontrôleur exécute l'ordre et contrôle si l'opération à été effectuer.

Si non effectué il recommence jusqu’à atteindre la valeur fixé par le programmeur, si toujours non effectué un indicateur d'erreur
apparait.

Bon c'est une idée, mais je la trouve élégante :-D


==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Soft de commande CNC en asm
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#159 Message par Jérémy » mer. 11 juil. 2018 08:21

[quote=php]
F6FCO a écrit :Source du message C'est saoulant ces apostrophes qui font changer la couleur du code entre les balises :furieux:



Pour remédier a cela , la solution temporaire est de supprimer la partie =php quand tu clic sur les balises [code ].

EN cliquant sur le bouton code tu intégré deux balises[code=php ] et la fin de balise [\code ] .
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Soft de commande CNC en asm
JJE
Passioné
Passioné
Messages : 399
Âge : 83
Enregistré en : novembre 2017
Localisation : Picardie

#160 Message par JJE » mer. 11 juil. 2018 09:34

Bonjour F6FCO et Temps-x,
Je suis un peu largué :
à F6FCO, quel logiciel utilises-tu pour générer ces gcode, quelle unité de longueur utilise-t-il ?
à Temps-x, quel logiciel utilises-tu pour dessiner ces gcode (sur PC ?)
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 60 invités