roboforum.ru

Технический форум по робототехнике.

MKS SERVO42B шаговик с обратной связью не пропускающий шаги

MKS SERVO42B шаговик с обратной связью не пропускающий шаги

Myp » 16 янв 2020, 00:32

Прикупил для интересу шаговик с обратной связью MKS SERVO42B
Обычный шаговик у которого на валу магнитный энкодер и плата контроллер.
Продаются как в сборе с мотором так и плата с магнитиком отдельно, https://aliexpress.ru/item/33032696338.html
есть ещё версия A, там порт usb для конфигурации и вроде как больше параметров для конфигурации, но я ничего полезного не заметил. взял подешевле
Как выяснилось, версия А это очень сильно другая версия, это копия девайса https://github.com/Misfittech/nano_step ... _nano_zero
Версия B это уже творчески переработанная версия, переписанная с АВР на СТМ с отрезанием части "ненужных" функций.

Энкодер используется для контроля положения вала.
Калибровка мотора заключается в поворачивании вала на шаг и запоминании положения энкодера в таблицу.
После этого если контроллер видит разницу между заданным положением вала и показаниями энкодера - пытается скорректировать положение вала увеличивая ток.

мотор mks4240-400 на ток 1 ампер и 400 мн м.
энкодер A1333 https://www.allegromicro.com/en/Product ... -ICs/A1333
Драйвер - ШИМ A4954, https://www.allegromicro.com/en/Product ... vers/A4954
ШИМ для обмоток генерируется контроллером stm32f103
Исходники буквально на днях появились на гитхабе, до этого довольно долго был закрытый проект в нарушении лицензии. https://github.com/makerbase-mks/MKS-SERVO42B
Это резко повышает интересность.
Можно настроить типа шаговика 1.8 или 0.9,
Снижение тока при удержании, и вероятно что-то ещё, т.к. графическое меню урезанное.
Прошивка походу универсальная, вывод в консоль в коде есть но контакты для консоли не выведены, если только подпаиваться.

Есть несколько вариантов работы обратной связи
1. если сдвиг небольшой и медленный то мотор непрерывно пытается сопротивляться и вернутся на место.
2. если сдвиг сильный и резкий, то мотор после сдвига делает паузу на долю секунды, а потом пытается вернуться на место.
Когда мотор фиксирует ошибку положения - горит яркий диодик синий, удобно контролировать.

При токе в 1000 мА драйвер перегревается лёжа на столе, так что зачем там диапазон аж до 1500 не понятно...
на брюхе есть площадка теплоотвода но зазор до мотора маленький и радиатор не поставить.
с другой стороны мне такой ток и не нужен будет.

Если есть вопросы - задавайте, в принтер пока не ставил, играюсь на столе.
Из минусов - слышно как пищит на удержании. Видео не передаёт реальную громкость но тональность писка передаёт точно.

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

setar » 16 янв 2020, 01:00

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

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 16 янв 2020, 01:17

Нет, дисплей это единственный способ управления
у более дорогого есть разъём usb и можно дополнительно настраивать с компа через гипертерминал.

Скажи спасибо что не по вайфаю с телефона через ESP, это щас модно)))

Дисплей реально нужен лишь в некоторых ситуациях, например этот шаговик может заменить стандартный шаговик в любом принтере с закрытой прошивкой
где нельзя взять и что-то сконфигурировать в прошивке, главное чтобы можно было припаяться к сигналу step/dir.

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Madf » 16 янв 2020, 11:38


Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 16 янв 2020, 21:34

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

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

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Начинающий » 16 янв 2020, 22:33

Можно и свой сделать для этого понадобится мотор с двойным валом и оптический энкодер, ну и конечно переходная муфта для сопряжения энкодера и одного вала мотора. НО оч дорогие промышленные оптические энкодеры выдают до 10000 импульсов на оборот, в то время как те что доступны простым хобийщикам выдают до 1000 импульсов на оборот. По моим подсчетам если использовать Nema 17 с углом поворота на шаг 1,8 градуса получается 200 шагов на оборот что при 1000 импульсов на оборот дает точность 360/1000=0.36 градуса. При этом если использовать драйвер TMC2208 , то там до 256 микрошагов доступно, что может дать точность 1,8/256=0.007 градуса. Если управляющий сигнал кинуть через например Arduino, которое будет контролировать пропуски шагов, то можно сделать. Но вот точность при этом будет явно не в пользу такого варианта... или я в чем то ошибаюсь.
Ну и конечно поневоле начинаешь задумываться откуда там в этих опенсорсах точность такая, ведь там используются явно не промышленные энкодеры...

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

