Bonjour, je me permets de solliciter votre aide.
En effet, ayant récemment acheter une imprimante 3d, j’ai trouvé une bobineuse sous arduino, c'est pour aider une amie.Je vous donne le lien DIY Thread winding machine arduino based - YouTube.
Je pensais que le zip contenait le fichier pcb prêt pour l’impression. or il n y a que le schéma électrique et le code arduino.
Il me semble que le capteur de vitesse photoélectrique ne soit pas présent. Il est la pour comptabiliser le métrage du fil et arrêt la machine. Ainsi que le bouton on/off et le ventillo.
Apres des recherches j’ai rajouté un lm 393 au schéma avec borne 5v sur la 5 de arduino le gnd sur le gnd du circuit et out sur la borne 15
J’ai relance le concepteur a plusieurs reprises et sans réponse de sa part.
Je vous sollicite,donc.
Voila mes questions:
es ce que le schéma contient bien le lm 393 et le programme aussi?
si dans le cas contraire es ce que mon branchement est juste?
comment encoder pour que le capteur stoppe la machine quand la longueur de fil est atteinte?
je débute dans le monde arduino et je reconnais que cela dépasse mes compétences.
pouvez vous m’aider?
merci gilles
Bonjour,
Tu n'es pas dans la bonne rubrique, ta question n'a rien à voir avec les projets "Réalisations et Projets Finis".
Utilise le lien "Report to moderator" pour qu'il déplace ton sujet.
le capteur photoélectrique est un capteur à fourche, qui compte les "trous" de la roue, çà se trouve dans n'importe quel souris pc à roulette (la souris pas le pc).
en effet l'auteur n'explique pas cette option
il ne faut pas de lm393, je pense que la sortie (collecteur du phototransistor intégré)se branche sur la pin D2 de l'uno, le croquis :
int encoder_pin = 2; // pulse output from the module = sortie du capteur à fourche
pinMode(encoder_pin, INPUT);
//Interrupt 0 is digital pin 2
//Triggers on Falling Edge (change from HIGH to LOW)
attachInterrupt(0, counter, CHANGE);
// Initialize
pulses = 0;
counter est une fonction
void counter()
{
//Update count
pulses++;
}
"j'ai rajouté un lm 393 au schéma avec borne 5v sur la 5 de arduino le gnd sur le gnd du circuit et out sur la borne 15 "
elektrax:
le capteur photoélectrique est un capteur à fourche, qui compte les "trous" de la roue, çà se trouve dans n'importe quel souris pc à roulette (la souris pas le pc).
en effet l'auteur n'explique pas cette option
il ne faut pas de lm393, je pense que la sortie (collecteur du phototransistor intégré)se branche sur la pin D2 de l'uno, le croquis :
int encoder_pin = 2; // pulse output from the module = sortie du capteur à fourche
pinMode(encoder_pin, INPUT);
//Interrupt 0 is digital pin 2
//Triggers on Falling Edge (change from HIGH to LOW)
attachInterrupt(0, counter, CHANGE);
// Initialize
pulses = 0;
counter est une fonction
void counter()
{
//Update count
pulses++;
}
"j'ai rajouté un lm 393 au schéma avec borne 5v sur la 5 de arduino le gnd sur le gnd du circuit et out sur la borne 15 "
c'est quoi la borne 15 ???
qui ne sera jamais correcte, sauf si tu as exactement le meme roue à trous que l'auteur du croquis
il faut expérimenter pour que le facteur k soit correct, suivant la roue utilisée
Merci de tes reponses.
Si je comprend bien le programme est ok pour les composants du concepteur
quand k=pulse/450
pulse = nombre total d'impulsion et 450 le perimetre ?
et je dois faire trouver le bon k par empirisme
Donc cela servira a la machine test
Sachant que cette machine est destinée à une micro entreprise pour faire des bobines, j'ai fait évolue la conception de pcb avec des borniers pour une maintenance plus aise .
L exemple de la fourche me pousse à m'interroger sur une mise a jour du programme pour intregrer les caracteristique de la fourche plus roue si elle sont differente par rapport a celle installe.
tout ce que je peux deviner, k= pulses/450 : 450 represente le nombre de pulses lorsqu'on a fait défiler 1 metre de fil
en fonctionnement, si tu fais défiler 10 metres, les pulses = 4500 donc k= 4500/450 = 10 = 10 mtr
le diametre et le nombre de trous n'ont d'importance que suivant la précision du calcul que tu veux atteindre
lorsque tu as mis la "roue a trous" en place :
tu televersement un croquis test en mode manuel : dans la fonction pulse
tu supprimes la division par 450
void pulse() {
k = pulses
oled.set2X();
oled.setCursor(10, 5);
oled.println(k);
oled.setCursor(60, 5);
oled.println("mtr");
tu fait défiler exactement un metre de fil
sur ton oled tu auras le nbre de pulses pour 1 metre qui sera le nombre à mettre à la place de 450
void pulse() {
k = pulses/ nbre de pulses trouvés pour 1 metre de fil
oled.set2X();
oled.setCursor(10, 5);
oled.println(k);
oled.setCursor(60, 5);
oled.println("mtr");
Bonjour le machine est montée
Le concept marche à la longueur demandée la machine s arret.
J ai corrigé la formule k= pulses/450 c était multiplier pas diviser. J ai remplacé la valeur 450 par la valeur que j ai calculé pour ma roue.
Seul hic c est que 1 m sur l'écran donne 1.75m ou 2 m donne 2,5, et ça quelque soit la valeur qui remplace 450.
Je ne vois pas où est le pb.
Pouvez vous m aider ?
Dans une prochaine étape je souhaite faire qu un clique sur le potentiomètre permette de revenir au menu principal, es ce possible de m aider sur sa aussi ?
Cordialement Gilles
Comme tu ne donnes pas le code en entier, en particulier le type des variables, on ne peut que supposer que ça vient d'une troncature due à une division entière.
Définis k en flottant et fais une division flottante.