Général GRBL évolution vers grblHAL

  • Auteur de la discussion speedjf37
  • Date de début
S

speedjf37

Compagnon
Bonjour,

Dans de nombreux sujet il est question de grbl, avec quelques polémiques.

j'ai découvert une version grblHAL qui rend l'adaptation possible vers différents Cartes/Processeur.


le développeur a créé un interface PC ioSender ( - a gcode sender for grblHAL or grbl)

wiki:

Cet interface intègre une gestion conversationnelle y compris pour le tournage avec un mode synchro broche sur grblHAL



Je précise que je n'ai pas (encore) essayé et que je suis pas impliqué dans ce développement !


le #2 sera réservé aux fonctionnalité de grblHAL
le #3 sera réservé aux fonctionnalité de ioSender
le #4 sera réservé aux liens sur grblHAL (hors original )

Cordialement JF
 
Dernière édition:
S

speedjf37

Compagnon
le #2 sera réservé aux fonctionnalité de grblHAL

Traduction Google du site:(extrait de )

NOUVELLES! grblHAL déménage dans une nouvelle maison où le projet est divisé en référentiels séparés, un pour le noyau partagé, un pour chaque plugin et un pour chaque pilote. Les dépendances du pilote avec le noyau et les plugins sont configurées en tant que sous-modules git et les pilotes peuvent donc être téléchargés séparément.

Il y a à la fois des avantages et des inconvénients à ce mouvement, l'inconvénient le plus notable pour les utilisateurs est que le téléchargement du code source en tant que fichier .zip ne résout plus toutes les dépendances. Chaque sous-module dont dépend un pilote doit être téléchargé séparément et copié dans le dossier correspondant du pilote C'est un peu plus compliqué que la copie nécessaire dans les versions précédentes où le code dépendant se trouve dans le fichier .zip téléchargé .

Un avantage est qu'un téléchargement de pilote avec le bureau git ou GitHub récupérera automatiquement toutes les dépendances et le téléchargement n'est plus «pollué» par des pilotes indésirables.

Pour le moment, je garderai ce référentiel intact et le code source synchronisé. De nouveaux problèmes devraient être soulevés, des demandes d'extraction soumises et des discussions devraient être lancées dans le nouveau foyer. Utilisez le référentiel de base pour soulever de nouveaux problèmes ou démarrer des discussions si vous ne savez pas où ils appartiennent.

Ce référentiel sera finalement déplacé vers la nouvelle maison et conservé comme référence.

grblHAL a de nombreuses extensions qui peuvent causer des problèmes avec certains expéditeurs. Pour contourner ces problèmes, une option de compilation a été ajoutée pour désactiver les extensions de manière sélective.

IMPORTANT! grblHAL utilise par défaut des commutateurs normalement fermés (NC) pour les entrées, si aucun n'est connecté lors du test, il est probable que le contrôleur démarre en mode d'alarme.
Court-circuitez temporairement les entrées Reset, E-Stop et Safety Door(4) à la masse ou inversez les entrées correspondantes en réglant $ 14 = 73 pour éviter cela.
Veuillez consulter cette page Wiki pour obtenir des informations supplémentaires importantes.

Les utilisateurs de Windows peuvent essayer ioSender, les versions binaires peuvent être trouvées ici. Il a été écrit pour compléter grblHAL et possède des fonctionnalités telles que le jogging au clavier approprié, le palpage avancé, la reconfiguration automatique de l'affichage DRO pour jusqu'à 6 axes, le mode tour comprenant la génération de G-Code conversationnel, le rendu 3D, le support macro, etc. etc.



