Управление шаговым двигателем CD-привода

supereplosive
Offline
Зарегистрирован: 15.03.2014

Здравствуйте, есть вопрос к опытным ардуинщикам.
Когда я начал осваивать ардуино, то сразу же приобрел для знакомства шаговый мотор с «драйвером» на ULN2003. Вопрос в том, можно ли подключить к биполярному шаговому двигателю из CD-привода ардуино через этот «драйвер»? Если да, то подскажите, пожалуйста, как.

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

Не выйдет на  ULN2003, она  умеет только  ключами землю подавать униполярному (с общим соединением обмоток)

а у вас биполярник- две раздельные обмотки,  нужен  мост и защита от сквозных токов.

AS
Offline
Зарегистрирован: 12.03.2014

trembo пишет:

Не выйдет на  ULN2003

Уважаемый, а почему не выйдет? Я подключаю через ULN2003 двигатель 28byj-48 5vDC. Дальше программно 1-2-3-4-1 и у меня все крутится. Я где накосячил?

faraddin
Offline
Зарегистрирован: 11.08.2013

AS пишет:

trembo пишет:

Не выйдет на  ULN2003

Уважаемый, а почему не выйдет? Я подключаю через ULN2003 двигатель 28byj-48 5vDC. Дальше программно 1-2-3-4-1 и у меня все крутится. Я где накосячил?

Вы сравниваете биполярник и униполярный двигатель. На Вашем вращение осуществляется поочередной подачей +5 на каждую ногу, а в CD/DVD поочередно меняются +5 и GND

AS
Offline
Зарегистрирован: 12.03.2014

У меня биполярный. Supereplosive пишет, что у него тоже биполярный. Раскажите, пожалуйста, чем отличается "подача поочередно +5 на каждую ногу" и "поочередно менять +5 и GND"?  Я так понимаю у меня тоже меняется +5 и GND?

faraddin
Offline
Зарегистрирован: 11.08.2013

А Вас не смутило, что в приведенном PDF схема имеет 4 контакта (как на биполярном движке), а рисунок моторчика 5 (как на 28byj-48)?

Разница в том, что по 4 проводам, в вашем случае, поступает +5 вольт, по очереди, а 5-й идет на землю. UNL2003 служит для того, чтобы превратить миллиамперы с вашей ардуины в амперы для вращения двигателя. 

А вот для биполярного двигателя от CD/DVD нужен драйвер, который умеет как включать +5, так и землю. 

Разница конкретно в следующем:

на 28byj-48 подаем на первый провод+5. потом на 2 и  так по кругу. 

на CD/DVD мы должны подать +5 на первый прово и GND на 2й. потом +5 на 3-й и GND на 4-й. Затем мы подаем GND на первый и +5 на второй... UNL2003 не может соединить с землей. Либо +5, либо ничего. Но не земля.

AS
Offline
Зарегистрирован: 12.03.2014

Прошу простить мою тупость, но прошу потратить пару минут и разъяснить. 

В приведенном мной примере к БИПОЛЯРНОМУ двигателю 28byj-48 (я сделал вывод, что биполярный, так как на схеме приведенной в PDF нет связи между парами обмоток) подходит 5ть проводов. 5й провод передает на моторчик GND(имхо). Какая разница с БИПОЛЯРНЫМ двигателем из CD-DVD?

faraddin
Offline
Зарегистрирован: 11.08.2013

Схема неверна! На схеме биполярный двигатель (4 провода). На рисунке униполярный двигатель (5 проводов). Вот правильная, для 28byj-48 схема.

AS
Offline
Зарегистрирован: 12.03.2014

Чувствую, что вы правы, но не верить PDF'ке как-то сразу не получается. Т.е. получается, что ULN2003 подключает моторчик к +5? Т.е. у меня униполярный двигатель? Меня надули?

а может товарищу попробовать библиотеку Stepper.h, она прямо так работает:

  Step C0 C1 C2 C3
     1    1    0  1    0
     2    0    1  1    0
     3    0    1  0    1
     4    1    0  0    1
Как раз, как надо... вроде...
faraddin
Offline
Зарегистрирован: 11.08.2013

28byj-48 - это самый известный и дешевый униполярник. На ebay вместе с драйвером стоит 90 рублей.

Драйверы для биполярника, насколько я знаю, стоят дороже.

0 это 0. GND это GND

В униполярном двигателе 1 - ток идет (+5 -> GND), 0- ток не идет (+5 -> GND). 

В биполярном ток идет сначала в одну сторону от (+5 -> GND), потом в обратную (GND <- +5) .

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

Для шаговика из DVD есть A4988 и аналоги

Uksus
Offline
Зарегистрирован: 16.09.2014

http://duvindu92.blogspot.ru/2013/07/driving-bipolar-stepper-motor-with.html

Вот тут работает на меге 2560 и l298.

Pik_333
Offline
Зарегистрирован: 07.06.2015

Пытаюсь подключить аналогичный драйвер к двигателю из CD-ROM, но почему то не работает нужен совет что не так ? 

Название драйвера DRV8825-MOD покупал здесь:  http://www.kosmodrom.com.ua/el.php?name=DRV8825-MOD

Двигатель подключен к пинам 1В, 1А, 2А, 2В  как на схеме у 4ishops

Скетч такой:

int dirPin = 8;
int stepperPin = 7;
void setup() {
 pinMode(dirPin, OUTPUT);
 pinMode(stepperPin, OUTPUT);
}
 void step(boolean dir,int steps){
 digitalWrite(dirPin,dir);
 delay(50);
 for(int i=0;i<steps;i++){
   digitalWrite(stepperPin, HIGH);
   delayMicroseconds(800);
   digitalWrite(stepperPin, LOW);
   delayMicroseconds(800);
 }
}
void loop(){
 step(true,1600);
 delay(500);
 step(false,1600*5);
 delay(500);
}
Гриша
Offline
Зарегистрирован: 27.04.2014

если фото вашей схемы, думаю что минимум это ваша проблема: 8.2-V to 45-V Operating Supply  Voltage  Range

и что там у вас с пином Enable input - может его притянуть нужно согласно логики... к земле.

 

Pik_333
Offline
Зарегистрирован: 07.06.2015

Фото макета не мое взял из видео: https://www.youtube.com/watch?v=89BHS9hfSUk

Мой макет с двух ракурсов вот: 

art100
Offline
Зарегистрирован: 09.03.2014

supereplosive пишет:

Здравствуйте, есть вопрос к опытным ардуинщикам.
Когда я начал осваивать ардуино, то сразу же приобрел для знакомства шаговый мотор с «драйвером» на ULN2003. Вопрос в том, можно ли подключить к биполярному шаговому двигателю из CD-привода ардуино через этот «драйвер»? Если да, то подскажите, пожалуйста, как.

Можно мои пять копеек.

Да все вы можете подсоединить как угодно. И дрыгаться будет мотор как угодно. Только воть чтоб дрыгался как хочется вам люди советуют для этой хрени скажем "биполярник" вам лучше всего прменить вот такую хрень "водитель мотора с выходом по принципу H-моста". Смотрим на мио фото здесь на форуме. Вникаем изучаем. Чем я там развлекался СД-ромным.

Ищем тут по форуму мои исходники, что тут накидал. По словам водителей моторных ;)

L298 - это просто ключи по схеме H-моста кода писать поболей чем варианты пниже

A4988 - это Н-мосты но уже слушающие по двум проводма Направление Шагать DIR STEP

A3957 - это тоже Н-мосты аналогичные верхним. На вкус и цвет товарища нет.

На фото внизу пара ДВД-механик Пара ЛегкихДрайверов(A3957) Одна ведруинка Один светик. Там пара биполярных моторчиков уверенно шагающих начиная с 6.5 вольта.

ULN2003 это просто 6 ключиков тоже моторы дрыгаться будут. Но неудачно дрыгаются. На вкус и цвет товарища нет.

 

Гриша
Offline
Зарегистрирован: 27.04.2014

Pik_333 пишет:

Фото макета не мое взял из видео: https://www.youtube.com/watch?v=89BHS9hfSUk

