Le CNC Shield V4 est la carte qui se pose sur une carte Nano et la transforme en contrôleur de trois moteurs pas à pas. Les trois emplacements de drivers, les entrées de fin de course et les sorties de broche sont déjà câblés : il ne reste qu’à enficher les modules, à brancher les moteurs et à téléverser GRBL. C’est le contrôleur le plus compact et le plus économique de la gamme, celui qui équipe la plupart des graveuses laser et des petites routeuses de bureau.
Attention à ne pas la confondre avec le CNC Shield V3, qui est un tout autre gabarit. Le V4 est un shield pour Nano : il porte les deux rangées de barrettes femelles de la Nano et il est plus court qu’une carte au format Uno. Le nombre d’axes suit ce format — trois emplacements X, Y et Z, sans quatrième axe et sans cavaliers de recopie. Sur une Uno, une Mega ou une carte au gabarit long, les barrettes ne tombent en face d’aucune broche : c’est la V3 qu’il faut, pas la V4.
Ce que la carte apporte
- Trois emplacements de drivers — un pour chaque axe, au format des modules Pololu : un driver A4988 ou un DRV8825 s’enfiche sans soudure, les emplacements des axes non utilisés restant libres.
- L’alimentation des moteurs sur la carte — une seule entrée continue alimente les trois drivers, avec les condensateurs de filtrage soudés à côté des emplacements. Le fabricant annonce une plage de 7,5 à 12 V.
- Six prises de fin de course — X-, X+, Y-, Y+, Z-, Z+ : deux interrupteurs par axe, la paire partageant la même broche du microcontrôleur.
- La sortie broche et l’arrosage — SpnEn et SpnDir pour relayer une fraiseuse, un module laser ou un variateur, CoolEn pour une pompe ou un ventilateur.
- Les entrées de commande déportées — arrêt, pause et reprise peuvent sortir sur des boutons en façade plutôt que dans la fenêtre du logiciel.
- Les broches libérées — l’I2C (A4 et A5) et le port série sont reportés sur des barrettes, ce qui permet d’y accrocher un afficheur, un module Bluetooth ou un lecteur de carte sans perdre un axe.
- Les cavaliers de micro-pas — trois cavaliers par emplacement, à poser avant la mise sous tension. Un point de vigilance les concerne sur cette série de cartes, il est détaillé plus bas.
Caractéristiques techniques
| Carte hôte | Arduino Nano (ATmega328, deux rangées de quinze broches). La carte est livrée seule : la Nano, les drivers, les moteurs et l’alimentation se choisissent à part |
|---|---|
| UGS | Z064 |
| Emplacements de drivers | Trois (X, Y, Z), vides sur la carte livrée, brochage compatible A4988 et DRV8825 |
| Axes pilotables | Trois au maximum, avec les sorties de broche et d’arrosage en plus |
| Tension moteurs | 7,5 à 12 V continu annoncés par le fabricant, par l’entrée d’alimentation de la carte |
| Courant par axe | 2 A au maximum pour un moteur biphasé à quatre fils, dissipateurs conseillés au-delà de 1 A |
| Micrologiciel | GRBL, téléversé sur la Nano depuis l’IDE Arduino |
| Micro-pas | Réglables par cavaliers sous chaque emplacement (voir le point de vigilance plus bas) |
| Entrées de fin de course | Six prises à deux broches, interrupteurs normalement ouverts |
| Format | Shield au gabarit Nano, barrettes femelles soudées, quatre trous de fixation |
Brochage : quelles broches de la Nano pour quel axe
C’est le tableau qui sert à vérifier un câblage ou à écrire un programme maison. Les numéros sont ceux de la Nano, tels qu’ils sortent sur les barrettes du shield.
| X — impulsion et sens | D5 et D2 |
|---|---|
| Y — impulsion et sens | D6 et D3 |
| Z — impulsion et sens | D7 et D4 |
| Activation des drivers (EN) | D8, commune aux trois emplacements, active au niveau bas |
| Fins de course X, Y, Z | D9, D10 et D11 — les deux prises d’un même axe partagent la même broche |
| Sortie broche (SpnEn, SpnDir) | Sur leurs propres barrettes ; D12 et D13 sur le brochage GRBL d’origine |
| Arrosage (CoolEn) | A3 |
| I2C et série | A4 et A5 pour l’I2C, RX et TX reportés à côté du support de la Nano |
Le point qui coince sur les cartes V4 rouges
Deux particularités de cette série sont documentées par les utilisateurs de ce shield, et elles expliquent la plupart des mises en route qui échouent. Elles se vérifient en quelques minutes au multimètre, et il vaut mieux le faire avant de brancher quoi que ce soit.
L’impulsion et le sens sont échangés
Sur la V4, les deux signaux d’un même axe sortent sur les broches inversées du shield V3 : pour l’axe X, c’est D5 qui porte l’impulsion et D2 le sens, alors que le shield pour Uno fait exactement l’inverse. Le câblage reste sain, mais GRBL compilé avec sa carte de broches d’origine envoie donc les impulsions sur l’entrée de sens du driver : le moteur se met sous tension, tient sa position et ne tourne pas. La correction se fait dans le micrologiciel, en échangeant les six définitions d’axes de cpu_map.h (X_STEP_BIT avec X_DIRECTION_BIT, puis Y et Z) avant de compiler et de téléverser. Le contrôle direct, lui, se fait au multimètre : cherchez la continuité entre la broche D5 du support de la Nano et la broche d’impulsion de l’emplacement X.
Les cavaliers de micro-pas ne sélectionnent rien
Sur les cartes V4 rouges, les cavaliers de micro-pas sont reliés à la masse au lieu du 5 V, si bien qu’ils n’agissent pas : quelle que soit la position des cavaliers, le driver reste en pas entier. Ce n’est pas une panne du driver, et cela ne gêne pas une machine qui avance lentement. Pour obtenir un vrai micro-pas, deux voies : corriger les pistes de la carte selon la modification publiée par les utilisateurs, ou choisir d’emblée une carte dont les pistes sont saines (les séries noires du fabricant sont données corrigées). Dans tous les cas, le nombre de pas par millimètre du micrologiciel doit correspondre à ce que la carte fait réellement, sinon les cotes usinées sont fausses.
Alimentation et points d’attention
- Vérifier le repère d’alimentation avant de brancher. Une inversion de polarité sur l’entrée de la carte détruit les drivers, et souvent la Nano avec eux.
- Ne jamais enficher ni retirer un driver sous tension. Le geste détruit le module et peut emporter la carte hôte. Toute intervention se fait alimentation débranchée et câble USB retiré.
- Respecter le sens du module. Le repère de la broche d’activation du driver doit tomber en face de celui du support ; l’emplacement d’un module enfiché à l’envers est perdu à la mise sous tension.
- Régler le courant de chaque driver avant de brancher les moteurs. Le réglage se fait à vide, moteur absent, en mesurant la tension sur le module selon la formule de celui-ci. Trop de courant chauffe le moteur, pas assez fait sauter des pas.
- Ne jamais débrancher un moteur sous tension. Déconnecter une bobine pendant que le driver travaille produit une surtension qui l’endommage.
- Séparer les câbles de fin de course des câbles moteurs. Les entrées de fin de course sont sensibles à la perturbation des câbles de puissance : un déclenchement fantôme en pleine passe fait perdre la pièce. Des fils dupont courts, éloignés des câbles moteurs, suffisent dans la plupart des montages.
- Rester dans les limites de la carte. Au-delà de 2 A par moteur, d’une tension supérieure à celle annoncée ou d’un moteur au-delà du format NEMA 17, ce shield n’est plus la bonne carte : il faut un driver de puissance externe, piloté directement par les broches d’impulsion et de sens.
- Refroidir au-delà de 1 A. Les drivers Pololu chauffent vite : un dissipateur collé sur chacun est la norme dès que le courant dépasse 1 A, et un petit ventilateur sur la carte ne coûte rien.
Applications courantes
- Graveuse laser deux ou trois axes — la sortie broche module la puissance du laser, la carte tient dans un boîtier de petite dimension.
- Petite routeuse de bureau — trois axes et des fins de course pour une machine de gravure ou de fraisage léger, sur courroie ou sur vis trapézoïdale.
- Traceur et machine à dessiner — le même montage que la V3, en plus petit et pour moins cher.
- Machine avec axe rotatif — un moteur pour le plateau tournant à la place d’un axe linéaire, ce qui laisse deux axes de déplacement.
- Base d’un projet de positionnement — même sans usiner, trois axes motorisés et des fins de course couvrent beaucoup de besoins.
- Apprentissage de GRBL et du G-code — le moyen le moins cher de transformer une Nano en contrôleur de mouvements.
Mini-projet : faire tourner un moteur et valider son câblage
Avant de téléverser GRBL et de régler des vitesses, ce programme court fait avancer un moteur d’un tour dans un sens, puis dans l’autre. Il attaque directement les broches de l’emplacement X, ce qui valide d’un coup le driver, le courant, le câblage des bobines et le brochage de la carte.
Matériel
- ce shield et une Nano ;
- un driver A4988 dans l’emplacement X ;
- un moteur pas à pas NEMA 17 ;
- une alimentation 12 V sur l’entrée de la carte ;
- un petit tournevis pour le réglage du courant, et un ordinateur pour téléverser.
Câblage
| Moteur — bobine A (A+ et A-) | prises 1A et 1B de l’emplacement X |
|---|---|
| Moteur — bobine B (B+ et B-) | prises 2A et 2B de l’emplacement X |
| Alimentation 12 V — positif | entrée d’alimentation de la carte, repère positif |
| Alimentation 12 V — négatif | entrée d’alimentation de la carte, repère de masse |
| Nano | câble mini-USB, pour le téléversement et l’alimentation de la logique |
Deux câbles de bobine inversés entre eux ne détruisent rien : le moteur tourne simplement dans l’autre sens. Le vrai risque reste le sens d’insertion du driver et le débranchement à chaud. Si le moteur vibre sans avancer, c’est presque toujours un courant trop faible ou deux fils d’une même bobine séparés : vérifiez la continuité par paire avant tout autre réglage.
Programme
/*
* Un axe du CNC Shield V4 : un tour dans un sens, un tour dans l'autre
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_X_STEP = 5; // impulsions de l'axe X sur ce shield (D5)
const byte PIN_X_DIR = 2; // sens de l'axe X (D2) - voir la note sur le brochage
const byte PIN_ENABLE = 8; // EN, commun aux trois emplacements (actif au niveau bas)
const int PAS_PAR_TOUR = 200; // moteur NEMA 17 en pas entiers
const int DUREE_IMPULSION = 800; // microsecondes, a augmenter si le moteur decroche
void setup() {
pinMode(PIN_X_STEP, OUTPUT);
pinMode(PIN_X_DIR, OUTPUT);
pinMode(PIN_ENABLE, OUTPUT);
digitalWrite(PIN_ENABLE, LOW); // niveau bas : les drivers sont alimentes
delay(200); // laisser le driver se stabiliser avant le premier pas
}
void loop() {
digitalWrite(PIN_X_DIR, HIGH); // sens 1
tourner();
delay(700);
digitalWrite(PIN_X_DIR, LOW); // sens 2
tourner();
delay(700);
}
void tourner() {
for (int reste = PAS_PAR_TOUR; reste != 0; reste--) {
digitalWrite(PIN_X_STEP, HIGH);
delayMicroseconds(DUREE_IMPULSION);
digitalWrite(PIN_X_STEP, LOW);
delayMicroseconds(DUREE_IMPULSION);
}
}Si le moteur reste immobile en vibrant légèrement, les deux broches de l’axe sont interverties sur votre exemplaire : remplacez les valeurs de PIN_X_STEP et de PIN_X_DIR en tête du programme et téléversez à nouveau. Si le moteur siffle au lieu de tourner, augmentez DUREE_IMPULSION : une fréquence trop élevée pour le couple demandé produit ce sifflement sans rotation. Si les drivers chauffent, c’est le réglage de courant qu’il faut revoir, pas le programme.
Questions fréquentes
Ce shield se monte-t-il sur un Arduino Uno ?
Non. Le V4 est un shield au gabarit Nano : ses deux rangées de quinze barrettes femelles attendent une carte de cette longueur. Enfiché sur une Uno, une Mega ou une carte longue, il ne relie rien du tout ; pour ces cartes, c’est le shield V3 qu’il faut.
Peut-on monter trois moteurs de modèles différents ?
Oui : chaque emplacement a son propre driver et son propre réglage de courant. La limite vient de l’alimentation, pas de la carte. Vérifiez que le courant total délivré couvre la somme des moteurs, et souvenez-vous que la carte est donnée pour 2 A par axe, dissipateurs compris.
Faut-il obligatoirement GRBL sur la Nano ?
Non, mais c’est l’usage courant. GRBL lit le G-code sur le port série et se charge de toute la génération d’impulsions. Un programme personnel peut piloter directement les broches des trois axes, à condition d’écrire soi-même la conversion entre pas, millimètres et vitesses — c’est ce que fait le programme du mini-projet.
Pourquoi mon moteur tourne-t-il dans le sens inverse de la commande ?
Deux causes possibles, deux corrections différentes. Si l’axe bouge normalement mais à l’envers et que GRBL est installé, la solution est logicielle : l’option d’inversion du sens de cet axe dans les réglages du micrologiciel. Si l’axe bouge avec un couple faible ou saccadé, c’est plutôt l’ordre des bobines sur la prise qui est en cause : inversez une des deux paires. Une paire de bobine à l’envers ne se voit pas de l’extérieur, car les fabricants ne livrent pas tous les fils dans le même ordre.
Les fins de course sont-ils obligatoires ?
Non. Une machine peut fonctionner sans eux, à condition de placer la pièce à la main et de rester dans les limites de course. Les fins de course apportent deux choses : la prise d’origine automatique, qui garantit la même position de départ à chaque mise en route, et la protection contre une collision. Pour une machine qui usine des pièces répétées, la prise d’origine devient vite indispensable.
À combiner avec
Les trois emplacements de la carte accueillent les mêmes drivers que les shields pour Uno : un bornier à vis en sortie de chaque emplacement rend le câblage des moteurs démontable, ce qui évite de sortir les fils des barrettes à chaque intervention. Pour un moteur plus exigeant — couple important, courant au-delà de ce qu’un module Pololu supporte — le module TB6600 prend le relais et se pilote depuis les mêmes broches d’impulsion et de sens, l’emplacement du shield restant vide.







