Помогите с шаговым двигателем

tesar
Offline
Зарегистрирован: 26.01.2015

Привет всем. Мне нужно подлкючить шаговый двигатель к ардино. Сразу скажу, в этом деле я новичок. Купил моторчик SY35ST36-1004A 2.7В от Pololu и вместе с ним драйвер DRV8834.

SLEEP подключил на 8. STEP и DIR на 3 и 6 соотвественно. Использую библиотеку AccelStepper. Питание для моторчика беру от платы ардуино. В итоге: на 3 вольтах моторчик просто пищит, на 5 вольтах пищит и немного дергается. Пробовал подключать питание от 12-вольтного адаптера (450 мА), но результат тот же.

#include <AccelStepper.h>
#define SLEEP	8
AccelStepper stepper(1, 3, 6);

void setup()
{  
   pinMode(SLEEP, OUTPUT);
   digitalWrite(SLEEP, HIGH);
   stepper.setMaxSpeed(500);
   stepper.setSpeed(100);
}

void loop()
{  
   stepper.runSpeed();
}

В чем тут может быть дело? В драйвере шагового двигателя? Или я неправильно питание на моторчик подаю (то есть не на моторчик, а к драйверу непраильное питание подаю)?
 

DRV8834
SY35ST36-1004A 2.7В от Pololu

Источник http://arduino-ua.com/prod531-Shagovii_dvigatel_SY35ST36-1004A_27V
 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

попробуй поменять местами контакты одной обмотки

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Белый и жёлтый никуда не подключать! Драйвер для биполярного мотора. Питание на драйвер. Цветная схема здесь : https://www.pololu.com/product/2134

Поставьте скорость "1 ", посмотрите как он шагает, непрерывно ли все шаги в одну сторону?

Ток настраивается потенциометром, начните с минимума и без нагрузки на валу.....

tesar
Offline
Зарегистрирован: 26.01.2015

trembo пишет:

Белый и жёлтый никуда не подключать!

Что имеется ввиду белый и жёлтый? Схему я видел, по ней и подключал. Местами подключение обмотки менял всевозможно. Дергается и все...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

На вашем моторчике шесть проводов. Два лишних. Это белый и жёлтый. Схема тут http://www.western-components.com/htm/Motors%20and%20Controls/Stepper/St...

Эти провода для питания в униполярном включении.

tesar
Offline
Зарегистрирован: 26.01.2015

Дело в том, что проводов всего 4.

https://www.pololu.com/product/1209/

Поставил скорость 1. Никуда не шагает. Пишит прерывисто (довольно часто) и все.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Значит они у вас не выведены. Тогда чёрный и зелёный на канал А, остальные на Б

2. Это шим работает. Попробуйте его отключить - М0 и М1 на землю посадите. Подайте на ДИР что-то (0 или 1 чтобы не мешался)

На СТЕП у вас должны идти секундные импульсы ( можете подать допустим с кнопки  зашунтировав её кондёрчиком 10-47 нан)

Так вы проверите свой степ-дир контроллер. Или нет,  лучьше скетчем....


#define dirPin  6
#define stepPin  3

void setup() {
  // set the digital pin as output:
  pinMode(dirPin, OUTPUT);      
  pinMode(stepPin, OUTPUT);  
  digitalWrite(dirPin, HIGH);
}

void loop(){
  digitalWrite(stepPin, HIGH);
  delay (1000);
  digitalWrite(stepPin, LOW);
  delay (1000);
}

 

tesar
Offline
Зарегистрирован: 26.01.2015

trembo пишет:

2. Это шим работает. Попробуйте его отключить - М0 и М1 на землю посадите.

Сработало. M0 на землю поставил и начал крутиться, как положено. Спасибо огромное за помощь.

Но тут появился еще вопрос. Ставлю скорость 500. Крутит нормально (довольно быстро). Ставлю скорость 300 - просто гудит. Может это тоже с М0 и М1 связано? Просто как теперь добиться того, чтобы моторчик крутился медленнее?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

По шагам  с delay(1000) нормально ходит?  внимательно посмотрите на вал- он должен монотонно двигаться в ОДНУ сторону.

Поменяйте 1000 на меньшие значения или даже сделайте ввод с сериала. Потом посмотрите как М0 и М1 работают.

tesar
Offline
Зарегистрирован: 26.01.2015

trembo пишет:

По шагам  с delay(1000) нормально ходит?

Нет. По шагам не ходит. Заливаю ваш проверочный скетч - моторчик пищит, делает шаг в одну сторону, потом в другую. И так постоянно - туда-сюда. Что это может значить?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

delay сделать поменьше. но все равно должен шагать в одну сторону

tesar
Offline
Зарегистрирован: 26.01.2015

jeka_tm пишет:

delay сделать поменьше. но все равно должен шагать в одну сторону

Сделал delay 500. Туда-сюда шагает, только быстрее.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

М0 и М1 на землю чтобы исключить ШИМ ( чтобы зря не пищал и не пугал).  Должен шагать УПОРНО и ЧЁТКО в одну сторону. Скорее всего обмотки неправильно включены. Поменяйте местами концы одной обмотки

tesar
Offline
Зарегистрирован: 26.01.2015

