Управление двигателями ---------------------- Контроллер имеет два канала для управления шаговыми двигателями. Для управления работой двигателей используется следующий набор переменных: **Включение** - управляет включением двигателя, значение 0 – выключить, значение 1 – включить драйвер. **Направление вращения** - задает направление вращения двигателя, -1 – влево, 0 – удержание, 1 – вправо. **Ограничение тока** - задает ограничение тока в амперах, при превышении которого драйвера двигателя отключаются. Максимальное допустимое значение - 1,65А. **Потребляемый ток** - текущее значение потребляемого тока в амперах. **Количество импульсов** - количество импульсов необходимое на полное открытие/закрытие управляющего элемента. Конкретная величина указывается в паспорте на изделие. Тут имеется ввиду 1 импульс = 1/4 фазы полного шага для полношагового режима, и 1/8 фазы для полушагового режима. **Тип двигателя** - установка типа двигателя, 0 – биполярный 4-х проводный, 1 – униполярный 5-ти проводный, устанавливается для двух каналов одновременно. По типу соединения электромагнитов, шаговые двигатели делятся на: униполярные и биполярные. .. figure:: engine_type.png :align: center Типы шагового двигателя **Режим работы** - 0 – полношаговый режим (одна фаза на полный шаг), 1 – полношаговый режим (две фазы на полный шаг), 2 – полушаговый режим. * Полношаговый режим (одна фаза на полный шаг) - ротор поворачивается на 1 шаг за 1 такт. Номинальные значения шагового двигателя указываются именно для этого режима. .. figure:: step1.gif :align: center Полношаговый режим (одна фаза на полный шаг) * Полношаговый режим (две фазы на полный шаг) - ротор поворачивается на 1 шаг за 1 такт. Этот режим позволяет увеличить крутящий момент почти в половину от номинального. .. figure:: step2.gif :align: center Полношаговый режим (две фазы на полный шаг) * Полушаговый режим - ротор поворачивается на 1/2 шага за 1 такт. Этот режим позволяет увеличить количество шагов в полном обороте в два раза, при незначительном уменьшении крутящего момента. .. figure:: step3.gif :align: center Полушаговый режим **Частота импульсов** - частота следования импульсов в Гц, с помощью этого параметра можно задавать скорость вращения/движения шагового двигателя. Диапазон разрешенных значений 10-200Гц. Алгоритм работы для управления двигателем следующий: * выбрать тип двигателя и режим работы * выбрать токовые ограничения и частоту импульсов * при выключенном драйвере записываем необходимое количество импульсов, выставляем направление вращения * включаем драйвер двигателя, при включении импульсы автоматически начнут отрабатываться * по достижению заданного количества импульсов моторы переходят в режим удержания * во время работы можно перевести моторы в режим удержания, счетчик импульсов при этом не сбрасывается и можно будет продолжить вращение в ту же или другую сторону. Блок переменной для установки количества импульсов имеет два входа **Step** и **Set** и один выход **Step**. Для записи нового значения количества импульсов необходимо на вход **Step** установить это значение, а на вход **Set** подать единицу. На выходе **Step** отображается выданное значение импульсов. .. figure:: block_step.png :align: center Блок установки количества импульсов Порядок управления двигателями ------------------------------ * Выбрать тип двигателя. Установить значение в переменную **Тип двигателя**, тип двигателя выбирается для двух выходов управления. Допустимые значения 0 или 1 * Установить ограничение по току. В переменную **Ограничение тока** записать значение максимального потребления тока, указанного в паспорте для двигателя. Максимальный ток потребления не может быть более 1.65А. * Установить режим работы двигателя. Для этого в переменную **Мх. Режим работы** записать одно из значений. 0 — полношаговый 1 фаза, 1 — полношаговый 2 фазы, 2 — полушаговый. Другие значения устанавливать запрещено. * Установить частоту импульсов. В переменную **Мх.Частота импульсов** записать значение в диапазоне от 10 до 200. Этот параметр будет определять скорость вращения двигателя. * Включить драйвер. В переменную «Мх.включение» записать значение 1. При этом на драйвер управления двигателем будет подано напряжение. * Установить направление вращения. Для этого в переменную **Мх.Направление вращения** записать одно из следующих значений: -1 - вращение влево, 0 - удержание, 1 - вращение вправо. Другие значения устанавливать запрещено. * Установить количество шагов и запустить двигатель. Для этого в переменную **Mх.Step** на вход **Step** установить нужное количество шагов. Запись количества шагов производится подачей значения 1 на вход **Set** на один такт программы (фронт). На выходе **Step** отображается оставшееся количество шагов, которые необходимо выполнить, то есть значение будет уменьшаться от установленного значения до нуля. При достижении нуля двигатель остановится. **!!!Внимание!!!** Если на вход **Set** установить значение 1 постоянно, то двигатель будет вращаться без остановки. * Переменные **Мх.Включение(авария)**, **Мх. Направление вращения(авария)** и **Мх.Количество импульсов(авария)** работают аналогично, но срабатывают только при пропадании внешнего питания.