Мой макет с двух ракурсов вот: 

чегой - то я не узрел на вашем фото внешнего питания :) 8.2-V to 45-V Operating Supply  Voltage  Range 

 Уважаемый  art100 -   подскажите товарищу, им хватает 5в для старта??? да еще и ток мотором вытягивать с платы ардуино!!!

короче говоря Pik_333, разберитесь с питанием!!!! art100 -  посоветуйте напряжение внешнего источника для СД моторчиков.

а уже потом с кодом можно шаманить...

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Биполярник подразумевает смену полярности питания, что собственно понятно из названия. Правильно написали ребята, нужны или специальные драйверы или Н- мост. Но запустить через сборку Дарлингтона тоже можно, чисто поиграть, но не долго, греться будет все, даже от такого мелкого движка. Для того, чтоб двигатель шагал в полный шаг, на обмотки поочередно нужно подавать следующую последовательность импульсов со сдвигом фазы в 90 градусов. Примем, что первая обмотка имеет выводы 1 и 2 и вторая соответственно 3 и 4, 1 и 3 выводы, это начала обмоток. Тогда нужно подать на 1 плюс, на 2 минус, потом на 3 плюс на 4 минус, далее на 1 минус, на 2 плюс, далее на 3 минус на 4 плюс и потом вновь все сначала. Сдвиг фазы на каждом шаге для полношагового режима 90 градусов. Организовать(для баловства, только попробовать, недолго) можно используя 4 транзистора сборки Дарлингтона или полевики и биполярники соответственно ограничив токи резисторами, обмотки подключаются к 4 пинам, которые коммутируют минусы на нагрузку, для смены полярности , эти 4 силовые выхода подтягивают к плюсу питания через резисторы 20 Ом и не менее 2 Ватт. Все это лепка и будет греться, но запустить и проверить скетч можно. Для реального использования нужен Н - мост. Набирите в гугле драйвер биполярного двигателя, инфы море. Есть у меня и скетч, запускал и такой движок и трехфазный от hdd, чисто поиграть, ради собственного опыта. На работе все, если не найдёте в инете, могу посмотреть все. Для указанного в первом посте движка нужно 12 вольт, для этого в указанной в том же посте платка есть специальный вход питания. Посмотрите даташит на микросхему или схему включения платки.

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

art100
Offline
Зарегистрирован: 09.03.2014

Гриша пишет:

Pik_333 пишет:

Фото макета не мое взял из видео: https://www.youtube.com/watch?v=89BHS9hfSUk

Мой макет с двух ракурсов вот: 

чегой - то я не узрел на вашем фото внешнего питания :) 8.2-V to 45-V Operating Supply  Voltage  Range 

 Уважаемый  art100 -   подскажите товарищу, им хватает 5в для старта??? да еще и ток мотором вытягивать с платы ардуино!!!

короче говоря Pik_333, разберитесь с питанием!!!! art100 -  посоветуйте напряжение внешнего источника для СД моторчиков.

а уже потом с кодом можно шаманить...

Видишь суслика ? Нет? А он там есть.

В правом нижнем углу питатель. На нем щупы от вольтметра красный черный. На питателе выход мимнимальный 6.5 вольта чтобы:

Моторам 5 вольт хватает. Драйверочкам моторов нет. Только с минимальных 6.5 вольта начинают ардуинку слушаться и управлять моторами. Так что деалайте что хотите но будьте готовы драйверочкам моторв дать побольше.

art100
Offline
Зарегистрирован: 09.03.2014

Pik_333 пишет:

Пытаюсь подключить аналогичный драйвер к двигателю из CD-ROM, но почему то не работает нужен совет что не так ? 

Название драйвера DRV8825-MOD покупал здесь:  http://www.kosmodrom.com.ua/el.php?name=DRV8825-MOD

Двигатель подключен к пинам 1В, 1А, 2А, 2В  как на схеме у 4ishops

Скетч такой:

int dirPin = 8;
int stepperPin = 7;
void setup() {
 pinMode(dirPin, OUTPUT);
 pinMode(stepperPin, OUTPUT);
}
 void step(boolean dir,int steps){
 digitalWrite(dirPin,dir);
 delay(50);
 for(int i=0;i<steps;i++){
   digitalWrite(stepperPin, HIGH);
   delayMicroseconds(800);
   digitalWrite(stepperPin, LOW);
   delayMicroseconds(800);
 }
}
void loop(){
 step(true,1600);
 delay(500);
 step(false,1600*5);
 delay(500);
}

Батенька вижу ваш драйверочек и не вижу

1 где питание минимум 8.5 вольт а проще 12 вольт?

2 где разрешение на подачу высокого напряжения (допустим 12 вольт) на катушки мотора. 1-ая нога ENABLE на землю по умолчанию?

Щас дальше посмотрю. Драйверок новомодный но подключение смотрю колассическое как у проверенного старичка А4988. Значит кроме отличия в максимальной микрошаганутости 1:16 1:32 различий нет.

3. SLEEP тоже к земле притянуть закоротить.

4. вообще принцип какой Все зделано так чтобы работать сутками без остановок поэтому спячкой и снятием высокого напряжения если не вы то микроконтроллер должен беречь в секунды простоя. По умолчанию земля кругом и все в землю затягивается. Кроме резета который уже затянуть в плюс слаботочного 5в питания. Радиаторчки не забудьте приклеить из комплекта. Потому как в таком режиме все Енабле и Спать в земплю мотор будет удерживатся током то есть греться. Отладить хватает. Пальцем щупайте контроллируйте нагрев.

Ваш леонардо должен иметь стабилизатор и прекрасно от 9 вольт работать. Ваш драйверочек 8855 тоже 9 вольт любить должен не перегреваясь. Вашему моторчику многовато 9 вольт но не сгорит. Поищите 9 вольт питание 500мА. Немного. Тютелька в тютельку. И не перегреется драаверок. Опасайте перепутки высокого напрячжения и низкого напряджения сгорит сразу без дыма и предупреждений. Этот тип драйверов никто не ремонтирует.Он так зделан чтобы просто заменять. Обычно я их не менее 5 штук за раз покупаю. Дешевые ведь.

Короче выкинте ту схему по которой собираете. Берите правильную. Для теста годится. В промышленном станке добавить только охлаждающие режимы.. Все свободные важные ногои в воздухе не болтаются. А вы смотрю желтым проводом типа охлаждение и резет накосячили и енабле высокого не разрешили. Тут автор может в земплю а может рулить нагревом в режиме простоя удержания сиреневым. А оранжевым из спячки слаботочку по любому вытянет потому как резет внутри уже в +5в подтянуты. И очень важный кандер от пробоя. Хотя народ думает это для сглаживания. Сглаживание да не то. Когда на мотором механика крутит. Мотор генерирует не балуй. А тут рядышком кандер сжирает импульсы иначе Н-мост сгорает только в путь. Защитных 8 штук мощных на 2 амера диодов нет. Внутренние конструктивные жидкие только на слабых моторах спасают или если механика не крутит моторм. Ваш случай. Мотор вообще некакой там и 1 ампера по 12 вольтам не будет.

Я эти "дрова еще не жог". Если получится отпишитесь.

Pik_333
Offline
Зарегистрирован: 07.06.2015

Спасибо за развернутые ответы. Ожил моторчик от 12V, но как Вы и писали греется сильно. Пока основательно не разбирался есть стратегический вопрос. 

Собираю миниатюрный ЧПУ.

Задачи :

1. Точность 0,05 - 0,1 мм 

2. Дешевизна

3. Возможность поставить сборку на поток

Моторчик из CD по дешевизне выигрывает с ним и винт и направляющие, а вот с наличием могут быть проблемы. Разбирать старые CD-ROM - не вариант, а где купить новые моторчики не нахожу. Поэтому подумываю поиграться еще и таким вариантом. Заказал здесь  http://www.service-market.com.ua/products/motor-shagovyy-tyagi-shtorok-dlya-konditsionera-mp24j-b-12v

Придется правда механику мудрить.

