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
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 467
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#281 Message par venom » sam. 17 nov. 2018 20:58

Merci pour l'info






@++
En fait tout est une question de BIT ? :-D

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

#282 Message par F6FCO » jeu. 6 déc. 2018 21:44

Hello tout le monde,
Maintenant que je peux de nouveau utiliser le forum je peux vous donner des nouvelles d'4L1C3. Même si je ne pouvais plus venir papoter je bossais en silence :sifflotte:
Elle a fait ses premiers traits, les axes XY et Z fonctionnent bien, juste un petit bug concernant les POP mais qui va être vite réglé.

P1020633.JPG


Pour l'instant elle ne connait que les déplacements horizontaux et verticaux, je vais m'attaquer maintenant aux diagonales de toutes valeurs d'angles.
Pour l'instant pour une diagonale du gcode elle dessine un angle pour aller du point départ au point arrivée. Voici ce qu'elle fait en fig.1, le trait bleu à obtenir et en gris ce qu'elle fait vraiment, en fig.2 ce qui devra se faire.

diag.jpg


pour remédier à cela il va falloir faire fonctionner les axes X et Y en multiplexage (bouger ensembles) de façon à dessiner une pente en escalier le plus fin possible. Gros boulot qui va mettre en œuvre des divisions, donc premier truc à faire, coder une routine de division.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... cochonne va !!!

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

#283 Message par Temps-x » ven. 7 déc. 2018 02:00

Bonsoir F6FCO, et tout le forum,

F6FCO a écrit :Source du message des divisions, donc premier truc à faire


Normalement pas besoin si tes pas son identique sur X, Y avec même moteur et même électronique, si c'est pas le cas tu risques
d'en voir de toutes les couleurs(jaune).... :sifflotte:

==> A+
Quand la souris nargue le chat, c'est que son trou n'est pas loin.

Soft de commande CNC en asm
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1171
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#284 Message par paulfjujo » ven. 7 déc. 2018 10:09

bonjour à tous,


F6FC0 a écrit :.. il va falloir faire fonctionner les axes X et Y en multiplexage (bouger ensembles) de façon à dessiner une pente en escalier le plus fin possible.

si mes souvenirs concernant l'algorythm de Bresenham pour le tracé de droite
sont encore valables
l'algo defini un pas et un deplacement unilateral à chaque fois
donc pas les 2 sens en meme temps.
Si on voit des escaliers , c'est que la resolution est insuffisante.
Je pense qu'il faudra alors utiliser des flottants pour les calculs DX ou DY
ou alors trouver une astuce via un multiplicateur,
sans toute fois depasser la capacité d'un entier long signé => +-31 bits pour eviter l'usage de flottants
Aides toi, le ciel ou Fantastpic t'aideras

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

#285 Message par F6FCO » ven. 7 déc. 2018 16:50

Bonjour,
@Temps-X, si tu fais un pas égal sur chaque axe tu ne traceras que des diagonales à 45; le seul moyen pour faire des pentes diverses est de diviser un terme par l'autre et de progresser par pas d'une division (quotient) sur un axe et d'une unité (diviseur) sur l'autre axe.

@Paulfjujo, j'ai pris le parti de travailler en entiers dés le départ du projet car débutant en assembleur PIC je ne savais pas trop ou çà allait m'emmener et j'avais choisi de faire simple, donc il va falloir que je trace ces droites avec des entiers et il y aura forcément un effet d'escalier. Travailler en réels m'obligerait à refondre complètement le programme entier en partant du gcode.
La seule concession que je pourrai (peut-être) faire c'est de diviser ma résolution par 10 (800pas pour 1mm, donc 80 pour 0,1mm).

Quand je parle de bouger les axes ensembles c'est une façon de parler, c'est par rapport au gcode qui définit une pente de cette manière, par exemple:
X0000 Y0000 Z0000
X0030 Y0030 Z0000
qui est une pente à 45°. Après ces deux lignes la pente doit être tracée, c'est à la machine de calculer et faire l'interpolation pour mouvoir ses axes et dessiner (ou tracer, usiner) la pente, çà implique de bouger les deux axes simultanément. Enfin l'un après l'autre évidemment mais simultanément vu du coté gcode. Si on ne le faisait pas la machine (ce que fait la mienne pour l'instant) dessinerait deux lignes en angle:
positionnement de l'outil à X0, Y0
déplacement à X0030, un trait horizontal
déplacement à Y0030, un trait vertical

Nota: si on voulait vraiment dessiner cet angle le code serait alors celui-ci:
X0000 Y0000 Z0000
X0030 Y0000 Z0000
X0030 Y0030 Z0000
Une porte nand prend 2 bits en entrée... cochonne va !!!

Soft de commande CNC en asm
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 467
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#286 Message par venom » ven. 7 déc. 2018 18:41

Ah le sujet reprend du service du coup :wink: :razz:







@++
En fait tout est une question de BIT ? :-D

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

#287 Message par F6FCO » ven. 7 déc. 2018 19:44

Il n'a jamais cessé mais comme je ne pouvais plus causer normalement sur le forum :sifflotte: :wink:
Mais je bosse dur à la maison pour le faire avancer.

Pour étayer la conversation du dessus voilà une copie d'écran d'un gcode de pente à 45°:

pente.JPG


image pas très lisible mais les coordonnées sont :
X0000 Y0000 Z0000
X0020 Y0020 Z0000
M0000 00000 00000 ; ligne de fin du gcode

Donc une pente montante, si on devait la faire en descendant il faudrait inverser les deux premières lignes.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... cochonne va !!!

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

#288 Message par Temps-x » ven. 7 déc. 2018 20:28

Bonsoir F6FCO, et tout le forum,

F6FCO a écrit :Source du message Temps-X, si tu fais un pas égal sur chaque axe tu ne traceras que des diagonales à 45°


Exacte, je suis d'accord avec toi, mais ou je veux en venir, si tu traces par exemple une pente à 30° tes carrés seront symétrie,
ce qui est un avantage fort appréciable, ça te donne une linéarité.

Voici avec un programme écrit en RapidQ sur ce que ça donne

diag.jpg



Le gros problème c'est quand travail en numérique avec des moteurs pas à pas, avec des moteurs linéaire on n'aurait pas se problème. :wink:


==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le ven. 7 déc. 2018 21:48, modifié 1 fois.
Quand la souris nargue le chat, c'est que son trou n'est pas loin.

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

#289 Message par F6FCO » ven. 7 déc. 2018 20:58

Bonsoir Temps-X,
Je ne comprends pas vraiment ce que tu veux dire, ta pente semble à 45° et est épaisse de plusieurs pixels, ce qui la rend plus "normale". Pour voir refais l'essai avec une pente par exemple à 10° et d'une épaisseur d'un pixel, (ce qui est le cas en gcode).
Une porte nand prend 2 bits en entrée... cochonne va !!!

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

#290 Message par Temps-x » ven. 7 déc. 2018 21:48

F6FCO a écrit :Source du message ta pente semble à 45°


:oops: exacte je me suis planté, excuse moi pour l'erreur, je rectifie :-D

Avec une non linéarité de pas tu auras à chaque avance de pas un rectangle pas un carré, même avec une pente à 45°

L'inconvénient c'est que tu risques d'avoir des dimensions différence sur des longues distance, pour chaque pente.

Mon programme de CNC est basé sur les pixels, ce qui me posait moins de problème que du Gcode

oops ça va pas être facile pour toi.

==> A+
Quand la souris nargue le chat, c'est que son trou n'est pas loin.


Retourner vers « Langage ASM »

Qui est en ligne

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