Настройка и загрузка параметров осей, пользовательских и системных программ во флэш память (Configuration and FLASH Screen)

Jump to channel selection description Jump to Axis Mode Description Jump to Microstepper Amplitude description Jump to Max Following Error description Jump to InvDistPerCycle description Jump to Lead Compensation description Jump to Input Channel description Jump to Output Channel description Jump to Limit Switch Options description Jump to Axis Parameters Utility Functions description Jump to Launch Threads description Jump to Flash memory description

(Нажмите на участок изображения для перехода к нужному разделу справки)

Данное окно позволяет вносить изменения в конфигурацию осей KMotion, загружать новую прошивку системы или пользовательские программы во FLASH (энергонезависимую память).

Каждый канал настраивается независимо. Чтобы просмотреть или внести изменения в конфигурацию сначала необходимо выбрать нужный канал, используя выпадающий список. Обратите внимание, что изменение оси на любом экране переключает активный канал на всех остальных экранах.

Конфигурация каждой оси делится на три раздела: базовые параметры, настройка перемещения и установка фильтров. Каждый раздел отображается на соответствующем окне:

Доступные функции

После определения корректных параметров конфигурации они могуть быть преобразованы в С код для использования, например, при инициализации станка. Параметры оси также могут быть загружены / сохранены на диске.

Подробный процесс загрузки и исполнения программ смотрите в этом видео.

Кнопки вдоль нижней части экрана конфигурации позволяют :

Обратите внимание, что эти кнопки работают по всем параметрам выбранной оси со всех экранов.

Для того, чтобы сгенерировать С код конфигурации со всех трех окон (базовые параметры, настройка перемещения и установка фильтров) для всех осей для использования в С программе удобно использовать кнопку "Export All to Open C Program". Для получения настроек из C кода, откройте нужную программу и нажмите "Import All to Open C Program". В обоих случаях программа будет просканирована на наличие настроек осей, их количество. Результаты сканирования будут отображаться перед импортом или экспортом настроек. Диалоговое окно ниже показывает пример, в котором было найдены 3 канала.


Режимы работы осей

С помощью соответствующего выпадающего списка установливается режим обработки входного и тип выходного сигнала. Режим управления с замкнутым контуром всегда требует измерения положения. Для открытого контура управления шаговым двигателем, измерение положения не является обязательным. Режим вывода определяет, какой тип выходного сигнала будет использоваться. Для режима "шаг/направление" смотритре раздел Step and Direction Output Mode и раздел Шаг/направление с замкнутым контуром управления.


Входные каналы (Input Channels)

Раздел входных каналов определяет, какие номера каналов будут использоваться для работы этой оси. Резольвер требует два входных канала (синус и косинус), во всех остальных режимах второй канал (Input Chan 1) не используется, и может быть любым.

Параметры усиления и смещения так же применяются к указанному входному каналу. Коэффициент усиления применяется до смещения, т.е. x' = ax+b, , где а усиление и b смещение.

Инкрементальные энкодеры используют только параметр усиления(gain), который может быть использован для масштабирования или реверса (с использованием отрицательного коэффициента усиления, например -1).

Резольвер представляет собой устройство, которое генерирует аналоговый синус и косинус сигналы, в зависимости от изменения угла вала. За один оборот резольвера могут быть получены один или несколько синус и косинус волн. Энкодеры, которые генерирует аналоговый синус и косинус сигналы также могут быть подключены к KMotion, в режиме резольвера. Входа резольвера должны быть симметричны относительно нуля и иметь одинаковую амплитуду, этого можно добиться настройками усиления и смещения. KMotion вычисляет арктангенс точки на окружности (также отслеживает число оборотов), чтобы получить текущую позицию.

Вход АЦП использует один вход абсолютного АЦП канала для измерения положения. Усиление и смещение могут быть использованы для изменения точки отсчета нуля АЦП от -2048 до +2047 и желаемого диапазона.


Выходные каналы (Output Channels)

В разделе "Выходные каналы" определяется, какие каналы будут использоваться для данной оси. Некоторые режимы требуют два канала, если выбран режим выхода использующий только один, то второй выходной канал (Output Chan 1) не используется, и может быть любым. Доступны следующие режимы: ШИМ, генерация Шага / Направления, ЦАП.

Шаговый режим(Stepper mode) и 4-х фазный бесщеточный(4PH Servo) режим использует два канала ШИМ.

Сервопривод постоянного тока использует только один канал ШИМ.

3-х фазный бесщеточный режим (3PH Servo) требует два канала ШИМ с последовательными номерами. В режиме 3PH Servo, указывается только выходной канал 0 и он должен быть четным.

Для режима шаг/направление (Step/Dir) и шаг/направление с обратной связью (Closed Loop Step/Dir) выходной канал 0 используется для указания какой вывод и с какими настройками будет использоваться для этой оси. Генератор шагов/направления можно использоваться с драйверами активного нижнего и верхнего уровня, с открытым коллектором. Смотрите раздел Режим Шаг/Направление (Step and Direction Output Mode). для подробной настройки.

Смотрите также команды OutputGain и OutputOffset для изменения данных параметров прямо во время работы программ.


Параметры: Microstepper Amplitude, Max Following Error, Inv Dist Per Cycle, Lead Compensation

Параметр Microstepper Amplitude применим только к конфигурации с выходным режимом "Микрошаг" (Microstepper). Этот параметр устанавливает амплитуду синусоиды в единицах счета ШИМ (0 .. 255), который будет выводиться на синус и косинус ШИМ каналов, на малых скоростях или в состоянии покоя. Следует отметить, что при более высоких скоростях KMotion может увеличивать амплитуду, чтобы компенсировать индуктивность двигателя. Смотрите "Lead Compensation" в этом же разделе.

Параметр Максимальная ошибка слежения (Max Following Error) применим ко всем режимам с замнутым следящим контуром. Всякий раз, когда ожидаемое и измеренное положение отличаются больше, чем на это значение, ось будет отключена.

Параметр Inv Dist Per Cycle учитывается в режимах для шаговых, 3-х фазных и 4-х фазных двигателей. Для шагового двигателя "Inv Dist Per Cycle" определяет значение на которое задание должно измениться для поворота двигателя на один оборот. Параметр должен быть введен в качестве обратного расстояния за один цикл. Шаговые двигатели чаще всего характеризуются изменением угла вала на "полный шаг". Для полного цикла через все обмотки требуется четыре "Полных шага". Смотрите следующие примеры:

Пример №1: ось перемещается на 0.001" за каждый полный шаг шагового двигателя. Все рассчеты и сам параметр в дюймах.
Результат: Один цикл = 4 полных шага = 0,004", таким образом InvDistPerCycle = 1,0 / 0,004 = 250,0 (циклов / дюйм) команда перемещения на 1,00 дюйм будет генерировать 250 синусоид, что равносильно 1000 полным шагам или одному дюйму перемещения.


Пример №2: параметр InvDistPerCycle остается по умолчанию равным 1.0
Результат: Перемещение оси в циклах. Команда "переместиться на 50" сгенерирует 50 синусоид, что равносильно 200 полным шагам или один оборот на двигателе в 200 шагов(1,8 градус на шаг).


Для 3-х или 4-х фазного двигателя данный параметр представляет собой обратное значение для одного полного цикла коммутации.

Пример №1: На 3-х фазном двигателе установлен энкодер на 4096 импульсов на оборот, который используется для обратной связи по положению. Так как InputGain0 установлен в единицу(или -1), измерения с энкодера не масштабируются. По конструкции двигателя на каждый оборот приходится 3 полных циклов коммутации.
Результат: один цикл = 4096 импульсов / 3,0. Таким образом InvDistPerCycle = 3,0 / 4096 = 0.000732421875.