Можно ли этот двигатель подключить без драйверов, а только воспользовавшись Arduino MEGA 2560 и H-мостами L298N  нашел здесь: http://www.kosmodrom.com.ua/el.php?name=L298N

или же продолжать через драйвер DRV8825-MOD

Или это все одно и тоже ? Я пока плаваю в этой теме, но хочется разобраться.

Может есть лучшие варианты для такого ТЗ ?

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

Ага. А чтоб гаечку к нему надо токарный станок купить и резцом вырезать. Я что-то уже разочаровываюсь в нестандартщине. На днях приехало 5 моторчиков такого же свойства,- тоньше мизинца. Результат. Я пока не выкинул. Пусть лет 20 мусором полежат. :)

Меньше чем такие меня уже не уговоришь поиграться. Из сегодняшнего.

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

Я не о том....
Тут есть любители прокричать : купил кЕтайское го...но, а оно не хрена не работает.
А китайцы спокойно себе делают шаговик диаметром 3.9 миллиметра:
корпус, обмотки, магнитный ротор .
Вы можете себе представить болтик М4 внутри которого что-то крутится?
Я- нет!!!

Клапауций 999
Offline
Зарегистрирован: 06.06.2015

trembo пишет:

Я не о том....
Тут есть любители прокричать : купил кЕтайское го...но, а оно не хрена не работает.
А китайцы спокойно себе делают шаговик диаметром 3.9 миллиметра:
корпус, обмотки, магнитный ротор .
Вы можете себе представить болтик М4 внутри которого что-то крутится?
Я- нет!!!

ну, ты хоть себе логику не ломай - если китайцы делают что-то хорошо, то это не значит, что они делают ВСЁ хорошо.

ты можешь себе представить комнатные тапки по пять центов?

я - нет.

а, китайцы делают.

что тапки гавно, это ведь не противоречит двигателям диаметром 3.9 миллиметров?

или, двигателя тоже гавно?

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

Могу представить, но я обычно долго читаю что китайци пишут и не только они, но и о них.
И предпочитаю ибэй , а не алиэкспресс - на ибэе обычно не втюхивают фигню, хотя трэкинг на мелочёвку не дают.
А из серии вопрос:
купил китайскую НАНО на 340, ставлю дрова от ФТДИ из папки ИДЕ, нихрена это китайское г.но  не работает- полный форум!

Kolchugin
Offline
Зарегистрирован: 15.12.2013

Pik_333 пишет:

Спасибо за развернутые ответы. Ожил моторчик от 12V, но как Вы и писали греется сильно. 

Попробуйте отрегулировать на плате драйвера подстроечный резистор.
Тестировал мотор от сд привода, на драйвере А4988. Потом подумал, что жирно будет
для такого моторчика его использовать, поставил Easy Driver A3967, с током до 750мА.
Работает. Что на том, что на этом подаваю на драйвер 12 вольт. Мотор не греется даже после долгой работы. А вот сам Easy Driver греется, а А4988 был холодный.

Да! Мотор 24BYJ48, переделывается очень просто в биполярный, путём перерезания дорожки на плате.

orafo
Offline
Зарегистрирован: 07.11.2015

Здравствуйте помогите новечку в ЧПУ делаю эксперементальный станок из CD-ROMов могу ли я управлять биполярниками из CD-ROM используя вот таку плату (http://www.ebay.com/itm/271551256432?_trksid=p2055119.m1438.l2649&ssPage...) и драйвра DRV8825 или они подходят тока для ардруино?? еще хотел бы уточнить Как я понял драйвера ULN2003 предназначены для униполярных двигателей и двигателями от CD-ROM управлять точно не получиься ? 

4ishops
Offline
Зарегистрирован: 06.10.2012

orafo пишет:

Здравствуйте помогите новечку в ЧПУ делаю эксперементальный станок из CD-ROMов могу ли я управлять биполярниками из CD-ROM используя вот таку плату (http://www.ebay.com/itm/271551256432?_trksid=p2055119.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT) и драйвра DRV8825 или они подходят тока для ардруино?? еще хотел бы уточнить Как я понял драйвера ULN2003 предназначены для униполярных двигателей и двигателями от CD-ROM управлять точно не получиься ? 

 

Выше писали про А4988, это оптимально для CD-ROM моторов. ULN для них не подойдет.

 

 

orafo
Offline
Зарегистрирован: 07.11.2015

С этим вроде как разобрался решил купить DRV8825 чтобы с запасом на будущее шд от стдиром временно потом планирую пробывать другие ШД

Я возможно не совсем правильно изложин суть вопроса вопрос в том драйвера дрв8825 и подобные им будут работать с такой платой (http://www.ebay.com/itm/271551256432trksid=p2055119.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT)или же они тока под Ардруино в продаже на том же ебей у прадавцов написано что под Ардруино а мне надо под такую плату с ебей будут ли они работать с ней ?

Kolchugin
Offline
Зарегистрирован: 15.12.2013

4ishops пишет:

Выше писали про А4988, это оптимально для CD-ROM моторов. ULN для них не подойдет.

Кстати в учёбнике вот по этой ссылке:http://arduino.ru/forum/apparatnye-voprosy/arduino-basic-connections-book , если верить картинке, можно к ULN подключить биполярник, в схему нужно добавить несколько резисторов по 22 Ома  и стабилитрон. 

orafo
Offline
Зарегистрирован: 07.11.2015

orafo пишет:

изложин суть вопроса вопрос в том драйвера дрв8825 и подобные им будут работать с такой платой (http://www.ebay.com/itm/271551256432trksid=p2055119.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT)или же они тока под Ардруино в продаже на том же ебей у прадавцов написано что под Ардруино а мне надо под такую плату с ебей будут ли они работать с ней ?

Помогите С вопросом пожалуйста 

Гриша
Offline
Зарегистрирован: 27.04.2014

orafo пишет:

orafo пишет:

изложин суть вопроса вопрос в том драйвера дрв8825 и подобные им будут работать с такой платой (http://www.ebay.com/itm/271551256432trksid=p2055119.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT)или же они тока под Ардруино в продаже на том же ебей у прадавцов написано что под Ардруино а мне надо под такую плату с ебей будут ли они работать с ней ?

Помогите С вопросом пожалуйста 

помогаю, задайте вопрос продавцу, чтоб выслал документацию или ищите доки сами.

orafo
Offline
Зарегистрирован: 07.11.2015

так причем тут это я это уже сделал давно и жду когда придет плата к ней можно подколючить любой драйвер 

меня интересует универсальны ли эти драйвера ??

Гриша
Offline
Зарегистрирован: 27.04.2014

orafo пишет:

так причем тут это я это уже сделал давно и жду когда придет плата к ней можно подколючить любой драйвер 

меня интересует универсальны ли эти драйвера ??

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

ЗЫ у вас наверное совсем нет времени, чтобы расставить знаки препинания, так у меня тоже нет времени угадывать, что именно вы хотите , такая каша из слов…

orafo
Offline
Зарегистрирован: 07.11.2015

Гриша пишет:

orafo пишет:

так причем тут это я это уже сделал давно и жду когда придет плата к ней можно подколючить любой драйвер 

меня интересует универсальны ли эти драйвера ??

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

ЗЫ у вас наверное совсем нет времени, чтобы расставить знаки препинания, так у меня тоже нет времени угадывать, что именно вы хотите , такая каша из слов…

Все купил во всем разобрался все подключил все работает ) а времени действительно нету свободного вообще 

и мне не понятна ваша агресия по легче на поворотах)))

Гриша
Offline
Зарегистрирован: 27.04.2014

orafo пишет:

и мне не понятна ваша агресия по легче на поворотах)))

накопилось... очень много посетителей приходят и требуют, а решение иногда элементарное. Иногда нужно самому ТС спокойно разобраться, а не спешить задать вопрос.

paralaxx
Offline
Зарегистрирован: 03.02.2016

Драйвер на uln2003 вполне подойдет для начинающих, для управления моторами до 500 мА, сделал небольшой обзор по драйверу.

https://youtu.be/5mVMBr3GjKQ

 

ol7474
Offline
Зарегистрирован: 05.04.2016

Здравствуйте,подскажите,пожалуйста такой набор http://m.aliexpress.com/item/2040099042.html подойдёт для управления двигателями от CD-ROM и флоппи-дисковода?

maxvalin
Offline
Зарегистрирован: 22.02.2016

Всем вечер добрый! Помогите и мне пожалуйста  разобраться с 4988. Использую ramps 1.4 с mega2560 и двигатель nema 17.

много часов бьюсь над тем как заставить его крутится стандартным кодом типа 

#include <AccelStepper.h>
AccelStepper Stepper1(1,55,54); //использует пин 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(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя
}

с ним не крутится.

 с Этим идет плавное вращение 

int ledPin = 13; // LED connected to digital pin 13
int enx = 38;
int stepx = 54;
int dirx = 55;
int Z =1;

// The setup() method runs once, when the sketch starts

void setup() { 
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT); 
pinMode(enx, OUTPUT); 
pinMode(stepx, OUTPUT); 
pinMode(dirx, OUTPUT); 
digitalWrite(enx, HIGH);
digitalWrite(stepx, LOW);
digitalWrite(dirx, LOW);

}

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop() 
{
digitalWrite(enx, LOW);
digitalWrite(dirx, HIGH);
digitalWrite(ledPin, HIGH); // set the LED on
for (int x = 0; x<800; x++){ //not sure how this line is effecting the entire system, x< any# does not change how long the motors step for me
digitalWrite(stepx, HIGH);
delay(1); //using this and the below delay to control speed, but only a few different combinations between 0-3 run smoothly so i could use help here
digitalWrite(stepx, LOW);
delay(1);
} //no matter what both motors are running in sync, not what i want
for (int b = 0; b<50; b++){

delay(0);
}
}

Почему так происходит?! Пипец... сделал уже меню, разобравшись с кучей переменных, обработкой кнопок и энкодером, думал ШД  легкотня ... А тут облом! - как головой в стену.. ничего не понимаю. ENEBLE надо на землю вязать?  Как же он с другим кодом работает сразу?!

maxvalin
Offline
Зарегистрирован: 22.02.2016

может с этими драйверами библиотека не работает? 

 

faraddin
Offline
Зарегистрирован: 11.08.2013

ol7474 пишет:
Здравствуйте,подскажите,пожалуйста такой набор http://m.aliexpress.com/item/2040099042.html подойдёт для управления двигателями от CD-ROM и флоппи-дисковода?

Возьмите пачку таких http://ru.aliexpress.com/item/Freeshipping-A3967-stepper-motor-driver-module-EasyDriver-Stepper-MotorDriver/32551945196.html, самое оно для CD/DVD/floppy

maxvalin
Offline
Зарегистрирован: 22.02.2016

