Официальный сайт компании Arduino по адресу arduino.cc
Помогите доработать скетч для управления шаговым двигателем
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 31/05/2015 - 00:33
есть скетч отсюда http://arduining.com/2012/04/22/arduino-driving-a-micro-stepper-motor/ для управления положением ротора шагового двигателя с помощью переменного резистора. надо изменить скетч (или предложить доработку аппаратной части) чтобы подключить более мощный ШД. в идеале, чтобы было два резистора и два ШД, которые управлялись бы независимо. у меня есть ардуино какая-то китайская и микрошаговые контроллеры ШД на А4988. может быть не дорабатывать скетч, а просто докупить другой контроллер, который бы работал не со step/dir, а напрямую с четырьмя выходами ардуино? вариант с А4988 предпочтительнее, потому как их есть 2шт. помогите, пожалуйста!!!!
Простите, не совсем понял вопрос, но если надо подключить более мощные ЩД, то скетч переделывать не надо. Принцип работы всех ШД одинаков: 1 импульс поворачивает ШД а 1 шаг. Ардуина выдает слаботочные импульсы, а драйвер ШД за счет транзисторов и пр. элементов преобразует эти импульсы в сильноточные. Вначале вам надо узнать, какой ток потребляет ваш ШД (можно грубо разделить рабочее напряжение ШД на сопротивление любой обмотки) и в зависимости от этого необходимого тока подбирать контроллер. Для любого драйвера ШД выдаваемый ток - это главный параметр.
Если нужны несколько ШД, то в скетче надо создать несколько объектов ШД
Stepper stepper(STEPS, COIL1, COIL2, COIL3, COIL4);
(только все надо вешать на другие пины Ардуины). Например:
Stepper stepper2(STEPS, COIL1, COIL2, COIL3, COIL4);
А потом установите параметры для второго движка, Например:
Ну и второй потенциометр тоде надо добавить:
Ну а в самом коде крутите ваш второй движок, как надо.
да, всё верно, но у меня нарисовалась другая проблема - этот скетч расчитан на пятипроводные ШД, т.е. четырёхфазные, а у меня мотор на две фазы, т.е. четыре провода. как быть?
https://www.youtube.com/watch?v=Lr1Vc8IicsU
спасибо, но у вас написана своя программа и мне она, видимо, не подойдёт по причине того, что не использует библиотеку работы с ШД. или я не прав?
делаем очередной видеодевайс?)))))
да, именно - систему управления фокусом для стедикама. в принципе, проще взять пару серв + сервотестер, но ШД мне нравятся больше.
в твоей ситуации проще и дешевле купить готовый и заниматься съёмками, а не влазить в эту тему на долгие месяцы.
ты эту тему года два назад уже поднимал)))
да, поднимал, но тогда идея заглохла, потому как были важнее дела - а сейчас собираю трёхосевой стабилизатор и для полного счастья надо фокусом рулить. хотелось бы всё же добить, потому как вся элементная база есть, станки для изготовления корпуса толкового есть и т.д. дело осталось за малым - адаптировать скетч, или заказать новый движок на 4-е фазы под этот скетч. в принципе, второй вариант тоже реален, просто ждать 2-3 недели не особо охота... у меня самого мозг в другую сторону заточен, с программированием я совсем не дружу - я больше по железу выступаю. вот и ищу сочувствующего человека, который бы смог помочь.
на петином форуме ты когда то писал, что у тебя есть корефан, который за три копейки напрограммит любые твои хотелки...
к сожалению, тот чел испарился в прямом смысле этого слова)))
в общем ладно, для начала сделаю на серве и сервотестере, дабы начать снимать - а когда подразберусь с проблемой и буду лучше понимать свои задачи, сделаю нормальный вариант на шаговиках. они меня подкупают меньшим шумом, хотя они и тяжелее серв.
на серве тоже можно работать, а шум при малых перемещениях совсем не критичный.
только с сервотестером не получить запоминание позиций и т.д.
а сам знаешь как эти фишки украшают картинку)))
запоминание для меня не столь важно, главное точность и малый шум. может серву пересмазать и закрыть в какой-то кожух шумоизолирующий?
теоретически можно снять крышку и смазки напихать, кожух сделать - но что получится не пробовал.
да и в сети инфы о подобных экспериментах не встречал.
жужжит потихоньку - ну и пусть себе жужжит)))
по точности серва конечно проигрывает из-за большого люфта в редукторе (несколько градусов так точно).
иногда на съёмке качественный звук критичен. не всегда, но последним временем попадаются именно такие. так что буду пробовать жужжалку присмирить. вторая проблема серв - шлицевой вал, под который проблематично найти шестерню и придётся ещё и этим заморачиваться. вероятно, надо будет идти на поклон к владельцам 3D-принтаков, иначе это не сделать.
между качалкой и колесом зубчатым делаем переходник и радуемся)))
можно и так попробовать, если с 3D-принтаком не срастётся
ни разу не пользовался - нет никакой точности, не возможно обеспечить посадку, да и коряво выглядит
есть такая проблема, но иногда были у меня и толковые детали. зависит от используемого пластика и оптимальнойсти параметров печати.
на петином форуме ты когда то писал, что у тебя есть корефан, который за три копейки напрограммит любые твои хотелки...
А ссылку на Петин форум можно?
Есть скетч два шаговых крутятся в одну сторону, а как описать каждый отдельно, чтобы один шел на 45град а другой на15, к примеру? если кто может прояснить или где почитать, для делетанта пожалуйста.
правильно вставьте код и создайте свою тему
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
Вы бы сосредоточились на одном вопросе, а то как-то обо всем сразу.
Тип шд - униполярный или биполярный при решении задачи подобной сложности вас вообще не должен смущать. А то и марка стали корпуса движка может вызвать сомнения :-) Возьмите свой пятипроводный движок и тестер (омметр). Промеряйте поочередно сопротивление всех обмоток и найдите центральный провод (тот, который пятый) Сопротивление с любого другого провода на этот должно быть одинаковым. Обкрутие его изолентой или аккуратно отрежте. Попробуйте покрутить движок примером из библиотеки ШД IDE. Крутится? Можете забыть о 5-6 проводных униполярных ШД до тех пор пока для вас не станет принципиально важна мощность движка и пропущенные шаги. Если вдруг такая принципиальность возникнет, то подключаете этот 5 провод к плюсу источника напряжения от которого питается сам ШД. Менять что-то в скетче при этом не надо. Все! Никаких премудростей!
Дальше берете тот пример, который был приведен в начале поста подключаете свой ШД и пробуете крутить (там как раз 4 пина управляют движком). Если получилось, то создаете второй объект ШД в скетче и дальше я уже отвечал...
Все крайне просто. На каком этапе возникает заковыка?
P.S. Единственное! Надо четко знать маркировку проводов, которые идут от ШД (А1, А2, В1, В2) и подключать эти провода к пинам в строгом соответствии. Это обязательно должно быть указано в документации к ШД. Если вдруг выяснить маркировку проводов невозможно, то надо либо определить последовательность обмоток путем прозвона тестером, либо подключать провода к разным пинам, последовательно перебирая все возможные варианты подключения до тех пор, пока ШД не начнет вращаться устойчиво и без рывков. Все! Это тоже очень просто.
всем спасибо, господа теоретики - за вменяемые деньги задача решена под ключ (получено готовое устройство + вся документация для дальнейшего повторения при необходимости) и решил её человек, которому 65 лет. на очереди беспроводное управление несколькими шаговиками, управление стартом записи камеры и т.д. и т.п.
ну почему же теоретики, здесь и практиков полно...
А вы здесь предлагали решить задачу за деньги? Вы пытались получить решение на халяву, а не получив, обратились за возмездной помощью в другое место. Так что теоретик здесь только вы.
на самом деле мне эту задачу решили без денег - вознаграждения не требовали, просто человеку было интересно не на форумах языком чесать, а в реале что-то делать. на мой взгляд тот, кто бесплатно ничего не может сделать, и за деньги ни хрена не сделает, только ля-ля горазд. не обижайтесь, но вы такие теоретики - а нормальные программеры тут не сидят, у них работы дофига. и не надо обижаться на правду)))
продолжайте тут сраться, мне это не интересно - задача решена, тему можно закрывать.
О как. :)
zeonmaster ..........всем спасибо, господа теоретики......
Посмотрел все сообщения, меня нет, слава богу я не засветился в списке теоретиков....
А то бы не знаю что было......
А пока добавлю всех участников обсуждения в список- таких надо знать в лицо! ;)
не обижайтесь на зеона, он такой и на других форумах...
всё стоит три копейки и делается элементарно, только его работа стоит денег)))))
на самом деле мне эту задачу решили без денег - вознаграждения не требовали, просто человеку было интересно не на форумах языком чесать, а в реале что-то делать. на мой взгляд тот, кто бесплатно ничего не может сделать, и за деньги ни хрена не сделает, только ля-ля горазд. не обижайтесь, но вы такие теоретики - а нормальные программеры тут не сидят, у них работы дофига. и не надо обижаться на правду)))
продолжайте тут сраться, мне это не интересно - задача решена, тему можно закрывать.
Ну это только ваше неумное и недалекое мнение, и правда тоже только ваша, поэтому обижаться здесь никто не будет. Вы правы в двух вещах.
Первая. Если конечно не врете, что бесплатно и за интерес, тому кто решал эту задачу, данная задача может быть интересна только от недостатка опыта решения подобных задач. Тому кто может решить вашу задачу в уме, прочитав ваш первый пост, данная задача не интересна.
Вторая, все верно, работа предпологает оплату, поэтому да, в вашей теме и подобных темах на этом форуме, человеку, который хотел бы заработать делать нечего.