СИСТЕМЫ И
ПРОЦЕССЫ
УПРАВЛЕНИЯ
УДК 681.5; 535.32
УНИВЕРСАЛЬНЫЙ программноаппаратный КОМПЛЕКС ДЛЯ АВТОМАТИЗАЦИИ ЭКСПЕРИМЕНТАЛЬНЫХ УСТАНОВОК
КОЛЕНОВ И.В._______________________________
Рассматривается проблема автоматизации лабораторного эксперимента. Разрабатывается и реализуется универсальный программно-аппаратный комплекс, который содержит в себе блок управления, блок регистрации сигнала и программную клиентскую часть для управления и математической обработки сигнала. Комплекс может служить базой для автоматизации широкого спектра экспериментальных задач.
Введение
В настоящее время практически каждый экспериментатор сталкивается с необходимостью автоматизации экспериментальных установок. Эта задача возникает как при создании нового оборудования, так и при модернизации уже имеющегося. В обоих случаях установка не может считаться современной, если процессы измерения и первичной обработки экспериментальных данных не автоматизированы. Помимо простого ускорения процедуры измерений автоматизация позволяет качественно улучшить характеристики установки и может дать возможность ставить эксперимент, принципиально невозможный при ручном способе измерений.
Промышленность предлагает большое количество готовых решений как для управления механическими и электронными частями автоматизируемой установ -ки, так и для сбора и обработки данных [1-3]. Однако такие решения избыточны, дороги (от $500), ориентированы на промышленное использование и не предлагают готового комплексного подхода к решению задачи, поскольку их еще нужно согласовать с оборудованием и разработать программное обеспечение для управления экспериментом. Соответственно, они зачастую не могут быть использованы непосредственно самим экспериментатором для решения его конкретной задачи, поскольку последний далеко не всегда имеет достаточный для этого уровень знаний электроники и программирования. Кроме того, подобные «доработки» требуют значительных временных затрат и отвлекают от основной деятельности. Некоторые простые решения уже устарели [4]. Поэтому актуальным является создание современной программно-аппаратной платформы (набора аппаратных
и программных средств), на базе которой исследователь мог бы с минимальными затратами ресурсов самостоятельно автоматизировать конкретный эксперимент.
1. Цель и задачи работы
Любой эксперимент состоит в измерении отклика исследуемого объекта на некоторые внешние воздействия. Например, это может быть зависимость электропроводности объекта от его температуры, коэффициента отражения зеркала из исследуемого материала от длины волны света, т. е. эксперимент заключается в регистрации зависимости набора параметров исследуемого объекта от набора параметров, задающих внешнее воздействие. При этом измеряемые параметры исследуемого объекта, как правило, преобразуются в напряжение при помощи соответствующих датчиков.
Параметры внешнего воздействия в большинстве случаев задаются положением некоторых механических регуляторов (барабан длин волн монохроматора, угол поворота алидады гониометра). При такой обобщенной схеме эксперимента целью работы является создание набора аппаратных и программных средств для автоматизации максимально широкого спектра лабораторных установок. Для практической реализации поставленной цели требуется решить следующие задачи:
1) разработка и реализация аппаратной и программной частей блока оцифровки измеряемого сигнала;
2) разработка ПО для обработки полученных данных для ПК;
3) разработка и реализация аппаратной и программной частей для исполнительных механизмов, задающих положения механических регуляторов.
При разработке системы в первую очередь принимались во внимание следующие критерии: надежность, простота реализации и использования, доступность и стоимость комплектующих.
2. Общее описание системы
В качестве исполнительных механизмов были выбраны шаговые двигатели (ШД), так как они имеют ряд достоинств: относительная простота управления, точность и стабильность позиционирования, малая величина шага, большой статический момент [5].
Общая блок-схема системы автоматизации широкого класса экспериментов с помощью разработанной платформы приведена на рис.1.
В качестве АЦП для измерения и оцифровки сигналов предлагается использовать стандартную звуковую карту (ЗК) персонального компьютера (нами была использована C-Media M-CMI8738). К преимуществам данного решения можно отнести: 1) простоту использования, 2) доступность и дешевизну при достаточно высоких метрологических характеристиках,
3) возможность увеличения количества каналов пу-
РИ, 2013, № 4
29
тем добавления дополнительных ЗК. Недостатки: 1) для измерения абсолютных величин требуется калибровка, 2) динамический диапазон ЗК достаточно узкий (обычно 0^ 1 В), 3) ЗК нижней ценовой категории имеют относительно высокие собственные шумы.
Рис. 1. Общая блок-схема системы автоматизации эксперимента с помощью программно-аппаратной платформы, где ПК - персональный компьютер, БУДШД - блок управления шаговыми двигателями, ДШД - драйвер шаговых двигателей, ШД - шаговый двигатель, АЦП - аналого-цифровой преобразователь, ИУ - измерительный усилитель,
ОУ - объект управления
Таким образом, устройство сопряжения, состоящее из двух частей: 1) блока управления ШД и 2) блока
измерительных усилителей (ИУ) (выделены пунктиром на схеме) - единственный нестандартный элемент.
Блок измерительных усилителей в данной работе не рассматривается, так как конструкция усилителя, служащего для согласования сигнала датчика с входом АЦП, зависит от датчика и АЦП. Т ак, при использовании фотоэлектронных умножителей для преобразования светового потока в электрический ток может применяться преобразователь ток-напряжение [6].
Блок управления ШД состоит из блока управления драйверами шаговых двигателей (БУДШД) и самих драйверов шаговых двигателей (ДШД).
Программная часть платформы состоит из прошивки микроконтроллера и библиотеки функций для написания клиентской части со стороны ПК.
Далее рассмотрим детально блок управления шаговыми двигателями и методику измерения сигнала.
3. Блок управления шаговыми двигателями
Блок сопряжения драйверов ШД с ПК собран на основе микроконтроллера ATmega8 фирмы Atmel. Принципиальная схема блока приведена на рис. 2.
Из всего разнообразия интерфейсов ПК для подключения БУШД к компьютеру был выбран стандартный COM порт, который работает по протоколу RS232 [7] из-за простоты программирования со стороны ПК. Кроме того, большинство современных микроконтроллеров имеют как минимум один интерфейс USART (протокол RS232) но с логическими уровнями TTL
Рис. 2. Принципиальная схема блока управления драйверами ШД
30
РИ, 2013, № 4
[6]), что избавляет разработчика от его программной реализации в контроллере. Недостатком этого интерфейса является его отсутствие в некоторых современных ПК. Эта проблема решается с помощью специальных преобразователей USB-UART [8].
Для преобразования логических уровней между МК и ПК была использована микросхема MAX232, включенная по стандартной схеме из технической документации (рис. 2).
Основная функция микроконтроллера в данной схеме состоит в повороте нужного ШД на заданное количество шагов (градусов). Непосредственно переключение обмоток ШД выполняется ДШД.
Для управления одним ДШД требуется 8 сигнальных выводов МК. ATmega8 имеет всего 18 выводов, которые можно использовать для данной цели. Таким образом, напрямую можно подключить всего 2 ДШД, что недостаточно для многих задач. Поэтому возникает необходимость увеличения эффективной разрядности портов МК.
Для этого был применен последовательно-параллельный преобразователь (ППП) на основе восьмиразрядных сдвиговых регистров HC595.
Регистры HC595 имеют 5 управляющих входов: SER - последовательный вход данных, SCK - тактовый вход для сдвига данных по положительному фронту импульса, SCL - сброс регистров, RCK - тактовый вход для вывода данных на выходы регистров (1-7-й и 15-й выводы микросхемы) по положительному фронту, G - вход включения HC595. Выход 9 служит для каскадирования регистров.Работа с ППП сводится к следующему. На входе SER устанавливается нужный бит и подается положительный импульс на
вход SCK. Эта процедура проводится 8ЧХ раз (пока не будут записаны данные во все сдвиговые регистры). Далее подается положительный импульс на вход RCK и записанные данные подаются на выход регистра (выводы QA - QH).
Такая схема ППП позволяет управлять теоретически сколь угодно большим количеством ШД при помощи пяти выводов МК.
Для управления ШД были разработаны драйверы ШД (ДШД), которые подключаются к схеме управления через разъемы JP11-JP1N (рис. 3).
В простейшем случае минимальный угол поворота ШД определяется его устройством, а именно, количеством полюсов статора [5]. Включение одной обмотки приводит к фиксации ротора возле одного из соответствующих ей полюсов. Выключение одной обмотки и включение следующей приводит к повороту ротора к следующему полюсу и т. д. Такой режим работы называется полношаговым. Если одновременно включить две обмотки, обеспечив в них одинаковый ток, то ротор можно зафиксировать в среднем положении между полюсами (полушаговый режим). В общем случае, подавая разный ток в соседние обмотки, можно зафиксировать ротор в любом промежуточном по отношению к полюсам статора положении (микрошаговый режим), что позволяет значительно уменьшить минимальный шаг.
Реализация микрошагового режима является нетривиальной задачей, поэтому основой ДШД была выбрана специализированная микросхема LS8290, которая позволяет реализовывать микрошаговый режим вращения ШД (вплоть до 1/32 номинального шага) (см. рис. 3). Данный контроллер имеет 4 вывода для
GND GND
Рис. 3. Принципиальная схема драйвера шагового двигателя
РИ, 2013, № 4
31
управления четырехфазным двигателем (выводы 1821) и 2 вывода для регулировки тока при помощи широтно-импульсной модуляции (ШИМ) (выводы 22-23). К этим выводам можно подключать как 2 Н-моста для биполярной схемы включения двигателя, так и 4 транзистора для управления униполярным ШД. В конкретном случае использовались ШД с биполярной схемой включения (поскольку они имеют больший вращательный момент), поэтому в качестве силовой части используются Н-мосты L298N.
Регулировка тока в обмотках двигателя происходит следующим образом. В зависимости от текущих параметров ШИМ (зависит от этапа в цикле микрошага [8]) и опорного напряжения Vref встроенный ЦАП формирует напряжение, которое сравнивается с напряжением на токовых шунтах R3 и R4, включенных последовательно с H-мостами. Когда напряжение на каком-либо шунте достигает напряжения на выходе ЦАП, соответствующий вывод ШИМ отключается, тем самым отключая соответствующую обмотку ШД. Частота считывания показаний напряжения с токовых шунтов задается RC цепочкой, подключенной к выводу TBLINK.
Выводы 1 и 2 контроллера LS8290 задают кратность дробления шага, выводы 3 и 16 задают режим ШИМ [8], вывод 4 позволяет сбросить LS8290 в начальное состояние, по возрастающему фронту импульса на выводе 5 микросхема выполняет шаг заданной кратности, вывод FWD задает направление вращения двигателя, вывод EN позволяет отключать микросхему путем подачи на него высокого логического уровня, 8-й вывод возвращает ротор ШД на начало цикла дробления шага. Более подробная информация о данных микросхемах и других схемах включения приведена в фирменной документации [9].
Диоды D1 - D8 служат для шунтирования тока самоиндукции обмоток, концы которых подключаются к разъемам X1-1 - X1-4.
4. Методика измерения сигнала
Выше были рассмотрены вопросы, связанные с управлением регуляторами, которые задают параметры эксперимента. Не менее важной является задача корректной регистрации измеряемого полезного сигнала. Проблема состоит в том, что сигнал с детектора после усиления представляет собой, как правило, сумму полезного сигнала с помехами различной природы (пульсации и шумы источников питания, нулевой сигнал детектора и его шумы, паразитные сигналы, которые могут попадать в детектор, минуя основной измерительный канал). Особенно эта проблема актуальна для типичной ситуации слабых низкочастотных узкополосных сигналов, уровень которых может быть значительно ниже уровня помех.
В таких случаях для уверенной регистрации полезных сигналов необходимо применять особые методики, одной из которых является синхронное детектирование (СД) [10].
32
Рассмотрим суть СД. Полезный низкочастотный сигнал s(t) переносится в область более высоких частот (в 50-100 раз выше, чем занимаемая им спектральная область) путем модуляции, т. е. умножения на опорный периодический сигнал заданной частоты (временной зависимостью сигнала s(t) в дальнейшем можно пренебречь и полагать его равным константе s). Частота модуляции не должна совпадать с частотой возможных периодических помех. На входе синхронного детектора детектируемый сигнал, в общем случае, будет суммой полезного промодулированно-го сигнала и помех. Полезный сигнал может быть извлечен из измеренного путем демодуляции, которая заключается в перемножении измеренного и опорного сигналов с последующим интегрированием.
Обычно СД реализуется аппаратно, и его общая схема представлена на рис. 4.
Рис. 4. Схема измерения сигнала при помощи синхронного детектирования, где ИЯ - исследуемое явление, М - модулятор, Д - датчик, СД - синхронный детектор, УГ - управляющий генератор
ИЯ является источником полезного сигнала s. Модулятор М перемножает полезный сигнал и опорный сигнал f(t), полученный от управляющего генератора УГ. При прохождении сигнала от модулятора до СД к нему могут добавляться различные аддитивные помехи. В итоге на вход СД поступает сумма x(t) = s • f (t) + n(t). СД умножает эту сумму на опорный сигнал и проводит интегрирование, результатом которого является искомый сигнал без аддитивных помех, который может подаваться на вход измерительного прибора.
Из схемы видно, что для реализации СД требуется специальное оборудование. Однако если частота опорного сигнала известна, то аппаратную часть можно упростить, убрав из схемы синхронный детектор. Вместо этого сигнал измеряется целиком при помощи быстродействующего АЦП и передается компьютеру, который выполняет синхронное детектирование программно. При этом опорный сигнал генерируется компьютером в виде массива отсчетов. Программное синхронное детектирование значительно упрощает и удешевляет измерительную часть установки, сохраняя метрологические характеристики на достаточно высоком уровне.
Как уже говорилось, демодуляция сводится к вычислению следующего интеграла:
1 T
s = T J x(t) •f(t)dt, (1)
T 0
где T - время интегрирования, которое должно быть кратным периоду опорного сигнала. В общем случае
РИ, 2013, № 4
фаза x(t) неизвестна и может не совпадать с фазой опорного сигнала, т.е. вместо интеграла (1) имеет место соотношение:
1 т
s^) = т J x(t + Фо) •f(t + 9)dt. (2)
т о
Поэтому для проведения СД необходимо подобрать фазу ф генерируемого опорного сигнала так, чтобы она совпадала с фо . Из теории СД следует, что такому значению ф соответствует максимальное значение s^) [9]. В результате, рабочее соотношение для программного СД выглядит следующим образом:
s = maxs^) (3)
Как показал численный эксперимент, при детектировании сгенерированный опорный сигнал не обязательно должен точно совпадать по форме с модулирующим сигналом; важно лишь совпадение фазы и частоты. Удобно использовать опорный сигнал в виде меандра, принимающего логические значения ±1. В этом случае s^) имеет кусочно-линейный вид.
Решение задачи максимизации функции (3) может быть выполнено любым численным методом. В данной работе для этих целей используется метод «золотого сечения» [11]. Точность измерений зависит от точности вычисления интеграла, поэтому он вычисляется методом парабол [11].
5. Аттестация методики измерения
Аттестация ПО измерительной части платформы проводилась с помощью численных экспериментов, а также на реальной экспериментальной установке. Для численного эксперимента был сгенерирован сигнал x(t), состоящий из смеси полезного сигнала s, модулированного меандром частотой 72 Гц, и помех (белый шум, синусоиды частотой 50 и 100 Гц, постоянная составляющая). Интенсивность шумов являлась одним из варьируемых параметров численного эксперимента. Частота дискретизации была принята 44,1 кГц, что соответствует стандарту звуковых карт.
На рис. 5 приведена зависимость погрешности о программного СД от соотношения сигнал/шум SNR.
Рис. 5. График зависимости погрешности о программного синхронного детектора от соотношения сигнал/шум (SNR) и его аппроксимация экспонентой
Расчет проводился в диапазоне SNR от 20 дБ до -20 дБ. Время интегрирования составляло 50 периодов опорного сигнала. Из рис. 5 видно, что даже для SNR -20 дБ погрешность не превосходит единиц процентов и с увеличением соотношения сигнал/шум быстро уменьшается. В области больших шумов данная зависимость аппроксимируется экспонентой.
При фиксированном значении SNR погрешность можно уменьшить путем увеличения времени интегрирования. На рис. 6 приведены расчетные зависимости погрешности от времени интегрирования для значений SNR -12дБ и -26 дБ, а также их аппроксимации экспоненциальной функцией. Время интегрирования приведено в количестве периодов опорного сигнала.
Из рис. 6 видно, что c увеличением времени интегрирования тренд погрешности убывает экспоненциально. Данные зависимости также хорошо аппроксимируются экспоненциальными зависимостями.
Кроме численной аттестации были проведены испытания данной системы на реальном приборе (эллипсометр с вращающимся анализатором) [12]. В качестве полезного сигнала здесь выступает оптическое излучение, детектором служит фотоэлектронный умножитель (ФЭУ). Тракт распространения света открытый, поэтому на измеряемый сигнал накладываются «засветки» от внешних источников света, а также темно-вой ток ФЭУ, шумы блоков питания ФЭУ, усилителя. Суммарное значение SNR составило ~5 дБ.
Рис. 6. Зависимости погрешности у синхронного детектора от количества периодов сигнала
На рис. 7 приведена зависимость уровня реального измеренного постоянного сигнала от номера измерения. Измеренные точки имеют среднеквадратичный разброс не более 0,6 %, что соответствует расчетам.
Работа с программным синхронным детектором сводится к вызову единственной функции, в качестве параметров которой передаются массив измеренных данных и несущая частота.
6. Программное обеспечение платформы
Программное обеспечение платформы состоит из прошивки микроконтроллера блока управления ДШД и пользовательской библиотеки для создания клиентского ПО со стороны ПК.
РИ, 2013, № 4
33
67
65
64 I-■--1---■--1---■---'---■--'---■--
0 20 40 60 80 100
Номер измерения
Рис. 7. График зависимости интенсивности сигнала U от номера измерения
Прошивка МК написана на языке С с использованием стандартных библиотек для микроконтроллеров AVR от компании Atmel.
Пользовательская библиотека платформы написана на языке С++ в среде Borland C++ Builder. Библиотека представляет собой класс HSPlatform, интерфейс которого состоит из трех рабочих методов:
1) void RotateStepper(int ENum, int Mode, int Dir, int SNum) - принимает номер двигателя, режим дробления шага, направление вращения и количество шагов, преобразует принятые данные в посылку и отправляет ее МК через последовательный интерфейс. По окончанию вращения двигателя МК пересылает ПК соответствующую посылку;
2) void MeasureSignal(double* data1, double* data2, int length) - принимаетуказатели на массивы данных и их длину. В первый массив будут записаны данные с «левого» канала ЗК, а во второй - с «правого»;
3) double SyncDemod(double* data, int length, double signal_frequency) - принимает массив измеренных данных, количество элементов массива и частоту модуляции сигнала. Выполнив все необходимые операции с данными, метод возвращает значение измеренного сигнала.
Выводы
Разработан универсальный набор аппаратных и программных средств (программно-аппаратный комплекс) для автоматизации физического эксперимента, который позволяет управлять механическими частями установки при помощи шаговых двигателей, проводить измерение малых электрических сигналов, сравнимых с шумом.
Практическая значимость: комплекс позволяет эффективно решать задачу автоматизации эксперимента различного масштаба в лабораторных условиях без привлечения специалистов в области электроники и системного программирования. Система была использована для автоматизации нескольких действующих экспериментальных установок [12, 13].
Литература: 1. L-CARD [Электронный ресурс]. Режим доступа: www URL: http://www.lcard.ru. 2. АКОН [Электронный ресурс]. Режим доступа: www. URL: http:// www.akon.com.ua. 3. ХОЛИТ Дейта Системе [Электронный ресурс]. Режим доступа: www. URL: http://holit.com.ua. 4. Galuza A. A. A System for the Automation of a Cryogenic Spectral Ellipsometer [Текст] / A. A. Galuza, K. A. Slatin, A.
I. Belyaeva, etc. // Instruments and Experimental Techniques. 2003. Vol. 46, No. 4. P. 477-479. 5. Acarnley P. Stepping motors: a guide to theory and practice [Текст] / P. Acarnley. - Milton Keynes: Lightning Source UK Ltd, 2007. 172p.
6. Horowitz P. The art of electronics [Текст] / P. Horowitz, W. Hill. New York: Cambridge University Press, 1989. 1134 p.
7. Axelson J. Serial port complete [Текст] / J. Axelson. Madison: Lakeview Research, 2007. 380p. 8. Axelson J. USB complete [Текст] / J. Axelson. Madison: Lakeview Research, 2009. 504p. 9. LS8290 [Электронный ресурс]. Режим доступа: www. URL: http://www.lsicsi.com/pdfs/Data_Sheets/ LS8290.pdf. 10. Max J. Mfflhodes et techniques de traitement du signal [Текст] / J. Max, J. L. Lacoume. Dunod, 2004. 384 p.
II. Numerical recipes in C: the art of scientific computing / W.
H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery. New York: Cambridge University Press, 2007. 1237 p. 12. Беляева А.И. Спектральный эллипсометрический комплекс для диагностики радиационных превращений в металлах и сплавах [Текст] / А. И. Беляева, А. А. Галуза, В. Ф.
Клепиков, и др // Вопросы атомной науки и техники. -2009. №2. С. 191-197. 13. Belyaeva A.I. Effect of sputtering on the Samples ofITER-Grade Tungsten preliminarily irradiated by tungsten ions: optical investigations [Текст] / A.I. Belyaeva, A. A. Galuza, I. V. Kolenov etc // The Physics of Metals and Metallography. 2013. Vol.114, No.8. P. 703-713.
Поступила в редколлегию 12.10.2013
Рецензент: д-р техн. наук Литвиненко В.В.
Коленов Иван Викторович, м.н.с. ИЭРТ НАНУ. Научные интересы: оптические методы исследования материалов, диагностика радиационных превращений в металлах. Адрес: Украина, 61002, Харьков, ул. Фрунзе, 21, тел. 70763-37. E-mail: ivan.kolenov@gmail.ru.
34
РИ, 2013, № 4