Доброго дня. Подскажите, в чем может быть проблема? Подключил Nema17 через a4988 Сделал все 1в1, настроил ограничение по току (0.9В), установил кондер, проверил везде напряжение - все в соответствии с инструкцией. При загрузке скетча наблюдал за валом двигателя, где то дернется, где то проскочет, при прокрутке 2-3 оборотов в исходное положение уже не позвращается, только со смещением. Крутящий момент примерно как у 28byj-48, стоит одеть насадку на вал диаметром в 1см и вал уже без проблем останавливается рукой.: Код (C++): #include <AccelStepper.h> AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988) int dir = 1; //используется для смены направления void setup() { Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду) Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2) } void loop() { if(Stepper1.distanceToGo()==0){ //проверка, отработал ли двигатель предыдущее движение Stepper1.move(1600*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 -> противоположное направление) dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направлении delay(1000); //задержка на 1 секунду } Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя } Питание и земля проверены, все пропаяно. Подключаю через Arduino nano с питанием от USB. Блок питания для драйвера 12В 5А.
Скорость и ускорение на минимум и проверяем. У шаговиков чем выше скорость - тем меньшее усилие они развивают. Если еще и с ускорением переусердствовать - сплошные пропуски шагов.
Уменьшил и скорость и ускорение - ничего не помогает, все равно пропуск шагов на ходу. Пробовал с разным напряжением и силой тока. Отошел от бибилотеки AccelStepper и начал напрямую подавать HIGH на пин для движения, в этом случае пошло все без пропусков.
Значит мало занизили. Силу тока надо выставлять максимально допустимую для движка. Напряжение чем выше - тем меньше влияние повышения частоты импульсов (частоты вращения). Но тоже бесконечно поднимать нельзя - зависит от драйвера.
Игрался с силой тока от минимума, до максимума. Напряжение было от 12 до 30 - разницы никакой на пропуск шагов. Чем больше напряжения на регуляторе (~1.3В) тем выше крутящий момент.