that_one_nigga_you_k

controle motor de passo

Nov 13th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. #include <Arduino.h>
  2. #include <BasicStepperDriver.h>
  3.  
  4. // passos do motor/volta = 200 -> MOTOR_STEPS
  5. #define MOTOR_STEPS 200
  6. #define RPM 120 // velocidade do giro em RPM
  7.  
  8. /*sabendo que os micropassos sao ditados pela combinacao dos pinos M0-M1-M2 no driver e não estamos usando nenhum deles
  9. o micropasso fica em 1*/
  10. #define MICROSTEPS 1
  11.  
  12. // Ano setup que fizemos das plaquinhas, esses eram os pinos de controle
  13. #define DIR 2
  14. #define DIRr 6
  15. #define STEP 3
  16. #define STEPr 7
  17. //o SLEEP é o que ativa e desativa o motor
  18. #define SLEEP 5
  19. #define SLEEPr 8
  20.  
  21. // descomentar isso serve para o controle só com 2 fios
  22. //BasicStepperDriver stepper(MOTOR_STEPS, DIR, STEP);
  23.  
  24. //essas linhas chamam o motor com o controle de 3 fios, pois tem a funcao de sleep
  25. BasicStepperDriver stepper(MOTOR_STEPS, DIR, STEP, SLEEP);
  26. BasicStepperDriver stepperr(MOTOR_STEPS, DIRr, STEPr, SLEEPr);
  27.  
  28.  
  29. void setup() {
  30.   stepper.begin(RPM, MICROSTEPS);
  31.   stepperr.begin(RPM, MICROSTEPS);
  32.   // há pessoas que usam o ENABLE para ativar e desativar o motor
  33.  //stepper.setEnableActiveState(LOW);
  34.  
  35. }
  36.  
  37. void loop() {
  38. //esse loop faz os 2 motores girarem 360 sem parar
  39.   for (int i = 0; i < 360; i++) {
  40.     stepper.enable(); //ativa o motor
  41.     stepper.rotate(10); // gira 10 graus
  42.     stepper.disable(); // desativa
  43.     delay(10); // espera para girar o próximo motor da mesma forma
  44.  
  45.     stepperr.enable();
  46.     stepperr.rotate(10);
  47.     stepperr.disable();
  48.     delay(10);
  49.   }
  50.   delay(1000); //pausando o movimento entre os giros impede o sobreaquecimento dos drivers
  51. }
Add Comment
Please, Sign In to add comment