M
M1M1HRC10
Apprenti
Bonjour a tous.
Je fais ce post car je pense que ça peux aider certains débutants comme moi, ou même non débutants.
Voici mon matériel:
1 PC Windos xp
1 petite CNC 3040 chinoise avec branchement en port parallèle.
Je commande ma machine avec mach3.
Je conçois les pièces sur fusion360 (sur un pc portable).
J'ai pas mal modifié ma petite chinoise pour usiner de l'aluminium et j'espérais avoir un état de surface potable. Mais malgré mes améliorations le résultat n'était pas terrible.
Le logiciel Mach3 pouvant gérer la commande d'une lubrification l'idée m'est venu de rajouter une lub a la machine. On en vient au problème que j'ai rencontré:
La breadbord du boitier de contrôle n'a que trois connexion pour les fins de course et une pour le z probe. Impossible de commander la lub à partir d'une commande de programme.
J'ai donc réfléchi et jai trouvé cette solution :
Alors, l'idée c'est d'utiliser la broche de la fraiseuse comme déclencheur. A chaque fois que la broche s'allume ou s'éteint la lub fait de même.
J'ai récupéré le 220v de la broche dans le boitier de contrôle et je l'ai relié à un optocoupleur 220v/5v ( ce qui me permet d'isoler mon système de commande)
J'ai ensuite relié mon optocoupleur à une arduino uno3 ( en réalité c'est une ELEGOO R3 alimentée par l'USB du pc) en me branchant sur une entrée analogique. Je suis ressorti de la carte par le pin13 pour aller commander un relais de puissance 5v/220v qui commande une petite pompe immergée.
En ce qui concerne le programme qui est dans la carte, J'ai récupéré un programme existant dans la bibliothèque arduino et je l'ai modifié un peu.
Le voici:
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// put your setup code here, to run once:
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
{
if (analogRead(A0) == LOW);
digitalWrite(13, HIGH);
if (analogRead(A0)== HIGH);
digitalWrite(13, LOW);
}
}
Le système est fonctionnel et peux surement être décliné sur beaucoup d'autres machines.
Mon schéma n'est surement pas parfait et mon code non plus, mais j'espère que ça pourra aider
Je fais ce post car je pense que ça peux aider certains débutants comme moi, ou même non débutants.
Voici mon matériel:
1 PC Windos xp
1 petite CNC 3040 chinoise avec branchement en port parallèle.
Je commande ma machine avec mach3.
Je conçois les pièces sur fusion360 (sur un pc portable).
J'ai pas mal modifié ma petite chinoise pour usiner de l'aluminium et j'espérais avoir un état de surface potable. Mais malgré mes améliorations le résultat n'était pas terrible.
Le logiciel Mach3 pouvant gérer la commande d'une lubrification l'idée m'est venu de rajouter une lub a la machine. On en vient au problème que j'ai rencontré:
La breadbord du boitier de contrôle n'a que trois connexion pour les fins de course et une pour le z probe. Impossible de commander la lub à partir d'une commande de programme.
J'ai donc réfléchi et jai trouvé cette solution :
Alors, l'idée c'est d'utiliser la broche de la fraiseuse comme déclencheur. A chaque fois que la broche s'allume ou s'éteint la lub fait de même.
J'ai récupéré le 220v de la broche dans le boitier de contrôle et je l'ai relié à un optocoupleur 220v/5v ( ce qui me permet d'isoler mon système de commande)
J'ai ensuite relié mon optocoupleur à une arduino uno3 ( en réalité c'est une ELEGOO R3 alimentée par l'USB du pc) en me branchant sur une entrée analogique. Je suis ressorti de la carte par le pin13 pour aller commander un relais de puissance 5v/220v qui commande une petite pompe immergée.
En ce qui concerne le programme qui est dans la carte, J'ai récupéré un programme existant dans la bibliothèque arduino et je l'ai modifié un peu.
Le voici:
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// put your setup code here, to run once:
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
{
if (analogRead(A0) == LOW);
digitalWrite(13, HIGH);
if (analogRead(A0)== HIGH);
digitalWrite(13, LOW);
}
}
Le système est fonctionnel et peux surement être décliné sur beaucoup d'autres machines.
Mon schéma n'est surement pas parfait et mon code non plus, mais j'espère que ça pourra aider