4.3.4. Автокалибровка домашней позиции¶
Автокалибровка используется для определения и установки подвижки в начальную позицию (также ее можно назвать «домашней» или «нулевой»). Калибровка сводится к автоматическому точному обнаружению концевика, сигнала датчика оборотов или момента поступления внешнего сигнала, определяющего нулевую позицию, и смещению от нее на заданное значение отступа. Это позволяет начать работу в ситуации, когда текущее положение позиционера не известно, но известно расположение одной реперной точки (исходного положения) относительно концевика или какого-либо другого сигнала. Процесс автокалибровки не требует от пользователя навыков программирования.
Реперная точка (сигнал остановки) определяется одним из трех способов в зависимости от выбранных пользователем настроек:
- Движение до концевика - в этом случае используются текущие настройки концевиков (расположение, полярность), см. раздел Настройка диапазона движения и концевых выключателей.
- Движение до поступления сигнала с датчика оборотов - в этом случае используются текущие настройки датчика оборотов, см. раздел Контроль позиции.
- Движение до поступления сигнала на вход синхронизации - в этом случае используются текущие настройки входа синхронизации, см. раздел Настройки синхронизации, если вход синхронизации программно выключен в соответствующих настройках, то обработка сигнала со входа синхронизации никогда не произойдет.
Предупреждение
Если вход синхронизации выключен программно в соответствующих настройках, то обработка сигнала со входа синхронизации никогда не произойдет.
4.3.4.1. Стандартный алгоритм поиска домашней позиции¶
В зависимости от настроек процесс автокалибровки может происходить по трем алгоритмам. Стандартный поиск домашней позиции заключается в том, что контроллер начинает перемещение с заданными параметрами скорости и направления движения до получения сигнала остановки. Скорость автокалибровки, как правило, задается более низкой, чем скорость обычного движения, чтобы «не пропустить» приход сигнала и повысить точность калибровки. Затем производится безусловное смещение на обычной рабочей скорости на заданное расстояние отступа.
Полученная точка называется исходным положением или «домашней позицией». Важно отметить, что ее расположение на позиционере не зависит от начального положения, из которого началась калибровка.
4.3.4.2. Точная докалибровка¶
После поступления сигнала остановки позиция контроллера уже определена. Но прежде чем сделать сдвиг до домашней позиции, можно включить дополнительное движение до следующего сигнала остановки (вторую фазу автокалибровки). Это позволяет выставить домашнюю позицию с точностью, достигающей на некоторых позиционерах 1/256 шага для шаговых двигателей или 1 отсчета энкодера для DC и BLDC двигателей. Если установлен соответствующий флаг, контроллер вращает мотор в заданную пользователем сторону с настроенной скоростью до получения сигнала остановки от источника, выбранного пользователем. Затем, как и при использовании стандартного алгоритма, производится смещение на обычной рабочей скорости на заданное расстояние отступа.
Параметры второй фазы автокалибровки (скорость, направление движения и источник сигнала остановки) задаются независимо от настроек параметров первой фазы. При этом разумно использовать сигнал с датчика оборота на валу двигателя до редуктора и совершать движение на маленькой скорости - это обеспечит максимальную точность. Так как сигналы окончания первого движения и второго движения могут совпадать, то в ПО предусмотрен специальный флаг для начала отслеживания сигнала окончания второго движения только после совершения полуоборота вала двигателя. Это позволяет избежать неоднозначной последовательности получения сигналов о завершении первого и второго движений. В результате опционального второго движения калиброванная позиция уточняется.
Примечание
Если используется вторая фаза автокалибровки, то первое перемещение можно выполнять с высокой скоростью, так как оно лишь грубо калибрует позицию, и точность там не требуется. Если использовать для второй фазы движения второй концевик, повышение точности не произойдет, так как его физические параметры не отличаются от параметров первого концевика.
4.3.4.3. Быстрый алгоритм автокалибровки¶
При активации функции быстрого алгоритма автокалибровки контроллер начинает вращать мотор в заданную сторону с обычной рабочей скоростью для быстрого поиска положения реперной точки. После поступления сигнала остановки контроллер отводит мотор назад на половину оборота и вновь начинает движение в заданном направлении, но уже со скоростью, заданной в настройках первой фазы автокалибровки. После повторного получения сигнала остановки производится смещение на рабочей скорости на заданное расстояние отступа. Источник сигнала остановки также задается настройками стандартного алгоритма.
Быстрый алгоритм автокалибровки является оптимальным для большинства двигателей и позиционеров и, как правило, выставлен по умолчанию в настройках профилей для большинства позиционеров фирмы Standa.
4.3.4.4. Особенности автокалиброки¶
После успешного завершения калибровки домашней позиции в структуре состояния контроллера устанавливается флаг STATE_IS_HOMED. Если после этого домашняя позиция каким-либо образом сбилась (остановка по концевому выключателю, немедленная остановка во время движения, обнаружение потери шагов, переход в режим Alarm), то соответствующий флаг снимается и нужно вновь провести калибровку домашней позиции.
Примечание
Получаемая в результате калибровки позиция будет немного зависеть от скорости, с которой выполнялось последнее движение до срабатывания выбранного датчика. Поэтому для точного попадания в ту же позицию не меняйте параметры скорости.
Примечание
Если команда немедленной остановки движения или команда отключения питания мотора выполняются в момент, когда мотор не вращается, то это не сбивает калибровку домашней позиции и флаг STATE_IS_HOMED не снимается.
Описание функций автокалибровки домашней позиции приведено в руководстве по программированию.
Команды автокалибровки приведены в разделе Описание протокола обмена.
Автокалибровка может быть настроена пользователем в программе XILab на вкладке Device -> Home position см. раздел Настройка исходного положения, а запущена кнопкой Go home в главном окне XiLab.
Для автоматической установки настроек домашней позиции в комплект XILab входит скрипт set_zero. Этот скрипт изменяет настройку Standoff вкладки Home position settings так, что текущая позиция становится домашней.
Использование скрипта:
- установите подвижку в желаемую позицию,
- включите скрипт и дождитесь окончания его выполнения.
В результате подвижка окажется в той же позиции, в которой был запущен скрипт, и все последующие вызовы функции автокалибровки будут приводить её в эту позицию. Не забудьте сохранить настройки в энергонезависимую память контроллера.