Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Реализация системы сбора и обработки информации с аналоговых и цифровых датчиков на платформе Arduino




 

Морозов Александр Дмитриевич,
техническое отделение,
специальность: Компьютерные системы и комплексы, IV курс
Научный руководитель: Сохатюк Ю.В.,
Почетный работник СПО,
преподаватель ПЦК информационных и офисных технологий ГБПОУ «СПЭТ»

 

"Наука начинается с тех пор, как начинают измерять..."

Д.И. Менделеев

Аннотация: в данной статье приведен краткий исторический обзор развития автоматизации измерений, описана платформа Arduino и программные средства, использованные при реализации системы сбора и обработки информации с цифровых и аналоговых датчиков на платформе Arduino, приведены результаты работы и показаны области практического применения разработанной системы.

Ключевые слова: система сбора и обработки информации, Arduino, микроконтроллер.

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

В связи с вышесказанным требуется разработать и смоделировать систему сбора и обработки информации с аналоговых и цифровых датчиков, которая должна обеспечить сбор информации, хранение, доступ к ней пользователя посредством веб-интерфейса. Мы предполагаем, что такая система может быть реализована на платформе Arduino.

Современная микропроцессорная техника является важнейшим средством при решении самых разнообразных задач в области сбора и обработки данных, систем автоматического управления и др. Знания в этой области становятся необходимыми все более широкому кругу специалистов.

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

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

Использование микроконтроллеров в системах управления и обработки информации обеспечивает исключительно высокие показатели эффективности при достаточно низкой стоимости. Микроконтроллерам практически нет альтернативы, когда нужно создать качественные и дешевые системы [1].

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

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

- длительные, многократные измерения;

- одновременное измерение большого числа величин;

- измерение параметров быстропротекающих процессов;

- измерения, характеризующиеся большими массивами информации и сложными алгоритмами ее обработки.

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

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

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

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

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

Типовая схема автоматизированных измерений изображена на рис.1.

Объектом измерения может быть некоторый процесс, явление или устройство. Измеряемые величины воспринимаются датчиками, с выходов которых электрические сигналы поступают на коммутатор. Коммутатор повышает коэффициент использования измерительной установки при многоканальных измерениях. Опрос датчиков может быть циклическим (параметры однородны и стационарны), программным (параметры стационарны, но неоднородны) или адаптивным (параметры нестационарны). Электрический сигнал с выбранного коммутатором датчика преобразуется в цифровой код в АЦП. Интерфейс обеспечивает сопряжение измерительного канала с ЭВМ (компьютер). Далее измерительная информация подвергается обработке по заданной программе в ЭВМ и представляется в удобной форме на экране дисплея или отпечатанной на бумаге. База данных (БД) предназначена для хранения необходимой измерительной и справочной информации.

Рис. 1 Обобщенная структурная схема процесса автоматизированного измерения

ЦАП используется для двух целей: представление результатов измерений в аналоговой форме с дальнейшим их преобразованием в графическую форму и преобразования команд ЭВМ в аналоговые сигналы с целью управления объектом измерений. Канал управления позволяет активно воздействовать на объект (нагревать, охлаждать, облучать, деформировать, перестраивать), следя одновременно за реакцией его на эти воздействия. Наличие ЭВМ позволяет производить вычислительный эксперимент [2].

Добиться реализации такого подхода к автоматизации наблюдений можно различными способами, используя разные вычислительные устройства и микроконтроллеры. В нашем случае целесообразно использовать отдельное устройство на базе платформы Arduino как "прослойку" между датчиками и компьютером. Программа, зашитая в микроконтроллер на плате Arduino, будет выполнять сбор данных с датчиков, который будет обеспечиваться специальными программными функциями и командами. Компьютер же по специальному протоколу будет запрашивать данные у Arduino и, получив их, записывать в базу данных. Так же компьютер будет обеспечивать взаимодействие пользователя с базой данных. Таким образом, весь массив сенсоров и программную оболочку для ПК мы сможем объединить благодаря Arudino, подключив плату к COM-порту ПК.

Arduino – это инструмент для проектирования электронных устройств (электронный конструктор) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Это платформа, предназначенная для «physicalcomputing» с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.

Arduino применяется для создания электронных устройств с возможностью приема сигналов от различных цифровых и аналоговых датчиков, которые могут быть подключены к нему, и управления различными исполнительными устройствами. Проекты устройств, основанные на Arduino, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере (напр.: Flash, Processing, MaxMSP). Платы могут быть собраны пользователем самостоятельно или куплены в сборе. Среда разработки программ с открытым исходным текстом доступна для бесплатного скачивания.

