Baser 5 29 января, 2016 Опубликовано 29 января, 2016 · Жалоба Есть задача: управлять шаговиком через драйвер со STEP/DIR-интерфейсом. Крайне полезно уметь плавное ускорение и замедление (с заданным ограничением по ускорению и замедлению). Имею спросить: нет ли где готовой реализации модуля управления шаговиком с плавным ускорением и замедлением? Не совсем понятно, что имеется в виду под "готовой реализацией" ? Исходники программ или готовый модуль? Если готовый модуль, так их в сети 1001 штука. Мы для выставки, когда механика нового прибора уже была готова, а платы управления к ней я еще и не начинал делать, купили по-быстрому модуль 1063 - PhidgetStepper Bipolar 1-Motor http://www.phidgets.com там драйвер Allegro A3979 И забабахали для выставки имитацию прибора на нем Ну а потом я уже глядя на описание API к этой плате, написал свои функции на хиленьком MSP430 на 8 МГц. Разгон и торможение делал по-простому без всех этих умных слов ("без разрыва функции скорости во второй производной"). Конечно без разрыва то лучше, но быстродействие MSP430 не позволяло вычислять новый период шага на каждый шаг (макс.частота шагов управления движком у меня была 2 кГц), так что я реализовал кусочно-линейный разгон и торможение: Пересчет периода проводился 64 раза в секунду, между ними постоянная скорость. Получились кусочки от одного до 30 шагов длиной (при разной скорости). Ну и еще при разгоне проходит последовательно все 4-е режима работы драйвера: от микрошага 1/16 через 1/4 и 1/2 до полного шага на максимальной скорости. На глаз и слух никаких рывков при работе нет, хотя рабочий ток (ограничение) приходится подбирать, так как эффект заклинивания от электромеханического резонанса проявиться может. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 29 января, 2016 Опубликовано 29 января, 2016 · Жалоба Думаю у вас не получиться сделать фрезерный станок 4х координатный на нескольких к155 с таблицами или кордиком. Этот код от станка он управляет скоростью подач, для линейных или круговых перемещений. Достаточно задать шаг винта, количество шагов на оборот, ускорение. После вызова функции с координатами xyza станок фрезерует всеми координатами радиус или линию. Там только не доделано 3d две плоскости они не были нужны. Микроконтроллер не простой выше постом было название двух ядерный. lpc4337 зтот код замечательно на нем работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Я.К. 0 29 января, 2016 Опубликовано 29 января, 2016 · Жалоба В общем и целом, я решил пока не париться, а просто заказать драйвер L6470. Туда, пишут, можно задать максимальное ускорение, и он сам будет его отрабатывать. Безо всякого сложного кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 29 января, 2016 Опубликовано 29 января, 2016 · Жалоба В общем и целом, я решил пока не париться, а просто заказать драйвер L6470. Туда, пишут, можно задать максимальное ускорение, и он сам будет его отрабатывать. Безо всякого сложного кода. Прикольный драйвер. Когда пару лет назад занимался шаговиками, таких монстров "все-в-одном" еще не было. Делал на Allegro A3979. Хотя посмотрел функционал - все это почти один-в-один пришлось реализовывать программно. Но, конечно, 1/128 микрошаг с макс. частотой полных шагов в 15.6 кГц (это 2 МГц входного сигнала STEP) на обычном МК не выдашь. Тут DSP нужен или что-то на жесткой логике. Хотя необходимость режима микрошага больше чем 1/16 вызывает вопросы. На мой взгляд при этом возможность проскальзывания значительно возрастает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться