Bonjour,
j'ai projet de fabriquer ma sableuse j'ai donc :
J’ai le socle rouleau avec le nema 17
J’ai acheter le driver A 4988
Je possede un capteur de distance qui me servira a l'activer .
APres câblage et mise du code le moteur fait du bruit mais ce déplace pas .
Est ce que le câblabage et bon ?
Est ce que le code fabriquer avec ( le chat) et correcte?
JE n'ais jamais experimenter ce moteur .
'J´ai mis un fusible 25v 100 uf entre les borne ms de l'alim 12v 1,2a que j'avais pour le nema .
ESt ce que le condo de bonne ref ..
Si quelqu'un a un code simple pour deja tester le moteur car je ne sais pas quel valeur lui mettre je me fie au chat jlui demande de verrifier que ya pas d'erreur quand meme.
Je ne c'est pas trop quoi faire je suis bloquer
Voici des photos du montage et j'essaie de mettre le code aussi .
// Broches du module A4988
const int DIR_PIN = 8; // Broche DIR
const int STEP_PIN = 9; // Broche STEP
void setup() {
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
}
void loop() {
digitalWrite(DIR_PIN, HIGH); // Sens horaire
// Faire tourner le moteur pas à pas
for (int i = 0; i < 200; i++) { // Faire un tour (200 pas pour le NEMA 17)
digitalWrite(STEP_PIN, HIGH);
delay(5); // Réglage de la vitesse du moteur (ajustez si nécessaire)
digitalWrite(STEP_PIN, LOW);
delay(5); // Réglage de la vitesse du moteur (ajustez si nécessaire)
}
delay(1000); // Pause d'une seconde avant de changer de sens
digitalWrite(DIR_PIN, LOW); // Sens anti-horaire
// Faire tourner le moteur pas à pas dans l'autre sens
for (int i = 0; i < 200; i++) {
digitalWrite(STEP_PIN, HIGH);
delay(5); // Réglage de la vitesse du moteur (ajustez si nécessaire)
digitalWrite(STEP_PIN, LOW);
delay(5); // Réglage de la vitesse du moteur (ajustez si nécessaire)
}
delay(1000); // Pause d'une seconde avant de recommencer
}
Merci 👐
Il suffit de modifier cette ligne: AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
en
AccelStepper stepper(1, pinStep, pinDir;
Je pense avoir pas mal avancer,
J’ai pas tout compris encore
Mais j’ai réussi a faire ce dont je voulais
Le moteur grogne au debut je c’est pas si c’est a cause du condo que j’ai mis en 25v100uh
Qui fait pas le job ptet que je mette un condo 12v100uh ?
je n’arrive pas a poster de video pour montre .
Alors voici une photo
Le but etant de soit sabler des pieces d’impression avec le bocal sableux .
Soit,
de pouvoir utiliser mes bobine de 3 et 10 kilos sur l’imprimante 3d qui sans sa n’arriverais pas a tirer min fil .
Resultat pour 30€ je peut mettre de grosse bobine d’impression au top .
Sauf erreur de ma part, je ne vois pas du tout comment il est câblé!
Si un moteur ne tourne pas:
l'inversion des deux fils centraux du moteur permet souvent de résoudre le problème. C'est l'erreur la plus classique.
essayer avec une vitesse plus basse, par exemple 1 tour par minute. C'est l'erreur N°2.
essayer le moteur à vide
// Broches du module A4988
const int DIR_PIN = 8; // Broche DIR
const int STEP_PIN = 9; // Broche STEP
void setup() {
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
}
void loop() {
// Faire tourner le moteur pas à pas
digitalWrite(STEP_PIN, HIGH);
delay(500); // Réglage de la vitesse du moteur (ajustez si nécessaire)
digitalWrite(STEP_PIN, LOW);
delay(500); // Réglage de la vitesse du moteur (ajustez si nécessaire)
}
Pour les tests 1 pas par seconde est une bonne valeur.
En passant en 8 ou 16 micros pas, le moteur fera moins de bruit, tournera mieux, mais il faut dans ce cas envoyer 8 ou 16 fois plus d'impulsions, c'est à dire diminuer les temporisations par 8 ou 16 en mettant environ 50 à la place de 500.
Note: plus tu donnes de renseignements qui te paraissent inutiles, plus la réponse peut être adaptée. Dire "c'est un nema17" est comme dire "un véhicule à 4 roues". On ne sait pas du tout le type de moteur qui est utilisé.
je vous remercie grandement pour vos réponse j'imprime actuellement le chassis pour finir l'assemblage et je verrai en pratique les réglage a optimisé car je ne sais pas trop comment sa ce passe.
je débute en impression et arduino , je passe bcp de temps a chercher des infos et apprendre des choses .
je reviens des que tout est imprimer mais y en as pour 48 H
Hello ,
J’ai imprimé mon socle et la partie chassis
Mais le code me rend fou depuis 2 jours,
J’ai tester certaine librerie certaine fonctionne d’autres non .
Je modifie le code et sa fonctionne pas , les tutos sont bcp trop complex a mon gout .
Les explications sont compliquer et l’anglais m’aide pas meme si je me debrouille un peut quand meme .
Voici comment j’ai cablé .j’ai juste inversé le rouge et bleu sur le driver car d’apres mes bobines je pense que c’est comme sa sinon j’ai rien compris au bobine aussi .(c’est possible j’ai mal branché encore).
Je voudrais que mon capteur de distance ultrason me déclenche le moteur a moins de 15cm . Je voudrais pouvoir ajuster les paramettre de la vitesse de rotation .
En gros si la distance est inferieur a 15 cm le moteur s’engage ( si possible progressivement)
Sinon rien .
J’arrive pas a coder j’ai essayer ce que je connais mais sa marche pas comme je veux .
J’ai l’impression que ce arduino est plus fait pour les electricien et électronicien, sa fait un ans que je bidouille la dessu et c’est des galere pas possible pour coder un petit truc .
C’est pas fait pour les debutants on comprend la moitier des choses et c’est tres compliqué quand on connais rien en elec et electro.
J’espere qu’il vont faire un nouveau arduino facile a commander et en français.
Sa me rend fou cette carte arduino a reglé
Et c’est pas ecrit dans la notice que quand on branche mal defois sa brule
Bonsoir lefourbi
Dans ton montage tu as un fil brun entre la pin 7 de l'Arduino et le signal ENABLE du A4988, or tu ne gères pas ce signal, le mieux est d'enlever ce fil.
Je l’ai retiré oui j’ai vu effectivement que tt le monde ne l’utilise pas ni les ms1/2/3 .
J’attend de voir si quelqu’un(e)
A un schémas et un code valable car trop d’info et d’intox sur internet je c’est pas quoi faire ya trop d’infos divergente
Tu demande de l'aide, mais on ne sait pas du tout quel moteur tu as (j'ai un nema17 c'est comme dire j'ai une voiture à 4 roues), on ne sait pas vraiment quel est le câblage fait et on n'a aucune idée du programme de test. En gros il nous reste la boulle de cristal pour t'aider.
Avant de faire fonctionner tout ensemble, il est souvent opportun de faire fonctionner un seul élément à la fois. Si le moteur ne tourne pas correctement par exemple, il ne tournera pas mieux si tout est branché.
bonjour,
je m'excuse étant débutant? je ne pense effectivement pas a donner les bonne infos et surtout je pensais que c'était son nom qui le caractérisé.
d'autres part je vais un peut dans tout les sens car je n'ai que très peut de repère dans arduino je me perd assez vite.
j'essaie donc de pas aller plus vite que la musique et de contenir mes frustration .
le moteur est un NEMA 17 42x34 (pas plus d'info )
j'ai acheter ce kit:
j'ai ajouté un potentiomètre comme sur certain schemas pour géré la vitesse de rotation moteur (en plus d'un réglage des" pas" que je peut moduler dans le code)
j'ai repris le code pas a pas a l'aide du livre biblique (arduino guide complet) et chat gpt , afin de reprendre chaque étape de codage,
cela ne fonctionne pas, j'ai tester le moteur seul ok sa fonctionne , le capteur aussi j'ai meme les valeur qui s'afiche sur le (moniteur serie)
pouvez vous me dire etapes par etapes quoi faire avec des mots simple pour que je puisse etre aider .
// 1 Bibliotheque de controle utilisé (ultra son et driver A4988)
#include <NewPing.h>
#include <AccelStepper.h>
// 2 Déclaration des broches conecter a l'arduino
#define POTENTIOMETER_PIN A0 // Broche du potentiomètre
#define DIR_PIN 8 // Broche direction du moteur pas à pas
#define STEP_PIN 9 // Broche du nombres de pas du moteur pas à pas
#define TRIGGER_PIN 10 // Broche qui envoie l'onde capteur ultrasonique
#define ECHO_PIN 11 // Broche de réception de l'onde du capteur ultrasonique
#define ENABLE_PIN 6 // Broche d'activation/désactivation de la carte driver 4988
// 3 Initialisation du capteur et actioneur (moteur et capteur ultrason)
AccelStepper stepperMotor(AccelStepper::DRIVER, STEP_PIN, DIR_PIN); // Initialise le moteur
NewPing sonar(TRIGGER_PIN, ECHO_PIN); // Initialise le capteur ultrason
// 4 Déclaration des variables (integration vitesse et distance minimale)
int motorSpeed = 0; // Variable pour la vitesse du moteur
int minDistance = 10; // Distance minimale pour déclencher le moteur (en cm)
// 5 Fonction de contrôle du moteur :
void controlMotor() {
int distance = sonar.ping_cm(); // analyse de la longueur de l'onde
int potValue = analogRead(POTENTIOMETER_PIN);// Lecture de la valeur du potentiomètre pour ajuster manuellement la vitesse
motorSpeed = map(potValue, 0, 1023, 0, 200); // remplacer (2OO) pour augmenter les nompre de pas (200 = tour complet)
// Activation/Désactivation du moteur en fonction de la distance
// si la distance est inf a distance mini=10 et vitesse moteur sup a zero
if (distance < minDistance && motorSpeed > 0) {
stepperMotor.enableOutputs(); //activation cable enable
stepperMotor.setSpeed(motorSpeed); //vitesse en fonction de motor speed
stepperMotor.runSpeed(); // Fait tourner le moteur à la vitesse définie "200 pas" et intensité du potar
Serial.println(distance); // ecrit la distance en cm du ultrason sur l'ecran de controle ide
} else { // sinon
stepperMotor.disableOutputs();// pas du moteur eteint en sortie
}
}
// 6 le setup le code qui ce lit qu'une fois
void setup() {
Serial.begin(9600); // il escrit des choses dans l'ecran de controle ide(je c'est pas trop ce quil ecrit pour le moment)
stepperMotor.disableOutputs(); // Désactive le moteur au demarrage
}
// 7 loop le programme qui tourne en rond (comme le chat)
void loop() {
controlMotor(); // Appelle la fonction de contrôle du moteur
/*
void controlMotor() {
int distance = sonar.ping_cm(); // analyse de la longueur de l'onde
int potValue = analogRead(POTENTIOMETER_PIN);// Lecture de la valeur du potentiomètre pour ajuster manuellement la vitesse
motorSpeed = map(potValue, 0, 1023, 0, 200); // remplacer (2OO) pour augmenter les nompre de pas (200 = tour complet)
// Activation/Désactivation du moteur en fonction de la distance
// si la distance est inf a distance mini=10 et vitesse moteur sup a zero
if (distance < minDistance && motorSpeed > 0) {
stepperMotor.enableOutputs(); //activation cable enable
stepperMotor.setSpeed(motorSpeed); //vitesse en fonction de motor speed
stepperMotor.runSpeed(); // Fait tourner le moteur à la vitesse définie "200 pas" et intensité du potar
Serial.println(distance); // ecrit la distance en cm du ultrason sur l'ecran de controle ide
} else { // sinon
stepperMotor.disableOutputs(); pas du moteur eteint en sortie
}
}*/
delay(50); // delais entre chaque loop
}
Alors pour tout expliqué ,
je voudrais faire tourner une bobine de fil car mon imprimante n’arrive pas a tirer le fil . Car la bobine et trop grosse !
Je voudrais que la bobine ce déroule avec la tension du fil.
j’ai une palette posé sur mon fil avec un capteur ultrason au dessus, quand la distance est inférieur a 10cm le moteur dois s’active pour dérouler la bobine,
le fil ce détend (distance +10 cm) et le moteur ce coupe . Ainsi de suite .
Le potar c’est pour géré la vitesse, que la bobine valding pas je ne c’est ou ou sorte des rouleau.
Le potar pour géré la vitesse en plus du nombre de pas,car si je dois adapter les bobine j’aimerais éviter de remettre un code a chaque fois . Je cale mes pas et apres j’adapte la vitesse.
Voila je pense avoir tout dit .
Merci a vous pour votre aide
Ca ne fonctionnait pas du fait d'un mauvais choix quand à la fonction AccelStepper choisie;
stepperMotor.setSpeed(motorPas); //vitesse en fonction de motor speed
stepperMotor.runSpeed(); // Fait tourner le moteur à la vitesse définie "200 pas" et intensité du potar
J'ai changé la variable: int motorSpeed
en int motorPas
Ainsi le potentiomètre règle le déplacement du moteur, en pas.
La vitesse du moteur ainsi que son accélération se règlent dans setup():
stepperMotor.setMaxSpeed(200); // Vitesse maximum du moteur
stepperMotor.setAcceleration(200); // Accélération du moteur
Le programme:
// 1 Bibliotheque de controle utilisé (ultra son et driver A4988)
#include <NewPing.h>
#include <AccelStepper.h>
// 2 Déclaration des broches conecter a l'arduino
#define POTENTIOMETER_PIN A0 // Broche du potentiomètre
#define DIR_PIN 8 // Broche direction du moteur pas à pas
#define STEP_PIN 9 // Broche du nombres de pas du moteur pas à pas
#define TRIGGER_PIN 10 // Broche qui envoie l'onde capteur ultrasonique
#define ECHO_PIN 11 // Broche de réception de l'onde du capteur ultrasonique
#define ENABLE_PIN 6 // Broche d'activation/désactivation de la carte driver 4988
// 3 Initialisation du capteur et actioneur (moteur et capteur ultrason)
AccelStepper stepperMotor(AccelStepper::DRIVER, STEP_PIN, DIR_PIN); // Initialise le moteur
NewPing sonar(TRIGGER_PIN, ECHO_PIN); // Initialise le capteur ultrason
// 4 Déclaration des variables (integration vitesse et distance minimale)
int motorPas = 0; // Variable pour la vitesse du moteur
int minDistance = 10; // Distance minimale pour déclencher le moteur (en cm)
// 5 Fonction de contrôle du moteur :
void controlMotor() {
int distance = sonar.ping_cm(); // analyse de la longueur de l'onde
int potValue = analogRead(POTENTIOMETER_PIN);// Lecture de la valeur du potentiomètre pour ajuster manuellement la vitesse
motorPas = map(potValue, 0, 1023, 0, 200); // remplacer (2OO) pour augmenter les nompre de pas (200 = tour complet)
//distance = 7; // Pour les essais jpbbricole
//motorPas = 100;
// Activation/Désactivation du moteur en fonction de la distance
// si la distance est inf a distance mini=10 et vitesse moteur sup a zero
if (distance < minDistance && motorPas > 0) {
stepperMotor.enableOutputs(); //activation cable enable
stepperMotor.move(motorPas);
stepperMotor.runToPosition();
//stepperMotor.setSpeed(motorPas); //vitesse en fonction de motor speed
//stepperMotor.runSpeed(); // Fait tourner le moteur à la vitesse définie "200 pas" et intensité du potar
Serial.println(distance); // ecrit la distance en cm du ultrason sur l'ecran de controle ide
} else { // sinon
stepperMotor.disableOutputs();// pas du moteur eteint en sortie
}
}
// 6 le setup le code qui ce lit qu'une fois
void setup() {
Serial.begin(9600); // il escrit des choses dans l'ecran de controle ide(je c'est pas trop ce quil ecrit pour le moment)
stepperMotor.disableOutputs(); // Désactive le moteur au demarrage
stepperMotor.setMaxSpeed(200); // Vitesse maximum du moteur
stepperMotor.setAcceleration(200); // Accélération du moteur
}
// 7 loop le programme qui tourne en rond (comme le chat)
void loop() {
controlMotor(); // Appelle la fonction de contrôle du moteur
/*
void controlMotor() {
int distance = sonar.ping_cm(); // analyse de la longueur de l'onde
int potValue = analogRead(POTENTIOMETER_PIN);// Lecture de la valeur du potentiomètre pour ajuster manuellement la vitesse
motorSpeed = map(potValue, 0, 1023, 0, 200); // remplacer (2OO) pour augmenter les nompre de pas (200 = tour complet)
// Activation/Désactivation du moteur en fonction de la distance
// si la distance est inf a distance mini=10 et vitesse moteur sup a zero
if (distance < minDistance && motorSpeed > 0) {
stepperMotor.enableOutputs(); //activation cable enable
stepperMotor.setSpeed(motorSpeed); //vitesse en fonction de motor speed
stepperMotor.runSpeed(); // Fait tourner le moteur à la vitesse définie "200 pas" et intensité du potar
Serial.println(distance); // ecrit la distance en cm du ultrason sur l'ecran de controle ide
} else { // sinon
stepperMotor.disableOutputs(); pas du moteur eteint en sortie
}
}*/
delay(50); // delais entre chaque loop
}
J'ai laissé les lignes obsolètes en remarque.
C'est essayé "en vrai" mais sans le RADAR,
Je vous remercie grandement pour l’aide,
je ne peut malheureusement pas aller faire des test et surtout essayer de comprendre le pourquoi du comment .(le plus important pour comprendre et avancer a mon gout ).
Je suis papa depuis peut et je dois m’occuper de mon petit .
Demain maman sera plus dispo pour bb j’essaie et je vous donne un retour si c’est pas demain ce sera dans les jours qui suivent .
Encore merci .