разобрался- step и dir местами надо было менять.  Это уже зацикливание когда не видишь очевидное((

Семен Семеныч....(бриллиантовая рука)

Kwazio
Offline
Зарегистрирован: 27.05.2016

Интересная тема. Понаблюдаю.

Shtaketnik21
Offline
Зарегистрирован: 20.06.2017

Всем привет, буду честен я в этом деле новичек, заказал  вот такой набор - https://ru.aliexpress.com/item/CNC-3D-Printer-Kit-for-Arduino-Mega-2560-R3-RAMPS-1-4-Controller-LCD-12864-6/32406685298.html . Хочу запустить двигатель от CD-ROMа , долго искал подходяцие скетчи, нашел только CNC и такую же программу для управления двигателями... подключаю питание 12в двигатель замыкает( не ходит в холостую) и он сильно греется, драйвер холодный, и такая реакция двигателя только на оси y, на x,z реакции никакой, драйвера местами менял, может дело в скетче? (сам не могу написать, пытаюсь найти что-то подходящее, для начала чтобы просто оживить двигатель). Буду благодарен любым советам

TVM
Offline
Зарегистрирован: 04.06.2017

Shtaketnik21 пишет:

Всем привет, буду честен я в этом деле новичек, заказал  вот такой набор - https://ru.aliexpress.com/item/CNC-3D-Printer-Kit-for-Arduino-Mega-2560-R3-RAMPS-1-4-Controller-LCD-12864-6/32406685298.html . Хочу запустить двигатель от CD-ROMа , долго искал подходяцие скетчи, нашел только CNC и такую же программу для управления двигателями... подключаю питание 12в двигатель замыкает( не ходит в холостую) и он сильно греется, драйвер холодный, и такая реакция двигателя только на оси y, на x,z реакции никакой, драйвера местами менял, может дело в скетче? (сам не могу написать, пытаюсь найти что-то подходящее, для начала чтобы просто оживить двигатель). Буду благодарен любым советам

http://wiki.keyestudio.com/index.php/Ks0096_keyestudio_CNC_Kit_/_CNC_Shi...

Там есть тест "осей" (Test Main Board).

Подставьте свои данные.

 

Shtaketnik21
Offline
Зарегистрирован: 20.06.2017

Спасибо, после работы буду пробовать

nik182
Offline
Зарегистрирован: 04.05.2015

Мои 5 копеек.  На этой плате http://iarduino.ru/shop/Expansion-payments/l9110-dvuhkanalnoy-h-bridge-motor-driver-modul.html . Без библиотек. Приведено к виду Step - Dir . После вращения не блокируется - не греется. Максимальное количество микрошагов. dstep - время отработки одного шага в микросекундах - зависит от двигателя - нужно подбирать экспериментально, меньше - силы может не хватить напроворот, больше - будет греться и дергаться. 

#define AIA  8
#define AIB  9
#define BIA  10
#define BIB  11

#define dstep 3500 

bool dir;

void ustep(uint8_t s);
void steps(uint16_t s)

void setup() {
  pinMode(AIA, OUTPUT);
  pinMode(AIB, OUTPUT);
  pinMode(BIA, OUTPUT);
  pinMode(BIB, OUTPUT);
  Serial.begin(9600);
  Serial.println("f - Forward");
  Serial.println("b - Backward");
  Serial.println("h - One step");
  Serial.println("l - Full step");
  Serial.println("m - One turn");
  Serial.println("? - This text");
}

void loop() {

  if (Serial.available() > 0) {
char    incoming_char = Serial.read();
    switch (incoming_char) {
      case 'h':
        steps(1);
        break;
      case 'l':
        steps(8);
        break;
      case 'm':
        steps(40);
        break;
      case 'f':
        dir = true;
        break;
      case 'b':
        dir = false;
        break;
      case '?':
  Serial.println("f - Forward");
  Serial.println("b - Backward");
  Serial.println("h - One step");
  Serial.println("l - Full step");
  Serial.println("m - One turn");
  Serial.println("? - This text");
        break;
        
    } 
  } 
}

void ustep(uint8_t s) {
    switch (s) {
      case 0:
        digitalWrite(AIA, HIGH);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, LOW);
        break;
      case 1:
        digitalWrite(AIA, HIGH);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, HIGH);
        digitalWrite(BIB, LOW);
        break;
      case 2:
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, HIGH);
        digitalWrite(BIB, LOW);
        break;
      case 3:
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, HIGH);
        digitalWrite(BIA, HIGH);
        digitalWrite(BIB, LOW);
        break;
      case 4:
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, HIGH);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, LOW);
        break;
      case 5:
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, HIGH);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, HIGH);
        break;
      case 6:
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, HIGH);
        break;
      case 7:
        digitalWrite(AIA, HIGH);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, HIGH);
        break;
    }  
        delayMicroseconds(dstep);
        digitalWrite(AIA, LOW);
        digitalWrite(AIB, LOW);
        digitalWrite(BIA, LOW);
        digitalWrite(BIB, LOW);
} 

void steps(uint16_t s)
{
  static uint8_t ss;
  for (uint16_t i=0; i<s;i++)
  {
    if (dir) {ss++; if(ss>7) ss=0;} else {if(ss<1) ss=8; ss--;};
    ustep(ss);
  }
}