setar » 16 янв 2020, 23:48

вот работа по исследованию максимально возможной точности позиционирования и управления, от коллеги с фундаментальным научным подходом.
Текст большой, но методика оценки выбрана классическая (коллега alexxy научный работник)
forum107/topic18289.html

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 17 янв 2020, 01:32

Начинающий писал(а):ведь там используются явно не промышленные энкодеры...

да, там магнитные энкодеры 12-15 битные, им не нужен двойной вал, просто магнит на торец клеишь.
магнитные энкодеры уже стали точнее оптических.

Добавлено спустя 20 минут 40 секунд:
setar писал(а):максимально возможной точности позиционирования и управления

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

к данной ситуации выводы пожалуй не применимы, так как в данном драйвере используется 2 Н моста
а таблица токов обмоток походу как-то калибруется по магнитному энкодеру.

у данного контроллера стоит энкодер с разрешением 12 бит, что вроде как даёт точность 0,088 градуса :sorry:
в даташите вот прям так и написано ABI output resolutions Cycle Resolution (Degrees) 0.176
вроде как с энкодерами в AB режиме реальное разрешение поулчается кратно меньше т.к. там как-то учитывают промежуточное положение сигналов АВ
один фиг, даже если в 4 раза меньше, получится 0.044 градуса
и вот тут я не понимаю...
как чёрт побери киатйцы на экране умудряются отобразить положение с точностью в 0.01 градуса? :shock:
я пальцем касаюсь вала и цифра уже скачет, если задержать дыхание то можно даже на 0.01 повернуть вал чуть коснувшись его.


если он реально может видеть угол с точностью в 0.01 градуса то тогда можно поверить что он реально пытается выставлять ток в обмотках для каждого микрошага.
правда реальных микрошагов там видимо всётаки в районе 1/32, остальные подозреваю интерполяция, как в тринамике.

короче надо исходники смотреть, а мне лень)))

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Начинающий » 17 янв 2020, 20:31

Setar спасибо за ссылку - интересно.

Мур там по ссылке, которую Setar дал в самом первом посте человек пишет, что юзал 2 магнитных энкодера, один с 12 битным разрешением, второй с 15 битным. Если предположить что у вас использован 15 битный, то там 2^15=32768 значений на один оборот ротор, что значит
360 градусов/32768=0,01 градуса.
Спасибо за инфу про магнитные энкодеры, весьма полезно, с учетом того что оптические ниже тысячи с лишним найти не удалось, а тут 600-700 рублей при 14 битном разрешении и точность выше.

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 17 янв 2020, 23:16

Не, тут 12 битный энкодер A1333, поэтому я и не понимаю откуда 0.01 градус берётся.

Добавлено спустя 17 минут 52 секунды:
Re: MKS SERVO42B шаговик с обратной связью не пропускающий шаги
всё, разобрался, там два режима, 12 и 15 бит
12 бит это если используется аналоговых выход с контактами AB и на цифровом выходе в режиме диагностики
для 15 бит тогда нормальное разрешение)

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 18 янв 2020, 19:13

китайцы...
по паспорту 1500 мА, а по факту на 900мА уже перегрев драйвера, вырубается по защите.
драйвер имеет на пузике площадку теплоотвод и она припаяна к текстолиту но между текстолитом и мотором зазор в 1.5 мм и фиг туда радиатор засунешь
разве что клеить радиатор со стороны корпуса, но это неэффективно.

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Начинающий » 18 янв 2020, 19:25

А если термопасты туда залить, или термоинтерфейс приклеить?

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 18 янв 2020, 19:44

При большом токе и сам шаговик греется, а тут ещё подогрев от кристалла.
Мне кажется не будет особенно много проку в попытке остудить кристалл об горячий мотор.

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Начинающий » 18 янв 2020, 20:03

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

Re: MKS SERVO42B шаговик с обратной связью не пропускающий ш

Myp » 18 янв 2020, 20:45

В моём случае пофиг, т.к. мне такой высокий ток и не нужен, 600-800 нормальный рабочий ток.
у меня 8 битный контроллер и на нём особенно быстро не разгонишься, поэтому и ток высокий не требуется.


cron
Rambler\'s Top100 Mail.ru counter