Научная статья на тему 'Контроллер удалённого управления трубчатой печью на платформе Arduino'

Контроллер удалённого управления трубчатой печью на платформе Arduino Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
705
204
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРУБЧАТАЯ ПЕЧЬ / КОНТРОЛЛЕР / АВТОМАТИЗАЦИЯ / ИЗМЕРЕНИЕ / ТЕМПЕРАТУРА / ЦИКЛ / ИНТЕРФЕЙС / ФОРМАТ ДАННЫХ / ПРОТОКОЛ / ПАКЕТ MATLAB / ПРОГРАММИРОВАНИЕ / ARDUINO / TUBE FURNACE / CONTROLLER / AUTOMATION / MEASUREMENT / TEMPERATURE / CYCLE / INTERFACE / DATA FORMAT / PROTOCOL / PACKET MATLAB / PROGRAMMING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Имамов Ринат Рамилевич, Нурушев Арман Мыркалыкович

Представлен контроллер автоматизации управления трубчатой печью ПТ 1.3-20, позволяющий получать цифровые данные о фактической температуре экспериментально-го образца и управлять уровнем нагрева с компьютера. В качестве платформы разработки использована микроконтроллерная сборка Arduino Nano V3.0. Разработаны цепи сопряжения блока управления РТ-53 трубчатой печи и Arduino Nano. Предложен формат передаваемых данных и протокол обмена между контроллером автоматизации и компьютером по интерфейсу COM. Протокол обмена реализован в виде программы микро-контроллера Arduino с одной стороны, и в виде класса объектов controlPT среды MATLAB со стороны компьютера. Класс controlPT содержит функцию программирования температурных циклов печи ПТ 1.3-20.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Имамов Ринат Рамилевич, Нурушев Арман Мыркалыкович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Remote management controller tube furnace on platform Arduino

Presented controller automation tube furnace enabling you to get figures on the actual temperature of the experimental sample and control the amount of heat on the computer. As a development platform used Microcontroller Arduino Nano V3.0. Designed circuit linking of unit control PT-53 tube furnace and Arduino Nano. Was proposed format the transmitted data and the communication protocol between the controller and computer via COM. The communications protocol is implemented as a program Arduino microcontroller with one hand, and as a class of objects controlPT MATLAB on the PC side. Class controlPT contains function of programming of cycles tube furnace temperature.

Текст научной работы на тему «Контроллер удалённого управления трубчатой печью на платформе Arduino»

ВЕСТНИК ЮГОРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

_2013 г. Выпуск 2 (29). С. 74-80_

УДК 681.5

КОНТРОЛЛЕР УДАЛЁННОГО УПРАВЛЕНИЯ ТРУБЧАТОЙ ПЕЧЬЮ НА ПЛАТФОРМЕ АКОБШО

Р. Р. Имамов, А. М. Нурушев Введение

Лабораторные трубчатые печи предназначены для термической обработки материалов, определения температуры плавления металлов и сплавов, градуировки термопар и других работ при температуре до 1200-1600 0С. Принципиально трубчатая печь состоит из теплоизолированной камеры, которую вертикально, горизонтально или под наклоном пронизывает керамическая труба диаметра от 20 до 50 мм. Труба является полостью, где размешается экспериментальный образец. Внутри камеры вдоль керамической трубы расположены электропроводящие нагревательные элементы. Они представляют собой спиральные нагреватели для печей с максимальной температурой до 1000 0С или стержневые карбидокремниевые (Б1С) нагреватели при температурах до 1400 0С. Наиболее высокотемпературными являются хромитлантановые (ЬаСгО) стержневые нагреватели, которые позволяют поддерживать температуру закрытой печи до 1600 0С. Блок управления печи регулирует подачу электрического тока на нагревательные элементы в зависимости от соотношения задаваемой и фактической температуры в камере. Последняя измеряется с помощью термопары, находящейся в непосредственном контакте с керамической трубой [1].

В лаборатории СВ-синтеза наноструктурированных материалов Югорского государственного университета горизонтальные трубчатые печи ПТ-1,3-20 применяются для исследования формирования оксидных и нитридных пленок титановых покрытий, анализа теплофи-зических свойств пористой металлокерамики, синтезированной из порошковых материалов методом СВС [2-6], а также калибровки высокоскоростной тепловизионной системы на базе цифровой камеры «ВидеоСпринт» [7-8] и яркостного пирометра С-500.7, используемых в экспериментальных исследованиях структурной макрокинетики процесса СВС [9-11] и процесса плазменного напыления покрытий [12-13]. Эффективность решения этих задач во многом определяется возможностью программирования интервальной работы печи и точностью контроля температуры.