grblHAL est une alternative sans compromis, hautes performances et peu coûteuse à la commande de mouvement basée sur un port parallèle pour le fraisage CNC et est basée sur la version Arduino de grbl. Il est principalement destiné aux processeurs ARM (ou autres MCU 32 bits) avec de grandes quantités de RAM et de flash (par rapport à l'AVR 328p) et nécessite un pilote matériel pour être fonctionnel. Actuellement, des pilotes sont disponibles pour 13 processeurs / familles de processeurs différents qui partagent tous le même cœur.

grblHAL a une architecture ouverte permettant aux plugins d'étendre les fonctionnalités. Les plugins créés par l'utilisateur peuvent être ajoutés à grblHAL sans changer un seul fichier dans la source(1), et permettent d'ajouter une large gamme d'extensions. De nouveaux codes M peuvent être ajoutés, de l'espace pour les paramètres spécifiques du plugin peut être alloué, des événements peuvent être souscrits, etc. etc.
L'ajout de code pour piloter un ATC, des sorties supplémentaires ou même l'ajout d'une UI(2) n'a jamais été aussi simple. Vous pouvez même ajouter votre propre pilote si vous vous sentez tellement enclin.

HAL = couche d'abstraction matérielle

Le contrôleur est écrit en C hautement optimisé en utilisant les fonctionnalités des processeurs pris en charge pour obtenir une synchronisation précise et un fonctionnement asynchrone. Il est capable de maintenir jusqu'à 300 kHz(3) d'impulsions de contrôle stables et sans gigue.

Il accepte le g-code conforme aux normes et a été testé avec la sortie de plusieurs outils FAO sans problème. Les arcs, les cercles et le mouvement hélicoïdal sont entièrement pris en charge, ainsi que toutes les autres commandes g-code principales. Les fonctions de macro, les variables et certains cycles prédéfinis ne sont pas pris en charge, mais nous pensons que les interfaces graphiques peuvent de toute façon faire un bien meilleur travail pour les traduire en code g simple.

Grbl inclut une gestion complète de l'accélération avec anticipation. Cela signifie que le contrôleur examinera jusqu'à 16 mouvements dans le futur et planifiera ses vitesses à l'avance pour offrir une accélération douce et des virages sans à-coups.

Il s'agit d'un port / réécriture de grbl 1.1f et devrait être compatible avec les expéditeurs GCode conformes aux spécifications de cette version. Il devrait être possible de changer les configurations par défaut au moment de la compilation si des problèmes surviennent, par exemple. les tailles de tampon série par défaut ont été augmentées dans certains des pilotes fournis.

Consultez grbl.org pour des vitrines de construction, des articles de blog, etc.

1 Cette fonction ne doit être utilisée que pour les plugins privés, si elle est partagée, un seul appel doit être ajouté au code du pilote des processeurs cibles.
2 Je ne recommande généralement pas de faire cela, et je n'accepterai aucune demande d'extraction. Cependant, je peux ajouter un lien vers le référentiel github pour tout ce qui pourrait être créé.
3 Dépend du pilote / processeur.
4 Non activé par défaut si vous construisez à partir de la source, mais peut être activé dans le micrologiciel prédéfini.
 
Dernière édition:
S

speedjf37

Compagnon
Dernière édition:
S

speedjf37

Compagnon
le #4 sera réservé aux liens sur grblHAL (hors original )




1/30/2021
More tweaking of the code. I changed the step pulse width to 1 microsecond and was able to get a stable 600Khz step pulse. Video here
test grblHAL:

pour l'instant je n'ai pas compris comment installer/compiler ce projet !
 
Dernière édition:
D

Doctor_itchy

Compagnon
ho c'est vraiment une très bonne nouvelle ça :o , ça ouvre des nouvelles possibilité !

je vais potassé cela aussi avec attention :)

merçi :wink:
 
P

pailpoe

Compagnon
Très intéressant si le projet est bien suivi !
 
S

speedjf37

Compagnon
Bonjour,

Pour l'IDE Arduino il faut copier le dossier choisi dans "\grblHAL\drivers" contenant src et examples
et le copier dans le dossier C:\Users\xxx\Documents\Arduino\libraries\

IDE Arduino copie dossier grblHAL_Due dans les librairies.
Select card arduino DUE
Select exemples -> grblHAL_Due
Compil OK

Pour l'esp32 il faut installer ESP-IDF
voir arduino\grblHAL\drivers\ESP32\readme

STM32
To compile the source code requires the new STM32CUBEIDE

Cordialement JF
 
S

speedjf37

Compagnon
Test grblHAL Arduino Due + CNC Shield V3

1) _Logiciel

Il faut sélectionner la carte dans le fichier:
C:\Users\userXXXX\Documents\Arduino\libraries\grblHAL_Due\src\my_machine.h


Compiler , télécharger dans la carte DUE

Télécharger ioSender (version zip déja compilée).

Tester !!!!! Com OK avec grblHAL

2) _Matériel

Il faut modifier le CNC Shield V3 qui est prévu pour fonctionner en 5V (Drivers M1M2 M3 et alimentations des entrées)
Couper les 2 piste 5V venant de la broche de l'Arduino et relier ces 2 circuits 5V.
Modif_5V_cnc_shield_V3.jpg

Alimenter en 3,3V avec un strap sur le connecteur d’extension I2C
Alim3,3V_shield_modifié.jpg



Pose du CNC shield V3 sur Arduino DUE
Test alim 5V du shield modifiée en 3,3V OK

Insertion des drivers

TEST

grbl renvoie des alarmes !!!!!! probablement des entrées non câblées

Strap sur les entrées X Y Z

1621607224597.png


Les moteurs sont alimentés mais ne tournent pas !

Après de nombreuses heures à tout vérifier !!!!!!!
Toutes les E/S fonctionnent tous les signaux sont au bon endroit (vérif à l’oscilloscope)
Les commandes d'axes et de la broche sont OK

