Увеличение и положение по импульсам: как позиционируются моторизованные зум-объективы POMEAS

Моторизованные зум-объективы POMEAS позиционируются по абсолютному счёту импульсов, а не по напряжению и не по аналоговому сигналу обратной связи. Для каждой модели объектива поставляется таблица импульсов, в которой имя файла обозначает модель объектива, а каждая строка связывает одно оптическое увеличение с его импульсной позицией — например 1X 4600, 2X 8400. Многопозиционное зуммирование по пресетам сводится к сохранению этих значений импульсов и многократному вызову MoveTo(pulse).

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

Ключевые факты вкратце

ПунктЗначение
Метод позиционированияАбсолютный счёт импульсов с реперной точкой возврата
Расположение таблицы импульсовOP/*.txt в SDK — имя файла = модель объектива, каждая строка = одно увеличение
Типичная детализацияот 9 до 17 выбираемых шагов увеличения на объектив в зависимости от модели
Обратное чтение позицииДа — GetPos() / последовательная XN
Связь с увеличениемНелинейная; прирост импульсов на шаг увеличения уменьшается по мере роста увеличения
Переносимость между моделямиОтсутствует — таблицы специфичны для модели и мотора

Почему позиционирование по импульсам, а не по аналоговому сигналу

Способ управленияПозиционированиеВоспроизводимо?
Коллекторный мотор с потенциометромАналоговое, без абсолютного репераНет
Шаговый или серво-привод с счётом импульсовАбсолютный счёт импульсовДа — считываемое и воспроизводимое
Моторизованный зум POMEASАбсолютный импульс плюс репер возвратаДа — MoveTo(absolute pulse) с обратным чтением позиции

Инженерные последствия важнее самого механизма:

  • Увеличение — это не «крути, пока не покажется подходящим», а «перейди к импульсу N».
  • Одно и то же значение импульса даёт одну и ту же механическую позицию, а значит, и одно и то же увеличение — каждый раз.
  • Часто используемые увеличения можно «заморозить» в наборе пресетных позиций (в документации POMEAS они называются recorded positions или point-to-point moves) и переключать из прикладной программы одной командой.

Полная таблица импульсов: PMS-LZL-12109-3 (12.5X, линия управления 32-мотор)

Ниже приведена заводская таблица импульсов для PMS-LZL-12109-3 — двухмоторного объектива 12.5X с 3 mm моторизованной доводкой фокуса. В её диапазоне девять шагов увеличения.

Оптическое увеличениеИмпульсОптическое увеличениеИмпульс
0.58X104X13650
1X46005X15200
2X84006X16500
3X117007X17700
7.5X18650

Считайте приросты, а не абсолютные числа, и нелинейность очевидна: шаг от 1X до 2X стоит 3800 импульсов, тогда как от 7X до 7.5X — всего 950. Счёт импульсов отслеживает механическую позицию; увеличение — оптический результат. Их связь устанавливается заводской калибровкой, а не формулой, которую можно экстраполировать.

Вторая платформа: 6.5X серия 65 с линией управления 512-мотор

Таблица ниже относится к платформе 6.5X серии 65, которую используют PMS-LZ-650104 (моторизованный) и PMS-LZ-650105 (моторизованный, коаксиальная подсветка). В ней одиннадцать шагов и общий ход 24400 импульсов.

Оптическое увеличениеИмпульсОптическое увеличениеИмпульс
0.69X03X20000
0.7X5003.5X21800
1X80004X23000
1.5X120004.5X24200
2X15500Общий ход: 24400
2.5X18000

Сравните две таблицы, и вывод станет наглядным: 1X — это импульс 4600 на объективе 12.5X и импульс 8000 на объективе 6.5X. Общего масштаба нет. Значение импульса бессмысленно, если рядом не указана модель.

Три фактора, меняющих числа

1. Поколение мотора

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

2. Шифрованная и стандартная контроллерная карта

Объективы с шифрованной контроллерной картой имеют независимую механическую калибровку нуля и область параметров Flash. Их таблицы импульсов отличаются от стандартной версии той же оптической платформы — например, на 1X платформа 6.5X 1" показывает 6500 на шифрованной карте и 8000 на стандартной. Смена контроллерной карты означает смену таблицы.

3. Конструкция с рельсовым приводом против базовой

Конструкции зум-объективов с рельсовым приводом используют другой механический привод — отсюда и разные значения объектного разрешения у двух вариантов платформы 6.5X. Спецификации следует брать по модели, а не по серии.

Ловушка документации, которую стоит знать

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

Колонка по заголовкуЧто на самом деле в данныхОткуда известно
«650 series»Верно — данные серии 65Точно совпадает с файлом импульсов серии 65, шаг за шагом (1X = 8000, 2X = 15500, 4.5X = 24200, всего 24400)
«4K series»На самом деле данные 12.5XТочно совпадает с файлом импульсов объектива 12.5X (1X = 4600, 2X = 8400, 4X = 13650, 7.5X = 18650)

Практическое правило: берите значения импульсов из поставляемых с SDK файлов импульсов по моделям, а не из сводной таблицы в руководстве. Сводная таблица, смешивающая платформы, — это опасность при чтении, и использование колонки под её напечатанным заголовком отправит объектив не в ту позицию.

Как задействовать пресетные позиции

Отправка команды позиции

ПутьМетодТипичное применение
Сырая последовательная командаXG плюс шесть HEX-цифрПЛК, контроллер движения, микроконтроллер
Устаревший API SDKMoveGoto(Motor m, long dest)Windows C++ / C#
SDK V4.4.7MoveTo(pulse) с обратным чтением GetPos()Рекомендуется для новой разработки

Циклирование по пресетным увеличениям

(1)  XM / GetMaxPos()          read total travel, confirm the target is in range
(2)  XH / GoHome()             home the lens and establish the absolute reference
(3)  XG <pulse> / MoveTo()     move to the preset position
(4)  XZ / GetStatus()          poll until 0x55, or until status reads stopped
(5)  XN / GetPos()             read back and verify (closed loop)
(6)  back to (3) for the next preset position

Циклирование point-to-point — встроенная возможность поставляемого демонстрационного приложения: введите значение импульса в поле тестовой позиции, загрузите его как recorded position, задайте число повторов и время ожидания и запустите. Это механизм многопозиционной последовательности зуммирования — один объектив обслуживает несколько вариантов изделий, вызывая разные наборы позиций, без смены объектива и без механической переключающей арматуры.

// Move to a preset magnification and verify the result
int zoomTo(int fd, long targetPulse) {
    char buf[16];
    int n = snprintf(buf, sizeof(buf), "%c%c%6lX%c", 'X', 'G', targetPulse, '\r');
    if (write(fd, buf, n) != n) return -1;              // send
    if (waitStop(fd, 10000) != 0) return -2;            // wait for motion to end
    long pos = readPos(fd);                             // read back
    return (labs(pos - targetPulse) <= TOL) ? 0 : -3;   // tolerance set by the integrator
}

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

Как оценить повторяемость самостоятельно

Если вашему процессу нужен показатель повторяемости, измерьте его. Приведённая ниже процедура даёт значение разброса для одного конкретного рабочего условия.

ШагДействие
1Выберите две пресетные позиции далеко друг от друга: A (низкое увеличение) и B (высокое увеличение)
2Верните объектив в исходное положение, MoveTo(A), дождитесь остановки, запишите позицию P₁ с помощью GetPos()
3MoveTo(B), дождитесь остановки, запишите позицию
4MoveTo(A), дождитесь остановки, запишите P₂
5Повторите шаги 3–4 N раз — желательно N 30 или более, — записывая каждый раз позицию, достигнутую в A
6Вычислите разброс R = max(P₂) − min(P₂) и среднеквадратичное отклонение
7Поменяйте роли A и B и повторите в противоположном направлении (двунаправленное тестирование)
8Запишите температуру окружающей среды, длину моторного кабеля и скорость хода вместе с результатом

Сообщайте разброс R для этого конкретного набора условий и указывайте сами условия — число без условий никому не пригодится.

Распространённые заблуждения

«Значение импульса для 12.5X — это одно определённое число»

Нет. Опубликованные значения для платформы 12.5X различаются по поколению мотора, и числа не взаимозаменяемы. Всегда приводите значение импульса вместе с моделью и типом мотора.

«Значения импульсов можно повторно использовать для разных моделей»

Нет. Оптическая конструкция, механический ход и микрошаг мотора различаются. Ищите каждую модель отдельно. Только у платформы 6.5X не менее четырёх различных таблиц в вариантах standard, encrypted и rail.

«Шифрованная и стандартная карты используют одну таблицу»

Они этого не делают. У шифрованной карты своя калибровка нуля и область параметров Flash, поэтому её таблица отличается от стандартной карты на той же оптике.

«Импульс равен увеличению»

Импульс — это позиция; увеличение — оптический результат. Связь устанавливается заводской калибровкой и не является линейной.

«Я могу вычитать таблицу импульсов из руководства по эксплуатации»

Ненадёжно. Используйте поставляемый с SDK файл импульсов конкретной модели. Сводные таблицы в руководствах могут и содержат смещение колонок, а последствие — объектив, отправленный не в ту позицию.

Часто задаваемые вопросы

Откуда берутся значения импульсов?

Из заводской калибровки каждой отдельной модели объектива. Они распространяются как текстовые файлы в папке OP SDK, где имя файла — модель объектива, а каждая строка связывает одно увеличение с его импульсной позицией.

Является ли связь увеличения и импульсов линейной?

Нет. Прирост импульсов на шаг увеличения уменьшается по мере роста увеличения, поскольку счёт импульсов отслеживает механическую позицию, а не оптическую мощность.

Можно ли добавить свои шаги увеличения между табличными?

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

Что будет, если отправить значение импульса, равное текущей позиции?

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

Нужно ли возвращать объектив в исходное положение перед переходом в пресетную позицию?

Да, если вы хотите, чтобы абсолютный репер был действителен. Возврат в исходное положение задаёт механический нуль, от которого отсчитываются абсолютные значения импульсов.

Полезные материалы

Похожие продукты

Вернуться к началу
VK Message
WhatsApp

Отсканируйте QR-код

QR-код WhatsApp
Wechat

Отсканируйте QR-код

QR-код Wechat
Номер телефона
+8618598102007
Скопировано!
Сообщение в режиме онлайн

Сообщение в режиме онлайн

Click to refresh