StepperonLine DM320T

Bonjour,

D'aprés la doc, si vous mettez tous les switch SW1 à SW3 sur ON, l'axe devrait être moins vérouillé, cnest un essai à faire, juste pour voir.

C'est exact, résistance plus faible, car intensité plus faible, mais j'ai besoin de couple pour cette machine

C'était, je l'ai écrit, pour vérifier les écrits de la doc annoncant que le couple est réduit de moitié quand le variateur n'est pas utilisé.

Et que donne finalement le test post#39 demandé par jpbbricole?

Concernant le post#39

Lorsque je mets OPTO sur le 5V de la UNO => 1 pas en avant 1 pas en arrière, on n'avance pas contrairement au raccordement sur D3

Tu as STEP et DIR intervertis au niveau de l'Arduino.

Le libellé n'est pas forcément suffisant, si d'autre question ont été posé, cela intervient dans la réponse.
Je ne sais pas si le lien contient le contexte complet ?

Oh oui j'avais inversé PUL et DIR !
Résultat :
lorsque OPTO est sur D3 => rotation continue 500 p AV suivi de 500 p AR
lorsque OPTO est sur 5V du UNO => pas de rotation

avant l'inversion j'obtenais une marche pas à pas trés lente sur 500 pas

Bonjour AC74

Milles excuses, mon post#24 est incomplet, j'ai oublié une précision à propos de l'inversion du signal:

Essaies :woozy_face:
stepper.setPinsInverted(false, false, true);

Vu que ton driver active le moteur avec un LOW (false = actif à HIGH)

PS:J'ai actualisé le post#14.

A+
Cordialement
jpbbricole

Je résume les actions menées:

  • En utilisant les pins 2 3 4 5 (et pas les 0 1) le test reçu fonctionne bien => Donc 0 1 à éviter. Je les avais utilisés car j'utilise un LCD1602 Keypad broché sur la UNO qui lui n'a pas accès aux pins 4 5 6 7 ? J'ai dû souder
    Ce test fonctionne bien avec OPTO sur 3 , il ne fonctionne pas sur +5 V
    Pourquoi ?

  • J'ai apporté la modif stepper.setPinsInverted(false, false, true); => ne fonctionne plus dans les 2 cas ci dessus

  • J'avais , au début du test inversé PUL et DIR avec pour effet d'obtenir un pas par séquence va ou vient et pas 500 pas

  • Reste le problème initial = arbre bloqué à l'arrêt, plus ou moins fort selon les switch 1 2 3 => Pour débloquer et positionner mon moteur , je coupe tout.

Bonjour AC74

Ce n'est pas la solution de tout couper, cette pin ENA est faite pour désactiver les moteurs, donc tu as un problème de câblage, je pense.

Pour faire un essai, mets OPTO sur la pin 5V de l'Arduino et déconnecte le fil qui va sur OPTO du coté de l'Arduino et pose le alternativement sur GND et sur 5V, que passe-t-il au nveau du blocage du moteur?
Peux tu mettre ton programme en entier sur le forum?

A+
jpbbricole

J'ai fais le test suivant

  • mise sous tension moteur arrêt
    OPTO en l'air
    OPTO à GRD
    OPTO à +5V
    OPTO à pin 3
    dans tous les cas => arbre bloqué
    si je mets ENA + PUL + DIR en l'air => arbre bloqué

Bonsoir;

C'est extrêmement curieux car la sortie D3 fournit du 5V ou du 0V avec toute fois une limite sur le courant max.

Il est possible que vous ne dépassiez pas cette limite du coup par coup de chance, ca marche.

MAIS SI VOUS UTILISEZ LE 5V, CA DEVRAIT ETRE ENCORE MIEUX.
A condition que le 0V du 5V soit relié au 0V de Arduino et 0V (GND) du DM320T, dans le cas contraire, c'est logique que ça ne marche pas.

Ensuite:

Comme vous le disiez, c'est une question d'église, le DM320T ne vous permet pas de libérer les axes moteurs, sauf si vous coupez le 12V, pour moi c'est clairement sous entendu par le fabricant.

Dites vous que si d'autre modèle fonctionnent différemment, ce modèle, le DM320T fonctionne ainsi, vous l'avez d'ailleurs vous même constaté.

Comme je vous l'avez indiqué, si vous le faite "proprement", géré par Arduino par exemple, il n'y a aucun risque de la faire, d'ailleurs votre système n'est pas en permanence sous tension, et il est toujours en vie.

Et pour autant qu'il y ait:
pinMode((3, OUTPUT);
digitalWrite(3, HIGH);
dans le programme, les sont ils? @AC74 ne fournit pas son programme.

Où?
Alors à quoi sert ce signal?

Bonsoir AC74

Je te propose une chose, vu que ton DM320T semble être une "bête à chagrin", prends un simple A4988 (ou équivalent)
image

, il devrait faire l'affaire et tu pourra utiliser ENABLE pour couper ton moteur.

Cordialement
jpbbricole

1 Like

Non, ce n'est pas nécessaire, vu le schéma:


Ca rendrait inutile l'optoisolation et pourrait être dangereux pour l'Arduino.
Le schéma d'application:

Mon programme de test

type or paste code here/*
    Name:       Test_MPAPenable.ino
    Created:	20.11.2024
    Author:     jpbbricole
*/

#include <AccelStepper.h> // https://github.com/waspinator/AccelStepper
//const int optoPin =3;

const int dirPin = 5;
const int stepPin = 2;
const int enaPin = 4;
int nbPas=1;

AccelStepper stepper(AccelStepper::DRIVER, stepPin, dirPin); // identique à AccelStepper stepper(1, stepPin, dirPin);

void setup() {
  Serial.begin(115200);
  //pinMode(optoPin, OUTPUT);
  //digitalWrite(optoPin, LOW);
  delay(10);
	
	stepper.setEnablePin(enaPin); // Définition de la pin ENA
	//                       DIR    STEP   ENA
	stepper.setPinsInverted(false, false, false); // https://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html#ac62cae590c2f9c303519a3a1c4adc8ab
//  stepper.setPinsInverted(false, false, true);
	
  stepper.enableOutputs(); // Activer le moteur

	stepper.setMaxSpeed(800);
	stepper.setAcceleration(160);
	stepper.moveTo(100);
}


void loop()
{
	// If at the end of travel go to the other end
	if (stepper.distanceToGo() == 0)
	{
		Serial.println(F("Stepper STOP"));
		//digitalWrite(optoPin, HIGH);
		stepper.disableOutputs(); // Désactiver le moteur
		delay(1000);
     

		Serial.print(F("Stepper START "));
    //digitalWrite(optoPin, HIGH);
		stepper.enableOutputs(); // Activer le moteur
		stepper.moveTo(-stepper.currentPosition());
    Serial.println(nbPas);
    nbPas++;
	}

	stepper.run();
}
  

Cnest incroyable comme vous contredisez systhématiquement tout ce que j'avance, et parfois par des inepties.

Les sorties Arduino ne sont pas des sorties collecteur ouvert ne necessitant pas de masse commune dinc ce schéma ne convient pas pour Arduino.

D'autre part, les masses sont bien reliées entre elles, pas de soucis.

Cette remarque est incroyable

[quote="jpbbricole, post:55, topic:1323297"]
Je te propose une chose, vu que ton DM320T semble être une "bête à chagrin", ...[/quote]

!

Je ne contredis pas, je conteste.
Ce que tu dis ou peut faire croire c'est qu'il faut relier les GND ainsi:


Ca c'est une erreur (ou ineptie dans ton langage), ça va à l'encontre du schéma de principe d datasheet.
Ce que tu appelles 0V (GND) du DM320T c'est ceci:
image
est n'est pas connecté avec la partie commande.

Où ?

Refléchissez, et vous verrez que OUi ca l'est.