Le problème c'est l'Enable des drivers inversé ! (1 des mes drivers est valide en permanence ça ne m'a pas aidé)

Pour le régler c'est ici(Enable commun au 3 axes):

1621863567770.png


Fontionnement correct des 3 axes !!!!!!!!!!!!!
Pour les essais les boutons sont remplacés par des straps.


A suivre +++

Cordialement JF
 
Dernière édition:
S

speedjf37

Compagnon
Bonjour,

Je confirme que grblHAL fonctionne sur Arduino Due avec un shield CNC V3 modifié.

Le pilotage par ioSender est opérationnel (le prog se plante si perte de l'USB).

Voir #8 au dessus pour les détails .

Cordialement JF
 
S

speedjf37

Compagnon
Bonjour,
Vu dans le tableau ici:

dans le code il parait que Max axes = 6
exemple en ESP32

Alors j'ai copié et créé une config 6 Axes pour Arduino DUE CNCshield V3 (evidemment il y a des E/S hors shield )

J'ai déclaré dans grbl.h
#ifndef N_AXIS
//#define N_AXIS 3 // Number of axes
#define N_AXIS 6 // Number of axes
#endif

j'ai ajouté une config:
//#define BOARD_PROTONEER
#define BOARD_PROTONEER6

et 1 fichier :
protoneer_6_3.xx_map.h

Dans lequel j'ai ajouté les définitions des E/S des axes A,B,C

Compilé , téléchargé !

lancé Iosender :


1622037678479.png

Pas testé en réel les axes A,B,C !

Cordialement JF
 
T

Tristan l'apprenti

Nouveau
Merci pour tes premiers retours. Je vois qu'il n'y a pas de nouvelles sur ce forum depuis deux ans. Je serai curieux d'en savoir plus sur ton ipression général auant à grblHAL 2 ans plus tard. Je vais sans doute bientôt acheter des cartes électroniques dédiées à une utilisation de ce firmware pour de la découpe plasma. La carte d'assemblage T41U5XBB, sur laquelle brancher un microcontrôleur Teensy, plus un module THC pour stabiliser la hauteur d'arc du plasma.

Pourquoi ? Cette carte conçue expressément pour limiter les interférences éléctromagnétiques, et capable de gérer 5 axes différents (XYZ, un axe rotatif, + Y' séparé pour permette un équerrage à chaque homing des axes X et Y) avec en plus une fréquence et une RAM significatives, pemettent de répondre à mes besoins actuels et futurs.

Mais je crains l'usine à gaz au moment de tout mettre en place. Paramétrer le firmware pour la carte, la prise en charge du module, le firmware une fois paramétré sur la carte... Le programmateur Terjeio a l'air encore très actif sur ces projets qui ont le charme de la modularité, et le concepteur et vendeur de ma carte, Phil Barrett, semble sérieux et documente beaucoup la mise en oeuvre de son produit. J'imagine aussi que certains problèmes ont été réglés entre temps, que l'ensemble a pris une certaine maturité. (L'éditeur du firmware via navigateur web notamment peut simplifier les choses, ainsi qu'un article expliquant comment ne pas démarrer systématiquement en mode alarme ; entre autres.)

J'aimerais quand même avoir un regard extérieur et avisé sur la question.
Après deux ans de service, quelles conclusions générales ? Pas trop de galères ? D'autres gens ont-ils des retours d'expériences en la matière ?
Merci d'avance.
 
Dernière édition:
S

speedjf37

Compagnon
Bonjour,

Je me suis orienté vers les solutions 32bits.


Il y a plusieurs avancées très intéressantes.
J'apprécie l'évolution avec ESP32 (wifi bluetooth) et port I2S pour ajouter de nombreuse pin de sorties
FluidNc avec OpenBuilds apporte des nouvelles possibilités OTA par exemple.

J'ai choisi une solution toute intégrée avec écran tactile pour un projet destiné à un utilisateur pas fan de logiciel.

Par contre pour modifier et adapter les logiciels c'est compliqué.


PS) je n'avais pas vu la version GRBLHAL PI pico

JF
 
R

Rinar

Nouveau
FluidNC est le grand malheur de grblHal. La simplicité de mise en oeuvre de fluidNC, sa souplesse (pas d'options de compilation, tout est configurable (même le hardware depuis le navigateur en wifi) l'a rendu très populaire pour les projets amateurs.

On est dans une niche, Les utilisateurs et développeurs étant limités, la documentation internet et les retours d'expériences se font plus rare pour grblHal.
 
T

Tristan l'apprenti

Nouveau
Effectivement, je ne trouve pas grand chose sur grblHal en ligne, à part fluideNC qui semble exclusivement dedié aux fraiseuses et faire peu de cas d'autres usages, notamment d'axes rotatifs, la page de Phil Barrett et celle GitHub de Terje Io.
Mais celui ci semble encore très actif, y compris pour des modules plugins (dont le THC pour plasma) ce qui laisse un beau potentiel pour exploiter grblHAL ds différents domaines à prix reduits
 

Sujets similaires

T
Réponses
28
Affichages
3 215
Tristan l'apprenti
T
J
Réponses
265
Affichages
14 675
FLCV71
F
P
Réponses
5
Affichages
4 356
fabrice c
F
Haut