StepperonLine DM320T

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 :wink:

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 ? :hot_face:

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 :wink:

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

Voila mon multimètre, est il bon ?

Faut 'il tester sous tension les pins en l'air ?

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.