Некорректная работа Nema17HS4401

Тема в разделе "Arduino & Shields", создана пользователем enclouder, 25 авг 2017.

  1. enclouder

    enclouder Нерд

    Доброго дня.
    Подскажите, в чем может быть проблема?
    Подключил Nema17 через a4988
    [​IMG]
    Сделал все 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А.
     
  2. sslobodyan

    sslobodyan Гик

    Скорость и ускорение на минимум и проверяем. У шаговиков чем выше скорость - тем меньшее усилие они развивают. Если еще и с ускорением переусердствовать - сплошные пропуски шагов.
     
  3. enclouder

    enclouder Нерд

    Уменьшил и скорость и ускорение - ничего не помогает, все равно пропуск шагов на ходу. Пробовал с разным напряжением и силой тока.
    Отошел от бибилотеки AccelStepper и начал напрямую подавать HIGH на пин для движения, в этом случае пошло все без пропусков.
     
  4. sslobodyan

    sslobodyan Гик

    Значит мало занизили. Силу тока надо выставлять максимально допустимую для движка. Напряжение чем выше - тем меньше влияние повышения частоты импульсов (частоты вращения). Но тоже бесконечно поднимать нельзя - зависит от драйвера.
     
  5. enclouder

    enclouder Нерд

    Игрался с силой тока от минимума, до максимума. Напряжение было от 12 до 30 - разницы никакой на пропуск шагов. Чем больше напряжения на регуляторе (~1.3В) тем выше крутящий момент.