Project

General

Profile

Wiki » History » Revision 9

Revision 8 (Frédéric Blanc, 2023-11-17 13:20) → Revision 9/13 (Frédéric Blanc, 2023-11-17 13:21)

h1. accelstepper 

 https://www.arduino.cc/reference/en/libraries/accelstepper/ 

 <pre><code class="cpp"> 



 #include <AccelStepper.h> 

 // for the Arduino Uno + CNC shield V3 + A4988 + FL42STH47-1684A 

 #define MOTOR_X_ENABLE_PIN 8 
 #define MOTOR_X_STEP_PIN 2 
 #define MOTOR_X_DIR_PIN 5 

 AccelStepper motor_X(1, MOTOR_X_STEP_PIN, MOTOR_X_DIR_PIN);  


 void setup() 
 { 
   motor_X.setEnablePin(MOTOR_X_ENABLE_PIN); 
   motor_X.setPinsInverted(false, false, true); 
   motor_X.setAcceleration(20);   
   motor_X.move(200); 
   motor_X.setMaxSpeed(100); 
   //motor_X.setSpeed(100); 
   motor_X.enableOutputs(); 
 } 

 void loop() 
 { 
   motor_X.run(); 
 } 
 </code></pre> 

 h2. Arduino CNC Shield V3 

 !clipboard-202311161621-jcg62.png! 

 !clipboard-202311161620-ib4yo.png! 

 !clipboard-202311161619-rxiam.png! 
 Arduino CNC Shield Scematics V3 

 h2. Driver MOTOR 

 h3. A4988 

 !clipboard-202311171114-jwo7q.png! 

 h4. Courant MAX 

 Vref mesure tension entre GND et le potard 
 MaxCurrent=Vref x 2.5 
 1A => 0.4V 

 h4. Microstepping 

 |MS1 	 |MS2 	 |MS3 	 |Résolution Microstepping| 
 |Low 	 |Low 	 |Low 	 |Pas complet (full step)| 
 |High 	 |Low 	 |Low 	 |1/2 pas| 
 |Low 	 |High 	 |Low 	 |1/4 de pas| 
 |High 	 |High 	 |Low 	 |1/8 ième de pas| 
 |High 	 |High 	 |High 	 |1/16 ième de pas| 

 

 h3. TMC2208 

 

 h4. Courant MAX 

 !clipboard-202311171315-ibiy9.png! 

 Irms = (Vref * 1.77A) / 2.5V = Vref * 0.71 
 Vref = (Irms * 2.5V) / 1.77A = Irms * 1.41 = Imax 
 Vref -> Voltage on Vref pin 
 Irms -> RMS (Root Mean Square) current per phase (Irms = Imax / 1.41) 
 Imax -> Maximum current per phase (Imax = Irms * 1.41) 

 h4. Microstepping 

 


 |MS2(-)|MS1(-)|Steps(-)|Interpolation(-)|Mode(-)| 
 |GND|VIO|1⁄2|1⁄256|stealthChop2| 
 |VIO|GND|1⁄4|1⁄256|stealthChop2| 
 |GND|GND|1⁄8|1⁄256|stealthChop2| 
 |VIO|VIO|1⁄16|1⁄256|stealthChop2|