Управляем чем угодно откуда угодно

Шаговый двигатель

Виртурилка, 3G/4G, WiFi, моторчики, датчики, GPS и прочее - питание, драйвера, совместимость и т.д.

Шаговый двигатель

Сообщение qwest » 17 июл 2014, 13:37

Возможно управлять шаговым двигателем с контролером zc-a0591 напрямую, без модуля Virt2real Motorshield v2.0?
qwest
 
Сообщения: 15
Зарегистрирован: 02 дек 2013, 15:25

Re: Шаговый двигатель

Сообщение Noor » 17 июл 2014, 15:10

Конечно можно, любые четыре пина и управляющая программа.
Мастер сам устанавливает закон
Noor
 
Сообщения: 342
Зарегистрирован: 04 сен 2013, 20:03

Re: Шаговый двигатель

Сообщение qwest » 17 июл 2014, 18:05

Noor писал(а):Конечно можно, любые четыре пина и управляющая программа.

Подключил zc-a0591
питание +5V - CON21(PWR_VIN)
земля CON86
INT1 - CON10
INT2 - CON11
INT3 - CON12
INT4 - CON13

Код: Выделить всё
#! /bin/sh
#STEP MOTOR 28BYJ-48
#Коэффициент уменьшения: 1/64
#расчеты:
#5.625 ° / 64 = 0.0878 ° угол шага
#360 ° / 0.0878 = 4100.22 общего количества шагов-полный поворот на 360 °
#4 пина, необходимо послать на каждый 0 и 1, т.е. 8 движений по пинам (полушаговый режим).
#4100шагов/8команд для пинов=512,5
#512,5=360 поворот на градусов
z=180; # желаемый угол
n=$[$z*512/360];
echo $n;
i=0;
 if [ "$n" -ge  0 ]; then
 # положительный угол
    while [ $i -le $n ];
    do
    echo "set gpio 15 output 1" > /dev/v2r_gpio;
    echo "set gpio 12 output 0" > /dev/v2r_gpio;
    echo "set gpio 14 output 1" > /dev/v2r_gpio;
    echo "set gpio 15 output 0" > /dev/v2r_gpio;
    echo "set gpio 13 output 1" > /dev/v2r_gpio;
    echo "set gpio 14 output 0" > /dev/v2r_gpio;
    echo "set gpio 12 output 1" > /dev/v2r_gpio;
    echo "set gpio 13 output 0" > /dev/v2r_gpio;
    i=$[$i+1];
    done
 else
 # отрицательный угол
    n=$[$n*(-1)];
    while [ $i -le $n ];
    do
    echo "set gpio 13 output 0" > /dev/v2r_gpio;
    echo "set gpio 12 output 1" > /dev/v2r_gpio;
    echo "set gpio 14 output 0" > /dev/v2r_gpio;
    echo "set gpio 13 output 1" > /dev/v2r_gpio;
    echo "set gpio 15 output 0" > /dev/v2r_gpio;
    echo "set gpio 14 output 1" > /dev/v2r_gpio;
    echo "set gpio 12 output 0" > /dev/v2r_gpio;
    echo "set gpio 15 output 1" > /dev/v2r_gpio;
    i=$[$i+1];
    done
 fi

Все работает, спасибо! :D
qwest
 
Сообщения: 15
Зарегистрирован: 02 дек 2013, 15:25


Вернуться в Железо - заставляем работать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron