Electronique

Edit:13 nov. 2016, Cre:08 févr. 2015

Cartes Intégrées

Catégorie: Commande Electronique « | Commande électronique? | »

On trouve désormais des cartes complètes intégrant à la fois :

  • Le processeur de G-Code
  • L’interface de signaux (la ‘breakout board’)
  • Les circuits de puissances, éventuellement enfichés sur des connecteurs de la carte

Ces cartes viennent du monde de l’impression 3D et sont en évolution relativement rapide.

Elles sont soit:

  • Alimentées par un PC qui envoie les G-Code au fur et à mesure et permet une présentation graphique détaillée
  • De manière autonome avec une interface opérateur minimale (écran de 4 à 8 lignes) à partir d’un fichier généralement copié dans une carte SD.

Compte tenu du fait qu’il s’agit de solutions intégrées, le prix est très compétitif, de 90 à 150 Euros y compris la puissance pour des intensités de commandes des moteurs pas-à-pas ne dépassant guère dans la pratique 1.5 A avec un sérieux refroidissement, la tension maximale étant de 24V. Pour avoir plus d’intensité et/ou plus de tension, il faut monter des cartes de puissances externes.

Actuellement, les logiciels d’interprétation de G-code sont loin des perfectionnements de Mach ou d’EMC2, mais il évoluent. Les circuits de puissances sur les cartes ont une puissance faible suffisante pour gérer une CNC basique, mais de nombreuses cartes permettent de monter des cartes de puissance de moteurs pas à pas ou de servomoteurs externes à partir des signaux ‘pas/direction’.

Ces cartes sont basés sur des microcontrôleurs et non sur des ordinateurs mono-carte type ‘Raspberry Pi’ ou ‘Beagle board’ et la puissance limitée ne permet pas de gérer des interfaces opérateurs très sophistiquées quand les machines fonctionnent de manière autonomes. Une particularité est que toutes ces cartes sont en ‘Open Hardware’ et qu’il y a donc plusieurs fournisseurs possibles, mais la qualité varie selon les sources. La plupart des ressources sur ces matériels et logiciels sont en anglais.

Les principale ‘branches’

Les cartes basées sur la configuration Arduino

Originellement, la majorité de ces cartes étaient basées ou dérivées de la carte carte de développement Arduino qui utilise un microcontrôleur 8 bit assez ancien (Atmel AVR) et limité en performance. Une importante optimisation logicielle permet aujourd’hui d’atteindre une fréquence maximale de pas de l’ordre de 16kHz. Il n’y a plus trop d’améliorations possibles avec ce processeur en fin de vie. La communauté autour de ces cartes est très importante et les développements sont continus. Il faut noter que les systèmes fonctionnent soient avec une carte d’extension de la carte Arduino, soit incorporent dans une même carte les composants d’un Arduino en y ajoutant les composants d’interface et de puissance. Le logiciel d’interprétation de G-Code le plus répandu est GRBL La société Synthetos produit une carte spécifique avec un logiciel dédié dérivé de GRBL, la tinyG

Les cartes basées sur l’Arduino ‘DUE’

Arduino a sorti en 2011 une carte basée sur un microcontrôleur 32 bits nettement plus puissant, l’Atmel SAM3X, construit à partir d’un cœur de type ARM Cortex-M3. IL existe une version en développement de tiny G fonctionnant sur les processeurs de type ‘Due’ la version Tiny G2

La carte ‘Smoothie’ et ses dérivés

