вопрос по подключению шагового двигателя

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Ответить
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

вопрос по подключению шагового двигателя

Сообщение User14 »

Добрый день!

Купил у вас два шаговых двигателя(http://pacpac.ru/product/rob-09238-step ... with-cable http://pacpac.ru/product/rob-10551-small-stepper-motor/). Задача- подключить их к ардуино минимальными усилиями с возможностю задавать фиксированные углы поворота. В наличае есть несколько мотор-шилдов(http://carduino.ru/index.php?cPath=208 и http://amperka.ru/collection/arduino-sh ... tor-shield) и микросхема l298n. В схемотехнике не силен, можно ли запитать эти моторы от обозначенных драйверов?
Пробовал подключить через амперковский моторшилд большой мотор. Подключил на один канал красный-зеленый, на второй- желтый-синий провода. Залил стандартный пример из IDE "one step at a time". Напряжение на каналах начало прыгать от 0 до 12 вольт. Вроде бы все правильно, но мотор не шевелится. В чем может быть дело?
Если включать через микросхему, обязательна ли обвязка? Видел мануал где подключали(правда это была 293) напрямую к микросхеме.
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

Re: вопрос по подключению шагового двигателя

Сообщение User14 »

Частично разобрался. Оказалось, что в стандартном примере были неправильно указаны пины. Вместо Stepper myStepper(stepsPerRevolution, 4,5,6,7); должно быть 4,6,5,7
Теперь заметил, что мотор ощутимо нагревается. Это нормально?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: вопрос по подключению шагового двигателя

Сообщение Mr.Kubikus »

Привет!

Нагрев ШД во время работы - это норм. Через обмотки всегда течет ток. Даже когда мотор не вращается. У нас уже были тут темы про подключение и нагрев ШД:
http://pacpac.ru/forum/viewtopic.php?f=23&t=293
http://pacpac.ru/forum/viewtopic.php?f=23&t=191
С уважением, Григорий
GitHub FB ВК
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

Re: вопрос по подключению шагового двигателя

Сообщение User14 »

Спасибо.
Сейчас новая проблема. Есть конструкция типа лебедки. Масса груза около 200грамм. Большой мотор еле тянет этот груз. Понимаю, что словами это объяснить сложно, но по ощущениям ну совсем слабый мотор получается.
Хоть как-то он крутится только при приведенных ниже значениях шага и скрости(или близких к ним). В остальных случаях только урчит и подергивается даже на холостом ходу.
Питается независимо от 12в.
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 4,6,3,7);

void setup() {
myStepper.setSpeed(100);
}
void loop() {
myStepper.step(2000);
myStepper.step(-2000);
}
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: вопрос по подключению шагового двигателя

Сообщение Mr.Kubikus »

Какой именно мотор вы используете?
С уважением, Григорий
GitHub FB ВК
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

Re: вопрос по подключению шагового двигателя

Сообщение User14 »

Пробовал оба купленных мотора и два разных контроллера. Несколько раз правильность подключения проводов. мотора.
Пробовал как пример из IDE - stepper, так и просто код, взятый с одного форума, как рабочий пример:
int motorPin1 = 3;
int motorPin2 = 4;
int motorPin3 = 6;
int motorPin4 = 7;
int delayTime = 6;

void setup() {
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}

void loop() {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3,HIGH );
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3,HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);

Моторы ведут себя непредсказуемо- с дем же самым кодом могут крутиться рывками, а могут просто дергаться. Такое ощущение, что им неправильно подается напряжение на обмотки или что-то с прерыванием.
Третий день не могу заставить их крутиться нормально...
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

Re: вопрос по подключению шагового двигателя

Сообщение User14 »

И эту проблему. Была проблема с питанием. Запитал все через ардуиновский вход(12в).
Теперь после нескольких минут ровной работы мотор опять начитает дрожать и сильно падает мощность. В чем может быть дело на этот раз?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: вопрос по подключению шагового двигателя

Сообщение Mr.Kubikus »

Может быть включается защита источника питания?
С уважением, Григорий
GitHub FB ВК
User14
Сообщения: 7
Зарегистрирован: 17 фев 2014, 15:50

Re: вопрос по подключению шагового двигателя

Сообщение User14 »

До конца прочитать не смог- какой-то бессвязный поток сознания...
Проблема, как оказалось в перегреве контроллера- стоит на него подуть и мотор начинает крутиться нормально.
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: вопрос по подключению шагового двигателя

Сообщение Mr.Kubikus »

Ну значит срабатывает защита драйвера. Надо глянуть в даташите на чип - какая у него максимальная рабочая температура кристалла.

Автор выше в первой строчке пишет "...ночью в 2 часа закончил отладку". Можно простить :)
С уважением, Григорий
GitHub FB ВК
Ответить