Фильтр по тематике

Использование координатных датчиков в распределённой АСУ большого азимутального телескопа

В статье приводятся исходные требования к модернизации системы управления Большим телескопом азимутальным (БТА) и к замене централизованной схемы управления на распределённую сетевую архитектуру АСУ. Описывается метод решения некоторых проблем реального времени, возникающих в распределённой сети управления вследствие нестабильности задержек при асинхронной трансляции данных от координатных датчиков телескопа в управляющую программу.

Введение

Фундаментальная наука выступает базисной основой для развития прикладных научных исследований. Аст­рономия является объединяющим знанием для таких дисциплин, как математика, физика, квантовая механика и другие. Её основная задача – изучение и построение теории мироздания – проще говоря, выяснение того, откуда всё взялось (планеты, звёзды, галактики и вся Вселенная) и куда всё это, в конце концов, денется.


Наблюдательная астрономия является средством исследования вселенной и получения экспериментальных результатов, которые могут подтверждать либо опровергать те или иные теоретические постулаты. Современ­ная наблюдательная астрономия уже вышла в космос, и здесь нельзя не упомянуть известный проект «Хаббл», который позволил сделать ряд открытий и получить высококачественные снимки космических объектов благодаря отсутствию атмосферы. Однако и наземная астрономия не утратила своей актуальности, и в настоящее время в разных странах уже построены большие телескопы с диаметром зеркала в десятки метров или реализуются проекты их строительства. В качестве примера можно привести международный проект от Европейской Южной обсерватории (ESO) по строительству чрезвычайно большого телескопа E-ELT (Euro­pean Extremely Large Tele­scope) с составным зеркалом диаметром 39 метров.

У России есть шанс поучаствовать в этом проекте, вопрос – в долевом взносе порядка 100 миллионов евро. А пока в Российской Федерации остался только один крупный телескоп – БТА (Боль­шой телескоп азимутальный) с диаметром зеркала 6 м. Этот телескоп находится на Северном Кавказе в Специальной астрофизической обсерватории Россий­с­кой академии наук (САО РАН). Он был введён в строй в 1975 году и на тот период времени был самым крупным в мире телескопом с альт-азимутальной монтировкой (рис. 1) и компьютерным управлением. 


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

К концу 90-х годов XX века в связи с распадом производственной инфраструктуры СССР сопровождение сис­тем телескопа разработчиком – Ле­нин­градским оптико-механическим объеди­нением (ЛОМО) стало невозможным, а аппаратная инфраструктура системы управления морально устарела и была физически изношена. Кроме того, централизованная архитектура АСУ исчерпала свои возможности в плане развития, так как любое функциональное наращивание требовало прокладки всё новых дополнительных кабельных коммуникаций, которые всё чаще выходили из строя в зонах по­движных сочленений. Решением проблем могла стать только полная замена старой АСУ.

В период 2000–2005 годов была реализована идея построения новой АСУ с архитектурой распределённой сети, где контроллерные узлы, размещённые в определённых технологических зонах (рис. 2), формируют всю необходимую инфраструктуру по сбору данных и управлению. 

Условные обозначения: A – азимутальная ось; Z – зенитная ось; DOME – купол; PF – первичный фокус; RCA – релейно-коммутационная аппаратура; УВК – управляющий вычислительный комплекс.

Управляющий компьютер связан с контроллерами полевой ши­ной, по которой осуществляется весь информационный трафик управления системой. Такое решение позволило более чем на 70% сократить ка­бельные коммуникации и существенно повысить надёжность.

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

Требования к модернизации отсчётной системы

Кинематические схемы вращения телескопа как по вертикальной, так и по горизонтальной оси идентичны (рис. 3) и отличаются только конструктивной реализацией. 


Червячное колесо жёстко связано с осью вращения и для исключения люфта в червячной паре снабжено механизмом выборки люфта. Сервопривод обеспечивает движение телескопа в заданном режиме. От­счётный блок (рис. 4) совместно с червячной парой образуют отсчётную систему, в которой один из датчиков напрямую совмещён с осью червяка и определяет угол его поворота, а второй датчик, связанный с первым через редуктор, считает количество оборотов червяка.


В исходной схеме датчик, кодирующий положение червяка, имел разрешающую способность 14 бит (214=16 384 от­­счётов/оборот). Раз­ряд­ность второго датчика определяется из коэффициента редукции К главной червячной пары, где К=512, то есть 512 оборотов червяка обеспечивают 1 оборот колеса, что требует при кодировании 9 двоичных разрядов (512=29). Всё это в совокупности определяло разрешающую спо­собность отсчётной системы в 23 раз­ряда, или 223=8 388 608 отсчётов на полный оборот телескопа. В пересчёте на угловые величины цена младшего разряда отсчётной системы, приведённая к полному обороту телескопа, составляла 0,15 угловой секунды. Можно полагать, что при данном дискрете отсчётной системы, отрабатывая рассогласования в границах величины, не превышающей младшего разряда, в пределе можно получить реальную траекторию ведения телескопа с от­кло­нением ±0,15 угловой секунды от расчётной. Такую точность можно считать вполне удовлетворительной с учётом того, что разрешение по изображению у телескопа не превышает 1,0–0,8 угловой секунды при наилучших астроклиматических условиях. Однако в реальных условиях ситуация была заметно хуже по многим причинам, среди которых можно назвать температурную нестабильность от­счёт­ной системы и наведённые помехи на информационных шлейфах, длина которых составляла от 60 до 150 метров. Без программно-статистической фильтрации кодов работать было не­возможно.

Датчики необходимо было менять с расчётом на повышение разрешающей способности и интеграцию их в новую распределённую АСУ телескопа.

Используемые в исходной отсчётной схеме и её прежних модификациях датчики (рис. 5) были основаны на разных принципах работы кодирующего устройства и имели разные выходные интерфейсы. 


Так, в предыдущей модификации основной 14-разрядный датчик строился по классической оптической схеме со стеклянной маской в коде Грея и параллельным выходом с ТТЛ-уровнями. Второй датчик, используемый в качестве счётчика оборотов, имел в основе электромагнитный принцип с двумя пермаллоевыми масками и двухразрядной параллельно-последовательной системой выборки по V-коду Баркера. В целом электрическая часть отсчётной системы была весьма оригинальной, но требовалось более простое решение, особенно по интерфейсной части.

В настоящее время производители, выпускающие абсолютные поворотные шифраторы (энкодеры), снабжают их разными интерфейсами на основе RS-485, CANopen, параллельных шин и др., возможны даже варианты на основе каких-то собственных решений, но, как правило, у всех производителей есть модели, поддерживающие интерфейс SSI (Synchronous Serial Interface) [1], «явочным порядком» ставший, по сути, стандартным интерфейсом для многооборотных энкодеров. Использование датчиков с таким интерфейсом в нашем случае позволяло легко интегрировать их в новую систему управления и иметь свободу выбора продукции разных производителей.

После оценки возможностей современных датчиков и особенностей их применения в наших условиях выбор был сделан в пользу датчиков фирмы Pepperl+Fuchs [2], предлагающей вариант многооборотного абсолютного шифратора с полностью механической, включая счётчик оборотов, системой (в моделях других производителей счётчик оборотов обычно выполняется на основе электронной схемы с батарейной подпиткой). Выбранный вариант датчика ASM58N-F2K1RKBN-1216 (рис. 6) обеспечивает 16 разрядов в однооборотном режиме (Single-turn) и 12 разрядов в режиме счёта оборотов (Multiturn). 


Три лишних разряда в счётчике оборотов в нашем случае просто не используются, а расширение раз­рядной сетки с 14 до 16 разрядов в однооборотном режиме позволяет увеличить точность в четыре раза. В итоге получаем разрешающую способность отсчётной системы в 25 разрядов, или в пересчёте на угловое разрешение для нашей кинематической схемы – 0,039 угловой секунды.

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

Некоторые особенности решения проблем реального времени в распределённой системе управления

В старой централизованной системе управления БТА опрос координатных датчиков осуществлялся непосредственно управляющей программой, работающей в цикле порядка 100 мс. Задержка от момента считывания кода с датчиков к моменту расчёта координаты, привязанной к текущему времени, имела микросекундную величину и являлась фиксированной. В алгоритм расчёта данная задержка входит как постоянный коэффициент, который несложно рассчитать или определить экспериментальным путём.

В распределённой системе временной путь данных от датчиков до программы расчёта координат существенно длиннее и состоит из следующих периодов:

  • время выборки данных из датчика контроллерным узлом по последовательному интерфейсу SSI (в реализованной схеме при выборке данных по интерфейсу SSI на скорости 1 Мбит/с это время составит 64 мкс);

  • время ожидания контроллерным узлом доступа к полевой шине (в качестве полевой шины в новой системе используется CAN-интерфейс, в ко­то­ром исключены коллизии и детерминировано время доступа для высокоприоритетных данных, и в конкретном случае при скорости 250 кбит/с задержка может составлять до 0,4 мс);

  • время трансляции данных по полевой шине (при скорости 250 кбит/с и общей длине фрейма порядка 110 бит время передачи составит 0,44 мс);

  • время от фиксации данных в управляющем компьютере до момента расчёта с привязкой к реальному времени (программный драйвер CAN-интерфейса фиксирует время поступления сообщения для последующей обработки).

По эмпирическим оценкам, суммарная задержка может колебаться в диапазоне от 0,9 до 2–3 мс. Временнáя ошибка в расчёте координат телескопа, равная 3 мс, даст угловую ошибку в траектории ведения в 0,045 угловой секунды. Такая ошибка соизмерима или даже превышает величину младшего разряда отсчётной системы, и в результате может быть заметно ухудшена точность ведения телескопа.

Данная проблема решалась на аппаратно-программном уровне, и решение заключалось в следующем. Для подключения датчиков в составе контроллерного узла был разработан локальный контроллер, к которому по интерфейсу SSI можно подключать любые датчики с разрядностью от 1 до 32 бит и скоростью считывания от 0,125 до 1 Мбит/c, он содержит внутренний счётчик-таймер для фиксации времени в момент выборки кода.

SSI-контроллер был реализован на основе ПЛИС-технологии с использованием интегральных сборок FLEX 8000 фирмы Altera. Аппаратная реализация функционального алгоритма SSI-контроллера позволила свести к минимуму задержки при передаче кода от координатного датчика к узловому контроллеру.

Функциональный алгоритм данного устройства устанавливает следующий порядок взаимодействия. SSI-контроллер работает в автономном режиме, самостоятельно опрашивая датчик в цикле каждые 64 мкс (рис. 7). 


В конце каждого цикла данные, полученные с датчика, переносятся в буферный регистр блока формирования синхросерии. То есть каждые 64 мкс в буферном регистре SSI-контроллера обновляется информация о положении координатного датчика. Эти данные могут быть считаны узловым контроллером по заданному программному циклу (70 мс, или с частотой порядка 14 Гц) без ожидания готовности или обработки прерываний. Дополнитель­но SSI-контроллер содержит 24-разрядный счётчик времени, который подсчитывает последовательность им­пульсов, поступающих с делителя тактовой частоты и следующих с частотой 0,5 МГц, то есть с периодом (тиком) 2 мкс. Приблизительно через 33 секунды счётчик переполняется, и счёт на­чинается с нуля, что учитывается программно. В тот момент времени, когда узловой контроллер обращается к SSI-контроллеру за текущей координатой, накопленное на данный момент в дво­ичном счётчике значение количества тиков переносится в буферный регистр счётчика времени. Таким образом, фик­­сируется относительное время каж­дого момента считывания кода датчика узловым контроллером.

Необходимо отметить, что в такой схеме точно фиксируется момент вы­борки координаты из SSI-контроллера, а реальное время, когда был зафиксирован код непосредственно в координатном датчике, будет иметь значение, меньшее относительно за­фик­сированной метки времени на величину от 0 до 63 мкс. Это связано с тем, что время выборки кода по интерфейсу SSI в данном SSI-контроллере составляет 64 мкс, а узловой контроллер считывает из буферного регистра данные, ко­торые были зафиксированы в нём на пре­дыдущем цикле выборки. Такая ошибка не имеет существенного значения, так как в пересчёте на угловую ве­личину будет составлять не более 0,0001 угловой секунды, или величину, приблизительно на два по­рядка меньшую, чем задержка, связанная с трансляцией кодов через полевую шину.

Разрядность буферного регистра со­ставляет 56 бит, где 32 бит отведено под код датчика координат и 24 бит под метку времени. На время выборки узловым контроллером данных из бу­фера обновление буферного регистра блокируется. Узловой контроллер с периодом 70 мс (14 Гц) выбирает из SSI-контроллера данные о текущей ко­ординате телескопа с кодом метки времени, подшивает к данному со­об­ще­нию идентификатор и далее от­правляет сформированный фрейм в CAN-интерфейс (полевую шину). При по­ступлении фрейма в управляющую ма­шину данные отождествляются по идентификатору, и драйвером CAN-ин­терфейса к сообщению подшивается ещё одна временнáя метка, соответствующая реальному времени. В ре­зуль­тате информация о текущей координате каждой из осей телескопа маркируется двумя временны́ми метками: меткой момента фиксации кода (время отправки) и меткой получения кода управляющей программой. Те­перь управляющая программа име­ет код координаты, у которого есть ре­альное время поступления его в управ­ляющий компьютер и относитель­ное вре­мя, когда этот код был считан с датчика (фактически это время отправки). Управляющая программа знает размер тика (2 мкс) и пересчитывает относительное время, зафиксированное в мо­мент считывания кода, в реальное. Рассчитав реальное время считывания кода, программа рассчитывает на это время положение (координату) телескопа. Разница между считанной с датчика и расчётной координатами на момент считывания кода есть величина рассогласования, на основе которой управляющая программа по определённому алгоритму вырабатывает уставку из­менения скорости для привода соответствующей оси телескопа. При су­ществующем алгоритме расчёта уставок и с учётом величины дискрета управления скоростью цифровых приводов телескопа диапазон рассогласования не выходит за пределы одного, максимум двух разрядов 16-разрядного датчика, то есть ошибка не превышает 0,078 угловой секунды. Или можно сказать, что в процессе ведения колебания телескопа относительно наблюдаемого объекта не превышают 0,1 его минимально разрешимого углового размера.

Телескоп имеет три главные отсчётные системы: по азимутальной оси, зенитной оси и поворотному столу, который компенсирует вращение изо­бражения в фокусе. В каждой отсчётной системе используются свои узловые контроллеры с координатными датчиками и свои кварцевые генераторы. Используются кварцы общетехнического класса, и работают они при перепаде температур зима–лето ±20°С, а значит, временны́е метки, фиксируемые при считывании координат для каждой оси, имеют свой тренд по опережению или отставанию относительно реального времени. Наличие такого тренда, с точки зрения ПИД-регулирования, можно рассматривать как изменение пропорциональной составляющей, в результате изменения которой расчётная траектория движения телескопа будет отставать или опережать реальную траекторию астрономического объекта. Решение данных проблем осуществляется уже на программно-алгоритмическом уровне.

Получение кодов координат и определение текущего положения осей БТА

Для точного расчёта видимого положения объекта на небе необходимо знать точное значение так называемого звёздного времени, которое традиционно исчисляется во временно́й мере (часы, минуты, секунды), но фактически является углом поворота Земли относительно небесной системы координат. Звёздное время рассчитывается по стандартному алгоритму из всемирного времени UTC. Это достигается использованием стандартных NTP-средств ОС Linux управляющего компьютера и сетевого GPS-синхронизатора. Таким образом внутренние часы ОС управляющего компьютера синхронизируются со временем UTC с точностью не хуже 1 мс.

Три контроллера осей БТА посылают коды датчиков по своим часам и с разной периодичностью: азимут – 70 мс, зенит – 80 мс, поворотный стол – 200 мс. Управляющая программа, производя координатные расчёты, получает коды с датчиков, «устаревшие» на случай­ное время. Если ничего не делать, то, например, при скорости ведения по азимуту 100 угловых секунд в секунду времени получится случайно распределённое отставание показаний от 0 до 7 угловых секунд. Поэтому в управлении движением осей используются не реальные показания датчиков, а вычисленные на их основе положения телескопа на текущий момент времени.

Разработан алгоритм робастного ведения «собственного» времени для каждого контроллера на основе сравнения серий временны́х периодов при приёме CAN-фреймов с координатами и содержащихся в них временны́х меток счётчика-таймера. Алгоритм «NTP по­доб­ный» в том смысле, что моменты приёма кодов служат для определения среднего дрейфа таймера SSI-контроллера, а уже он используется для плавной подгонки времени каждого контроллера к UTC. В результате каждое измерение угла получает привязку к UTC с точностью не хуже 1 мс. Как упоминалось ранее, константная ошибка времени (постоянная задержка) для управления телескопом значения не имеет, так как её легко учесть либо теоретически, либо в эксперименте. Основную проблему составляет нестабильность за­держки между считыванием кодов и передачей их в управляющий компьютер. Этот параметр в основном и определяет точность вычисления дрейфа и подгонку временно́й оси контроллера к всемирному времени. Для частичного улучшения вычисления дрейфа используется робастный алгоритм, то есть малочувствительный к отдельным сбо­ям синхронизации.

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

Заключение

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

А вот замена датчиков прошла без каких-либо проблем. Особенно порадовала возможность электрической установки современных датчиков в ноль. На старых датчиках попадать в ноль и согласовывать их между собой надо было только в процессе механического монтажа, что практически было случайностью из многих попыток, и приходилось вводить в программу по­правку на ошибку установки. С установкой новых датчиков все прежние проблемы пропали, и на прошедшем периоде эксплуатации уже несколько лет и в зимнее, и в летнее время система не зарегистрировала от них ни одного сбойного кода. ●

Литература

  1. Жданкин В.К. Абсолютные датчики углового положения с интерфейсом SSI // Современные технологии автоматизации. – 2004. – № 1.
  2. Жданкин В.К. Поворотные шифраторы фирмы Pepperl+Fuchs // Современные технологии автоматизации. – 2001. – № 3.

 

Комментарии
Рекомендуем

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3