Обратите внимание, что очень важно использовать высокую степень точности, чтобы избежать ошибок после перемещений на большие расстояния. По этой причине параметр Inv Dist Per Cycle поддерживает точность 64 бит с плавающей запятой (потребуется более 70 лет при частоте 1 МГц чтобы получить ошибку).


Параметр Lead Compensation может быть использован для компенсации индуктивности двигателя. На низких частотах сопротивление катушки является постоянным, но по мере увелечения частоты индуктивность L в определенной момент начинает возрастать, а ток уменьшаться (см. график ниже). Компенсация KMotion дает противоположный эффект, коэффициент усиления 1 возрастает с увеличением частоты. Если параметр указан верно, то крутящий момент будет сохранен и на более высоких оборотах.

При этом предполагается, что номинальное напряжение двигателя ниже доступного напряжения питания. Например, шаговый двигатель 5В подключен к 15В источнику напряжения, чтобы позволить увеличить напряжение на высоких частотах (скоростях).

Простая формула для компенсации вглядит следующим образом:

v ' = v + Δv L

где v напряжение до компенсации, v' напряжение после компенсации, Δv изменение значения напряжения за последнее вычисление и L значение компенсации.

Следующая формула вычисляет частоту «колена» для указанного параметра учетом частоты дискретизации вычислений (обычно Т = 90 мкс).

или инверсией этой формулы для получения параметра учитывая частоту "колена".

В таблице получены значения из приведенной выше формулы. Для большинства двигателей значения компенсации будут находиться в пределах от 5 до 20.

Freq, Hz Lead
50 35.37
60 29.47
70 25.26
80 22.11
90 19.65
100 17.69
120 14.74
140 12.63
160 11.06
180 9.83
200 8.85
220 8.04
240 7.37
260 6.81
280 6.32
300 5.90
350 5.06
400 4.43
450 3.94
500 3.55
550 3.23
600 2.96
650 2.74
700 2.54
750 2.38
800 2.23
850 2.10
900 1.99
950 1.88
1000 1.79

 

 

График выше показывает простое движение 0.5с без компенсации в режиме "Микрошаг". Положение показано красным и отображается в количестве циклов, значения слева. Выход ШИМ показан зеленым и выводится в единицах дискретизации ШИМ, значения справа. Параметры движения: cкорость (Vel) = 200 циклов/с, ускорение (Accel) = 200 циклов/с2, рывок (Jerk) = 10000 циклов/sec3. Следует отметить, что независимо от скорости амплитуда ШИМ постоянна.

Этот график показывает те же 0.5 с движения со значением компенсации = 27,0. Все остальные параметры такие же, как описано выше. Обратите внимание, как амплитуда ШИМ возрастает с увеличением скорости.

Если параметры двигателя неизвестны, используется метод проб и ошибок, чтобы найти лучшее значение компенсации. Можно использовать следующий алгоритм:

  1. Установите значение компенсации в ноль.
  2. Увеличьте частоту вращения двигателя до тех пор, пока не обнаружите снижение крутщяего момента.
  3. Увеличивайте значение компенсации пока крутящий момент не будет восстановлен.

Стоит избегать слишком больших значений компенсации, поскольку это может вызвать перегрузки по току в двигателе на средних скоростях или искажения напряжения в следствии насыщения.

Настройка ведущего/ведомого(Master/Slave Settings)

Можно настроить ось для слежения за другой. Параметром slave gain задается масштабирование относительно ведущей оси. Если значение отрицательное, то ось будет двигаться в противоположном направлении от ведущей оси. Смотрите так же команды для выполнения в С программе: SlaveGain и MasterAxis. Установка параметра master axis в -1 отключает слежение.

 

 

 

 

Компенсация люфта (Backlash Settings)

Настраивает компенсацию люфта для выбранной оси. Для того, чтобы компенсировать люфт в оси, задание может быть изменено на указанную величину смещения при движении в положительном направлении и не применяется при перемещении в отрицательном направлении. Смотрите так же команды для выполнения в С программе: BacklashMode, BacklashAmount и BacklashRate

 

 

 

 

