10-08-2019, 21:19
Cześć
Mam mały zgryz z silnikiem krokowym. Próbuję zastosować bibliotekę AccelStepper
i zmieniać prędkość silnika "w locie". Za grzyba mi to nie wychodzi.
Jakakolwiek próba zmiany powoduje, że silnik kręci się ze swoją ulubioną prędkością
i nie reaguje na zmiany.... Możecie zerknąć w próbny kod? Czy coś robię źle, czy też
ta biblioteka nie pozwala na zmianę prędkości w trakcie pracy?
PWL
Mam mały zgryz z silnikiem krokowym. Próbuję zastosować bibliotekę AccelStepper
i zmieniać prędkość silnika "w locie". Za grzyba mi to nie wychodzi.
Jakakolwiek próba zmiany powoduje, że silnik kręci się ze swoją ulubioną prędkością
i nie reaguje na zmiany.... Możecie zerknąć w próbny kod? Czy coś robię źle, czy też
ta biblioteka nie pozwala na zmianę prędkości w trakcie pracy?
PWL
Kod:
#include <AccelStepper.h>
#define dirPin 3
#define stepPin 2
#define motorInterfaceType 1
int spid=100;
float czas=0;
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
void setup()
{
Serial.begin(115200);
stepper.setMaxSpeed(1000);
}
void loop()
{
//Serial.println(czas);
if (millis()>czas+1000)
{
spid+=100;
if (spid>=1000) { spid=100; }
Serial.println(spid);
stepper.setSpeed(spid);
stepper.runSpeed();
czas=millis();
}
}