La demande pour une puissance de calcul plus élevée étant forte, on trouve depuis fin 2013, suite à un développement partiellement financé sur KickStarter une nouvelle carte avec de nouveaux logiciels, la ‘Smoothieboard’, basée sur un microcontrôleur NXP LPC 1768/1769, lui-aussi basé un cœur ARM Cortex-M3, mais plus rapide que celui de l’Arduino DUE. Ce processeur moderne comporte plus d’interfaces et notamment une interface Ethernet. Il n’a pas d’interface vidéo, mais des processeurs de la même famille, notamment le NXP LPC 1788 possèdent eux une interface pour écran LCD, on peut donc espérer des évolutions. La fréquence de pas possible avec cette carte va de 120 à 200 kHz, ce qui répond à la quasi-totalité des besoins dans la CNC. Actuellement (fin 2015), cette carte a quelques dérivées, la carte Azteeeg X5 mini (USA), la carte Momoionololu M3 (Japon), la carte AZSMZ (Chine), la carte Sunbeam 2.0 (Pologne) et la carte Aakar (Inde). Bien que le processeur de cette carte soit des dizaines de fois plus puissant que celui de l’Arduino de base, son coût est à peine supérieur, le surcoût global est donc faible. Les interfaces actuellement disponibles pour cette carte sont quasiment similaires à celles des cartes Arduino (voir la Viki 2.

Les interfaces

Les ‘smart controllers’

Img:Smart_Controller.jpg Δ Pour les cartes fonctionnant de manière autonome, les fichiers G-code sont installés sur une carte SD et on monte une interface basique soit texte de 4 lignes soit graphique de 128×64 pixels, ce qui permet environ 6 lignes. Un bouton rotatif permet de choisir les options, qui sont validées en appuyant sur le bouton. En variante, on peut aussi avoir un pavé de sélection Droite/Gauche/Haut/Bas/Validation. Pratique, mais un peu limité.

Une solution très économique si vous avez un écran disponible est de monter le programme hôte PrintRun/Pronterface dans un ordinateur mono-carte Raspberry Pi (préférer le modèle 2, nettement plus puissant). Voir les explications en anglais. Le Raspberry Pi est moins cher (40 Euros) que la carte d’interface (~50 Euros). Vous devez alimenter le Raspberry Pi en 5V, tension normalement disponible sur la carte intégrée. Le Raspberry Pi a une sortie video HDMI.

Un autre logiciel récent, plus ouvert, est Octoprint. C’est en fait une interface sous forme de serveur web installé sur un Raspberry Pi, qui permet soit un affichage dans le navigateur local du Pi, soit sur le navigateur de toute machine de votre réseau, voire toute machine proche si vous avez installé une clé wifi sur le RaspBerry. Une fonctionnalité intéressante est la possibilité d’installer une webcam pour surveiller à distance ou pour faire des films en ‘Timelapse’, ce qui peut permettre de découvrir la cause d’incidents éventuels. Un rappel cependant: Pour des raisons de sécurité, vous devez toujours être à proximité de votre machine, même si vous n’avez pas les yeux dessus. Les utilisateurs d’imprimantes 3D les surveillent parfois à distance, car les impressions sont souvent très longues, mais le niveau de danger n’est pas comparable. Bien que principalement dédié aux imprimantes 3D,une variante d’Octoprint a été développée pour superviser une CNC pilotée par GRBL.

Une interface particulière à base micro-ordinateur monocarte et d’un petit écran tactile, la MatterControlTouch? qui peut aussi gérer une caméra et le wifi.

La Chaine logicielle

Le programme de CAM (FAO) peut être le même que sur les autres solutions Le programme qui envoie les fichiers vers la carte est spécifique. On en trouve deux qui sont actuellement encore en développement: Repetier host à l’interface élégante, dont la version de base est gratuite, mais la version évoluée payante PrintRun/Pronterface est entièrement open source

On peut se passer de programme d’envoi de G-Code si la machine est autonome. Ceci est moins risqué (pas de problème si l’ordinateur hôte (celui qui envoie le G-code) se plante.

Le futur

- écrit en 2015 - L’objectif de beaucoup est d’avoir une interface intégrée aux machines, comme c’est le cas dans les commandes numériques professionnelles. Il y a plusieurs voies en cours:

  • La solution en deux processeurs, qui fait fonctionner la partie pilotage G-code dans un microcontrôleur, et la gestion de la partie interface dans un microordinateur monopuce sous Linux. C’est la combinaison Raspberry Pi/Arduino contrôleur. Il n’existe pas actuellement de carte combinant les deux processeurs, mais ça ne présente aucune difficulté particulière et on verra probablement arriver rapidement ce genre de carte. L’avantage est que l’on travaille avec des outils maitrisés (la plate-forme de développement Arduino et Linux) et les fonctions sont bien séparées, ce qui est l’essence d’une conception saine. Une autre solution a deux processeurs est celle de la smoothieboard, ou un processeur est dédié au contrôle de la machine, et un autre à celui de l’interface opérateur. A ce jour -avril 2015-, le module interface n’est pas encore opérationnel.

Avoir deux processeurs a un coût, certes modeste (environ 20 à 30 Euros), mais la tendance étant à la diffusion vers le grand public, certains sont tentés d’éliminer le processeur d’exécution du G-code.

  • En intégrant le contrôle et interface dans un micro-ordinateur sous Linux. Bien que la puissance disponible soit suffisante, ce n’est pas une solution facile car le débit de signaux est relativement élevé, la version standard de Linux ne permet pas ce genre de manipulations et il faut une version dite temps réel qui permet des actions à intervalles suffisamment restreints.
    C’est la voie choisie par ceux qui portent le logiciel LinuxCNC sur la carte Beagle board. La version sur RaspBerry Pi a été abandonnée car La beagle board offre des avantages techniques importants par rapport à la Raspberry (dont celle d’avoir deux processeurs ‘temps réel’ incorporés). Cependant, en installant Linux sur un ordinateur mono-carte, on embarque une énorme quantité de logiciel totalement inutile pour le rôle dévolu à un contrôleur CNC (probablement plus de 99%). Les auteurs essayent donc de faire une distribution Linux ‘allégée’ dédiée.
  • En intégrant le contrôle et interface dans un micro-ordinateur utilisant un système d’exploitation dédié.
    Solution la plus élégante et à terme la plus économique, mais qui nécessite la réécriture ou le portage de tous les outils d’interface physique (gestion écran, clavier, écran tactile, communication Ethernet/USB/Wifi) et ceux permettant l’interface avec l’opérateur (système de fenêtrage et gestion des blocs graphiques), ainsi que les outils de programmation, ce qui représente une tâche importante. Un projet financé par Kickstater a été lancé dans ce sens, l’OS Photon Elephant. Les débuts sont pour dans quelques mois.

Attention à ce que vous choisissez

Les changements sont rapides et la majorité des entreprises du secteur vont probablement disparaitre rapidement. Il est donc préférable de choisir des solutions de développement non dépendant d’entreprises, même si c’est plus compliqué à mettre en place. Pour donner de la crédibilité à leur projet, la majorité des entreprises diffusent leur code en ‘open source’. C’est un moindre mal, mais si le logiciel n’est pas issu d’un développement initié par des amateurs, il ne sera pas suivi. A mon sens, pour une solution pérenne, il est préférable de choisir des projets complétement indépendants des entreprises, même si la ‘finition’ est moins bonne.

Ressources

En anglais

  • Sur le wiki Shapeoko, une page listant les solutions de contrôle CNC
Le contenu de ce site est soumis à une License Creative Commons   (détails). Creative Commons License
Privacy - Vie privée - Imprimable - Rechercher
Page mise à jour le 13/11/2016 17:35