Разъясните по Шаговым Движкам пожалуйста
- Войдите на сайт для отправки комментариев
Пнд, 30/05/2016 - 02:34
Нужно срочно написать программу для управления шаговыми двигателями (для манипулятора). Есть такой драйвер
http://electroprivod.ru/pdf/SMD-1.8-pasp.pdf вопрос: нужно ли использовать библиотеки? или просто могу написать что на step подать столько то импульсов, на DIR и ENABLE подать либо ноль либо единицу и все будет работать? в чем я не прав? Причина, по которой пришел к этому выводу - везде в коде используют 4 пина для подключения ШД, но в моем драйвере их 3, выхода у драйвера 4, значит это для подключения напрямую? С программированием знаком по стольку по скольку. Практики 0. Ну если у кого-то пример завалялся - расцелую.
вопрос: нужно ли использовать библиотеки?
Как хотите.
на step подать столько то импульсов, на DIR и ENABLE подать либо ноль либо единицу и все будет работать?
Найдите даташит, там все описано
Ну если у кого-то пример завалялся - расцелую.
По нику ничего нельзя сказать о Вашем поле, потому я на всякий случай воздержусь от публикации примера - не хватает мне по жизни толерантности :)
все нормально по пинам. 4 это другой случай.
управлять просто en подать 0. на dir 1 или 0 в зависимости от направления, на step 0 и 1 для одного шага. sw переключатели для микрошагов выставить
целовать не надо. я не толерантен
int dir1 = 13; int enb1 = 14; int step1 = 15; void setup() { pinMode(dir1, OUTPUT); // устанавливает режим работы - выход pinMode(enb1, OUTPUT); pinMode(step1, OUTPUT); } void loop() { for (int i=0; i <= 100; i++){ analogWrite(dir1, HIGH); analogWrite(enb1, HIGH) analogWrite(step1, HIGH) delay (10); analogWrite(step1, LOW) delay (10) } }Ну то есть, если подобным образом составить программу то взлетит?
А SW переключатели это же на самом драйвере? Ну в смысле не программно.
#define dir1 13 #define enb1 14 #define step1 15 void setup(){ pinMode(dir1, OUTPUT); // устанавливает режим работы - выход pinMode(enb1, OUTPUT); pinMode(step1, OUTPUT); } void loop(){ digitalWrite(enb1, HIGH); digitalWrite(dir1, HIGH); for (int i=0; i < 100; i++){ // 100 шагов digitalWrite(step1, LOW); delay (10); digitalWrite(step1, HIGH); delay (10); } digitalWrite(dir1, LOW); for (int i=0; i < 100; i++){ // 100 шагов digitalWrite(step1, LOW); delay (10); digitalWrite(step1, HIGH); delay (10); } }да на самом драйвере
спасибо большое)
так ты парень или девушка? интрига все таки
С программированием знаком по стольку по скольку.
В первом сообщении есть такая строчка)
В первом сообщении есть такая строчка)
понятно
Ну если у кого-то пример завалялся - расцелую.
жесть. фу фу фу
Рано вы забыли товарища Брежнева с его крепкими мужскими поцелуями....
Так поставьте на полосу и посмотрите взлетит или нет.
Рано вы забыли товарища Брежнева с его крепкими мужскими поцелуями....
Прям как в ангдоте - програмист никакой, зато как целуется ;)