Язык программирования Arduino является реализацией Wiring, схожей платформы для «physicalcomputing», основанной на мультимедийной среде программирования Processing.

Существует множество микроконтроллеров и платформ для осуществления «physicalcomputing». ParallaxBasicStamp, Netmedia'sBX-24, Phidgets, MIT'sHandyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку. Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

Низкая стоимость – платы Arduino относительно дешевы по сравнению с другими платформами. Самая недорогая версия модуля Arduino может быть собрана в ручную, а некоторые даже готовые модули стоят меньше 50 долларов.

Кросс-платформенность – программное обеспечение Arduino работает под ОС Windows, MacintoshOSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение с возможностью расширения и открытым исходным текстом – ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVRC на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами – микроконтроллеры ATMEGA328P и ATMEGA168 являются основой Arduino. Схемы модулей выпускаются с лицензией CreativeCommons, а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания принципов работы [3].

Таким образом, Arduino становится отличным средством для проектирования модели будущего устройства. Наличие доступных программных библиотек, подключение датчиков и периферийных устройств становится достаточно простой задачей. C-подобный синтаксис языка программирования Arduino дает низкий входной порог в разработку устройств на базе этой платформы.

Что касается реализации программной части для ПК, то от приложения требовалось получать и обрабатывать данные с Arduino, сохранять данные в БД и загружать их, а так же взаимодействовать с пользователем посредством веб-интерфейса. Для решения поставленной задачи был выбран язык программирования Python.

Python – объектно-ориентированный язык сверхвысокого уровня. Python, в отличие от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на объектно-ориентированный.

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

Из современных языков Python можно сравнить в первую очередь с Java и Perl. Python выполняет все обещания, которые дала, но не выполнила Java. Python очень хорошо переносим, в отличие от Java он работает практически на любой платформе. Мы не говорим про UNIX и Windows, конечно - с точки зрения переносимости куда интереснее такие платформы как Mac, Amiga, Palm, RiscOS, AS/400 и многие другие. В сравнении с Perl, Python как язык ему совершенно равномощен, но избавлен от великого множества неприятностей и неудобств, присущих Perl. Python включает в себя богатую стандартную библиотеку и поддерживает возможность подключения множества модулей, доступных в Интернете [3].

Выбрав Python в качестве основного языка разработки программной части для ПК, мы обеспечили ее кроссплатформенность, надежность, возможность поддержки и расширения функционала в будущем.

Основной функционал приложения обеспечивается несколькими основными модулями Python, среди которых:

1. PySerial для обеспечения обмена данными между ПК и Arduino посредством COM-порта;

2. SQLAlchemy для работы с базой данных в формате SQLite;

3. Tornado как веб-фреймворк для обеспечения взаимодействия пользователя с приложением.

В итоге было разработано устройство, представленное на схеме (рис 2).

Рис. 2 Структурная схема устройства

Устройство работает по следующему принципу: данные с датчиков поступают на Arduino по запросу через заданный промежуток времени (см. рис 3). Далее, от ПК Arduino получает запрос по серийному порту и отсылает показания датчиков на компьютер, который записывает информацию в базу данных. Кроме того, обеспечивает веб-интерфейс для доступа к базе данных.

Рис. 3 Алгоритмы работы программ

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

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

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

Список литературы:

1. Микропроцессорные системы [Электронный ресурс]: электрон. учеб. пособие / О.В. Непомнящий, Е.А. Вейсов, Г.А. Скотников, М.В. Савицкая. – Электрон. дан. (4 Мб). – Красноярск: ИПК СФУ, 2009.

2. Парахуда Р.Н., Шевцов В.И. Автоматизация измерений и контроля: Письменные лекции. – СПб, СЗТУ, 75 с, [Электронный ресурс]:// http://windows.edu.ru/resource/490/40490/files/145.pdf

3. Что такое Ардуино? [Электронный ресурс]:// http://www.arduino.ru/About

4. Что такое Python и с чем его едят – Программные продукты [Электронный ресурс]:// http://www.interface.ru/home.asp?artId=2020


Для заметок

________________________________________________________________________________________________________________________________________________________________________






Поделиться с друзьями:


Дата добавления: 2017-03-11; Мы поможем в написании ваших работ!; просмотров: 2679 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2538 - | 2391 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.