Трубчатая печь ПТ-1,3-20 имеет выносной блок управления РТ-53, который позволяет задавать температуру печи вращением ручки аналогового регулятора. Индикаторы на панели блока управления сигнализируют о фактическом уровне температуры, показывая выше, равен или ниже он заданного значения. Если фактическая температура ниже заданной, то блок управления РТ-53 включает нагревательные элементы. В других случаях ток через них не протекает. Блок управления РТ-53 не позволяет в полной мере решать экспериментальные задачи, ставящиеся в лаборатории. Расширение его функциональности возможно при непосредственном измерении сигнала термопары, цифровом контроле уровня задаваемой температуры и организации интерфейса с персональным компьютером для программирования интервальной работы печи.

Целью работы явилась автоматизация блока управления РТ-53 трубчатой печи ПТ-1,3-20. Для её достижения требовалось решить следующие задачи:

• Внедрить в электронную схему блока управления РТ-53 цепи измерения термо-ЭДС и цифрового управления температурой.

• Построить контроллер для преобразования сигнала из аналогового в цифровой и обратно, а также для поддержки интерфейса и протокола взаимодействия с компьютером.

• Разработать программное обеспечение удалённого управления.

Принципиальное устройство контроллера

В качестве платформы системы удалённого управления выбрана микроконтроллерная сборка Arduino Nano [14]. Основой сборки является микроконтроллер общего назначения Atmel ATMega 328, который поддерживает 10 линий аналого-цифрового преобразования, 14 линий цифрового ввода-вывода и последовательный интерфейс UART TTL (5 В). Микросхема FTDI FT232RL микроконтроллерной сборки направляет данный интерфейс через USB, а драйверы FTDI отображают его на виртуальный COM порт компьютера. Кроме этого сборка Arduino Nano содержит стабилизаторы питания на 5 и 3,3 вольта из 6-20 В внешнего источника, либо она может питаться от интерфейса USB (рис. 1).

Рисунок 1. Микроконтроллерная сборка Arduino Nano.

Габаритные размеры сборки составляют 1,85*4,2 см

Канал измерения температуры авторы организовали следующим образом. Термопара помещена в керамическую оболочку и введена в камеру печи через дно. На дне печи находится модуль предварительного усилителя сигнала, питание которого осуществляется стабилизированным 5-вольтовым источником, находящимся в блоке управления РТ-53. Этот источник был использован для обеспечения работы контроллера удалённого управления.

Дифференциальный сигнал термопары изменяется в пределах от 3 мВ при 300 0С до 12 мВ при 1200 0С по линейному закону, т. е. чувствительность составляет 10 мкВ/0С. Для согласования динамического диапазона сигнала термопары и 10-разрядного АЦП микроконтроллера Arduino Nano с опорным напряжением 1,1 вольта использовался инструментальный усилитель INA333 компании Texas Instruments с коэффициентом усиления Kv = 92 . Данный

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

подавления синфазных помех. Настройка коэффициента усиления ША333 осуществляется единственным внешним сопротивлением, величина которого определяется по формуле

„ 100к О 100к О

=—-7= ^ -11000, (1)

Ku -1

91

R - внешнее сопротивление, определяющее коэффициент усиления KU. Принципиальная

схема канала измерения температуры показана на рисунке 2. Выход инструментального усилителя подключен к линии A0 аналого-цифрового преобразователя (АЦП) Arduino Nano, которая содержит внутреннее сопротивление нагрузки.

Рисунок 2. Канал измерения температуры контроллера удалённого управления

Настройка уровня температуры трубчатой печи осуществляется в блоке управления РТ-53 с помощью делителя напряжения, построенного на переменном сопротивлении Я1 величиной 10 кО . В качестве эквивалентной замены для режима удалённого управления авторами предложено использовать схему, приведенную на рисунке 3.

Рисунок 3. Канал цифрового управления температурой трубчатой печи

Управляющее напряжение (эквивалентное температурам от 300 до 1200 0С) варьируется переменным сопротивлением в пределах от 0,42 В до 4,82 В. Для эмуляции делителя напряжения в режиме удалённого управления использовался 8-разрядный цифро-аналоговый преобразователь (ЦАП) АВ7302БК2. На вывод ЛОЫБ (аналоговая земля) подается напряжение 0,42 В, а на вывод ЛЕЕ¥ (опорное напряжение) подается напряжение 4,82 В с клемм переменного резистора. Переключатель П1 предназначен для выбора режима работы блока РТ-53. В ручном режиме управления контроль задаваемой температуры осуществляется пере-

менным сопротивлением R1. В режиме удалённого управления задаваемое напряжение снимается с выхода ЦАП. Микросхема AD7302BNZ имеет 8 параллельных линий для программирования выходного уровня напряжения, которые в соответствии с номером разряда подключены к цифровым линиям D5-D12 микроконтроллерной сборки Arduino Nano. Запись нового значения ЦАП производится подачей короткого импульса на вывод WR, который подключен к цифровой линии D4 Arduino Nano.

Для контроля включения нагрева и равенства фактической температуры заданному уровню измерялся ТТЛ-сигнал светодиодов блока управления РТ-53 с помощью цифровых линий D2, D3 (рис. 4).

Рисунок 4. Схема измерения контрольных сигналов блока управления РТ-53

Программирование контроллера

Программируемым элементом сборки Arduino Nano является микроконтроллер Atmel ATMega 328. Данный микроконтроллер содержит 32 кБайта flash-памяти программ. Загрузка программ осуществляется через USB-интерфейс сборки Arduino Nano посредством микросхемы FT232RL. При подаче питания на микроконтроллерную сборку или нажатие кнопки Reset начинается исполнение программы с нулевого адреса, где расположен монитор Arduino. Монитор занимает 1 килобайт памяти микроконтроллера ATMega328, а остальные 31 кбайт доступны для программ пользователя. По окончании загрузки монитор Arduino передает управление процедуре Setup, а затем процедуре Loop. Последняя исполняется циклически на протяжении всей работы до выключения питания Arduino Nano. Таким образом, пользователю фактически доступны для программирования процедуры Setup и Loop.

Собственно программирование осуществляется на компьютере в среде Arduino, которая оперирует С-подобным языком, синтаксис которого подробно описан на сайте Arduino [15]. После подготовки текста программы она компилируется и загружается во flash-память микроконтроллера. Далее инициируется сброс Arduino Nano и при следующей загрузке начинает исполняться новая программа. Однажды загруженная программа остаётся постоянно во flash-памяти микроконтроллера и при включении питания исполняется им до отключения или загрузки другой программы.

Инициализация контроллера удалённого управления трубчатой печи осуществляется в процедуре Setup. С помощью команд pinMode настраивается режим работы цифровых линий, а команда Serial.begin(115200) инициализирует последовательный интерфейс для обмена данными с персональным компьютером (ПК) на скорости 115200 бит/с. Кроме того, здесь же инициализируются глобальные переменные.

Протокол взаимодействия контроллера удалённого управления и компьютера построен по принципу запрос-ответ. Компьютер формирует только запросы, а контроллер ожидает запроса и формирует ответ в зависимости от типа запроса. Запросы имеют фиксированную длину 2 байта. Протокол взаимодействия ПК и контроллера поддерживает следующие типы запросов:

1. Запрос фактической температуры и состояния блока РТ-53: 1 байт (тип запроса) должен быть равен 1; 2 байт (параметр запроса) может принимать произвольное значение.

2. Запрос заданного уровня температуры печи: 1 байт (тип запроса) должен быть равен 2; 2 байт (параметр запроса) может принимать произвольное значение.

3. Запрос на изменение уровня заданной температуры печи: 1 байт (тип запроса) должен быть равен 3; 2 байт (параметр запроса) - градация задаваемой температуры печи в пределах от 0 до 255 (300 0С - 1200 0С).

Контроллер удалённого управления печи в зависимости от типа запросов может формировать три типа ответов:

1. Ответ о фактической температуре и состоянии блока РТ-53: 1 байт (тип ответа) должен быть равен 1; 2 и 3 байты содержат информацию о градации фактической температуры и биты состояния блока РТ-53 (рис. 5).

2 байт

S2

S1

ТЭ

Т8

3 байт

17

Т6

15

Т4

13

Т2

Т1

ТО

градация фактической температуры

L Температура меньше заданного уровня

1 - нагреватели включены; 0 - нагреватели выключены

Фактическая температура равна заданному уровню 1-равна; 0 - не равна

Рисунок 5. Формат 2 и 3 байтов ответа на запрос 1-го типа

Измерение фактической температуры инициируется в программе контроллера командой temp = analogRead(O);. Она приводит к однократному запуску АЦП нулевого канала куда подключен инструментальный усилитель сигнала термопары. Затем с помощью команд si = digitalRead(2) и s2 = digitalRead(3) считываются биты состояния блока РТ-53. Из значений переменных temp, si, s2 формируются 2 и 3 байты ответа на запрос.

