Nouvelle page pour la partie électronique, ce sera plus simple.
Je rappel que ceux qui souhaitent avoir les divers programmes soit Gcode pour la mécanique ou programme arduino peuvent me les demander en me laissant un message.
Petit Rappel très important:
N'oubliez pas que le laser est dangereux, ce n'est pas un jouet comme ceux qu'on trouve dans la guerre des étoiles lol.
C'est même marqué dessus alors n'oubliez pas vos lunettes (celles de protection, pas celles de vue) adaptées a la longueur d'onde de votre laser
Bon ça va!!! je suis pas rasé et tout et tout mais ....... je porte les lunettes de protection!!!!!
Le driver et son paramétrage
Comme je vous l'avait dit, j'ai récupéré une carte chinoise qui beugait, elle sautais des pas en Z. Comme je n'utilise pas l' axe Z en automatique cela ne me dérange pas.
Pour les raccordement, il suffit de se fier a la doc fournie par le vendeur.
Le paramétrage des entrées sortie a déjà été traité, je vais donc vous parler des paramètres de vitesse.
Pour commencer, il faut déjà prendre en compte le nombre de pas moteur, en général 200 pas. Le rapport d'avance de la vis par tour exemple, une vis standard de 8 avance de 1.25 mm par tour.
Pour certains drivers notamment celui que j'utilise il suffit de multiplier le nombre de pas par l'avance de la vis.
Soit dans mon cas pour une vis hélicoïdale de 8 ayant une évolution de 1.5mm par tour le calcul est:
200 / 1.5 = 133.3333
Le calcul finale est: 200 pas / 1.5 mm/tour x 2 = 266.6666 pas, on vas donc renseigner la case pas par mm et y mettre le résultat de calcul
sur cette photo, on a 320 qui correspond a une tige de 8 standard cette case est a renseigner pour chaque axe et a sauvegarder a chaque fois en cliquant sur " Enregistrer l'axe en cours"
Cette fenêtre étant ouverte, on peut paramétrer la vitesse de manière très simple.
Il suffit de faire monter le curseur a coté du graphique et d'appuyer sur lest flèches hautes et basses du clavier. Le moteur va tourner dans un sens puis dans l'autre faite cette manip jusqu’à ce que le moteur ne tourne plus correctement, cela veut dire que le vitesse demandée est trop rapide pour le moteur. Ne plus toucher au curseur, allez dans la case vitesse et réduisez de 100 la valeur affichée. Quand j'ai testé mes moteur, il grognaient a 900 mm/mn j'ai donc mis 800.
Voila pour les cartes chinoises qu'on trouve sur Ebay.
Les autres cartes type M542 qui je précise sont milles fois plus fiable, j'ai remplacé la carte citée ci dessus par des M542, c'est le jour et la nuit.
La voici en image
dans ce cas, c'est un driver par moteur et une carte de commande
si je peux donner mon avis, c'est cette option qu'il faudrait prendre même si c'est plus cher.
Pour paramétrer cette carte, la formule est différente, on divise la valeur des micros pas programmé sur le driver (micro switch) par le rapport de la vis
Exemple:
Les switch sont sur 16 micro pas soit 3200 pas /révolution de la vis.
La formule est donc
3200/ 1.25 (pour une vis de 8 standard) = 2560 C'est cette valeur qu'il faut mettre dans la case pas ""par mm"" au lieu des 320 vus sur la photo ci dessus.
Je vous présente ma dernière réalisation en cours. Rien a voir avec Arduino malgré que je souhaitait piloter l'ensemble avec une UNO. Après avoir fabriqué une fraiseuse CNC, j'ai voulu y adapter un Laser pour réaliser de la découpe plus fine en complément de la broche. A force de chercher, j'ai décider de fabriquer une machine complète. L'ensemble est réalisé en plexi de 10mm
Avant toute chose, le laser est très dangereux pour les yeux, même un
rayon indirect peu faire de gros dégats, il est obligatoire de se
protéger avec des lunettes spécifique. Il faut bien choisir ses lunette
car elles ne sont pas universelles, il y a plusieurs sortes adaptées a
chaque longueur d'onde du laser. Un laser est également dangereux pour la peau, il peut créer des brûlures profondes, en faisant mes tests, je me suis brulé simplement en passant rapidement la main par inadvertance devant le rayon.
2watts c'est peu mais en Laser, ça commence a causer!!!!
Ceux qui souhaitent les Gcodes ou le programme Arduino peuvent me laisser un message et je leur enverrai le tout.
Dimension de gravure format A4
En images
Le protique déjà monté découpé a la fraiseuse CNC
Tout a été réalisé a la fraiseuse y compris les paliers
Ci dessus la plaque servant a supporter les rails et le Laser
Face avant et arrière avec un palier en place
Les coté en cours d'usinage
La partie support est assemblée, il reste la gestion des axes et le laser a installer.
Pour le fraisage des divers éléments, j'ai utilisé:
N'ayant besoin que d'une faible puissance, je suis parti sur
la base de deux moteurs pas a pas NEMA 17 (l'axe Y sera quand même assez lourd si motorisation).
Ici nous n'avons besoin de motoriser que deux axes X et Y, le Z
se fera en manuel bien que cela ne s'avère pas nécessaire si on utilise un
driver laser analogique. J'aborderai ce sujet plus tard dans la mise en œuvre
du laser.
Le driver
Le driver avait été acheté pour ma fraiseuse a
broche, cette carte a des soucis de fabrication, elle a tendance a perdre des
pas en Z. Etant donné que nous n'avons pas besoin de l'axe Z ça tombe très
bien !!!
J'alimente celle-ci en 24V malgré que la doc technique du driver donne
12V pour les NEMA 17, ça ne pose aucun soucis puisque les moteurs pas a pas
sont commandés en courant. Cette tension plus élevée permet de ne pas perdre de
couple a haute vitesse.
Pour ceux qui se posent la question, il n'existe pas de drivers en USB, il est nécessaire de posséder un ancien PC avec un port parallèle. J'ai essayé de faire fonctionner le driver avec un portable, ça ne fonctionne pas car l'alimentation n'est pas assez puissante.
Configuration des moteurs
J'utilise mach3 pour la gestion de ma fraiseuse donc je vais faire pareil pour le laser. Vous pouvez le télecharger en version gratuite limitée a 500 lignes.
Onglet sortie moteur, configurez les sorties suivant les données de votre driver
Onglets sorties
Configurez les sortie de validation toujours suivant votre driver.
Allez dans l'onglet configuration des moteurs
Cette fenêtre s'ouvre
Là il suffit de donner les valeurs suivantes :
-Nombre de pas par tour
-Vitesse d'avance max
-Accélération
Attention, il faut valider chaque axe indépendamment.
Configuration de mach 3 pour la gravure laser.
Ouvrez mach3
Allez dans l'onglet configuration puis configuration générale
Dans cette page, il faut cocher axe Z sortie 6 pour la valider
Cliquer OK
Puis onglet général, configuration des E/S
Onglet gestion de la broche, cocher la fonction laser
Ne pas fermer la fenêtre !!!!!!!!
Maintenant il faut paramétrer la sortie de commande pour le laser, pour ma part ayant une commande TTL, j'ai validé la sortie relai qui est la broche 9
Dans la même fenêtre onglet configuration des sorties, validez la sortie 6 et affectez lui la broche voulue, ici la 9.
Cliquez sur OK et voila, la commande laser est validée. Elle fonctionne de la manière suivante, dès que Z descend sous zéro le laser s'allume dès qu'elle passe au dessus de zéro il s'éteint.
Le principe de câblage
Concernant la carte driver, rien de compliqué, il suffit de câbler selon la doc du fabriquant.
Le principe est simple, J'ai mis les 3 limites X,Y et Z, sur la 4éme entrée j'y ai mis l'arrêt d'urgence manuel et celui géré par le module Arduino. Ceci n'est pas figé, c'est une esquisse qui donne une idée du câblage. Le schéma est assez complet, les MZ (moteurs Z ne sont pas utilisés dans mon cas).
Que fait Arduino??
Il gère la température du module Peltier
Il gère la température de Laser
Il gère le courant du Laser par le biais soit d'une sortie ANA qui attaquera le driver, soit une sortie directe en PWM a voir car encore en cours d'étude. Passer par Arduino pour le courant de la diode a l'avantage de donner des limites et éventuellement de pouvoir donner des consignes de puissance suivant les matériaux a usiner. Certains diront que la diode peut être pilotée en linéaire par le driver Oui!! mais celui-ci ne surveille pas les limites et comme les drivers sont presque universels soit pour des courants allant de 0A a quelques ampères, on a vite fait de griller la diode avec une fausse manipulation
Il affiche les températures
Il affiche le courant du Laser
Je vais peut être gérer les limites et les afficher afin de savoir laquelle a beugué car avec mach3 on ne sait pas quelle limite a décroché. Il ne fait pas de distinction, pour lui c'est un AU.
Le matériel utilisé pour la partie contrôle avec Arduino.
1 carte SEEDUINO MEGA (j'ai opté pour celle-ci parce que c'est une MEGA qui a la taille d'une UNO!!!)
1 afficheur 128x64 (j'ai pris un module avec rétro éclairage RVB
2 Sondes DS18B20
potentiomètre 10K ohms
3 Relais 5V a définir une fois terminé
La câblage en vrac pour les essais
L' affichage de la consigne de courant dans la diode, du courant consommé , de la température du Laser et de la température du module peltier (coté dissipateur).
Concernant la consigne, une valeur maximum est a configurer a la programmation cette valeur sera donnée en fonction de la diode.
J'ai généré une alarme température
En mode alarme, l'afficheur clignote en rouge et dans le cas d'une alarme température comme ici (consigne a 30°) un thermomètre s'affiche. A la disparition de l'alarme l'écran redeviens normal mais le thermomètre reste affiché jusqu’à ce que le défaut soit acquitté manuellement. Pour un défaut de courant ce sera un ampèremètre et pour un défaut de translation ???? a voir .
J'oubliais, une alarme génère un arrêt d'urgence afin de pouvoir redémarrer la gravure là ou le programme c'est arrêté.
Encore un peu de mécanique
Avant de passer au laser, il me restait un peu de mécanique a faire, voici quelques images
Réalisation des ecrous d'entraînement avec des prolongateurs de tige filetée et des petit fer plat perforés
Détails sur le refroidissement du laser, entre celui-ci et le dissipateur, on retrouve le module peltier.
Il manque encore un ventilateur au dessus du dissipateur, il est commandé et je ne l'ai pas encore eu, il sera assez puissant pour refroidir le peltier et souffler sur les fumées afin de ne pas abîmer la lentille du Laser.
La fixation est provisoire juste pour faire des essais
Essai en vidéo
Une deuxième vidéo, il me reste un petit réglage a faire dans mach3 car on voit un point a l'endroit ou le laser démarre et s'arrête. Il faut que celui-ci s'allume et s'arrête tout de suite alors qu'il reste allumé une seconde au même endroit.
A suivre ....... !!!
Une petite suite.
Après ces fêtes de Noël, je m'y suis remis, avant tout j'ai trouvé la solution au problème cité ci dessus c'est une mauvaise programmation dans le Gcode, je n'ai pas donné les bonnes infos concernant l'axe Z.
J'ai acheté un vieux PC sur EB pour 28€, que j'ai démonté pour récupérer la carte mère, l'alim et le disque dur.
J'ai réalisé une boite aux dimensions adaptée a la partie mécanique.
J'ai réussi a tout mettre dans un coffret de 480 x 290 x 90, on y trouve même le driver et l'arduino.
N'ayant pas assez de place en hauteur pour refroidir le processeur, j'ai fabriqué un caisson avec une turbine de manière a refouler l'air chaud sur le coté.
L' arrière
Toute les plaque ont encore une fois été découpées avec ma fraiseuse a broche.
Vue d'ensemble
Allumé
J'éspère que vous avez remarqué les lunettes de protections (lunettes vertes), je rappel que c'est super important et obligatoire!!!!
Détails de la face avant
La partie mécanique terminée, je vais pouvoir parler de la technique dans une autre page.
Petite nouveauté!!!
Suite a une demande, j'ai fabriqué la partie mécanique de cette machine en kit. Si cela vous intéresse, n'hésitez pas a me contacter.
Il y a quelques temps un ami me parles de problèmes d'humidité dans son sous sol.
En cherchant la cause, je me suis aperçu que l’étanchéité de la maison avait été mal réalisée et aujourd'hui il n'est plus possible de remédier au problème. L'entreprenneur n'est pas mis en cause dans le cadre de la garantie décennale car sois disant un taux d'humidité élevé est toléré. En attendant tout moisi chez lui!!!!!
J'ai donc cherché une solution pour remédier au problème car il avait déja tenté la ventilation naturelle et ça ne fonctionne pas trop bien.
J'ai donc opté pour une ventilation mécanique pilotée avec un Arduino et un DHT 22 (AM2302).
Ces sont des capteurs très bons marchés et assez lents, mais cela suffit pour cette application.
Le DHT 22
Ces capteurs sont composés de deux parties, un capteur d'humidité
capacitif et une thermistance, on trouve également le circuit de gestion qui converti les valeurs analogiques en
digital dans le boitier.
Nous avons donc un signal de sortie numérique qui permet de déporter la sonde du circuit (dans mon cas il s'agit de 20m)
La librairie du DHT22
Encore une fois je suis agréablement surpris par la facilité de
mise en œuvre de la librairie a télécharger ici télécharger la librairie Arduino disponible sur le GitHuh d'AdaFruit .
Tout a part la commande des relais et l'affichage se trouve dans l'exemple de cette librairie
L'afficheur
J'ai pris un afficheur 1,8" de chez Adafruit (je l'avais en stock).
Vous trouverez tout les renseignements ici http://www.adafruit.com/products/358
Le Fonctionnement
Le principe est simple, dans le sketch je donne une consigne d'humidité maximum, la mesure dépasse celle-ci de 1%, j'enclenche un relai qui lui pilote un extracteur.
J'ai profité de la sonde de température pour gérer un petit convecteur électrique qui est bien utile en hiver. Le schéma
Pas encore terminé désolé (perso, pas besoin de schéma pour faire un montage!!)
Le schéma avec une carte UNO
La commande des deux relais se fait par l’intermédiaire d'un ULN 2003 (je sais ce que vous allez me dire "il y aurait pu utiliser des transistors!!!" oui!! mais c'est plus simple comme ça lol)
Si vous achetez le DHT22 nu , il faudra mettre une résistance de 10 KOmhs entre la broche
de donnée (Data Out) et l'alimentation . Cette résistance agit
comme une résistance Pull-up et ramène la broche Data Out à VCC (il existe une version avec un petit bout de circuit sur lequel tout s'y trouve donc pa besoin de cette résistance).
Le programme
// Hygromètre et thermostat
// By jojo Bricolo
// Librairie adafruit téléchargeable ici https://github.com/adafruit/DHT-sensor-library
// Datasheet DHT 22 http://www.adafruit.com/datasheets/DHT22.pdf
if (digitalRead(shumi)==HIGH)
{
Serial.println ("Ventilateur en marche");
}
else
{
Serial.println ("Ventilateur arret");
}
Serial.println(" ");
if (digitalRead(stem)==HIGH)
{
Serial.println ("Chauffage en marche");
}
else
{
Serial.println ("Chauffage arret");
Serial.println(" ");
}
Serial.println(" ");
Serial.println(" ");
//xxxxxx Commande des relaisxxxxx
// humidité
if (h >= (humi_cons + 2.00))// Si la mesure h est >ou+ a la consigne +2.00 allumage extracteur
{
digitalWrite (shumi,HIGH); // Si la mesure h est < a la consigne +1.00 arret extracteur
}
else
if (h < (humi_cons + 1))
{
digitalWrite (shumi,LOW);
}
//xxxxxx Temperaturexxxx
if (t >= (temp_cons + 2)) // Si la mesure t est >ou = a la consigne +2.00 allumage chauffage
{
digitalWrite (stem,LOW);
}
else
if (t < (temp_cons - 1)) // Si la mesure t est < a la consigne -1.00 arret chauffage
{
digitalWrite (stem,HIGH);
}
delay (intTimePause);
}
Comme je l'avais déjà dit, j'ai utilisé l’exemple se trouvant dans la librairie adafruit et rajouté les codes pour la gestion des relais et l'affichage.
Le paramétrage des consignes se fait de la manière suivante:
L'humidité
La température
J' ai également prévu l'affichage des valeurs et l'état des relais sur le port série.
Sur le typon que je mettrai plus tard, le port série a été câblé de manière a pouvoir raccorder un module de communication tel que bluetooth, RFID, etc...
Quelques images
Si cela vous intéresse, je suis en mesure de vous faire un kit ou même vous réaliser ce montage !!! N'hésitez pas a me contacter.