Stránka 1 z 1

Krokový motor 28BYJ-48 + řadič ULN2003

Napsal: 25 říj 2017, 09:37
od benny1181
Ahojte, potřeboval bych pomoct s úplně triviálním příkladem.

Po stisknutí tlačítka chci aby se motor pootočil o 100kroků, rychlostí 60 otáček za minutu. Na stránkách výrobce jsem zjistil, že motor má 64 kroků na jednu otáčku. Viz. kód níže. Myslím si že mám zapojené vše správně v odkazu jsem nahrál video co to dělá. Problém je v tom že se motor neotočí o 100kroků a rychlost otáček také nesedí. Můžete mi prosím poradit? Sedím u toho už 4h bezradný :/ Jinak když ovládám motor normálně bez knihovny <Stepper.h> tak mi to jede, takže HW je oka. Předem moc děkuji.

Motor je napájený z externího zdroje(zdroj od PC 5V).

https://drive.google.com/open?id=0B14GS ... mJlUEZXYjg

Kód: Vybrat vše

#include <Stepper.h>

int stepsPerRevolution = 64;
Stepper myStepper(stepsPerRevolution, 8,9,10,11);

void setup()
{
    pinMode(A0, INPUT);
    myStepper.setSpeed(60);
}

void loop()
{
    static byte krok = 0;
    if (digitalRead(A0)) {
        myStepper.step(100);
        delay(100);
    }
}

Re: Krokový motor 28BYJ-48 + řadič ULN2003

Napsal: 04 lis 2017, 19:23
od afilip
U toho motoru je převodovka 1:64, takže si nastavte
int stepsPerRevolution = 4096;
To je jedna otáčka hřídelky o 360 stupňů

Re: Krokový motor 28BYJ-48 + řadič ULN2003

Napsal: 15 lis 2017, 13:55
od benny1181
Zdravím Filipe a děkuji za radu!

Bohužel po tomto nastavení se motor vůbec neroztočí ani o jeden krok. Tak si říkám jestli tento motor není zkonstruovaný pouze jako nízko otáčkový motor vzhledem k tomu, že v různých video návodech jsem ho neviděl točit se rychleji. Vždycky když klesnu s časem mezi jednotlivými kroky pod 2 milisekundy, tak se motor neroztočí i v programu bez této knihovny. Nebo dělám ještě něco jiného špatně? Moc díky za odpovědi.