Jump to content
    

Кто делал привод с обратной связью с энкодера

Нужен совет

Хочу ввести оптический энкодер положения вала привода.

Причем мне нужен не сервопривод в чистом виде - приводом будет шаговик.

Меня интересует абсолютное положение вала.

В связи с этим возник вопрос: что использовать. 

Толи TSOP17xx толи простейший bpw34 и иже с ними.

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

А у TSOP17xxтам эта калибровка, пачки - боюсь он не будет хорошо работать из-за этого.

 

Share this post


Link to post
Share on other sites

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

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

Edited by rkit

Share this post


Link to post
Share on other sites

Только что, rkit сказал:

Может начать с готовых модулей оптопар, чем вот этой ерундой заниматься?

Нельзя ли ссылочку ?

Share this post


Link to post
Share on other sites

разрешение какое нужно?

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

 

есть абсолютные (иногда с точностью до полуоборота) магнитные энкодеры kmz41 и похожие у melexisa, ams, infenionа.

можно два резистора на вал надеть вроде bourns 3382, два - чтобы мертвые зоны перекрывались.

 

 

Share this post


Link to post
Share on other sites

 

Только что, _pv сказал:

разрешение какое нужно?

вроде 2 градуса получается 

Share this post


Link to post
Share on other sites

1 час назад, a123-flex сказал:

оптический энкодер положения вала привода

Посмотрите как просто решается задачка у BigTreeTech в модели драйвера S42B с магнитным энкодером, возможно поможет.

Share this post


Link to post
Share on other sites

9 minutes ago, rloc said:

Посмотрите как просто решается задачка у BigTreeTech в модели драйвера S42B с магнитным энкодером, возможно поможет.

у тринамика есть такие же готовые контроллеры с энкодером, которые мотору прямо на задницу садятся. https://www.trinamic.com/products/pandrive-smart-motors/

но это если одну-две штуки надо всего, иначе цена немного кусается.

Share this post


Link to post
Share on other sites

Только что, rloc сказал:

Посмотрите как просто решается задачка у BigTreeTech в модели драйвера S42B с магнитным энкодером, возможно поможет.

интересно, неужели не наведет ни капли на магнитный датчик шаговик, вплотную работающий ?

 

Share this post


Link to post
Share on other sites

15 минут назад, a123-flex сказал:

неужели не наведет ни капли на магнитный датчик шаговик, вплотную работающий ?

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

Share this post


Link to post
Share on other sites

контроллер на каждую ось(

датчик некопеечный((

 

да и обратная связь на валу не учитывает механику(

но решение любопытное, спасибо

Share this post


Link to post
Share on other sites

3 часа назад, rloc сказал:

Посмотрите как просто решается задачка у BigTreeTech в модели драйвера S42B с магнитным энкодером, возможно поможет.

2 часа назад, _pv сказал:

у тринамика есть такие же готовые контроллеры с энкодером, которые мотору прямо на задницу садятся. https://www.trinamic.com/products/pandrive-smart-motors/

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

 

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

Share this post


Link to post
Share on other sites

9 minutes ago, a123-flex said:

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

у тринамика контроллер гораздо умнее с управлением по usb/rs485/...

но в нём есть и "пользовательские" скрипты на каком-то убогом подобии ассемблера, на котором теоретически можно даже изобразить наружу step/dir, чтобы при подёргивании контроллера за эти io, он внутри делал инкремент/декремент целевого положения.

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

23 minutes ago, a123-flex said:

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

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

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

ну а одноканальные контроллеры должен какой-то отдельный надмозг синхронизировать.

Share this post


Link to post
Share on other sites

2 часа назад, a123-flex сказал:

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

Что касается BigTreeTech, пропущенные шаги нагоняет сам драйвер ШД, а на контроллер выдается сигнал о факте превышения. На ютубе есть видео, как человек руками искусственно сдвигает каретку, а драйвер возвращает. Кроме Step/Dir есть каналы SPI/UART, возможно по ним доступна количественная информация об ошибке. На текущий момент, насколько знаю, информация об ошибке используется для остановки станка - случай достижения границ или поломки/заклинивания фрезы по превышению длительности ошибки. Реализацию обратной связи именно в драйвере, а не через контроллер, считаю абсолютно оправданной, на ШД выдается ровно такой ток, чтобы свести ошибку к нулю - это и отсутствие перегрева без нагрузки (минимум тока) и возможность "поддать" (иногда сверх нормы).

Share this post


Link to post
Share on other sites

Купите пусироботовские драйвера со встроенным энкодером. Будет дешевле, чем городить велосипеды.

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

Китайцы вставили фотодиоды под углом 90°, в результате чего энкодер работает лишь после капитальной переделки!

Edited by Eddy_Em

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...