roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 17:28

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 21 июл 2016, 15:00 
Не в сети

Зарегистрирован: 13 мар 2013, 14:31
Сообщения: 207
Откуда: Химки
Насколько я понял, сам датчик магнитный тоже не идеал. И вот тут как раз эти ребята придумали шаговиком его калибровать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 21 июл 2016, 15:36 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
да тут интересный симбиоз
у шаговика достаточно точно выдержаны стандартные шаги 1.8 градуса, калибруют как раз на эти точные шаги
а потом используют для точного выставления микрошагов

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 21 июл 2016, 16:32 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
Myp писал(а):
чтобы любой мотор с редуктором превращать в шаговик с углом 0.1 градуса.

Да-да, велосипеды где-то рядом катаются.
Главное, чтобы было "не раз-два-три-четыре, а раз-два, раз-два" :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 21 июл 2016, 18:13 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
В самом начале ролика видно (если смотреть в полном экране) с какой скоростью вращается мотор, так же видно лёгкие шаги , мотор крутится синусоидой но датчик AS5045 имеет ограниченное разрешение (0.087 градуса)
тоже самое будет с шаговиками, слишком мелкие шаги компенсировать не получится (возможен кратковременный пропуск), кроме того датчик имеет нелинейность, так что лучше постараться использовать шаг мотора в два раза превышающий разрешение энкодера.


как вариант "удешевления" можно попробовать использовать аналоговые датчики холла из двигателей cd-roma, в принципе этот двигатель и есть датчик-резольвер только в нём синусоиды не на 90 градосов смещены а на 120, статор можно выкинуть,

что то типа такого https://www.youtube.com/watch?v=HtvWJJo ... I9&index=9
вот тут обсуждали
post281090.html#p281090

датчики стоят копейки и я видел магнитны (кольца) отдельно в продаже, единственный недостаток - датчик будет крупнее чем у AMS.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 00:21 
Не в сети

Зарегистрирован: 05 фев 2015, 22:58
Сообщения: 93
Кстати говоря, еще одна реализация похожей схемы

https://github.com/uStepper/uStepper


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 12:02 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Цитата:
шаговый двигатель ставят не из-за энкодера
крутящий/удерживающий момент при низких скоростях или нулевых скоростях. даже запредельные скорости печати в 300-500мм/сек в области электродвигателей считаются низкими. а на экструдере вообще до 100об/мин, это можно назвать нулевой.
быстрый старт, остановка, реверсирование
надежность, они практически вечные
и т.д. и т.п. шаговые двигатели по своим характеристикам подходят лучше других


Не знаю видели или нет, в теме про bldc я давал ссылку на ролик где в cnc станке вместо шаговиков используются bldc моторы с векторым управлением (проект открытый)




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

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

bldc моторы в отличие от шаговика могут работать в разных режимах, можно реализовать точно такое же управление step+dir но оно будет работать "идеально" как статичном режиме так и при больших ускорениях.

Цитата:
крутящий/удерживающий момент при низких скоростях или нулевых скоростях.

и вот это утверждение не верно, если проводить аналогию то bldc это шаговик с большим шагом (больше угол между статичными залипаниями ротора), но, при работе с шаговиками вы и так используете "хитрые" микросхемы которые реализуют микрошаг, а в этом режиме шаговик уже не отличается от bldc.

Реализация микрошага ничем не отличается от управления bldc, это точно такое же управление синусоидой в двух фазах для плавного перемещения из одного статического положения в другое, при этом 200 или 20 шагов за оборот уже значения не имеет, всё упирается только в то насколько точно микросхема формирует управляющие сигналы а мотор их отрабатывает.

Цитата:
Ну да.
Я и говорю.
Чтобы не нужен был энкодер - ставим шаговик.
А чтобы ловить глюки шаговика - ставим энкодер.
Всё логично, чё...

я полностью согласен с вашим мнением, шаговик ставят для "удешевления" станка, а если его характеристик не достаточно то нужно возвращаться к сервомоторам (моторы с обратной связью), и в таком случае мотор DC или BLDC даст больше преимуществ чем шаговик, можно получить бОльшие скорсти и ускорения.
Вариант шаговик с энкодером оправдан только в том случае если станок уже есть и хочется повысить качество его работы без серьёзных изменений конструкции.

вот ещё один пример, http://radiokot.ru/forum/viewtopic.php?f=8&t=119089
каретка перемещается обычным dc мотором, точность обеспечивает летна-энкодер т.е. получается сервомотор.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Последний раз редактировалось linvinus 22 июл 2016, 12:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 12:15 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
bldc конечно хорошо и ролик очень впечатляет, но даже если не брать корпус/раму в которую должно это всё устанавливаться (прочность), то всё тупо упирается в цену таких моторов и самого контроллера, судя по схеме (которую я глянул одним глазком) - ОМГ - это далеко не один чип (хоть и дорогой). Т.е. мало того, что много рассыпухи, что сулит и следовательно некую сложность сборки и места занимаемого, но и цену соответствующую...
Этот проект больше похож на научное исследованние, где цена и сложность не важна. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 12:26 
Не в сети