2. Ответ о заданной температуре печи: 1 байт (тип ответа) должен быть равен 2; 2 байт содержит градацию заданной температуры. Установленное значение заданной температуры храниться в глобальной переменной программы контроллера. Изменение её значения выполняется в запросах 3-го типа синхронно с записью в ЦАП.

3. Ответ на изменение уровня заданной температуры печи: 1 байт (тип ответа) должен быть равен 3; 2 байт содержит градацию заданной температуры. При получении 3-го типа запросов программа контроллера с помощью команд digitalWrite устанавливает на линиях D5-D12 соответствующие биты нового уровня заданной температуры, а затем на выходе D4 формируется короткий импульс для записи новых данных в ЦАП. Далее формируется ответ, подтверждающий выполнение контроллером полученного запроса.

Протокол взаимодействия контроллера удалённого управления и ПК реализован в процедуре Loop Arduino Nano, где происходит ожидание входящего запроса, его дешифрирование, исполнение и формирование ответа.

Программное обеспечение ПК

Со стороны компьютера протокол взаимодействия с контроллером удалённого управления может быть реализован в любом приложении через подключение к COM-порту на скорости 115200 бит/с. Авторами разработан класс controlPT среды MATLAB [16], который представляет трубчатую печь ПТ-1,3-20 в виде виртуального прибора. Для пояснения функциональных возможностей класса рассмотрим следующий пример команд среды MATLAB:

>>pt = controlPT (2)

>>pt.Temp = 480; (3)

>>T = pt.Temp (4)

T = 320 (5)

>>pt.State Ans = 0 1

>>pt.Temp = [450, 10; 560, 8; 625, 15; 300, inf]; »clear pt

(6)

(7)

(8) (9)

Команда (2) приводит к созданию объекта класса controlPT. При этом выполняется процедура конструктора класса. Она осуществляет поиск COM-порта, к которому подключен контроллер удалённого управления печью и устанавливает с ним соединение посредством поверочных запросов.

Объект класса controlPT имеет свойство Temp, которое реализовано с помощью set- и get-методов. Вызов команды (3) ведёт к исполнению set-метода свойства Temp, который отправляет контроллеру печи запрос на изменение заданной температуры. В команде (4) задей-ствуется get-метод свойства Temp. При этом запрашивается значение фактической температуры в камере печи. Для ответа на этот запрос контроллер удалённого управления проводит измерение сигнала термопары (5).

В классе controlPT реализовано свойство State для запроса состояния печи. Оно соединено только с get-методом, что позволяет считывать значение данного свойства, но не устанавливать его. Команда (6) возвращает в качестве ответа два значения (7): 0 - показывает, что фактическая температура не достигла заданного уровня, а 1 - сообщает о том, что включены нагревательные элементы.

Команда типа (3) задает бессрочное значение температуры, т. е. контроллер выставляет требуемую температуру, а блок РТ-53 обеспечивает выход фактической температуры на заданный уровень и поддержание этого уровня. Однако класс controlPT позволяет также программировать интервальную работу трубчатой печи. Для этого входные данные нужно представить в виде матрицы размерности Nx2. N строк матрицы содержат значения температуры (1 столбец) и интервалы выдержки в минутах (2 столбец). Так команда (8) позволяет задать 4 интервала с температурами: 450, 560, 625 и 300 градусов Цельсия; с временами выдержки в минутах: 10, 8, 15 и «бесконечность» соответственно. Когда используется команда типа (8) в объекте класса controlPT начинает действовать таймер, посредством которого осуществляются регулярные запросы в контроллере печи для выхода на заданный уровень температуры и удержание текущего уровня на протяжении заданного интервала. Если продолжительность интервала указана inf - «бесконечность», то таймер выключается, и за поддержание уровня заданной температуры начинает отвечать блок РТ-53, обеспечивая её бессрочное удержание до вызова команд типа (3) или (8).

Команда (9) вызывает процедуру деструктора объекта класса controlPT, которая освобождает системный ресурс COM-порта для других приложений.

В итоге проделанной работы произведена автоматизация работы трубчатой печи ПТ-1,3-20. Ручной (управление заданным уровнем температуры производится аналоговым регулятором) режим работы блока управления РТ-53 дополнен дистанционным режимом, в котором фактический контроль печи осуществляется компьютером посредством контроллера удалённого управления на платформе Arduino Nano. Для среды MATLAB разработан класс объектов controlPT, который позволяет программировать интервальный режим работы трубчатой печи и встраивать её в экспериментальные комплексы, управляемые компьютером.

1. Электропечи трубчатые лабораторные: сайт НПО «Теплоприбор». 2011 [Электронный ресурс]. - Режим доступа : http://www.teplopribor-e.ru/products/trybchat_laborator (Дата обращения: 11.04.2013). Дата обновления: 20.02.2013.

Заключение

ЛИТЕРАТУРА

2. Гуляев, П. Ю. Моделирование фрактальных структур упаковок порошковых материалов [Текст] / П. Ю. Гуляев [и др.] // Ползуновский альманах. - 2007. - № 3. - С. 39-41.

3. Гуляев, П. Ю. Интеллектуальные наноструктурные СВС-системы и виртуальные механизмы формирования ультрастабильных цеолитных материалов [Текст] / П. Ю. Гуляев, И. В. Милюкова, А. В. Долматов // Ползуновский альманах. - 2008. - № 2. - С. 38-39.

4. Гуляев, П. Ю. Кластерный анализ и оптимизация параметров механоактивации в процессах СВ-синтеза [Текст] / П. Ю. Гуляев, И. В. Милюкова // Информационные системы и технологии. - 2009. - № 3. - С. 93-99.

5. Долматов, А. В. Виртуальная тепловизионная система с микросекундным периодом регистрации [Текст] / А. В. Долматов [и др.] // Ползуновский альманах, 2012. - № 2. - С. 31-36.

6. Evstigneyev, V. V. A new procedure of high-rate brightness pyrometry for studying the SHS processes / P. Yu. Gulyayev, A. B. Mukhachev, D. A. Garkol // Combustion, Explosion and Shock Waves, 1994. - V. 30, № 1. - P. 72-78.

7. Иордан, В. И. Комплекс методов цифровой обработки изображений для исследования эффектов локальной неустойчивости и нестационарности волны горения процесса СВС [Текст] / П. Ю. Гуляев, В. В. Евстигнеев // Ползуновский вестник. - 2005. - № 4 (ч. 1). - С. 1.

8. Гуляев, П. Ю. Диагностика распределения температуры и скорости напыляемого порошка в импульсном плазменном потоке [Текст] / П. Ю. Гуляев, А. В. Долматов // Изв. вузов. Физика. - 2007. - № 9. Приложение. - C. 114-117.

9. Гуляев, П. Ю. Автоматизация контроля теплофизических параметров в технологиях детонационного напыления [Текст] / П. Ю. Гуляев, А. В. Долматов //Системы управления и информационные технологии. - 2009. - № 1.2(35). - С. 230-233.

10. Гуляев, П. Ю. Физические принципы диагностики в технологиях плазменного напыления [Текст] / П. Ю. Гуляев, А. В. Долматов // Известия Самарского научного центра Российской академии наук. - 2009. - Т. 11, № 5 (2). - С. 382-385.

11. Гуляев, П. Ю. Диагностика распределения частиц по температурам в технологии плазменного напыления [Текст] / П. Ю. Гуляев, А. В. Долматов, М. П. Бороненко // Ползу-новский альманах. - 2010. - № 2. - С. 71-73.

12. Патент на изобретение RUS 2383873, МПК7 G01J3/30, G01K13/04. Способ определения температурного распределения частиц конденсированной фазы в двухфазном плазменном потоке [Текст] / И. П. Гуляев, О. П. Солоненко, А. В. Смирнов, П. Ю. Гуляев, В. И. Иордан, А. В. Долматов, И. В. Милюкова // Опубл. 10.03.2010 в Бюл. И. № 7. - 3 с.

13. Гуляев, П. Ю. Методы оптической диагностики частиц в высокотемпературных потоках [Текст] / П. Ю. Гуляев [и др.] // Ползуновский вестник. - 2012. - № 2/1. - С. 4-7.

14. Программированию Arduino: материалы переведены с официального сайта проекта Ардуи-но и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License. 2012 [Электронный ресурс]. - Режим доступа : http://arduino.ru/Hardware/ArduinoBoardNano (дата обновления 01.04.2013, дата обращения 02.04.2013).

15. Программирование Arduino: материалы с официального сайта проекта Ардуино представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License. 2012 [Электронный ресурс]. - Режим доступа : http://arduino.ru/Reference (дата обновления 01.04.2013, дата обращения 02.04.2013).

16. MATLAB. Exponenta: центр компетенций MathWork [Электронный ресурс] // Copyright 2001-2013 Softline Company. - Режим доступа : http://matlab.exponenta.ru (дата обновления 21.04.2012, дата обращения 25.03.13).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.