Настройка концевиков (Limit Switch Options)

KMotion позволяет контролировать входа концевых выключателей и останавливать движение при наезде на них. Настройками можно включить или выключить данную функцию отдельно для каждого предела (положительного или отрицательного), назначить конретный вход для контроля этого направления, выбрать низкий или высокий рабочий уровень, действие которое следует выполнить при наезде на концевик.

Поставьте галочку Watch Limit для включения контроля. 

Поставьте галочку Stop when low для выбора обратного уровня срабатывания (движение будет остановлено когда на входе будет 0)

Введите номер входа (bit no.) концевика. Допольнительно смотрите раздел Digital IO Screen. Для этого можно использовать любой вход KFLOP/Kanalog/Konnect, но наиболее удобно использовать с 12 по 19 бит. Для экономии входов все концевики или их часть можно последовательно подключить к одному входу. В этом случае один и тот же номер следует указать во всех использующих его осях.

Из выпадающего списка следует установить действие при наезде:

Kill Motor Drive - полностью отключает ось. В данном случае невозможно съехать с концевика в обратном направлении.

Disallow drive into limit - этот режим позволяет повторно включить ось и съехать с концевика в обратном направлении.

Stop Movement - ось остается включенной. Сработает FeedHold, все оси будут контроллируемо замедленны и перейдут в режим удержания позиции. Снятие "FeedHold" позволит съехать с концевика в обратном направлении.

Режим FeedHold останавливает и предотвращает дальнейшие перемещения, пока не будут устранены причины его вызвавшие. В KMotion кнопка Feedhold и в KMotionCNC при срабатывании будет мигать. Для снятия режима Feedhold необходимо нажать на данную кнопку. Если причина вызова не устранена, Feedhold будет установлен снова.

Программное ограничение рабочего поля (Soft Limits)

Программные "концевики" ограничивают перемещение так же, как физические. Это происходит независимо от работы физических концевиков. Чтобы отключить программные ограничения рабочего поля установе огромный диапазон, который никогда не может произойти (+-1e+009). Значения данных ограничений учитываются при построении траектории и запуске режима симуляции в KMotionCNC, при выходе управляющей программы за рабочее поле будет выведена ошибка.

 

Запуск программ после подачи питаня (Launch on Power Up)

Запуск программ после подачи питания определяет, какие программы пользователя будут запускаться при автономном использовании KMotion. Смотрите раздел C Program Screen для информации о редактировании и запуске программ в одном или семи потоках для выполнения программ.

 

 

 

 

Для запуска программ после подачи питаня, выполните следующее:

  1. Скомпилируйте и загрузите (Compile and Download) С программу в конкретном потоке.

  2. Выберите Launch on Power Up для этого потока.

  3. Загрузите в постоянную Flash память User Memory (см. следующий раздел).

  4. Отключите KMotion от ПК

  5. Снимите и подайте питание на KMotion

 

FLASH

Все пространство User Memory может быть прошито в энергонезависимую память нажатием кнопки Flash - User Memory. Это сохранит все конфигурации осей, все загруженные пользовательские программы(до 7). После сброса питания KFLOP будет возвращаться к этой конфигурации.

Для обновления системной прошивки KMotion используется кнопка Flash - New Version. Найдите и выберите файл DSPKMotion.out находящийся в папке куда устанавливался KMotion . При обновлении все пользовательские данные в разделе User Memory будут так же удалены.

После обновления прошивки необходимо повторно загрузить KMotion для активации новой версии.

В случае если версия KMotion требует обновления системной прошивки KFLOP будет выведено соответствующее сообщение.

 

Процесс загрузки данных во Flash память никогда не должен прерываться, так как это может сделать систему незагружаемой. Однако, если это все-таки произошло нажмите кнопку Flash Recovery и следуйте инструкциям:

  1. Выберите файл системной прошивки для загрузки.
  2. Отключите KMotion.
  3. Включите KMotion.
  4. После загрузки KMotion, загрузите новую версию.