попробую это использовать, это актуально, потому что обратной связи никакой у меня нет.
Раз совет "в кассу" пришёлся, позволю себе ещё поделиться опытом работы с ШД. Возможно, что-то из этого сэкономит ваше время.
1. Не знаю, какую вы систему управления будете использовать для работы с ШД (похоже, OnStep?), но далеко не факт, что там будет поддержка работы с тринамиковской технологией StallGuard (это как раз про измерение противоЭДС в драйверах TMC).
Поэтому, возможно, придётся колхозить свой велосипед, чтоб графики нагрузки выводить и концевые положения отрабатывать.
Если разговариваете на питоне, то рекомендую вот эту библиотеку. Она для TMC2209 но прекрасно работает и с TMC2226, т.к. адреса регистров и команды у драйверов одинаковые:
https://github.com/Chr157i4n/TMC2209_Raspberry_PiОднако, работу со значениями обратной ЭДС и вывод на всякие графики придётся всё равно самостоятельно дописывать.
2. Разрешение АЦП, который оцифровывает результаты нагрузки на двигатель - не очень высокое. Что-то типа 8 бит. Поэтому, на высокую точность определения нагрузки не рассчитывайте. В лучшем случае, цифры будут от 0 до 255.
3. Разные двигатели сильно по-разному генерять обратную ЭДС. На каких-то шаговых двигателях это всё может оказаться вобще не юзабельно.
Например, в спокойном состоянии возвращаемое значение обратной ЭДС будет 240 единиц, а при максимальной нагрузке - 255 единиц. Т.е. "динамический диапазон" значений может быть вобще паршивый.
Я не могу точно ручаться, но это тесно связано с электрическими параметрами двигателя, индукцией, сопротивелением обмоток и т.п. Также, на это влияет режим микрошага.
Если память не изменяет, то чем меньше микрошаг, тем хреновее генерится обратная ЭДС.
4. Дрова TMC2209 и TMC2226 можно переключить в режим управления полностью_по_UART. Причём, до четырёх драйверов могут висеть на 1 шине и ими можно полностью управлять по одному сигнальному проводу. Можно делать всё. Регулировать ток подаваемый на ШД, шагать, менять направление шага, менять микрошаг... короче - вобще всё.
Соответственно, вместо четырёх проводов STEP1/DIR1 STEP2/DIR2 монтировкой телескопа можно будет управлять всего по одному проводу.
Т.к. этот провод "протокольный" (UART) его можно прокинуть достаточно далеко без помех. Соответственно, мозги можно вынести в удобное место, а дрова поставить поближе к двигателям. Не уверен, что там прям уж какая-то проверка целостности пакетов есть, но в любом случае, на один провод шанс поймать наводку меньше, чем на четыре.
5. Нужно быть аккуратным при ковырянии в дровах TMC. У них есть OTP-биты (однократно программируемые). При бездумном дергании регистров дров их можно окирпичить.
6. Микрошаг меньше чем 1/64 можно установить только через регистры, через UART. Перемычками не получится.
7. Не стесняйтесь подавать напряжение повыше для питания дров и шаговых двигателей. Если движки рассчитаны на 12 вольт - они вполне переварят 24.
Сами дрова TMC2209 и TMC2226 рассчитаны на 29 вольт максимум вроде. Я работал на 24. Нафига спрашивается? А просто для той-же мощности ток меньше.
Сейчас могу фигню сморозить, но дровам легче напряжение коммутировать чем ток. У TMC даже есть серия высоковольтных высокоскоростных дров TMC5160, но они редкие и дорогие.
8. Если не нужна вся эта фигня и нужно только сымитировать работу концевика, то выход DIAG в дровах можно настроить так, чтоб на нём флаг поднимался, типа "я упёрся в препятствие - ааатключай!"
Пока как-то так. Опять же, может это всё и нафиг не нужно, т.к. цель-то всё-таки прототип монтировки на гармонических редукторах, а не ковыряние в дровах. А там можно, блин, долго ковыряться..
Ну и прошу учесть - я любитель-самоучка и просто делюсь личным опытом, могу во многом, или во всём ошибаться, поэтому, всё что делаете - на свой страх и риск.
И желаю успехов в деле. Ваш опыт с этими редукторами будет в любом случае весьма интересен.