Skocz do zawartości

Arduino sterownik A4988 i NEMA 17


Mimal9999

Pomocna odpowiedź

Witam! Ostatnio zakupiłem te silniki:

https://blackfrog.pl/silnik-krokowy-nem ... p-135.html

Oraz sterowniki:

http://allegro.pl/stepstick-ramps-a4988 ... ule_id=201

Sterowanie silnikiem działa ale nie dokładnie tak jak powinno. Silnik podczas pracy strasznie piszczy i wibruje (chyba że tak ma być pierwszy raz mam taki silnik w rękach 🙂 ). Kręci się bardzo powoli mimo że miał się kręcić z dość dużą prędkością. Ktoś wie jak go przyśpieszyć i wyeliminować te piszczenie i wibracje?

Kod (przykład z jakiejś strony):

// --- Commande d'un StepStick/Driver A4988 ----------------------
// A4988_Test.ino
//
// Commande d'un moteur pas-à-pas à l'aide d'un pilote A4988 avec
//     Arduino.
//
// Un projet www.mchobby.be (vente de kit et composant)
// Meurisse D. - Licence CC-SA-BY
//
// Un tutoriel http://mchobby.be/wiki/index.php?title=A4988
// Ou Acheter un StepStick A4988
//    http://shop.mchobby.be/product.php?id_product=349
//

#define pinEnable 4 // Activation du driver/pilote
#define pinStep    3 // Signal de PAS (avancement)
#define pinDir     2 // Direction 


void setup(){
 Serial.begin(9600);
 Serial.println("Test A4988");

 pinMode( pinEnable, OUTPUT );
 pinMode( pinDir   , OUTPUT );
 pinMode( pinStep  , OUTPUT );
}

void loop(){
 int i = 0;

 digitalWrite( pinDir   , HIGH); // Direction avant
 digitalWrite( pinStep  , LOW);  // Initialisation de la broche step

 // Avance de 200 pas
 for( i=0; i<10000; i++){
   Serial.println( i );
   digitalWrite( pinStep, HIGH );
   delay( 0.00001 );
   digitalWrite( pinStep, LOW );
   delay( 0.00001 );
 } 

 // Changer de direction
 digitalWrite( pinDir   , LOW); // Direction avant

 // Refaire 200 pas dans l'autre sens
 for( i=0; i<200; i++){
   Serial.println( i );
   digitalWrite( pinStep, HIGH );
   delay( 1 );
   digitalWrite( pinStep, LOW );
   delay( 1 );
 } 

 // Pas de step et pas d'ordre... 
 //   l'axe du moteur est donc bloqué 
 Serial.println("Axe bloqué + attendre 5 sec");
 delay( 5000 );

 // déblocage de l'axe moteur
 Serial.println("Deblocage axe");
 digitalWrite( pinEnable, HIGH ); // logique inversée

 // Fin et blocage du programme
 // Presser reset pour recommander
 Serial.println("Fin de programme");
 while( true );
}

Podłączenie według schematu na stronie:

http://wiki.mchobby.be/index.php?title= ... t-Gris.jpg

Jeżeli jest taka potrzeba mogę nagrać to co się z nim dzieje

__________

Komentarz dodany przez: Treker

Popraw proszę linki, bo ewidentnie kopiowałeś post z innego forum i coś ucięło...

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.