Cablage tmc2208 V3 pour nema 17 et arduino uno

Bonjour,
Je suis débutant et je me suis mis il y a peu de temps à l'arduino.
Je souhaite faire tourner un Nema avec le tmc2208 v3 (uart) e chez bigtreetec sous arduino,j'ai choisi le TMC pour son silence (exigence de ma femme).
Hélas, je galère grave et mon projet patauge gravement, j'ai bien passé 10heures à regarder partout sur le net un schéma de câblage simple et compréhensible avec le ''uno'' mais je ne trouve rien mis à part ceux du forum qui éprouvent eux même des difficultés, mes connaissances en elect étant très basiques.
D'où ma question : quelqu'un possède t'il un dessin ,shéma ...du cablage pour tmc2208 UART et par la même occasion le code arduino, je souhaite juste pouvoir faire tourner lentement le nema.
Merci à ceux qui accepteront de bien vouloir m'aider (je pense que ça servira également à d'autres

Bonjour,
Il faudrait mettre un lien vers le driver que tu utilises.
Faut-il vraiment exploiter ce driver en mode UART ?

Merci pour ta réponse rapide.
En fait je viens juste de trouver la réponse vraiment par hasard, je partage la page:

Tout y es expliqué, dommage que je l'ai pas trouvée avant!

Voici l'exemple de code donné, que faut il changer pour que le moteur tourne en continue et pouvoir modifier sa vitesse car dans ce code il me semble qu'il ne doit faire que 4 tours....:

const int stepPin = 9;

const int steps = 200;
int stepDelay;

#include <TMC2208Stepper.h>
TMC2208Stepper driver = TMC2208Stepper(&Serial);

void setup() {
   Serial.begin(9600);
   while(!Serial);

   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
   
   driver.pdn_disable(1);   // Use PDN/UART pin for communication
   driver.I_scale_analog(0);
   driver.rms_current(500); // Fijar corriente a 500mA
   driver.toff(0x2); // Encender friver
}

void loop() {
   //Activar una direccion y fijar la velocidad con stepDelay
   driver.shaft(true);
   stepDelay = 250;
   // Giramos 200 pulsos para hacer una vuelta completa
   for (int x = 0; x < steps; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);

   driver.shaft(false);
   stepDelay = 150;
   // Giramos 400 pulsos para hacer dos vueltas completas
   for (int x = 0; x < steps * 2; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.