Re: Разработка драйвера шагового двигателя KD36
Добавлено: 25 окт 2018, 19:30
Есть желание поделится рецептом ?MX_Master писал(а):Тот, кто не любит собак, просто, не умеет их правильно готовить.
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Есть желание поделится рецептом ?MX_Master писал(а):Тот, кто не любит собак, просто, не умеет их правильно готовить.
Да без проблем. Сразу после того, как инженегры, которые написали нам кучу доков и автогенератор, превратятся обратно в инженеров.AlexSVC писал(а):Есть желание поделится рецептом ?MX_Master писал(а):Тот, кто не любит собак, просто, не умеет их правильно готовить.
Да, ловит. Но фронт - лишь событие для запуска анализа кода. А вот куда крутить счётчик решается по состоянию обоих сигналов. В этом и суть, и именно за счёт этого у этого интерфейса хорошая помехоустойчивость: даже если будет кратковременная помеха на один канал и счётчик увеличится, то после прекращения ее действия он опять уменьшитсяAlexSVC писал(а):Ну у меня решающее. Это так инженегры из ST решили. Таймер на железном уровне ловит именно фронты
Ok.MX_Master писал(а):Да без проблем.
Согласен. Еще + в том что легко генерировать квадратурный сигнал на пинах с помощью DMA с тактированием от таймера что в свою очередь даст возможность достигнуть достаточно больших частот (ограничение - скорость DMA это около 60МГц не кисло-так... успевай только буфер подготавливать.). Причем такая связка даст возможность использовать только один таймер для обслуживания всех осей (при прямом методе синтеза степов). Для меня это значит что я без особых усилий могу организовать поддержку 8 осей используя один порт или даже возможно 16, вопрос в том зачем столько ?N1X писал(а):даже если будет кратковременная помеха на один канал и счётчик увеличится, то после прекращения ее действия он опять уменьшится
Ах, мечты, мечты..AlexSVC писал(а):Еще + в том что легко генерировать квадратурный сигнал на пинах с помощью DMA с тактированием от таймера что в свою очередь даст возможность достигнуть достаточно больших частот (ограничение - скорость DMA это около 60МГц не кисло-так... успевай только буфер подготавливать.). Причем такая связка даст возможность использовать только один таймер для обслуживания всех осей (при прямом методе синтеза степов). Для меня это значит что я без особых усилий могу организовать поддержку 8 осей используя один порт или даже возможно 16
для этих целей у китайцев есть датчики крутящего момента, в виде антимуфты ) , короче как двигатель с валом в обе стороны выглядит. измеряет обороты и моментAlexSVC писал(а):Возникли мысли как-бы его поставить между мотором и нагрузкой...
Для этих целей уже давно придуман более простой способ - тензодатчик на креплении мотора.Duhas писал(а): для этих целей у китайцев есть датчики крутящего момента, в виде антимуфты ) , короче как двигатель с валом в обе стороны выглядит. измеряет обороты и момент
Умножение SD для этого драйвера смысла не имеет т.к. он сам по себе всегда умножает любой входной степ до максимума. Т.е. Подали к примеру 1\2 шага и медленно крутим, а крутится он не рывками а плавно (в режиме 1\64). Плавные перемещения с остановом наблюдаются при очень редких степах и крупных дроблениях. Практика показала что более 1\8 шага ставить смысла нет. А при нормальном сглаживании вполне работается и на 1\2 шага при этом автоматом решается проблема больших частот степов. С информационной точки зрения для шаговика все что более 1\8 шага - вообще лишнее, а если двигатель достаточно сильно нагружен, то и 1\2 достаточно ибо точности не добавляет. Как ни крути, а если вбито на шаговике 1.8 градуса, то в этих пределах его точность и будет несмотря ни на какие микрошаги, но если нагрузка на валу минимальна то точность позиционирования возрастет. С ростом нагрузки все скатывается к шагу, а далее потеря синхронизма.Bender писал(а):Сделай, чтобы понимал ещё такой сигнал
SDx2 и CW/CCWx2