Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

IMPLEMENTATION OF THE MODEL ORIENTED APPROACH IN THE DESIGN OF THE DATA COLLECTION SYSTEM

Mikheev M.Yu. 1 Gudkov K.V. 1 Gudkova E.A. 1
1 Penza State Technological University
Implementation of the model oriented approach allows full use of hardware and computing platform Arduino Diecimila, designed for building automation and robotics. Despite the simplicity of the hardware-computing platform, it solves various technical tasks, such as strain gauges allows you to connect and pre-process the data. For the experiment were developed Matlab/Simulink-models to collect, receive and visualize data from sensors. The comparative analysis of data obtained from sensors, shows comparable experimental results with pre-simulation. Numerical values in both cases are within the same order, and the signal spectrum before and after digital processing of the same. This suggests the adequacy of the experiment and the need for further research.
simulation models
the Coriolis flowmeter
model-based design

Применение современных средств при проектировании систем сбора данных с датчиковой аппаратуры позволяет проводить предварительный анализ их работы с использованием имитационных средств моделирования и быстро вносить в них необходимые изменения. Наиболее полно это реализуется при модельно-ориентированном подходе [5] при проектировании систем.

Реализация на практике модельно-ориентированного подхода при проектировании элементов автоматической системы (АС) сбора и обработки информации c кориолисова расходомера [1] производилась с использованием аппаратно-вычислительной платформы Arduino Diecimila, при этом к платформе подключался тензометрический датчик Honeywell FSS1500ST. Для этого в среде Matlab/Simulink были синтезированы две модели: первая модель позволяет собирать данные с датчика и передавать их на компьютера вторая – принимать данные и визуализировать их во временной и частотной области.

Модель сбора данных имеет в своём составе блок Analog Input, позволяющий аппаратно-вычислительной платформе Arduino Diecimila принимать аналоговые сигналы с датчика. Далее данные проходят блок Gain, где происходит усиление сигнала, и попадают в блок Data Type Conversion, который преобразует тип входного сигнала для последующего приема сигнала средой Matlab. Для передачи сигнала с платы на персональный компьютер служит блок Serial Write. Для полноценного функционирования этой модели служит блок Serial Config, позволяющий конфигурировать uart-интерфейс для передачи данных в среду Matlab/Simulink.

По окончании синтеза этой модели в среде Simulink необходимо записать её на аппаратно-вычислительную платформу Arduino Diecimila, которая подключена к заранее объявленному в модели порту. В нашем случае это USB порт. Процесс компиляции и заливки скомпилированной прошивки в аппаратно-вычислительную платформу Arduino Diecimila происходит в автоматическом режиме.

Модель, позволяет принимать данные с датчика через аппаратно-вычислительную платформу Arduino Diecimila. Для этого используется блок Serial Config, конфигурирующий uart-интерфейс. Блок Serial Receive служит для приема данных и передачи их в блоки отображения сигнала Scope и блок спектрального представления сигнала Spectrum Scope. Это необходимо для анализа поступающего сигнала.

Чтобы убедится в работоспособности спроектированной модели, получим сигнал с датчика при отсутствии колебаний расходомерной трубки [2].

Убедившись в работоспособности нашей системы, получим сигнал с расходомера, работающего на частоте в 40 Гц, и построим спектр сигнала с использованием блока Spectrum Scope. Как видно из рисунка 1, сигнал содержит большое количество шумов, поэтому необходимо использовать полосовой фильтр. Наиболее целесообразно включить его в состав аппаратно-вычислительной платформы Arduino Diecimila.

Рис. 1. Спектр сигнала с КР

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

Экспортируем спроектированный фильтр в Simulink - модель, из которой ранее был сгенерирован код для аппаратно-вычислительной платформы Arduino Diecimila. Применение Simulink модели для разработки кода позволяет быстро вносить изменения в алгоритм работы аппаратно-вычислительной платформы, а также моделировать её работу с использованием специализированных блоков без выгрузки кода. Это позволяет отладить работу любых сложных алгоритмов с минимальными временными затратами. Следует также отметить невозможность использования в Simulink модели блоков Function по причине отсутствия поддержки конвертации содержащегося в них Matlab кода в код аппаратно-вычислительной платформы Arduino Diecimila. Отдельно стоит выделить сложности, связанные с реализацией обратных связей в Simulink-модели. Их реализация привычным образом недопустима при реализации некоторых адаптивных фильтров. Но проблема решается использованием вместо обратных связей дополнительных блоков Analog input и блоков задержки. Учитывая, что разработанная нами модель состоит из малого числа блоков и имеет простую линейную структуру, наиболее оптимально сразу провести генерацию кода без предварительного моделирования работы аппаратно-вычислительной платформы в среде Matlab/Simulink.

Рис. 2. Модель сбора данных, с включенным в состав полосовым фильтром

На рисунке 2 представлена модель, в составе которой включен полосовой фильтр, на основании которой будет скомпилирована прошивка для аппаратно-вычислительной платформы Arduino Diecimila.

После обновления прошивки получим сигнал с КР, представленный в виде спектра на рисунке 3.

Рис. 3. Спектр сигнала прошедшего процедуру фильтрации

Не достаточное качество сигнала с тензометрического датчика КР после фильтрации может быть вызвано ограничениями аппаратной части вычислительной платформы Arduino Diecimila. Применение более сложных и дорогостоящих аппаратно-вычислительных платформ или программируемых логических интегральных схем(ПЛИС) позволит использовать более сложную систему фильтрации и избавится от помех, вызванных аппаратной частью модуля сбора данных.

Сравнительный анализ данных, полученных с КР, с результатами полученными с Matlab модели [3] показал, что данные с модели сопоставимы с реальными данными и числовые значения находятся в пределах одного порядка. При этом данные с моделируемого датчика проходят те же этапы цифровой обработки [4], что и данные с датчика КР, получаемые через аппаратно-вычислительную платформу. Это позволяет сделать вывод о адекватности модели и о необходимости проведения дальнейших исследований с учетом динамики изменения параметров работы КР и Simulink-модели. Это позволит синтезировать новые прошивки в аппаратно-вычислительную платформу Arduino Diecimila с учетом изменяемых условий работы.

Рецензенты:

Юрков Н.К., д.т.н., профессор, заведующий кафедрой «Конструирование и производство радиоаппаратуры» ФГБОУ ВПО Пензенский государственный университет, г. Пенза;

Чувыкин Б.В., д.т.н., профессор кафедры «Информационно-вычислительные системы» ФГБОУ ВПО Пензенский государственный университет, г. Пенза.