plutot que de réaliser soi meme le circuit complet avec les pololu , il existe des cartes toutes faites appelés CNC SHIELD que l’on trouve en vente sur internet pour quelques euros. ils sont equipés des condensateurs de filtration et suivant les cas il sont vendus seul ou avec les pololu A4988 .
ATTENTION: les Shield CNC ont 3 ou 4 supports POLOLU suivant les versions. mais dans la version 4 supports , ce ne sont pas des shield 4 axes. le 4° support ( rouge sur les photos ) permet de faire un axe à 2 moteurs Pas a Pas synchronisés. des cavaliers présents sur la carte permettent de choisir avec quel axe est synchronisé le 4° POLOLU.
on trouve même des Kits ARDUINO/SHIELD/POLOLU complets.
une fois le shield équipé de ses POLOLU et monté sur la carte ARDUINO cela donne un ensemble dont voici l’aspect :
une fois tout cela mis dans un boitier , on obtient une unité de commande CNC tres compacte.
la description , le fonctionnement et l’utilisation de ce shield est decrite en detail dans la page ci dessous en lien
pour finir , une vue du dessus des différentes broches d’un shield pour 4 pololu:
Exemple de réalisation:
ci dessous quelques vues d’un boitier CNC GRBL 3 axes réalisé avec un CNC SHIELD et son ARDUINO UNO, un transfo 220V/12V et des connecteur DB9 , l’ensemble mis dans un boitier acrylique fait en decoupe laser .
le boitier branché sur une fraiseuse PROXXON FF500
alternative simple a l’ARDUINO UNO et CNC shield , les carte tout en un ELEKSMAKER que l’on peut commander sur Aliexpress ou Bangood a un cout defiant toute concurrence par rapport a une solution ARDUINOP UNO + CNC Shield.
ces cartes a base d’arduino Nano arrivent toutes prêtes pour une utilisation CN . elle comporte un arduino Nano et 2 ou 3 driver POLOLU A4988 suivant que vous commandez une carte 2 axes pour graveuse laser par exemple ou une carte 3 axes pour fraiseuse CNC.
GRBL est preinstallé sur la carte , et ces cartes ont deux sorties specifiques pour la commande de moteur de broche et pour la commande de laser en mode PWM. et cerise sur le gateau un bouton de mise sous tension type ON/OFF.
par contre , l’ARDUINO NANO est en general une version avec puce microcontroleur modele CH340. ce type de carte nécessite un driver spécifique pour etre reconnu par l’IDE arduino. voici en fichier zip ci dessous le driver nécessaire a installer sur votre ordinateur en OS WINDOWS :
si vous avez un doute sur la mise a jour du driver vis a vis de votre systeme d’exploitation, faire une recherche google avec » driver CH340 » ou aller sur Github:
un des avantage des drivers POLOLU A4988 est de pouvoir régler le courant limite de sortie et ainsi l’adapter aux moteurs Pas a Pas utilisé pour les protéger .
ce réglage s’effectue en fonction:
– de la tension d’alimentation moteur VMOT
– des caractéristiques du moteurs pas a pas alimenté
nous allons voir ici comment régler les pololu A4988 , les principes sont les mêmes pour d’autres drivers. pour les réglage , il est indispensable de récupérer la « datasheet » du driver concerné.
sur un pololu A4988, la tension d’alimentation moteur doit etre comprise entre 8 et 35 V et doit être connecté entre les broches VMOT et GND. Cette alimentation doit être accompagnée d’une capacité de découplage proche de la carte ( 47uF mini ou 100 uF idéalement) ceci afin d’ écrêter les éventuelles surtensions de l’alimentation et ainsi limiter le courant envoyé.
la valeur primordiale pour le pilotage d’un moteur pas a pas est l’intensité du courant et non pas la tension, dit autrement , un moteur pas a pas de 12 V peut être alimenté sans problème par une tension de 30 volts dans la mesure ou le courant envoyé dans les bobines ne dépasse pas la limite admise par les moteurs connectés .
Le driver pololu A4988 comporte une fonctionnalité de « limitation active de courant » et le petit potentiomètre (varistance) disponible sur la carte permet d’en fixer la valeur.
il va donc falloir régler ce potentiomètre de façon à ajuster le courant envoyé à la limite admissible par les moteurs connectés. si vous utilisez des moteurs différents , il va falloir ajuster ce potentiomètre a chaque moteur d’axe connecté et ensuite , ne surtout pas échanger les moteurs d’axes sur les axes ou ils sont différents..
pour ajuster le courant limite on va mesurer la tension entre la broche « Vref » et la masse et tourner la résistance variable jusqu’a obtenir une valeur correspondant au courant limite calculé.
La limite de courant est calculée comme suit par rapport à la tension de référence suivant la formule :
soit
pour trouver Rcs il faut regarder les resistances sur le circuit:
exemple: NEMA 17 avec 1,2 A par phase et un Rcs de 68 , Vref=8 x 1,2 x 68 = 652 mV
ne reste plus qu’a régler le potentiomètre du pololu pour obtenir cette valeur. pour cela on va alimenter le pololu en 5V sur ces 2 pattes GND et VDD et mesurer la valeur Vref entre la cosse de masse et le potentiomètre pour ensuite tourner le potentiomètre jusqu’à mesurer une tension Vref la plus proche possible de 0,652 volts .
pour ce réglage on va utiliser si possible un micro tournevis cruciforme en cramique pour éviter les courts circuits en cas de fausse manip.
mais a défaut , un micro tournevis métallique fera l’affaire a condition de ne pas « ripper » du potentiomètre de réglage .
comme pour la gamme ARDUINO, il n’y a pas un, mais plusieurs modèles de raspberry PI.
ces différents modèles, sont nés de l’évolution constante du produit au fil du temps en terme de capacité et de performances. du premier modèle sorti en 2012 au derniers modèles; le Raspberry PI 400 sorti fin 2020 et le PI pico sorti en janvier 2021 , vous avez l’embarras du choix pour repondre à vos projets . ceci dit , attention, certain modèles du début ne sont plus disponibles a la vente.
début 2021 , les 2 modèles les plus utilisés restent le PI3B+ et le PI 4B qui est lui même décliné en 4 sous-modèles suivant la mémoire embarquée ( 1Go-2Go -4Go-8go ).
plutôt qu’un long discours , pour plus d’infos sur la config, les capacités et les prix indicatifs de chaque type , voir le site ci dessous qui résume dans un excellent tableau de synthèse toutes les caractéristiques des modèles de la gamme .
un des énormes avantage de la gamme RPI est sa transportabilité liée a sa compacité. pour améliorer encore cela il existe des pack boitier que l’on peut associer a des écran HDMI de petite tailles et des claviers ultra compacts .
concernant les boitiers tout en un , voici l’un des plus remarquables que l’on trouve en achat en ligne pour environ 18 euros ( tarif janvier 2021) :
il est conçu pour recevoir un ecran 7″ raspberry officiel ( environ 75€ en janvier 2021) qui a une définition de 800×480 pixels et cerise sur le gateau est un ecran tactile prévu de base pour fonctionner en tactile sur le RPI.
voici les composants une fois déballé , l’écran se connecte sur un slot dédié sur le PCB du RPI.
une fois l’ensemble assemblé et l’OS DEBIAN installé sur la carte SD ( voir rubrique spécifique) puis l’ecran et le RPI mis sous tension, on obtient ceci :
pour alimenter tout cela sans passer par une prise secteur , il est possible d’utiliser une power bank 5V comme ci dessous:
et ainsi concerver l’aspect nomade de l’ensemble, l’alimentation via USB est commune pour ecran t RPI :
a cet ensemble on peut également associé de sympathiques mini claviers wifi/usb tels que les 2 ci dessous ( envrion 15 € en achat internet), qui sont les deux muni d’un track pad remplaçant avantageusement une souris:
voici le resultat avec la deuxieme version de clavier
la fenetre de telechargement s’ouvre , pour ceux pas familiarises avec les telechargement , voici la methode pour recuperer le fichier
coller l’imager dans un répertoire dédié aux installations Raspberry PI. et lancer l’installation de l’imager en cliquant sur le fichier que vous venez de télécharger .
l’imager est normalement installé sur le disque dur dans le répertoire « Programmes(x86) », a priori l’icône de lancement n’est pas créée automatiquement sur le bureau , il faut donc aller dans le répertoire d’installation pointer le fichier exe de lancement et créer un icone sur le bureau .
ETAPE 2
démarrer l’imager, une fenêtre telle que ci dessous s’ouvre cliquer dans la premiere fenetre » CHOISISSEZ L’OS »
dans l’ecran suivant choisissez le systeme d’exploitation ( pour la version avec bureau et logiciels conseillés , prendre l’option » Raspberry PI OS (other) »
Sélectionner la version ( ici full avec desktop et applications recommandées) :
Selectionner le stockage de destination
une fenetre s’ouvre et propose les unitées disponibles , ici une micro SD 62 Go
ne reste plus qu’a lancer l’ecriture sur la micro SD
l’imager lance l’ecriture de l’OS surla microSD
une fois terminé, il ne reste plus qu’a sortir la carte SD du PC et l’introduire dans le logement du raspberry PI et de mettre le RPI sous tension.
LINUX est un systeme d’exploitation au meme titre que WINDOW et IOS (apple). Il est similaire a UNIX est a été inventé en 1991 par Linus TORVALD.
A la différence de WINDOW et IOS , c’est un système OPEN SOURCE ( licence libre => gratuit et code source accessible).
BASH est le SHELL utilisé par LINUX . un SHELL est une interface de commande en ligne de type script qui permet d’exécuter des actions sur les fichiers d’ un ordinateur .
BASH = Bourne Again Shell
Exemple de SHELL : au début des PC sous windows , le SHELL était MS-DOS . ce shell est toujours disponible sous WINDOWS via le menu « Accessoires » commande prompt :
A l’opposé du Shell , on trouve une interface Graphique permettant de lancer des actions via des icônes ou des menus => exemple le Bureau de Window.
De la même façon sous Linux , on trouve une Interface Graphique ( un bureau) et une interface de commande en Ligne ( BASH) que l’on peut démarrer depuis le Bureau de LINUX.
Structure de Linux :
Contrairement à Window qui manipule des fichiers et des unités de stockage( C : D : E : ) , Linux est un peu déroutant au début car il ne manipule que des Fichiers qui sont tous structurés au sein de répertoires, sous Linux , une unité de stockage est donc considérée comme un fichier dans un répertoire :
Parmi ces répertoires, plusieurs sont importants, on peut en citer :
Quelques commandes de Base :
Les utilisateurs et les droits
Nano : editeur de texte basique
Nano est un editeur de texte brut tres simple ( pas un traitement de texte)
Pour le demarrer il suffit de tapper nano dans la console.
Un caractere # en debut de ligne permet d’ecrire une ligne de commentaires
On peut donner un nom au fichier dès l’ouverture : exemple : nano toto.txt
ci dessous, vous trouverez un résumé des commandes Shell les plus utiles pour l’utilisation d’un RPI en lignes de commandes..
Commandes d’informations systèmes
df / :Indique la quantité d’espace disque disponible.
df -h : Affiche des informations sur l’espace disque disponible.
free : Indique la quantité de mémoire libre disponible.
hostname -I : Affiche l’adresse IP de votre Raspberry Pi.
lsusb : Liste tous les périphériques USB connectés à votre Raspberry Pi.
vcgencmd measure_temp :Affiche la température de la CPU.
vcgencmd get_mem arm && vcgencmd get_mem gpu : Affiche la mémoire divisée entre le processeur et le GPU.
Commandes générales
Touche HAUT : la touche HAUT, répète la dernière commande entrée dans l’invite de commande. C’est un moyen de corriger les erreurs de commandes sans tout retaper .
apt-get update : Met à jour votre version de Raspbian.
apt-get upgrade : Met à niveau tous les logiciels que vous avez installés.
clear : Efface l’écran du terminal des commandes et du texte précédemment exécutés.
date : Affiche la date actuelle.
find / -name exemple.txt : Rrecherche dans le système entier le fichier exemple.txt et génère une liste de tous les répertoires qui contiennent le fichier.
nano example.txt : Ouvre le fichier example.txt dans “Nano”, l’éditeur de texte de linux.
raspi-config : Ouvre le menu des paramètres de configuration.
reboot : Pour rebooter immédiatement le Raspberry PI.
shutdown -h now : Pour éteindre immédiatement le Raspberry PI.
shutdown -h 01:22 : Pour éteindre le Raspberry PI à 1:22 AM.
startx : Ouvrir l’interface graphique GUI (Graphical User Interface).
Commandes sur les fichiers et répertoires
cat exemple.txt : Affiche le contenu du fichier exemple.txt.
cd /abc/xyz : Change de répertoire courant pour le répertoire /abc/xyz.
cp XXX : Copie le fichier ou le répertoire XXX et le colle à un emplacement spécifique. Par exemple: cp exemplefile.txt /home/pi/office/ copie exemplefile.txt du répertoire courant et le colle dans le répertoire /home/pi/ directory. Si le fichier n’est pas présent dans le répertoire courant, vous pouvez ajouter son chemin en préfixe (par exemple : cp /home/pi/documents/examplefile.txt /home/pi/office/ copie le fichier du répertoire documents dans le répertoire office).
ls -l : Liste tous les fichiers du répertoire en cours, ainsi que la taille du fichier, la date de modification et les autorisations.
mkdir exemple_directory : Créer dans le répertoire courant un nouveau répertoire exemple_directory.
mv XXX : Déplace un fichier ou un répertoire nomé XXX à un emplacement spécifique.Par exemple, mv exemplefile.txt /home/pi/office/ déplace exemplefile.txt dans le répertoire /home/pi/office. Si le fichier n’est pas présent dans le répertoire courant, vous pouvez ajouter son chemin en préfixe (par exemple :. cp /home/pi/documents/exemplefile.txt /home/pi/office/ déplace le fichier du répertoire documents dans le répertoire office). Cette commande peut aussi être utilisé pour renommer des fichier (mais seulement dans le même répertoire). par exemple, mv examplefile.txt newfile.txt renomme examplefile.txt en newfile.txt, et conserve le fichier dans le même répertoire.
rm example.txt : Effacer le fichier example.txt.
rmdir example_directory : Effacer le répertoire example_directory (seulement si il est vide).
scp user@10.0.0.32 :/some/path/file.txt : Copier un fichier à travers SSH. Peut être utilisé pour télécharger un fichier à partir d’un ordinateur de bureau / ordinateur portable sur le Raspberry Pi. user@10.0.0.32 est le nom d’ utilisateur et l’adresse IP locale du bureau / ordinateur portable et /some/path/file.txt est le chemin d’accès et le nom du fichier sur le bureau / ordinateur portable.
touch :Crée un nouveau fichier vide dans le répertoire courant.
Commandes Réseau et Internet
ifconfig :Pour vérifier l’état de la connexion réseau que vous utilisez (pour voir si wlan0 dispose d’ une adresse IP par exemple).
iwconfig : Pour vérifier quel réseau l’adaptateur sans fil utilise par exemple.
iwlist wlan0 scan : Affiche une liste des réseaux sans fil actuellement disponibles sur wlan0.
iwlist wlan0 scan | grep ESSID : Utilisez grep avec le nom d’un champ pour répertorier uniquement les champs dont vous avez besoin (par exemple, pour lister les ESSID uniquement).
nmap : Analyse votre réseau et répertorie les périphériques connectés, le numéro de port, le protocole, le système d’exploitation, l’état (ouvert ou fermé), les adresses MAC et d’autres informations.
ping : Teste la connectivité entre deux périphériques connectés sur un réseau. Par exemple, ping 10.0.0.32 envoie un paquet à l’appareil à IP 10.0.0.32 et attend une réponse. Il fonctionne également avec les adresses de sites Web.
wget http://www.website.com/example.txt : Télécharge le fichier example.txt depuis le Web et l’enregistre dans le répertoire courant.
EXECUTER un programme Python depuis le shell
il faut se positionner dans le répertoire ou est le fichier python a exécuter puis lancer une commande comme celle ci dessous:
python3 nomfichier.py
ou en superutilisateur avec la commande
sudo python3 nomfichier.py
Rasbian installé sur carte SD montre vite ses limites . voyons ici comment booter le RPI 4 sur DD SSD USB3 .
il est possible de brancher un Disque Dur SSD sur port USB3 du RPI 4B via un cordon, mais pour garder la compacité et l’homogénéité de l’ensemble , je recommande l’investissement dans une carte SSD Board telle que celle ci dessous ( Geekworm Raspberry Pi 4 SATA X825 V2.0 , 38€ sur Amazone en mai 2021)
le disque dur ce fixe en partie inférieur de la carte et une petite platine USB assure la liaison USB3 entre platine et RPI4.
ci dessous photo d’une configuration RPI 4B+ 4Go sur SSD BOARD avec SSD 120 Go , USB HAT avec port USB3, ecran HDMI 7″ Tactile 1024×600
voyons maintenant les étapes d’installations du systeme .
NOTA: on suppose que RASBIAN est déjà installé sur carte SD introduite dans le RPI => : lien
ETAPE 1: Mise à jour de votre Raspberry Pi 4
faire une mise a jour complete de votre systeme , en envoyant successivement les commandes SHELL ci dessous ( procedure d’environ 20 minutes) . ne pas oublier d’activer la connexion internet pour toutes les opérations de mise a jour (Etape 1 et 2)
une fois les mises a jours faites , il faut redémarrer le RPI 4 pour appliquer toutes les MAJ.
ETAPE 2: Installation du dernier Bootloader
pour cela taper la commande shell suivante:
sudo rpi-eeprom-update -d -a
si votre RPI4B est recent , il ne se passera peut etre pas grand chose et vous aurez un message du genre « BOOTLOADER : up to date »
dans le cas contraire le shell fera la mise a jour
ETAPE 3: Configuration du Boot USB
taper la commande shell suivante:
sudo raspi-config
vous arrivez dans le menu de configuration, On se rend dans la ligne 6 “Advanced Options” , on fait « entrée »
puis on selectionne la ligne A7 “Bootloader Version“:
et la on valide l’option E1 » select latest or default boot ROM software ».
attention, dans l’ecran suivant , le pointeur se place automatiquement sur “Yes” , il faut choisir “No”, sinon les paramètres seront remis a défaut .
Une fois enregistré, l’écran vous confirme la réinitialisation des paramètres.
dans l’écran “Advanced Options“, on sélectionne maintenant “A6 Boot Order“:
Puis“B2 USB Boot“, pour donner la priorité a l’Usb, par rapport a la micro SD.
L’écran suivant confirme que l’Usb est devenu le boot par défaut.
l’écran suivant, propose de redémarrer le RPI .
ce n’est pas nécessaire , nous allons choisir “No” puis ressortir du menu de config et arreter le RPI en tapant la commande shell:
sudo halt
ETAPE 4: installation de Rasbian sur le SSD
la procédure est la même que pour l’installation sur carte micro SD=> : lien
ici , avec l’imager on va juste préciser que l’os est a installer sur le SSD:
pour l’installation, il faudra connecter le disque Dur SSD au PC Windows via un cordon dédié type SATA vers USB.
une fois l’installation de Debian sur le SSD faite, il ne reste plus qu’a monter le SSD sur la carte SSD board , tout raccorder (alimentation, ecran,etc..) et rebooter le RPI en prenant soin d’enlever la carte micro SD devenue inutile ( on peut la garder en securité si pbme avec le SSD).
VNC alias Virtual Network Computing est un moyen simple de prendre le contrôle a distance sur un raspberry Pi . c’est un système de partage via internet qui permet de prendre le contrôle d’un Raspberry en émulant le comportement écran/clavier via le PC distant connecté au net. bien entendu , pour fonctionner , cela nécessite un Raspberry PI connecté a son propre écran et connecté a internet .
voyons comment installer/activer tout ça:
ETAPE 1 : activer VNC sur le RPI
aller dans le menu Préférences/Configuration :
puis dans la fenêtre « configuration » choisir l’onglet « Interface » et activer l’option VNC
une fois la manip faite et la fenêtre refermée , redémarrer le RPI , une fois le bureau affiché , si votre barre de menu est en haut , vous devez voir a droite l’icône de VNC affichée :
ETAPE2 : installer VNV viewer sur le PC distant
pour pouvoir émuler la connexion sur le terminal distant , il va falloir installer une application compatible. la plus connue est VNC Viewer. on peu la télécharger ici:
une fois le compte créé , ne reste plus qu’a lancer VNC Viewer , tapper l’adresse IP du RPI dans la barre du haut puis saisir identifiant et mot de passe : attention , ici il s’agis de l’identifiant et du mot de passe d’ouverture du compte du Raspberry PI , en general quelque chose du genre « pi » + mot de passe…
une fois la connexion distante etablie , l’ecran de votre PI s’affiche comme si vous etiez devant le RPI. toutes les manipulation sur le PC ( frappe clavier/ souris) sont prise en compte comme si vous étiez devant votre clavier et votre raspberry PI. dans la vue ci dessous, l’écran de ligne de commande BASH ainsi que Thonny Python sont actif et l’un comme l’autre sont utilisable a distance . de la meme façon tout programme installé sur le RPI peut etre lancé a distance via la barre de commande du haut ou par click souris sur une icone du bureau ou via des commandes sous bash …