Библиотека · Как найти причину

Изображение с линейной камеры растянуто или сжато: как найти причину

Коротко

Прежде чем менять настройки, снимите мишень с метками на известном расстоянии. Шаг поперёк движения (миллиметры детали на один пиксель) — измеренная ширина поля зрения, делённая на число пикселей в строке. Шаг вдоль движения (путь детали за строку) — фактическая скорость, делённая на фактическую частоту строк. При квадратных пикселях на экране изображение сжато, если шаг вдоль больше шага поперёк, и растянуто, если меньше. Сбиться может любая ось, поэтому проверьте каждую отдельно и только потом исправляйте.

Как найти причину

Линейная камера, как сканер, собирает изображение из строк, пока деталь движется. Строки может запускать сама камера с постоянной частотой. В режиме запуска от энкодера датчик выдаёт импульсы по мере движения конвейера.

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

  1. Ошибка меняется со скоростью конвейера, а масштаб поперёк прежний. Возможные причины: постоянная внутренняя частота строк, невключённый запуск от энкодера или камера, которая на большей частоте отбрасывает запуски. Сравните шаг вдоль на двух скоростях, проверьте источник запуска и счётчики принятых запусков. Если подтвердилось, запускайте строки от энкодера, по одной на равный отрезок пути (рекомендация производителей), или исправьте заданную частоту.
  2. Ошибка в процентах одинакова на любой скорости. Сначала подтвердите шаг поперёк по мишени, затем рассчитайте, сколько отсчётов энкодера приходится на строку. Поставьте метку на колесе и сравните насчитанный путь с известным расстоянием. Возможны пять причин: ошибка в числе импульсов на оборот (PPR), режиме подсчёта, делителе, эффективном диаметре колеса под нагрузкой или проскальзывание колеса. Режим подсчёта x1, x2 или x4 — число отсчётов на импульс. Исправляйте только то, что показала проверка.
  3. Масштаб поперёк изменился после замены объектива, перефокусировки или смены рабочего расстояния (от объектива до детали). Старые настройки энкодера ему больше не соответствуют, даже если сам энкодер исправен. Измерьте известное расстояние поперёк строки, затем пересчитайте целевой путь на строку и делитель.
  4. Искажение сопровождается размытием, пропущенными или повторёнными строками, отброшенными запусками. Сравните заданную выдержку с доступным временем между строками при заданной частоте запуска, проверьте счётчики состояния камеры. В зависимости от камеры слишком длинная выдержка может привести к потере запусков, снижению частоты строк или смазу. Сократите выдержку, добавьте свет или снизьте заданную частоту, и только потом оценивайте делитель.

После любого исправления снова снимите мишень и измерьте обе оси.

Как настроить энкодер для поля 500 мм и скорости 2 м/с

Допустим, в строке 4096 пикселей. Расчётный шаг поперёк — 122,07 мкм (0,12207 мм). В этом примере задаём запас 20 % для подбора камеры; расчётная рабочая частота получается 19 660,8 Гц. Квадратную дискретизацию задаёт не она: для равенства шагов по двум осям нужна частота 16 384 Гц.

Добавим инкрементальный энкодер (допущение примера): 2048 импульсов на оборот, подсчёт x4, эффективный диаметр колеса 100 мм, без проскальзывания. Получается 8192 отсчёта на оборот, 38,3 мкм (0,0383 мм) на отсчёт и 3,18 отсчёта на строку. При 2 м/с частота отсчётов энкодера — 52 151,89 Гц (всё рассчитано). Запас 0 % или 20 % её не меняет.

Число отсчётов на строку дробное, поэтому преобразователь частоты приближает его делителями и умножителем. Предделитель 1, умножитель 11 и выходной делитель 35 дают 11 запусков строки на 35 отсчётов. Выходит 122,02 мкм (0,12202 мм) на строку при цели 122,07 мкм. Ошибка шага −0,04 %, то есть лёгкое растяжение (рассчитано). Названия регистров сверьте с руководством к своей камере.

Рассчитать для своего случая

Готовая ссылка открывает калькулятор с данными примера: ширина, скорость, поиск дефектов, квадратная дискретизация, запас и доля периода строки, отведённая под выдержку.

  1. Выберите камеру в строках результата. Полей интерфейса и формата пикселей на странице нет: форматы смотрите по режимам в паспорте камеры или в описании её программного интерфейса (API).
  2. Заполните блок энкодера: импульсы на оборот до подсчёта, диаметр колеса и режим подсчёта. Ссылка ставит значения по умолчанию, 1024 и x1; для примера введите 2048 и x4. Блок энкодера считает от рабочей частоты, поэтому при запасе 20 % покажет 2,65 отсчёта и 102 мкм (0,102 мм) пути на строку (рассчитано). Для примера выше задайте запас по частоте строк 0 %. При доле 0,8 (допущение примера) расчётный предел выдержки для планирования вырастет с 40,7 до 48,8 мкс. Реальные пределы выдержки камеры проверьте отдельно.

Если поменять только ширину, калькулятор начнёт подбирать другой сенсор. Для установленной камеры посчитайте «Минимальный дефект» сами. Умножьте измеренную ширину поля на число пикселей на дефект и разделите на число пикселей в строке. Повторяйте расчёт при каждом изменении поля. Формулы — в справке к калькулятору линейных камер.

Частые ошибки

Где правило ломается

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

Следующий шаг

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

Источники

Похожие материалы

Как подготовлен материал

Материал подготовлен MVisionPro по указанным источникам и с помощью расчётного ядра MVisionPro. Физический тест указан только там, где он действительно проводился. Как мы готовим материалы.

Статус проверки: Проверено. Обновлено 2026-10-07.