Зарегистрирован: 23 июл 2012, 15:24
Сообщения: 1480
А если шаговик с редуктором?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 12:40 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Madf ,согласен, для шаговиков уже куча готовых недорогих микросхем-драйверов, аналоги на bldc это пока больше экспериментальные хоббийные решения.

Когда то давно народ для шаговиков тоже делал контроллеры на рассыпухе, так что у bldc всё ещё впереди.

С каждым годом bldc становится всё популярнее, сначала у авиа/автомоделистов как тяговый мотор, под эти задачи появились соответсвующие недорогие моторы, потом появились gimbal решения для них сейчас тоже много недорогих предложений, так что очевидно следующим витком будут хоббийные cnc станки.

В моём решении я использую bldc моторы для gimbal и контроллер (МК + драйверы моторов) для gimbal, только свою прошивку написал которая учитывает обратную связь с энкодера AS5045.

controller StormBGC32 with STM32F405RGT6 with DRV8313 with my custom firmware based on chibios
two bldc motors BGM4114-100 (for gimbal) + magnetic encoder AS5045 in Daisy Chain mode through SPI (DMA readings).

Схема управления мотором есть в этом видео https://www.youtube.com/watch?v=hLeS3XZ ... I9&index=4

Такое решение может подойти и для cnc , в контроллере поддержка 3х осей и есть ещё куча свободных выводов которые можно задействовать для концевиков и прочего.

esisl, редуктор добавит люфт в систему.

Добавлено спустя 3 минуты 32 секунды:
Кстати, DRV8313 поддерживает до 60в до 2А, так что как и в решениях с шаговиками большую мощность можно получить за счёт повышения напряжения, есть гимбал моторы рассчитанные на 6S (у меня 4S)

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 12:40 
Не в сети

Зарегистрирован: 23 июл 2012, 15:24
Сообщения: 1480
Нннуу, да. Люфт - это да. Хотя есть безлюфтовые схемы, но они наверно дороже обойдутся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 16:11 
Не в сети

Зарегистрирован: 10 авг 2014, 15:02
Сообщения: 775
Откуда: Саров
linvinus писал(а):
В моём решении я использую bldc моторы для gimbal и контроллер (МК + драйверы моторов) для gimbal, только свою прошивку написал которая учитывает обратную связь с энкодера AS5045.
А с STM32F103RC срастётся? Просто выходит на 2-3 мотора электроника обойдется под 50-60$...

Добавлено спустя 32 минуты 32 секунды:
Блин, для gimbal уже готовые моторы продаются с AS5048A http://ru.aliexpress.com/af/AS5048A.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 17:46 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
По умолчанию в StormBGC32 стоял STM32F103 , думаю можно попробовать в него уместиться.

основные затраты:
1) считать по spi 2,3 сенсора это 8 байт, потом распарсить т.к. данные не выровнены по байтам
2) на основе данных положения вычислить какую фазу подавать в моторы, это два синуса + формула перевода из VAlpha Vbetta в iA iB iC
3) на основе данных реального положения и положения "идеального" мотора вычислить как скомпенсировать рассогласование.

кроме того ещё предварительно требуется откалибровать минимальную мощность для каждого электрического градуса.
вот тут я расписывал что как
post355020.html#p355020
post356041.html#p356041
post355653.html#p355653

F4 выбирал по причине аппаратной поддержки hard float, но честно говоря работало и на softfloat я опцию компилятору не передавал.
правда всё равно у F4 частота в два раза выше чем у F1.

Цитата:
Блин, для gimbal уже готовые моторы продаются

пока дорого, отдельно купить датчики и сделать плату намного дешевле

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 18:31 
Не в сети

Зарегистрирован: 10 авг 2014, 15:02
Сообщения: 775
Откуда: Саров
linvinus писал(а):
пока дорого, отдельно купить датчики и сделать плату намного дешевле

3 мотора со статором 4108 и датчиками за 100$ не особо дорого, правда слабовато. Самому делать не сильно дешевле выйдет, но мотор получше можно подобрать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 22 июл 2016, 21:05 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
я купил as5045 5шт за $24, плату собрать не сложно если есть принтер , сверлильный станок и односторонний текстолит.
вот тут я описывал конструкцию датчика post335261.html#p335261

если будете подбирать конкретное решение не спешите покупать, давайте лучше в теме про bldc Обсудим ваш выбор, я подскажу свои соображения, кое какой опыт уже есть.

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Mechaduino - closed loop stepper controller
СообщениеДобавлено: 23 июл 2016, 00:45 
Не в сети
Аватара пользователя

Зарегистрирован: 13 май 2011, 21:37
Сообщения: 3202
Откуда: Bb
linvinus писал(а):
если есть .. сверлильный станок

Если постараться, то и он не понадобится.
Вариант с AS5040:


Вложения:
AS5040.png
AS5040.png [ 11.09 КиБ | Просмотров: 3416 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 24


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO