Elle ne doit pas être en l'air, mais sur le 5V.
C'est l'alimentation des optocoupleurs.
Bonsoir AC74
J'ai testé ton programme sur un UNO R4 Wifi:
/*
Name: Test_MPAPenable.ino
Created: 20.11.2024
Author: jpbbricole
OK UNO OK UNO WIFI OK
*/
#include <AccelStepper.h> // https://github.com/waspinator/AccelStepper
//OPTO sur 5V
const int dirPin = 3;
const int stepPin = 2;
const int enaPin = 10;
int nbPas=1;
// identique à AccelStepper stepper(1, stepPin, dirPin);
AccelStepper stepper(AccelStepper::DRIVER, stepPin, dirPin);
void setup() {
Serial.begin(115200);
//pinMode(optoPin, OUTPUT);
//digitalWrite(optoPin, LOW);
delay(10);
stepper.setEnablePin(enaPin); // Définition de la pin ENA
// digitalWrite(enaPin,HIGH);
// DIR STEP ENA
stepper.setPinsInverted(false, false, true); // https://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html#ac62cae590c2f9c303519a3a1c4adc8ab
stepper.enableOutputs(); // Activer le moteur
stepper.setMaxSpeed(500);
stepper.setAcceleration(50);
stepper.moveTo(200);
}
void loop()
{
// If at the end of travel go to the other end
if (nbPas>10) digitalWrite(enaPin,LOW);
if (stepper.distanceToGo() == 0 && nbPas<=10)
{
Serial.println(F("Stepper STOP"));
// //digitalWrite(optoPin, HIGH);
stepper.disableOutputs(); // Désactiver le moteur
delay(500);
Serial.print(F("Stepper START "));
// //digitalWrite(optoPin, HIGH);
stepper.enableOutputs(); // Activer le moteur
stepper.moveTo(-stepper.currentPosition());
Serial.println(nbPas);
nbPas++;
}
stepper.run();
}
Et il fonctionne, avec ce schéma:
Et toujours les mêmes remarques:
Aux essais, est ce que le moteur tourne normalememt, est ce que le moteur se libère, périodiquement ou est il tout le temps bloqué ou tout le temps libre ?
A+
jpbbricole
C'est bien le problème, alors pourquoi ça marche comme cela ?
On avait le même problème plus haut avant de trouver le premier arbre
En ce moment j'utilise la UNO WF R4 SANS le LCD 1602, donc il n'est pas en cause.
Le même schéma avec UNO et OPTO +5V => Tourne
avec UNO WF + OPTO 5V => Tourne pas
avec UNO WF + OPTO en l'air => Tourne
Il ne tournait pas parce que il manquait une ligne à ton programme, essaies le programme du post 145.
Je répète et ce depuis le début, OPTO doit être à 5V.
Ton prg ne fonctionne que si je mets stepper.setPinsInverted(false, false,false);
donc j'avais annulé la ligne
J'ai les mêmes branchements.
Je vais passer la nuit dessus , tout reprendre demain mation avec UNO et UNO WF
Saturation = con..ie en vue.
Et puis l'arbre cache ma vue.
Bonsoir AC74
C'est super!
C'est vrai que si les 3 paramètres sont à false, cette ligne est inutile.
Personnellement, je la laisse même si tout est à false, car s'il faut, pour une raison ou pour une autre inverser le sens général de rotation, c'est la voie la plus directe pour ce faire.
Oh que oui
Bonne nuit et à demain
jpbbricole
C'est clair, il suffit de lire le schéma (pourquoi tourner autour du pot?):
TOUS les signaux qui entrent sur l'opto sont actifs à niveaux bas, mais il faut que OPTO SOIT À +5V
SI CELA NE MARCHE PAS, C'EST QU'IL Y A UN BUG DE CÂBLAGE.
Il faut sortir le multimètre pour voir qui déconne.
Bonjour
Réveil tôt, on démonte, on refait le câblage avec couleurs de ton schéma
le code
le montage
LE MOTEUR NE TOURNE PAS
MODIFICATION
OPTO en l'air
Moteur TOURNE + déblocage après 10 A/R
Donc ??? l'Arduino ?
Erreur : LIRE Jaune=D3=PUL
Bonjour AC74
Une petite explication sur cette ligne:
stepper.setPinsInverted(false, false, false);
false veut dire que le signal concerné, dans l'ordre DIR STEP et ENA n'est pas inversé et est donc actif à HIGH (niveau haut) donc sur ton driver, avec false
, ENA est actif à HIGH.
Par exemple, le très connu A4988:
a le signal ENABLE avec un trait desus qui veut dire actif à LOW la ligne de commande sera:
stepper.setPinsInverted(false, false, true);
Si cette ligne est omise, cela veut dire valeurs par défaut, c'est à dire false, false, false, donc tout les signaux actifs à HIGH.
Un mystère, pour moi
Une toute belle journée à toi!
jpbbricole
Hello,
Essaie si tu peux les tests post#107, ça eclaircierra l'état des opto
Hors tension nien entrndu
pin en l'air et hors tension.
Di tu fait toucher les 2 pointes ensemble, il doit indiquer 0 je pense.
Oui c'est un bip avec la même icone
Je regarde le mode d'emploi du XL830L, il me manques une info
Oups, j'ai tardé.
En diode ou en sonette, c'est OK
Donc, diode en inverse, il affiche 1
Diode en direct, il doit afficher la tension de la diode, soit environ 1,8V.
Selon les essais avec 1 led + R et mon multimétre, ça devrait marcher pour vérifier si les opto sont bons ou 1 est en panne.
"pin en l'air et hors tension." me parait bizarre, ne serait ce pas "pin en l'air et sous tension" ??
hors tension => 1 dans les 6 mesures OPTO => DIR PUL ENA
sous tension => id°
Non, c'est bien "hors tension".
Mon multimétre detecte bien une tension de diode dabs 1 sens, et rien ("OL") quand je fais le test que je t'ais indiqué.
Le tien, personnellemrnt, je ne sais pas ce que ton multimétre epére quand il indique id°
Il y a des cas de figure où tout fonctionne bien quand il n'y a pas de pannes.
Et continue de fonctionner à peu prés quand il y a une panne.
Comme ici avec OPTO qui ne devrait pas marché s'il est en l'air, mais marche quand même.
Alors soit on cherche pourquoi, au moins pour en avoir le coeur net, soit ...
Perso, j'aime bien savoir pourquoi si je peux.
Un cas ou ça peut marcher, OPTO en l'air:
Alors ca peut paraitre abstrait pour un non élec, mais bien guidé, ça devrait pouvoir se vérifier facilement.
En fouillant sur le Net, j'ai choppé une photo de la carte du DM320, (capot enlevé), on voyait trés nettement qu'il y avait des opto coupleurs montés sur la carte, mais pas lesquels, si on sait qui ils sont, on peux les tester à l'ohmétre.