Как подключить Stepper Motor к Arduino?
- Войдите на сайт для отправки комментариев
Втр, 31/07/2012 - 20:38
Всем привет.
Пока моя адруина едет, решил немного о ней почитать и разобраться с плюшками, которые я вместе с ней заказал. Одна из них - два Stepper мотора с драйвером ULN2003 - ebay. Возник вопрос - а как его подключить-то к ардуине и использовать (крутить вперед-назад, тормозить и скорость менять)? Внятного и понятного мне ответа не нашел, а в даташитах пока не особо разбрираюсь... Хватит ли портов для 2 таких моторов + 1 серва + сонар + еще что-нибудь (например он)?
Заранее спасибо за ответ.
пока дуина едет, ставте среду (IDE) и смотрите примеры, там есть управление шаговиком, сервами и т.д. Портов хватит для 4 моторов + 2 серв + 6 сонаров. типа...
Это само собой, уже скачал и смотрю, но там про соединение мало написано, вот я и спросил. Порты какие неважно, хоть 1-2-3-4 хоть 1-5-9-10 (с изменением скетча есс-но)? И с питанием вопрос: можно с дуины вывести 5V и GND или отдельно нужно?
P.S: прошу прощения за очепятки в первом посте - кнопки на клаве залипают.
Судя по фотографии, потребуется 4 порта дуины. Какие именно, неважно. Вообще, в микрухе 6 инверторов. Обычно 2 свободных используют для инверсии сигнала, дабы использовать только 2 вывода дуины. Питать шаговик лучше отдельно, хотя этот дуина потянет.
Спасибо огромное!
А как использовать только 2 вывода? Или на этом драйвере никак?
Нужна схема драйвера. Тогда смогу нарисовать как.
В пустыне встречаются осёл и прапорщик.
Осёл:
— Ты кто?
Прапорщик посмотрел по сторонам:
— Я офицер, а ты?
Осел посмотрел по сторонам:
— Тогда я — лошадь.
Вот и ULN2003 относится к категории "драйвер" примерно так же :)
По большому счету это просто несколько транзисторов "в одном корпусе", которые "никакого ума" - не имеют. Сугубо для управления мощной нагрузкой.
Вот тут про нее почитать можно
http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...
А "как рулить степпером", не поверите, расписанно на официальном сайте ардуины. И как раз в разделе "обучение", подраздел Stepper. http://www.arduino.cc/en/Tutorial/Stepper
С ардуиной "из коробки" даже либа специальная для этого идет. Stepper называется :) А в туториале и схема подключения есть "использовать только два вывода". И как раз на примере ULN2003 :)
Да и если спросите гугл, думаю он вам еще сотню примеров подскажет.
Я в курсе. Именно эту схему я и имел в виду... Но если бы человек разбирался в схемотехнике, то и не спрашивал бы. Ему нужно будет "на натуре", то есть прямо на фотографии нарисовать нужные перемыки и объяснить, что к чему.
Я в курсе. Именно эту схему я и имел в виду... Но если бы человек разбирался в схемотехнике, то и не спрашивал бы.
Ну я, на самом деле ему и отвечал. Где про это можно почитать-посмотреть. "разбирание в схемотехнике" возникает именно от чтения.
Каюсь, не указал кому отвечаю. Естественно отсылать вас, предложившего "нарисовать схему", к статье объясняющей что-то такое ULN2003 было-бы глупо :)
Мы друг друга не поняли :)))
Я понял, что это не мне, просто уточнил свою позицию.
Если человек не имел дела со схемами, а это, скорее всего так, то схему он "прочитать" не сможет, а припаять перемычки по нарисованному - сможет.
Ну, не стоит тут такие разборки из-за меня делать :) В описании лота написано Driver, вот я так его и называю. Со хмемами дела не имел.
Спасибо за развернутые ответы.
Инфу на оф сайте нашел, про 4pins подключение понял, а вот 2pins как-то не очень... Может, есть готовые драйвера-платы с таким выводом?
Про руление тоже нашел - я так понимаю, запустить мотор в фоновом режиме не получится (про функцию step написано blocking)? Я их хотел использовать в качестве моторов для колес машинки (а-ля Explorer-Объезжайка) + будет сервой крутиться башка с сонаром... Хотелось бы что-то в стиле Forward, Backward, Stop.
В принципе, мне это особо не нужно, так как на запланированное и так хватает портов, но все-таки знать, что есть запас и возможность докрутить что-то новое... Приятно )
Есть другие драйвера - более "продвинутые". Например, EasyDriver - я его использую (купил в Мегаэлектронике. Такие драйверы используют 2 вывода "Step/Dir", то есть направление и шаг. Используется другая библиотека - AFMotor
Спасибо за информацию, UDF (по привычке так либы называю) скачал, буду примеры изучать.
У меня по нему вопросик возник. Насколько я понял из доков на оф сайте и теста в Virtual BreadBoard, пока крутится степпер (запущенный библиотекой Stepper, вариант с попеременной подачей на ноги HIGH и LOW в VBB не прокатил), ничего выполнять нельзя. Можно ли с EasyDriver это исправить? Например, пуляешь мотор, выполняешь действия (например сонаром дистанцию смотришь), и по результатам (допустим, 10см) вырубать его...
Мда, видимо поторопился я со степперами... Нужно было DC брать... Всем спасибо за ответы.
Напоследок пара вопросов:
1) Можно ли будет "обмануть" блокировку функции step с помощью мультизадачности *click*? Например, пустить в одном потоке на оба мотора step(1) если глобальная переменная =1, а если 0 то ждать (т.е. остановить); а во втором потоке в зависимости от полученной информации выставлять значение этой переменной... Криво, но по идее должно получиться...
2) Хватит ли вот такого драйвера на два DC мотора вольтажом 12 (или 5, смотря какой найду...) В, и можно ли им управлять через AFMotor либу? Или нужно брать MotorShield? Он вроде вставляется всеми контактами в дуину, а их вывода я не вижу - только моторы цеплять можно будет?
UPD: нашел другие Motor шилды (1, 2), но они как-то тоже странные... Посоветуйте какой нормальный... И наверное с внешним питанием...
UPD2: нашел еще один, нравится, но дорогой - 750р выходит. Найти бы аналог подешевше...
Извините, не ту библу указал.Вам нужно AccelStepper . Там есть примеры, режим блокирующий и неблокирующий. Удобно рулить одновременно несколькими шаговиками. Режим ускорения/торможения.
Вау, супер! Мне нравится. Но с теми платами, которые я заказал, работать не будет наверное -> надо брать EasyDriver?
Будет с любыми работать. У него 4 варианта инициализации - на 4 выхода, на 2, на 1 (имеется в виду степ-дир, на самом деле 2) и на 0 :)
0 выходов - это вариант с двумя внешними функциями управления step+ и step-, используется с библиотекой AFMotor, например.
Классно! Спасибо тебе огромное, а то я уже намерился брать L-Motor Shield от CraftDuino или самому шилд на базе L293 сотворить...
Привет я сегодня купил step motor и arduino uno. Подскажите пожалуйста как их подключить и какую программу нужно выбрать для мотора ?
Я подключил степ мотор как на видео http://www.youtube.com/watch?v=TvbUYbhHoIU я правильно подключил ?
Я подключил степ мотор как на видео http://www.youtube.com/watch?v=TvbUYbhHoIU я правильно подключил ?
Нет. Можете сжеть ардуино. Можете и не сжеть, но нагружать мотор я точно не рекомендую.
Подключение конкретно этого мотора по идее - тривиальная задача, ибо специально для него есть драйвер на ULN2003.
http://www.ebay.com/itm/ULN2003AN-ULN2003-Stepper-Motor-Driver-Board-Module-for-Arduino-AVR-AR-M-SMD-/181013746136?pt=LH_DefaultDomain_0&hash=item2a254291d8
http://www.ebay.com/itm/2pcs-Stepper-Motor-5V-4-phase-5-line-Driver-Board-ULN2003-for-Arduino-/400862179409?pt=LH_DefaultDomain_0&hash=item5d553f7051
Для работы используйте стандартный пример из стандартной библиотеки Stepper.h