trembo пишет:

М0 и М1 на землю чтобы исключить ШИМ ( чтобы зря не пищал и не пугал).

Самое интересное, что писк не прекращается. М0 ставлю на землю, начинает шагать туда-сюда (пищит). Затем ставлю на землю М1 - никакой реакции (то есть, все тоже самое). Насчет М1 разобрался, он изначально запитан к земле. Концы обмоток менял по-разному. Все равно туда-сюда шагает. Может драйвер бракованный?

tesar
Offline
Зарегистрирован: 26.01.2015

Ладно. Буду пробовать искать другой драйвер. Потому как с этим явно что-то не так.

Для trembo Спасибо большое за помощь.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Кстати возможно и это. Похоже нет одной фазы.... Попробуйте пальцами при медленных шагах пытаться провернуть вал шаговика. Если на каком-то шаге он вдруг станет проворачиваться так-же как и при отключенном питании - значит у вас не работает один из ключей драйвера. Но только надо чтобы драйвер был в режиме FullStep, то есть отключить всякие микрошаги..... Кстати, если поменять делей на 10-20 секунд, можно успеть простым тестером померять напряжения на обмотках...

П.С.  art100 писал что они у него мрут как мухи....

tesar
Offline
Зарегистрирован: 26.01.2015

Последовал вашему совету и поставил делей на 10. Измерил напряжение, которое выдается на обмотки (A1 и A2, B1 и B2). В обеих случаях напряжение было от 0.16 вольта до 0 вольт, затем от 0 до -0.16, далее от -0.16 до 0, от 0 до 0.16 и так по кругу. Так и должно быть? Если да, то ума не приложу, почему мотор не шагает в одну сторону...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

А не маловато 0.16 Вольт? Я думаю там хотя-бы Вольт- два должно быть.... Потенциометр регулирует ток? ( изменяется напряжение?) Блок питания тянет хотя-бы пару-тройка Ампер?

tesar
Offline
Зарегистрирован: 26.01.2015

Вот тут наверно и загвоздка. Блок питания использую от старого мобильника - 5 вольт, 0.7 ампер. Подключаю его на драйвер. На обмотки наверно вообще крохи остаются. Я повотрюсь, что в этом деле новичок и прошу не судить строго. Блоки питания с парой тройкой ампер какие-то специальные наверно должны быть? Был в радиомагазине и спрашивал про регулируемые блоки питания, предложили только регулируемые от 3 до 12 вольт с 1 ампером, других не было.

И еще. В аннотации к драйверу написано, что максимальный ток может быть до 1.5 ампера. Как же к нему подключать даже 2 ампера? Возможно, я что-то не понимаю...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

От тока зависит мощьность движка, но без нагрузки может и хватить . А вот ток(мощьность) как раз потенциометром и регулируется, но не надо сильно перебарщивать. Попробуйте 5-7 Вольт 2 Ампера от рутера какого, но ток поднимайте плавно ( потенциометром). Поднять напряжегие на обмотках хотя-бы до полвольта-Вольта.

tesar
Offline
Зарегистрирован: 26.01.2015

Нашел еще один блок питания. Скрутил оба и получил 12 вольт и 1,5 ампера. Подключил. На A1-A2 выдает от 0.44 до -0.44, а на B1-B2 показывает от 0.3 до -0.3 вольта. Значит все-таки драйвер? Завтра поеду поищу еще блоки питания, я бы потенциометром регулировал, но нет блока питания с током хотя бы 3 ампера.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Я почитал про драйвер, у него 10.8 Вольт максимальное напряжение питания мотора( это чтобы не перегрелся).

А вообще-то напряжения должны быть одинаковыми.... попробую глянуть внутренности, может датчик тока одного из каналов изменил сопротивление.... Это R2 и  R3  на схеме внизу  https://www.pololu.com/product/2134

Или нет соединения между 19 и 20 ножками

vvadim
Offline
Зарегистрирован: 23.05.2012

Топикстартер ерундой занимается - у него мотор жрёт 1А, а он его от дуни питает.

Разве трудно на сайте POLOLU ПОСМОТРЕТЬ КАК ПОДКЛЮЧАЕТСЯ ДРАЙВЕР И ШАГОВЫЙ ДВИГАТЕЛЬ - ВСЁ РАСПИСАНО!

И о регулировке тока на драйвере тоже написано.

Сначала читайте - потом вопросы задавайте.

В библиотеке AccelStepper куча хороших примеров - с ними поиграйтесь.

 

 

tesar
Offline
Зарегистрирован: 26.01.2015

Все мы когда-то занимались ерундой. Особенно тогда, когда мало разбираешься в предмете ))

Теперь по теме. Взял блок питания от старого компьютера. Подключил на драйвер 5 вольт и 7 ампер. Закрутился аж бегом. И шаги стал делать в ОДНУ сторону.

Спасибо большое, trembo. Вы всячески старались помочь и сделали это, подсказав причину проблемы. Премного благодарен.

vvadim
Offline
Зарегистрирован: 23.05.2012

Я не для обид писал, а для правильного решения собственных проблем - сначала читаем всякие описания, потом пробуем всякие примеры, потом вопросы.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

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