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.
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
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
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)
, il devrait faire l'affaire et tu pourra utiliser ENABLE pour couper ton moteur.
Cordialement
jpbbricole
Non, ce n'est pas nécessaire, vu le schéma:
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:
Où ?
Refléchissez, et vous verrez que OUi ca l'est.