
- •Пояснительная записка
- •Обзор и сопоставление известных вариантов построения оптико-электронных преобразователей линейных перемещений.
- •Построение кодовой шкалы преобразователя
- •Выбор и обоснование структурной и функциональной схем.
- •3. Расчёт и конструирование преобразователя
- •3.1 Расчет оптической системы преобразователя
- •3.1.1 Определение силы света источника из условия получения требуемой освещенности фотоячеек
- •3.1.2 Оценка разрешающей способности преобразователя
- •Разрешение оптической системы
- •3.2. Оценка быстродействия преобразователя
- •3.3 Расчет точности
- •4 Выбор основных элементов конструкции и их компоновка.
- •4.1 Описание конструкции.
Выбор и обоснование структурной и функциональной схем.
Обобщенная структурная схема системы оптико-электронного преобразования линейных перемещений включает (рисунок 4.1): излучатель (И), кодирующую структуру (КС), анализирующую структуру (АС), объектив (ОБ), модуль фотоприемников (ФПМ), блок первичной обработки информации (БПОИ) и систему вторичной обработки информации (СВОИ).
Рис. 4.1 Обобщенная структурная схема системы оптико-электронного преобразования линейных перемещений
Сам разрабатываемый оптико-электронный преобразователь линейных перемещений (ОЭПЛП) можно представить (рис. 4.2) состоящим из неподвижной кодовой шкалы (КШ) , закрепленного на подвижном объекте оптико-электронного блока (ОЭБ) и блок первичной обработки информации (БПОИ). Оптико-электронный блок включает излучатель (И), анализирующую структуру (АС), объектив (ОБ), модуль фотоприемников (ФПМ). Полученная с выхода ОЭПЛП информация обрабатывается в СВОИ и далее передается во внешние устройства индикации или преобразования (ВУИП).
Рис. 4.2 Обобщенная структурная схема системы оптико-электронного преобразователя линейных перемещений: КШ – кодовая шкала; ОЭБ – оптико-электронный блок, БПОИ – блок первичной обработки информации
Функционально разрабатываемый ОЭПЛП состоит из трех основных частей:
- оптико-электронной, включающей источник излучения, объектив, анализирующую структуру и фотоприемый модуль;
- механической, включающей кодирующую структуры и механизм перемещения относительно нее оптико-электронной части;
- электронно-вычислительной, аппаратные средства которой расположены на плате в самом преобразователе и в персональном компьютере, сопряженному с преобразователем посредством интерфейсного блока.
На матрицу датчиков на ФПЗС (рис.), находящихся в оптико-электронного блоке, объективом проектируются изображение кодовой шкалы. Сформированный ФПЗС видеокадр передается в блок предварительной обработки измерительной информации (БПОИИ) (рис. 4.3), находящийся в непосредственной близости к ФПЗС. В БПОИИ захваченный кадр оцифровывается с помощью АЦП. БПОИИ, связанный через блок интерфейса с персональным компьютером (ПК), выполняющим функции обработки, отображения и хранения измерительной информации, а также управления процессом сбора измерительной информации. Адресация оперативного запоминающего устройства (ОЗУ) производится под управлением блока управления (БУ) на базе счетчиков.
Рис.
4.3 Функциональная схема ОЭПЛП
В большинстве современных фотокамерах, как правило, используется восьмибитный аналого-цифровой преобразователь, т.е. оцифровка аналогового сигнала с матрицы происходит по 256 уровням.
АЦП передает оцифрованные данные на цифровой процессор сигналов, где данные преобразуются в числовые идентификаторы (номера) позиций шкалы на основе определенных алгоритмов (и соответствующих им программ).
Алгоритм обработки занесенной в ОЗУ информации построен таким образом, что осуществляется выделение однородных числовых массивов и анализ их соотношения. Под однородными числовыми массивами здесь понимаются занесенные в последовательно адресованные ячейки ОЗУ двоичные числа, которые после их округления имеют одинаковое значение.
Например, если на выходе АЦП появляются коды «1101», «1111», «1011», «1110», «0111», « 0110», то всем им соответствует значение «1». И соответственно все двоичные числа меньше 0100 идентифицируются значением «0». Таким образом, каждой затененной ячейке ФПЗС ставится в соответствие «0», а каждой освещенной ячейке «1».
При считывании информации кадра происходит последовательная оцифровка сигналов строк, начиная с верхней. Полученные двоичные числа округляются, в результате чего каждому из них присваивается значение либо «0» либо «1». Затем в выделенных таким образом последовательностях битов данной строки подсчитывается количество идущих друг за другом одинаковых битов. Полученные данные о количестве бит в однородных группах каждой строки позволяют определить представительство в данной строке типовых элементов кодовой структуры, как-то:
- реперной линии и референтных меток;
- модулей темных и модулей светлых.
В соответствие с решаемой задачей обработки изображения кадра считываемой по КШ позиции схема алгоритма функционирования блока обработки цифровой изоинформации (БОИ) представляется в следующем виде (рис. 4.4).
Идеология обработки изоинформации основана на том, что сигналы начала и конца строки матрицы фотоприемников всегда присутствуют.
Сканирование начинается с верхней строки кадра. Здесь после серии светлых ячеек (с признаком 0) обнаруживается короткая серия ячеек с признаком 1, соответствующая реперной линии, а затем до конца строки идет непрерываемая серия ячеек с признаком 0.
Строка, в которой обнаруживаются референтные метки, дает при считывании несколько коротких серий сигналов о фотоприемных ячейках (СФЯ) с признаком 1, чередующихся с длинными сериями «нулевых» СФЯ . Здесь надо оговорить, какая серия однородных (с одним и тем же признаком) СФЯ считается короткой, какая серия соответствует сканированию модуля и т.д. В любом случае должно быть известно число ячеек в строке кадра, которое обозначим N. Если ширина помещаемого в кадр участка шкалы составляет 4 мм, и этот кадр проецируется на рецепторное поле фотоприемников 256×256, то при толщине реперной линии 0,05 мм ширина ее проекции на ПЗС-матрицу составляет 3-4 шага ФЯ. Примерно такому же числу ячеек соответствует ширина референтных меток. Следовательно, короткой можно считать серию из трех – четырех СФЯ одинакового признака.
Проекция модуля КШ на матрицу ПЗС, как показывает аналогичный подсчет, имеет среднюю ширину в 32 шага ячеек. При считывании строки изображения, темный модуль дает серию из 25-40 СФЯ с признаком 1. Такая же по длине серия СФЯ, но с признаком 0 выдается при считывании строки светлого модуля. То есть дорожка КШ представляется в сигналах строки различными комбинациями серий из 25-40 одинакового признака СФЯ.
Наконец, считывание строки, относящейся к инкрементной шкале с реперными метками, дает серию СФЯ вида: …00011100…00111000…001…, где между относящимися к меткам сериями из трех-четырех единиц присутствуют последовательности нулей одинаковой длины. Особый фрагмент такой строки – та ее часть, где реперная линия находится между двумя референтными метками. Здесь перед и после короткой серии из 1 следуют серии 0 по S20 и S30 нулей соответственно (рис. 4.4). Так как сумма (S20 + S30) известна, то известно и относительное смещение реперной линии.
Согласно кратко описанной идеологии считывания информации о координате функциональная схема блока (рис.4.5) обработки должна содержать:
АЦП;
дискриминатор уровня освещенности ячейки по коду с АЦП;
счетчик числа освещенных ячеек (имеющих признак «0»);
счетчик числа неосвещенных ячеек (имеющих признак «1»);
регистр реперной линии;
регистр смещения реперной линии относительно начала кадра;
регистр ширины модуля;
сдвиговый регистр позиции.
Важно указать, что в соответствие с идеологией построения кодирующей структуры информация о считываемой позиции составляется из числа, считанного по цифровой кодовой шкале (шкале грубого отсчета) и уточняющего числа, считанного по штриховой шкале.
Анализ первой строки кадра должен выявить короткую серию единиц, соответствующих реперной линии, которая должна находиться в поле зрения объектива с небольшим отступом от левой границы. Если опрос ячеек идет слева направо, то после серии нулей должна появиться короткая серия А = k единиц (k < kmax). После этого в регистр положения реперной линии (РгРЛ) заносится число В = Р0, накопленное в счетчике ячеек с признаком «0» (СчЯ0), а сам этот счетчик сбрасывается в ноль. Если после этого до конца строки следует серия нулей, то формируется и выдается сигнал сброса счетчика ячеек с признаком «1». Если же после короткой серии k единиц сплошной серии нулей не обнаруживается, поиск реперной линии повторяется.
Анализ строки с реперной линией и референтными метками заключается, во-первых, в определении числа «нулевых» ячеек между группами k ячеек с признаком «1», соответствующих реперной линии и соседними с ней референтным меткам. Во-вторых, надо определить количество ячеек с признаком «0» между ячейками, соответствующими референтным меткам. При построении описываемого здесь алгоритма предполагается, что участок шкалы с идентифицируемым кадром располагается в поле зрения объектива вместе с реперной линией как показано на рис. 4.4.
Считывание строки опять начинается с серии нулей, после которых должна появиться короткая серия k единиц. После проверки условия k < kmax число S0, накопленное в счетчике СчЯ0 сравнивается с числом, ранее помещенным в РгРЛ. Результат S0 < Р0 означает, что встретившаяся первой группа k единиц соответствует не реперной линии, а референтной метке. Содержимое СчЯ0 сбрасывается. Далее подсчитывается следующая серия нулей S10 до появления k единиц с проверкой k < kmax. Снова сравниваются числа в СчЯ0 и в РгРЛ. Если S10 < Р0, то число Sh = S10 помещается во временный регистр ширины модуля (РгШМ), отсчитываемого по расстоянию между референтными метками, а содержимое СчЯ0 сбрасывается. Результат S10 ≥ Р0 означает неправильную начальную юстировку положения реперной линии в поле зрения датчика или ошибку из-за случайного дефекта. В этом случае искомые результаты получают при сканировании следующей строки с реперной линией и референтными метками.
Рис. 4.4 Сканируемый участок шкалы с идентифицируемым кадром
Снова подсчитывается очередная серия нулей S20 до появления k единиц с проверкой k < kmax. При S20 < S10 число S20 заносится в регистр смещения реперной линии (РгСРЛ) относительно начала (границы) идентифицируемого кадра. При S20 = S10 в РгСРЛ заносится 0 (т.к. в этом случае положение реперной линии и второй референтной метки совпадают). Подтверждением полученной величины S20 является результат подсчета чисел ячеек с признаком «0»: │(S0 + S10+ S20+2k) - Р0│≤ Δдоп.
Дальнейший анализ содержимого считываемой строки необходим для проверки выявленных числовых характеристик шага меток и смещения реперной линии относительно начала идентифицируемого кадра. Выполняются операции аналогичные описанным выше, а именно: подсчет числа Sm0 (m = 2, 3,…) ячеек с признаком «0» между сериями k ячеек с признаком «1» и сравнение полученных чисел с содержимым РгШМ. При различии │S10 - Sm0 │≤ hдоп в РгШМ записывается усредненное значение S10 и Sm0 . При │S10 - Sm0 │≥ hдоп содержимое РгШМ сбрасывается. Новое значение Sh записывается в этот регистр при дальнейшем анализе только при выполнении условия │S(m-1)0 - Sm0 │≤ Δsдоп.
Для более надежного определения положения реперной линии относительно ближайшей к ней слева референтной метки проверяется условие │(S20 + S30+k) - Sh│ ≤ Δhдоп.
Рассмотренный процесс анализа строк штриховой части шкалы представлен на соответствующей функциональной схеме (рис. 4.5).
Рис. 4.5 Функциональная схема анализатора сигналов с фотодатчиков
Важно, чтобы результаты анализа строки (смещение реперной линии S20 и ширина модуля Sh) были подтверждены при сканировании еще одной строки с референтными метками.
За счет этого обеспечивается надежность считывания даже в том случае, если кодирующая структура немного повреждена или на ней присутствует загрязнение.
Следующим этапом процесса считывания кадра является сканирование кодовых дорожек КШ. Задача здесь состоит, во-первых, в выявлении зачерненных и светлых участков дорожки и их сопоставление с уже известной шириной модуля шкалы. Во-вторых, необходимо получить цифровое описание дорожки идентифицируемого кадра. И, главное, необходимо определить битовые значения четырёх модулей сканируемой дорожки, входящих в идентифицируемый кадр. Другими словами, надо получить четырехразрядный двоичный код, отмечающий соответственно четыре модуля КШ на данной дорожке. Здесь важно еще раз отметить, что реперная линия всегда отмечает первый столбец кадра.
Процесс сканирования дорожки может начинаться с выявления серии как «единичных», так и «нулевых» ячеек. В любом случае длина серии t ячеек одинаковой освещенности должна быть существенно больше k (для определенности t > 3k). Для выполнения такого условия необходимо, чтобы ширина tнач частично попавшего в поле сканирования модуля (на рис.4.4 -крайнего слева) более, чем в три раза превышала толщину как реперной линии, так и референтных меток. Это реально, поскольку толщина линий может быть принята 0,05 мм, ширина модуля составляет 0,5 мм, а в поле сканирования помещается около 7 модулей (рис. 4.4).
Итак, анализ дорожки начинается с проверки условия t > 3k, то есть проверки факта просмотра именно кодовой дорожки. Как и для предыдущей (штриховой) дорожки число встретившихся подряд ячеек одинакового признака заносится в СчЯ, который сбрасывается после прохождения k ячеек серии с другим признаком. Признак текущей серии ti определяется и запоминается в соответствующем регистре РгПС (рис. 4.5). Параллельно отсчитывается суммарное число ячеек (независимо от признака) до значения Р0. Признак последней (текущей) серии определяет содержание первого бита идентифицируемого кадра, записываемого в сдвиговый регистр позиции СРгП. Каждый кадр соответственно числу входящих в него модулей идентифицируется 16-тиразрядным кодом. При этом четыре младших разряда определяют содержимое верхней (младшей) дорожки, а содержимое нижней дорожки кодируют четыре старших разряда.
Затем счет суммарного числа ячеек продолжается до значения Р0 + Sh, по достижении которого определяется – опять по признаку текущей серии – содержание второго бита кадра. Совершенно таким же образом определяются третий и четвертый биты сканируемого кадра, с той разницей, что признак текущей серии берется в качестве определяющего после отсчета суммарного числа ячеек Р0 + 2Sh и Р0 + 3Sh соответственно.
При сканировании остальных кодовых дорожек в сдвиговый регистр позиции добавляются еще 12 бит (по 4 на каждую дорожку).