ВЕСТНИК ЮГОРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
_2021 г. Выпуск 3 (62). С. 25-32_
DOI: 10.17816/byusu20210325-32 УДК 533.9:621.7
М. И. Морозов, А. В. Долматов
СЕТЕВАЯ МЕХАТРОННАЯ СИСТЕМА ПОЗИЦИОНИРОВАНИЯ УСТАНОВКИ ПЛАЗМЕННОГО НАПЫЛЕНИЯ ПОКРЫТИЙ
Работа посвящена внедрению архитектуры встраиваемых вычислительных систем в быстродействующий комплекс диагностики газотермического напыления покрытий. На базе микроконтроллера Arduino Yun R.2 разработан программно-аппаратный интерфейс управления оборудованием системы позиционирования, и протокол обмена сообщениями в сетевой среде для взаимодействия с другими подсистемами измерительного комплекса. Вычислительными средствами системы реализован протокол синхронизации внутренних часов с соседями по измерительному комплексу с точностью 1 мс. Дистанционное управление системой позиционирования построено на основе пульта с IR-каналом связи и LCD-экрана. Альтернативный интерфейс интерактивного управления системы пользователем развернут на микроконтроллере с помощью Web-сервера. Также вычислительные ресурсы процессора Atheros на Arduino Yun обеспечивают работу клиент-серверного приложения, использующего БД для хранения информации о заданиях по перемещению каретки и треки ее движения. Сайт системы позиционирования поддерживает разработку клиентских приложений на языках С++, С#, Python, Matlab с помощью исходного кода класса объектов управления, справочных материалов и библиотек динамической компоновки.
Ключевые слова: встраиваемая система, измерительный комплекс, Arduino Yun, ме-хатроника, быстродействие, программирование, сетевые технологии.
M. I. Morozov, A. V. Dolmatov NETWORK MECHATRONIC POSITIONING SYSTEM OF PLASMA SPRAYING UNIT
The work is devoted to the implementation of the architecture of embedded computing systems in a high-speed complex for diagnostics of thermal spraying of coatings. On the basis of the Arduino Yun R.2 microcontroller, a software and hardware interface for controlling the positioning system equipment has been developed, and a message exchange protocol in a network environment for interacting with other subsystems of the measuring complex. The computing means of the system have implemented a protocol for synchronizing the internal clock with the neighbors of the measuring complex with an accuracy of 1 ms. Remote control of the positioning system is based on a remote control with an IR communication channel and an LCD screen. An alternative interface for interactive control of the system by the user is deployed on a microcontroller using a Web server. Also, the computing resources of the Atheros processor on the Arduino Yun provide the operation of a client-server application that uses a database to store information about tasks for moving the carriage and its movement tracks. The positioning system site supports the development of client applications in C++, C #, Python, Matlab using the source code of the class of control objects, reference materials and dynamic link libraries.
Keywords: embedded system, measuring complex, Arduino Yun, mechatronics, performance, programming, network technologies.
Введение
Современное развитие микроконтроллеров и коммуникационных технологий позволяет строить измерительные комплексы как распределенные на значительной территории и выполняющие сбор однородных данных, так и расположенные локально для регистрации гетероген-
ной информации об объекте исследования [1]. В основе подобных систем лежат специализированные элементы, являющиеся автономными в части вычислительных ресурсов и выполнении возложенных на них функций [2, 3]. При этом протокол их взаимодействия в системе и синхронность производимых операций могут быть реализованы только за счет обмена сообщениями.
На настоящий момент информационная среда, построенная на базе сетевых технологий, обладает наибольшим охватом, способна предоставить высокоскоростной интерфейс для взаимодействия элементов измерительной системы и имеет протоколы синхронизации с точностью до 100 нс. Причем на точность синхронизации элементов в системе влияет объем сетевого трафика. Существенного его сокращения можно добиться за счет развития интеллектуальных способностей элементов, что позволит опереться на высокоуровневый командный интерфейс с короткими сообщениями. Таким образом, внедрение в приборы высокопроизводительных микроконтроллеров и ПЛИС для обработки первичных данных, и скоростных сетевых интерфейсов актуально в организации быстродействующих измерительных комплексов [4, 5].
Объектом настоящей работы является оригинальная система позиционирования, применяемая в нескольких измерительных комплексах для наблюдения процесса самораспространяющегося высокотемпературного синтеза материалов, контроля газотермического напыления покрытий, изучения структурно-фазовых изменений на поверхности нагреваемых тонких пленок [6-9, 12, 14].
Цель работы заключается в модернизации контроллера системы позиционирования с помощью вычислительных средств на базе Arduino Yun R.2 для реализации сетевого интерфейса управления, поддержки протоколов синхронизации с временным разрешением до 1 мс, организации хранения и публикации специфичных данных по запросу.
Техника эксперимента
Исходная оригинальная система позиционирования ранее изготовлена на базе двухкоор-динатного стола с ручным приводом, модуля линейных перемещений, микроконтроллера Arduino Mega 2560, драйверов DQ542MA, шаговых двигателей 57BYGH627 и уникальных конструктивных элементов, разработанных с помощью CAD-технологий (рис. 1).
Рисунок 1 - Конструкция системы 3Б-позиционирования: 1 - двухкоординатный стол, 2 - модуль линейных перемещений, 3 - блок управления, 4 - шаговый двигатель
Первоначально система использовалась в составе комплекса диагностики газотермического напыления покрытий и отвечала за перемещение быстродействующих средств тепловизи-онного и спектрального контроля в диапазоне 150 мм по осям X и Y, 200 мм по оси Z (рис. 2).
Рисунок 2 - Опытная эксплуатация комплекса диагностики газотермического напыления покрытий в ИТ ПМ СО РАН, г. Новосибирск
Контроллер системы позиционирования посредством интерфейса USB подключался к компьютеру, где в среде Matlab был построен виртуальный прибор, управляющий положением вала каждого двигателя на уровне количества шагов [10, 13]. В построении виртуального прибора применялась объектно-ориентированная модель программирования. Тепловизионные и спектральные средства измерения также были представлены в среде Matlab с помощью виртуальных приборов, а их взаимодействие с системой позиционирования производилось в общем сценарии работы комплекса диагностики.
Апробация и последующая опытная эксплуатация системы позиционирования в различных измерительных комплексах выявили следующие недостатки описанной выше конфигурации:
- длины кабеля USB оказалось недостаточно для размещения компьютера на дистанции более 5 метров от плазмотрона без промежуточных электронных компонент;
- воздействие плазменного потока оказывало существенное влияние на качество передачи данных по USB и вызывало многочисленные сбои в работе системы;
- вычислительных ресурсов единственного компьютера со средой Matlab оказалось недостаточно для одновременного обслуживания нескольких виртуальных приборов в режиме реального времени.
Теоретически решение указанных проблем оказалось возможным на основе пропорционального распределения вычислительных ресурсов со специализированной обработкой данных в отдельных системах измерительного комплекса, и наделения каждой системы помехоустойчивым скоростным каналом связи. Реализация сетевой конфигурации диагностического комплекса повлекла модернизацию архитектуры его элементов, что в случае системы позиционирования потребовало использования следующих электронных компонент:
- микроконтроллер Arduino Yun R.2;
- плата расширения AC/DC Shield;
- LCD экран ITDB02-1.8SP;
- IR-датчик и пульт дистанционного управления.
Arduino Yun R.2 представляет собой комбинацию микроконтроллера ATmega32U4 и микропроцессора Atheros AR933. ATmega32U4 является 8-ми битным и работает на тактовой частоте 16МГц, имеет в своем распоряжении 32 КБ FLASH-памяти, 2.5 Кб SRAM-памяти и 1 КБ EEPROM-памяти. Вычислительные средства микропроцессора Atheros AR933 работают под управлением операционной системы Linino на базе ядра Linux, которая является специальной подготовленной версией ОС OpenWrt. Микропроцессорная система Arduino Yun на базе процессора Atheros AR933 объединяет функциональные блоки: WiFi, Fast Ethernet, USB-хост, 64МБ оперативной и 16МБ Flash-памяти, карта памяти microSD. Для безопасного питания Arduino Yun в блоке управления системы позиционирования задействована плата расширения AC/DC Shield, содержащая преобразователь ~220V / +5V с выходным током 3A и электромеханическое реле управления нагрузкой. В целом, Arduino Yun R.2 в совокупности с AC/DC Shield является гибко настраиваемой системой. Микроконтроллер ATmega32U4 синтезирует управляющие сигналы для драйверов шаговых двигателей (ШД), организует передачу данных LCD, контролирует источник питания ШД, сигналы датчиков конечного положения каретки и поддерживает IR-канал пульта ДУ. Вычислительных ресурсов микропроцессора Atheros AR933 достаточно, чтобы в среде Linino развернуть сервер базы данных, построить высокоуровневый командный интерфейс и организовать защищенный от помех канал передачи данных со скоростью до 100 Мбит в секунду. Взаимодействие процессоров ATMega32 и Atheros AR933 осуществляется посредством UART на скорости 115200 бод по умолчанию.
Результаты программно-аппаратной реализации
Для управления в системе позиционирования тремя шаговыми двигателями посредством драйверов DQ542MA использовано 6 цифровых выводов (D8-D13). D6 задействован в качестве цифрового ввода сигнала IR-датчика, а D3-D5 и цифровые выводы ICSP обеспечивают работу LCD-дисплея. D7 передает сигнал на плату расширения AC/DC Shield для управления источником питания шаговых двигателей с напряжением 36V. Выводы A0-A5 применяются для синхронного контроля состояния датчиков конечного положения при вращении шаговых двигателей. В качестве времязадающего генератора использован таймер, в процессе обработки прерывания которого осуществляется как синтез управляющих сигналов, так и регистрация данных сенсорных элементов. Обмен данными между ATMega32 и Atheros AR933 выполняется через цифровые выводы D1-D2. Расширенное описание назначений выводов Arduino Yun R.2 в блоке управления модифицированной системы представлено на рисунке 3. Программирование микроконтроллера ATMega32 выполнялось в среде Arduino IDE, что позволило использовать следующие стандартные библиотеки:
- «Ucglib» - работа с графическими экранами;
- «Bridge» - связь между процессорами ATmega32U4 и Atheros AR933;
- «IRremote» - обработки сигналов IR-датчика;
- «SPI» - поддержка SPI, использующего выводы ICSP.
Рисунок 3 - Схема подключения элементов системы к микроконтроллеру Arduino Yun 2
Процессор Atheros AR933 на Arduino Yun работает под управлением Linux-подобной операционной системы, включающей реализацию сетевого интерфейса на базе OpenWrt. Это позволило развернуть СУБД MySQL для хранения и обработки специфичных данных. Использовать GUID в качестве идентификаторов записей БД для установления связности с базами данных других подсистем измерительного комплекса. Установить NTP-клиента для синхронизации часов реального времени с точностью: в Internet до 10 мс; в локальной сети до 100 мкс. Задействовать интерпретатор Python 2.7 для программирования следующих функций контроллера системы позиционирования:
- Низкоуровневый командный интерфейс. Организует передачу данных между аппаратно (микроконтроллер ATMega32) и программно (микропроцессор Atheros AR933) реализуемыми функциями системы.
- Высокоуровневый командный интерфейс. Организует передачу данных между внешним устройством и системой. Программное обеспечение системы транслирует линейные координаты объекта в микрометрах (данные внешней команды) в количество элементарных шагов и период тактирования драйверов ШД (данные внутренних команд) в зависимости от подачи вала линейного привода, требуемой скорости и ускорения при перемещении, настроек работы драйверов.
- Интерфейс дистанционного управления. Обеспечивает режим ручного управления системы пользователем на основе пульта дистанционного управления и LCD-монитора.
- Web-интерфейс. Обеспечивает режим интерактивного управления системы пользователем посредством сайта с доступом из локальной сети по IP-адресу. При настройке
службы NAT на маршрутизаторе возможно подключение из сети Internet. В реализации сайта использован фреймворк «Bottle» [11].
- Сервер сетевого управления. Организует доступ к хранимым в БД данным и обрабатывает команды клиентских приложений.
- Программная поддержка клиентских приложений. Предоставляет на сайте системы доступ к библиотекам и исходным кодам клиентского ПО на популярных языках программирования с подробным справочным описанием.
- Следящее позиционирование. Включает прогноз новой позиции с целью опережения объекта контроля и/или расчет времени его выхода из поля зрения средств измерения. Программное обеспечение реализует протокол сетевого взаимодействия с измерительными средствами диагностического комплекса, получая от них текущее положение наблюдаемого объекта в режиме реального времени, и в зависимости от скорости его движения рассчитывая координаты новой зоны регистрации данных и время начала и окончания перемещения.
- Сетевой протокол синхронизации внутренних часов реального времени. Позволяет с точностью до 1 мс согласовать работу таймеров в системах измерительного комплекса, и использовать глобальное время при регистрации и анализе данных.
- Протокол установления соседства систем в измерительном комплексе. Инициирует создание группы устройств для совместной работы в измерительном комплексе. Назначает группе IP-адреса группового вещания. Генерирует GUID для идентификации записей об общем эксперименте в базах данных различных систем комплекса. Ограничивает использование систем внешними субъектами на время совместной работы в составе комплекса.
- Протокол работы измерительного комплекса. Организует потоки входящих и исходящих сообщений между системами измерительного комплекса для реализации алгоритма его работы.
- Протокол цифрового двойника. За время эксплуатации система позиционирования может быть задействована в разных комплексах. Сбор данных системой может осуществляться только в рамках группы устройств, совместно действующей в настоящий момент времени. Однако анализ ранее собранной информации может производиться в любое время после ее получения. Поэтому система должен обладать способностью одновременно обмениваться информацией со всеми группами, в которых когда-либо участвовала. Для оптимизации информационного обмена цифровые двойники системы могут быть размещены в глобальной сети. Следовательно, она должна поддерживать протокол виртуализации и синхронизацию данных с резервными серверами.
В программной реализации функций системы позиционирования задействованы библиотеки Python:
- «SocketServer» для создания серверного соединения;
- «mysql.connector» для связи с базой данных MySQL;
- «threading» для создания потоков;
- «uuid» для генерации UUID, для базы данных;
- «time» для удобной работы со временем;
- «bridgeclient» для связи между ATmega32U4 и Atheros AR933.
Функционирует система позиционирования следующим образом. При подаче питания на блок управления системы запускается микроконтроллер, осуществляется загрузка операционной системы, выполняется инициализация программных сервисов и стартует синтез аппаратных сигналов. Во время инициализации осуществляется калибровка глобальной системы координат, после которой каретка помещается в позицию, сохраненную в БД во время последнего сеанса. В завершении процесса инициализации на LCD-экране появляется сообщение об окончании загрузки и готовности приема команд позиционирования по каналам ди-
станционного, программного и web-интерфейса управления. При поступлении команды перемещения, контроллер включает питание ШД и генерирует импульсы управления драйверам так, чтобы движение происходило с заданным ускорением и скоростью. По окончании перемещения текущая позиция каретки сохраняется в БД на ББ-карте контроллера. Если в течении 5 секунд новых команд по перемещению каретки не поступает контроллер отключает питание шаговых двигателей и система переходит в энергосберегающий режим. При этом сетевые сервисы системы всегда активны и обеспечивают ее работу до момента отключения питания.
Тестирование программного управления системой позиционирования выполнялось с помощью консольного приложения, разработанного на языке С# с использованием технологии .№1;Соге. После запуска консоли клиентское приложение пытается установить соединение с сервером и в случае успеха получает приглашение к вводу координат новой позиции каретки (рис. 4).
Ш С:\и^егЕ\Администратор\Ре^Йор\ВУЗ\Диплом\13-05.21 \ClientYun2\Cliеп1Уип2\С11 егйУип2\Ып\РеЬид.,. — □ X
[17.06.2021 17:52:18]: Соединение с сервером установлено (EndPoint: 192.168.240.1:7878) Переместить в X Y Z:
Рисунок 4 - Программный интерфейс клиент-серверного приложения
Если подключение с сервером было прервано или клиент не смог получить доступ, консоль выдаст соответствующее сообщение и попытается установить повторное соединение. В ходе тестирования выявлено, что точность системы позиционирования составляет около 20 мкм, среднее время передачи команды на исполнение в локальной сети 230 мкс, а в сети Internet зависит от маршрута обмена данными и составляет от 15 до 90 мс.
Заключение
Эволюция архитектуры измерительных приборов прошла несколько этапов: аналоговый прибор, цифровой прибор, виртуальный прибор (датчик + ПК), и достигла стадии использования встраиваемых систем. На ней приборы должны за счет вычислительных технологий и искусственного интеллекта не только инкапсулировать в себе трафик примитивных сигналов, но и обрести возможность организовываться в измерительные сети с высоким быстродействием и качественно новым уровнем обрабатываемой информации. Современные микроконтроллеры и ПЛИС уже сейчас обеспечивают достаточную производительность для обработки многомерных цифровых сигналов в режиме реального времени и позволяют решать проблему ограничения быстродействия измерительных комплексов, в том числе, с использованием сетевых технологий. Выполняя настоящую работу авторы пытались осознать какие задачи потребуют решения при взаимодействии информационных и мехатронных устройств в рамках измерительного комплекса и создать прототип прибора в области контроля высокотемпературных быстропротекающих процессов. Главным качественным результатом работы можно считать перестройку архитектуры системы позиционирования и организацию взаимодействия с другими подсистемами измерительного комплекса только с помощью входящих и исходящих сообщений, передаваемых в сетевой среде. Количественным показателем можно считать точность синхронизации действий системы с соседями на уровне 1 мс. В перспективе программно-аппаратная реализация протокола PTP всеми системами измерительного комплекса должна обеспечить синхронизацию в локальной сети с точностью 1-10 мкс.
Литература
1. Chernysheva, N. S. Application of a multichannel radiation thermometer for increase in adequacy of non-contact temperature measurement results / N. S. Chernysheva, A. B. Ionov. - DOI: 10.1109/EDM.2015.7184557 // 16th International Conference of Young Specialists on Mi-cro/Nanotechnologies and Electron Devices, 2015. - P. 334-336.
2. Hashemi, M. A low power 1-V 10-bit 40-MS/s pipeline ADC / M. Hashemi, M. Sharifkhani, M. Gholami. - DOI: 10.1109/ICECS.2011.6122251 // 18th IEEE International Conference on Electronics, Circuits, and Systems. - 2011. - P. 212-215.
3. Ganssle, J. The art of designing embedded systems / J. Ganssle. - Butterworth-Heinemann, 2000. - 309 p. - ISBN 0-7506-9869-1.
4. Ammar, A. Accurate Realtime Motion Estimation Using Optical Flow on an Embedded System / A. Ammar, H. B. Fredj, C. Souani // Electronics. - 2021/ - 10 (17). - P. 2164.
5. Бороненко, М. П. Телевизионная измерительная система наносекундного разрешения / М. П. Бороненко, П. Ю. Гуляев. - Текст : непосредственный // Доклады Томского государственного университета систем управления и радиоэлектроники. - 2014. - № 1 (31). - С. 60-64.
6. Gulyaev, I. P. Diagnostic system YuNA for disperse phase properties control in plasma and laser powder deposition processes / I. P. Gulyaev, A. V. Dolmatov. - DOI: 10.1088/17426596/1115/3/032072 // Journal of Physics: Conference Series. - 2018. - № 1115(3). - Р. 032072.
7. Dolmatov, A. Chrono-topographic analysis of the fire focus dynamics in the SHS wave / A. Dolmatov, P. Gulyaev, I. Milyukova. - DOI: 10.1088/1742-6596/1115/4/042024 // Journal of Physics: Conference Series. - 2018. - Vol. 1115, № 4. - P. 042024.
8. Dolmatov, A. Thermal imaging complex with tracking function for joint research of mi-croheterogeneous processes and macrokinetics of SHS phenomenon / A. Dolmatov, P. Gulyaev. -DOI: 10.1088/1742-6596/1333/6/062006 // Journal of Physics: Conference Series. - 2019. - Vol. 1333. - P. 062006.
9. Dolmatov, A. V. Investigation of structure formation in thin films by means of optical py-rometry / A. V. Dolmatov, I. V. Milyukova, P. Y. Gulyaev. - DOI: 10.1088/17426596/1281/1/012010 // Journal of Physics: Conference Series. - 2019. - Vol. 1281. - P. 012010.
10. Vento, J. A. Application of LabVIEW in higher education laboratories / J. A. Vento. - DOI: 10.1109/FIE.1988.35023 // Proceedings Frontiers in Education Conference, 1988. - P. 444-447.
11. Bottle: Python Web Framework. - URL: https://bottlepy.org/docs/dev/ (Дата обращения: 07.06.21)
12. Control of dispersed-phase temperature in plasma flows by the spectral-brightness pyrome-try method / A. V. Dolmatov, I. P.Gulyaev, P. Yu. Gulyaev, V. I. Jordan. - DOI: 10.1088/1757-899X/110/1/012058 // IOP Conference Series: Materials Science and Engineering. - 2016. - Vol. 110, № 1. - P. 012058.
13. Бороненко, М. П. Измерение скорости и температуры частиц в потоке низкотемпературной плазмы / М. П. Бороненко, И. П. Гуляев, А. Е. Серегин. - Текст : непосредственный // Известия высших учебных заведений. Физика. - 2014. - Т. 57, № 3-2. - С. 70-73.
14. Increasing the noise immunity of optical-electronic systems based on video cameras with an optical converter / M. P. Boronenko, P. Yu. Gulyaev, A. E. Seregin, K. G. Poluhina. -DOI: 10.1088/1742-6596/643/1/012028 // Journal of Physics: Conference Series. - 2015. - Vol. 643. - P. 012028.