Лабораторный стенд для изучения интерфейса SPI
Обзор последовательного периферийного интерфейса SPI. Изучение функциональных возможностей платы Arduino Uno R3 на микроконтроллере ATmega328. Выбор необходимых компонентов лабораторного стенда. Разработка функциональной схемы. Программное обеспечение.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.10.2017 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технологический университет»
МИРЭА
Институт кибернетики (ИК)
Кафедра информационных систем (ИС)
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
по направлению подготовки бакалавров
12.03.01 «Приборостроение»
На тему: “Лабораторный стенд для изучения интерфейса SPI”
Обучающийся:
О.В. Гапонов
Руководитель работы
к.т.н., доцент,
А.С. Бессонов
Москва 2017
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технологический университет»
МИРЭА
Институт кибернетики
Кафедра информационных систем
ЗАДАНИЕ
на выполнение выпускной квалификационной работы
бакалавра
Обучающийся Гапонов Олег Владимирович
Шифр 13К0064
Направление подготовки 12.03.01 «Приборостроение»
Группа КПБО-01-13
1. Тема выпускной квалификационной работы
Лабораторный стенд для изучения интерфейса SPI.
2. Техническое задание на выполнение выпускной квалификационной работы
2.1. Цель:
Создание лабораторного стенда для изучения особенностей подключения датчиков, оснащенных интерфейсом SPI, к измерительной системе, его программирования и использования для сбора данных.
2.2. Задачи, требующие решения для достижения поставленной цели:
1. Изучение стандартного интерфейса SPI.
2. Изучение платформы Arduino и выбор необходимых компонентов.
3. Разработка функциональной схемы лабораторного стенда.
4. Разработка и сборка измерительного устройства.
5. Разработка алгоритмов функционирования программного обеспечения (ПО).
6. Создание программного обеспечения и тестирование лабораторного стенда.
2.3. Основные требования к результату разработки:
Измерительное устройство должно обеспечивать:
1. Функционирование на основе платы Arduino UNO.
2. Подключение и сбор данных с одного до трех различных SPI датчиков (по выбору).
3. Передачу результатов измерений на индикатор и по полученной команде в компьютер.
Алгоритм и программа должны обеспечивать:
1. Функционирование в операционных системах Windows XP и Windows 7.
2. Выбор и конфигурацию датчиков для сбора данных.
3. Подачу команды, получение и отображение в текстовом и графическом виде измеренных величин.
В качестве сред разработки ПО должны быть использованы IDE Arduino 1.6.5 и NI LabVIEW 2010.
2.4. Планируемые результаты выполнения выпускной квалификационной работы:
1. Работоспособное измерительное устройство.
2. Скетч для измерительного устройства.
3. Программа сбора и отображения результатов измерений.
3. Этапы выполнения выпускной квалификационной работы
№ этапа |
Содержание этапа работы |
Результат выполнения этапа |
Срок выполнения |
|
1 |
Изучение платформы Arduino и выбор необходимых компонентов для реализации лабораторного стенда |
Обоснованный выбор компонентов для реализации лабораторного стенда |
16.03.17 |
|
2 |
Разработка структурной и функциональной схем лабораторного стенда |
Структурная и функциональная схемы лабораторного стенда |
30.03.17 |
|
3 |
Разработка и сборка измерительного устройства |
Сборка измерительного устройства |
13.04.17 |
|
4 |
Разработка алгоритмов функционирования программного обеспечения |
Алгоритм функционирования программного обеспечения |
27.04.17 |
|
5 |
Создание программного обеспечения и тестирование лабораторного стенда |
Программное обеспечение |
25.05.17 |
|
6 |
Разработка и оформление документации |
Расчётно-пояснительная записка и графические материалы |
07.06.17 |
4. Содержание экономического раздела
1. Разработка основных разделов бизнес-плана проекта.
2. Организация и планирование работ по теме.
3. Определение договорной цены.
4. Оценка экономической целесообразности проведения работ по теме.
5. Перечень разрабатываемых документов и графических материалов
1. Структурно-функциональная схема лабораторного стенда.
2. Алгоритм функционирования измерительного устройства.
3. Алгоритм функционирования программы сбора и отображения результатов измерений.
4. Интерфейс пользователя программы сбора и отображения результатов измерений с результатами тестирования.
6. Руководитель и консультанты выпускной квалификационной работы
Функциональные обязанности |
Должность в Университете |
Ф.И.О. |
Подпись |
|
Руководитель выпускной работы |
Доцент |
Бессонов А.С. |
||
Консультант по специальной части выпускной работы |
Доцент |
Бессонов А.С. |
||
Консультант по экономическому разделу выпускной работы |
Доцент |
Чёрненькая И.Г. |
Задание выдал |
Задание принял к исполнению |
||
Руководитель ВКР __________ А.С. Бессонов |
Обучающийся ___________ О.В. Гапонов |
||
«___»___________2017 г. |
«___»___________2017 г. |
АННОТАЦИЯ
лабораторный стенд периферийный интерфейс
Пояснительная записка выпускной квалификационной работы «Лабораторный стенд для изучения интерфейса SPI» состоит из 73 страниц, 2 частей, 34 иллюстраций, 7 таблиц, 20 источников, 2 приложений.
Перечень ключевых слов работы: лабораторный стенд, измерительная система, символьный дисплей с последовательной ассиметричной шиной подключения I--2C, термопара К-типа, преобразователь сигнала термопары в цифровой код, датчик атмосферного давления, последовательный периферийный интерфейс SPI, последовательная ассиметричная шина I--2C, виртуальный прибор, микроконтроллер, программное обеспечение (ПО).
Объектом разработки является лабораторный стенд, предназначенный для изучения последовательного периферийного интерфейса SPI.
Цель работы - создание лабораторного стенда для изучения особенностей подключения датчиков, оснащенных интерфейсом SPI, к измерительной системе, его программирования и использования для сбора данных.
В выпускной квалификационной работе проведен теоретический обзор последовательного периферийного интерфейса SPI и платы Arduino Uno R3 на микроконтроллере ATmega328; выбраны датчики температуры, атмосферного давления, относительной влажности, АЦП; разработана структурная схема лабораторного стенда; разработана и собрана аппаратная часть стенда; разработан алгоритм функционирования программного обеспечения лабораторного стенда; создано программное обеспечение лабораторного стенда в средах разработки IDE Arduino 1.6.5 и NI LabVIEW 2010; проверена работоспособность лабораторного стенда. В экономическом разделе работы разработан бизнес-план; составлен календарный график выполнения проекта; рассчитана договорная цена на разработку с учетом 30% прибыли, которая составила 262 тысяч рублей; проведено технико-экономическое обоснование целесообразности разработки.
В результате выполнения работы создана измерительная система, обеспечивающая:
? Измерение температуры воздуха в помещении в диапазоне от 0 °C до +500 °С с абсолютной погрешностью, не превышающей ±2 °С;
? Измерение атмосферного давления в помещении в диапазоне от 300 до 1100 гПа с абсолютной погрешностью, не превышающей ±0.09 Па;
? Измерение относительной влажности воздуха в помещении в диапазоне от 0 до 100% гПа с абсолютной погрешностью, не превышающей ±3 %;
? Передачу результатов измерений на индикатор и в ПК по команде пользователя;
? Возможность работы лабораторного стенда без ПК;
? Простое управление всеми датчиками посредством последовательного переключения датчиков с помощью тактовой кнопки;
? Отображение результатов измерения на экране монитора ПК в текстовом и графическом виде.
Данная измерительная система может применяться в процессе обучения по направлению подготовки 12.03.01 “Приборостроение” на кафедре ИС на первом курсе магистратуры при изучении дисциплины “Интерфейсы систем сбора и обработки данных” и предназначена для ознакомления студентов с: особенностями применения последовательного периферийного интерфейса SPI, подключением датчиков и измерительного преобразователя по SPI к ведущему микроконтроллеру на плате Arduino Uno R3. Данный лабораторный стенд также может применяться и при изучении других дисциплин на других кафедрах, где изучаются интерфейсы взаимодействия компонентов измерительной системы.
ОГЛАВЛЕНИЕ
Введение
1. Создание лабораторного стенда для изучения интерфейса SPI
1.1 Обзор интерфейса SPI и платы Arduino Uno R3
1.2 Выбор необходимых компонентов лабораторного стенда
1.3 Разработка структурной и функциональной схемы лабораторного стенда
1.4 Разработка и сборка аппаратной части лабораторного стенда
1.5 Разработка алгоритма функционирования ПО стенда
1.6 Создание программного обеспечения лабораторного стенда
1.6.1 Разработка интерфейса пользователя
1.6.2 Разработка блок-диаграммы
1.7 Проверка работоспособности лабораторного стенда
1.8 Выводы
2. Организационно-экономический раздел работы бакалавра
2.1 Разработка основных разделов бизнес-плана
2.1.1 Описание продукта
2.1.2 Анализ рынка сбыта
2.1.3 Конкурентоспособность
2.1.4 План маркетинга
2.1.5 План производства
2.2 Организация и планирование работ
2.2.1 Организация работ
2.2.2 График проведения работ
2.3 Определение договорной цены
2.4 Оценка экономической целесообразности проведения работ
2.5 Выводы
Заключение
Список использованных источников
Приложение А. Скетч для измерительного устройства
Приложение Б. Описание созданного макета измерительного устройства
ВВЕДЕНИЕ
Студентов, обучающихся по направлению “Приборостроение” необходимо обучать современным технологиям сбора и обработки данных. Вопросы сбора и обработки данных подробно изучаются в дисциплине “Интерфейсы систем сбора и обработки данных”. Существенную роль в обучении данной дисциплине играют лабораторные практикумы. В связи с этим очень актуальным является разработка новых лабораторных работ, для выполнения которых создаются лабораторные стенды для изучения интерфейсов (SPI, I2C, Wi-Fi, Bluetooth и т.д.) с ПО для их функционирования.
При подключении датчиков, вторичных измерительных преобразователей к микроконтроллерам наиболее распространёнными интерфейсами подключения являются: интерфейсная последовательная асимметричная шина I2C и последовательный периферийный интерфейс SPI. Последний рассматривается в настоящем отчёте по преддипломной практике.
SPI применяется в датчиках, сенсорах, измерительных преобразователях и других компонентах, производимых такими компаниями как Bosch, Motorola, Maxim Integrated, National Semiconductor, Texas Instruments и т.д. Производимые этими компаниями вышеперечисленные электронные компоненты имеют широкую область применения: автомобили, бытовая техника, промышленные комплексы, средства измерений, системы безопасности и т.д. Во всех этих областях может оказаться и выпускник по специальности “Приборостроение”.
В данном отчёте рассмотрены результаты решения следующих задач: обзор последовательного периферийного интерфейса SPI, изучение функциональных возможностей платы Arduino Uno R3 на микроконтроллере ATmega328, выбор необходимых компонентов лабораторного стенда, разработка функциональной схемы лабораторного стенда.
1. СОЗДАНИЕ ЛАБОРАТОРНОГО СТЕНДА ДЛЯ ИЗУЧЕНИЯ ИНТЕРФЕЙСА SPI
1.1 Обзор интерфейса SPI и платы Arduino Uno R3
Последовательный периферийный интерфейс SPI. Общие сведения
SPI - это интерфейс для последовательного обмена данными между микросхемами. Интерфейс SPI, наряду с I2C (интерфейсная последовательная асимметричная шина), относится к самым широко-используемым интерфейсам для соединения микросхем.
Изначально он был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей (Maxim Integrated, National Semiconductor, Texas Instruments и т.д.). Его наименование является аббревиатурой от английского “Serial Peripheral Bus” (последовательная периферийная шина), что отражает его предназначение - шина для подключения внешних устройств. Официальной документации на интерфейс SPI нет.
Шина SPI организована по принципу “ведущий-подчинённый”. В качестве ведущего шины обычно выступает микроконтроллер (у Arduino Uno R3 это микроконтроллер ATmega328), но им также может быть программируемая логика, DSP-контроллер или специализированная интегральная схема.
Подключенные к ведущему шины внешние устройства образуют подчинённые (ведомые) шины. В их роли выступают различного рода микросхемы, в т.ч. запоминающие устройства (EEPROM, Flash-память, SRAM), часы реального времени (RTC), АЦП/ЦАП, измерительные преобразователи, цифровые потенциометры, специализированные контроллеры, датчики, сенсоры и др.
Последовательный периферийный интерфейс SPI. Характеристики
? Интерфейс SPI предназначен для последовательного обмена данными между подчинёнными микросхемами и ведущей микросхемой;
? Тип интерфейса - последовательный периферийный;
? Режим обмена - синхронный;
? Скорость передачи: до 10 Мбит/с;
? Число сигнальных линий: от трёх до четырёх (если один ведомый и один подчинённый, а также если есть возможность каскадного включения), или 3 + n, где n - число подчинённых (в случае параллельного подключения);
? Число подчинённых устройств на шине: определяется типом подключения, а также количеством портом на ведущем устройстве;
? Напряжение питания: +5 В, +3.3 В;
? Длина линии связи до 15 м.
Последовательный периферийный интерфейс SPI. Устройство
Главным составным блоком интерфейса SPI является обычный сдвиговый регистр, сигналы синхронизации и ввода/вывода битового потока которого и образуют интерфейсные сигналы.
Таким образом, протокол SPI правильнее назвать не протоколом передачи данных, а протоколом обмена данными между двумя сдвиговыми регистрами, каждый из которых одновременно выполняет и функцию приёмника, и функцию передатчика.
Непременным условием передачи данных по шине SPI является генерация сигнала синхронизации шины (SCLK, англ. Serial Clock - последовательный тактовый сигнал). Служит для передачи тактового сигнала для ведомых (подчинённых) устройств. Этот сигнал имеет право генерировать только ведущий шины и от этого сигнала полностью зависит работа подчинённого шины.
Устройство интерфейса SPI приведено на рисунке 1.1.1.
Рисунок 1.1.1 - Устройство интерфейса SPI.
Последовательный периферийный интерфейс SPI. Первый способ подключения к шине
Существует три типа подключения к шине SPI, в каждом из которых участвуют четыре линии сигнала. Самое простое подключение, в котором участвуют только две микросхемы (первая схема - это ведущий, а вторая - подчинённый) показано на рисунке 1.1.2.
Рисунок 1.1.2 - Подключение по SPI с участием ведущего и одного подчинённого
Ведущий шины передает данные по линии MOSI синхронно со сгенерированным им же сигналом SCLK, а подчиненный захватывает переданные биты данных по определенным фронтам принятого сигнала синхронизации. Одновременно с этим подчиненный отправляет свою посылку данных. Линия SS была переведена в низкое состояние, иначе подчиненная ИС будет неактивна.
Представленную схему можно упростить исключением линии MISO, если используемая подчиненная ИС не предусматривает ответную передачу данных или в ней нет потребности. Одностороннюю передачу данных можно встретить у таких микросхем как ЦАП, цифровые потенциометры, программируемые усилители и драйверы. Таким образом, рассматриваемый вариант подключения подчиненной ИС требует три или четыре линии связи.
Последовательный периферийный интерфейс SPI. Второй способ подключения к шине
При необходимости подключения к шине SPI нескольких микросхем используется независимое (параллельное) подключение, которое представлено на рисунке 1.1.3:
Рисунок 1.1.3 - Независимое подключение нескольких подчинённых микросхем и ведущей микросхемы по шине SPI
Независимое подключение более распространенное, т.к. достигается при использовании любых SPI-совместимых микросхем. Здесь, все сигналы, кроме выбора микросхем, соединены параллельно, а ведущий шины, переводом того или иного сигнала SS в низкое состояние, задает, с какой подчиненной ИС он будет обмениваться данными. Главным недостатком такого подключения является необходимость в дополнительных линиях для адресации подчиненных микросхем (общее число линий связи равно 3+n-k, где n-количество подчиненных микросхем, из которых k схем не имеют MISO).
Последовательный периферийный интерфейс SPI. Третий способ подключения к шине
Каскадное включение избавлено от недостатка параллельной (независимой) схемы - большого числа линий. В этой схеме из нескольких микросхем образуется один большой сдвиговый регистр. Схема каскадного подключения по шине SPI представлена на рисунке 1.1.4:
Рисунок 1.1.4 - Каскадное подключение нескольких подчинённых микросхем и ведущей микросхемы по шине SPI
Для этого выход передачи данных одной интегральной схемы соединяется со входом приема данных другой. Входы выбора микросхем здесь соединены параллельно и, таким образом, общее число линий связи сохранено равным 4 или 3, если линия MISO не задействована.
Использование каскадного подключения возможно только в том случае, если его поддержка указана в документации на используемые микросхемы, (такое подключение называется “daisy-chaining”).
Последовательный периферийный интерфейс SPI. Протокол передачи данных
Протокол передачи по интерфейсу SPI предельно прост и заключается в выполнении операции сдвига и, соответственно, побитного ввода и вывода данных по противоположным фронтам синхронизации, что гарантирует надёжную передачу. Всего возможно четыре режима работы интерфейса SPI, которые описываются двумя параметрами:
CPOL - исходный уровень сигнала синхронизации (если CPOL=0, то линия синхронизации SCLK до начала цикла передачи и после его окончания имеет низкий уровень (т.е. первый фронт нарастающий, а последний - падающий), иначе, если CPOL=1, - высокий (т.е. первый фронт падающий, а последний - нарастающий));
CPHA - фаза синхронизации; от этого параметра зависит, в какой последовательности выполняется установка и выборка данных (если CPHA=0, то по переднему фронту в цикле синхронизации будет выполняться выборка данных, а затем, по заднему фронту, - установка данных; если же CPHA=1, то установка данных будет выполняться по переднему фронту в цикле синхронизации, а выборка - по заднему).
Для обозначения режимов работы интерфейса SPI принято следующее соглашение:
· Режим 0 (CPOL = 0, CPHA = 0);
· Режим 1 (CPOL = 0, CPHA = 1);
· Режим 2 (CPOL = 1, CPHA = 0);
· Режим 3 (CPOL = 1, CPHA = 1).
Схемы всех четырёх режимов работы представлены на рисунке 1.1.5:
Рисунок 1.1.5 - Схемы четырёх режимов работы интерфейса SPI
Последовательный периферийный интерфейс SPI. Недостатки SPI Сравнение интерфейсов SPI и I2C
Среди недостатков SPI можно выделить следующие:
· Необходимо больше выводов, чем для интерфейса IІC.
· Ведомое устройство не может управлять потоком данных.
· Нет подтверждения приема данных со стороны ведомого устройства (ведущее устройство может передавать данные «в никуда»).
· Нет определенного стандартом протокола обнаружения ошибок.
· Отсутствие официального стандарта, что делает невозможным сертификацию устройств.
· По дальности передачи данных интерфейс SPI уступает таким стандартам, как UART и CAN.
· Наличие множества вариантов реализации интерфейса.
Сравнение интерфейсов SPI и I2C приведено на рисунке 1.1.6:
Рисунок 1.1.6 - Преимущества интерфейса SPI и I2C
Более подробная информация по интерфейсной последовательной асимметричной шине I2C представлена в [10] и [12].
Плата Arduino Uno R3 на микроконтроллере ATmega328. Общие сведения
Arduino Uno - это устройство на основе микроконтроллера ATmega328. В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания 2.1 мм от источника постоянного тока 9 В, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с устройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.
В отличие от всех предыдущих плат Ардуино, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.
Внешний вид платы Arduino Uno с микроконтроллером ATmega328 показан на рисунке 1.1.7:
Рисунок 1.1.7 - Внешний вид платы Arduino Uno с микроконтроллером ATmega328
Изменения на плате версии R3 перечислены ниже:
· Распиновка 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый - IOREF - позволяет платам расширения подстраиваться под рабочее напряжение Ардуино. Данный вывод предусмотрен для совместимости плат расширения как с 5В Ардуино на базе микроконтроллеров AVR, так и с 3.3 В платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей;
· Улучшена помехоустойчивость цепи сброса;
· Микроконтроллер ATmega8U2 заменен на ATmega16U2.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Характеристики
· Микроконтроллер: ATmega328;
· Рабочее напряжение: 5 В;
· Напряжение питания (рекомендуемое): 7-12 В;
· Напряжение питания (предельное): 6-20 В;
· Цифровые входы/выходы: 14 (из них 6 могут использоваться в качестве ШИМ - выходов, цифровой вход/выход 13 может управлять встроенным в плату светодиодом);
· Аналоговые входы: 6;
· Максимальный ток одного вывода: 40 мА;
· Максимальный выходной ток вывода 3.3V: 50 мА;
· Максимальная выходная мощность выводов: 0,25 Вт;
· Flash-память: 32 КБ (ATmega328), из которых 0.5 КБ используются загрузчиком;
· SRAM: 2 КБ (ATmega328);
· EEPROM: 1 КБ (ATmega328);
· Тактовая частота кварцевого резонатора: 16 МГц;
Плата Arduino Uno R3 на микроконтроллере ATmega328. Питание
Arduino Uno может быть запитан от USB либо от внешнего источника питания - тип источника выбирается автоматически.
В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр - 2.1 мм, центральный контакт - положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.
Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7 В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12 В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12 В. Самым лучшим вариантом является использование источника питания на 9 В.
Ниже перечислены выводы питания, расположенные на плате:
· VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера;
· 5V. На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 - 12 В), от USB (5В) или через вывод VIN (7 - 12 В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя. Максимальная выходная мощность от этого вывода составляет 0.25 Вт.
· 3V3. 3.3 В, поступающие от стабилизатора напряжения на плате. Максимальный выходной ток, потребляемый от этого вывода, составляет 50 мА;
· GND. Выводы земли;
· IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3.3 В-устройствами.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Память
Объем флеш-памяти ATmega328 составляет 32 КБ (из которых 0.5 КБ используются загрузчиком). Микроконтроллер также имеет 2 КБ памяти SRAM и 1 КБ EEPROM (из которой можно считывать или записывать информацию с помощью библиотеки EEPROM).
Плата Arduino Uno R3 на микроконтроллере ATmega328. Входы и выходы
С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на цифровых выводах ограничен 5В. Максимальный ток, который может отдавать или потреблять один цифровой вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые цифровые выводы Ардуино могут выполнять дополнительные функции:
· Последовательный интерфейс RS-485 (англ. Recommended Standard 485): цифровые выводы 0 (RX) и 1 (TX). Используются для получения (RX - принимаемые данные) и передачи (TX - отправляемые/передаваемые данные) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART;
· Внешние прерывания: цифровые выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации см. функцию attachInterrupt();
· ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала;
· Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI. При параллельном подключении нескольких подчинённых устройств по SPI в качестве SS0 выступает 10 вывод, а в качестве SS1, SS2, …, SSn - любой из цифровых выводов 2 - 9. Подробная информация о подключении подчинённых устройств к Uno по SPI - глава 9 источника [2];
· Светодиод: 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW выключается.
В Uno есть 6 аналоговых входов (A0 - A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). Измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Верхнюю границу диапазона можно изменить, используя вывод AREF и функцию analogReference(). Некоторые из аналоговых входов имеют дополнительные функции:
· TWI (другое название данного интерфейса - это I2C): вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.
Помимо перечисленных на плате существует еще несколько выводов:
· AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference();
· Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Связь с ПК, другими платами семейства Arduino или микроконтроллерами
Arduino Uno предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART, позволяющий осуществлять последовательную связь посредством цифровых выводов 0 (RX) и 1 (TX). Микроконтроллер ATmega16U2 на плате обеспечивает связь этого приемопередатчика с USB-портом персонального компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются.
Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Uno.
В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C. Для работы с интерфейсом SPI используйте библиотеку SPI.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Программирование
Arduino Uno программируется с помощью программного обеспечения Arduino IDE 1.6.5. Более подробная информация об Arduino IDE 1.6.5 представлена в главе 8 источника [1]. Для этого из меню Tools-> Board необходимо выбрать "Arduino Uno" с микроконтроллером, соответствующим вашей плате.
ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500.
Микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Автоматический (программный) сброс
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного ПК. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор 100 нФ. Когда на линии DTR появляется ноль, вывод RESET переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Эта особенность используется для того, чтобы прошивать микроконтроллер одним нажатием кнопки в среде программирования Ардуино.
Плата Arduino Uno R3 на микроконтроллере ATmega328. Физические характеристики
Максимальная длина и ширина платы Arduino Uno R3 составляет 6.9 см и 5.4 см соответственно, с учетом разъема USB и разъема питания, выступающих за пределы платы. Четыре крепёжных отверстия позволяют прикреплять плату к поверхности или корпусу. Расстояние между цифровыми выводами 7 и 8 составляет 4 мм. Более подробная информация о физических и не только характеристиках, а также принципиальная электрическая схема платы Arduino Uno R3 представлена в [5].
1.2 Выбор необходимых компонентов лабораторного стенда
Измерение температуры воздуха в помещении
В настоящей работе по разработке измерительной системы в качестве датчика для измерения температуры была выбрана термопара К-типа компании Maxim Integrated. Критерии выбора термопары этой марки - её доступность на рынке в Москве, низкая цена, простота подключения к плате Arduino Uno R3 по шине SPI, большой опыт работы многих пользователей с термопарами данной фирмы, простая проверка функционирования лабораторного стенда в режиме измерения температуры воздуха в помещении, наличие готовых библиотек для работы с платой;
Характеристики выбранной термопары:
· Материал положительного электрода: хромель;
· Материал отрицательного электрода: алюмель;
· Диапазон измерений: от 0 °C до +500 °С;
· Точность измерений: ±2 °C;
· Длина термопары: 1 м;
· Стоимость: 600 рублей (комплект из термопары и преобразователя);
· Диапазон напряжений на выходе: -6 до +20 мВ;
· Нужен преобразователь сигнала с выхода термопары в цифровой сигнал;
· Характеристики термопары соответствуют требованиям [4].
Выбранная термопара будет эксплуатироваться при измерении температур от 0 °C до 100 °C.
Термопара - это один из видов датчиков для измерения температуры. Датчики данного типа часто используются в системах отопления, вентиляции и кондиционирования: обогревателях, бойлерах, печах, и т.д.
В отличие от полупроводниковых датчиков температуры внутри термопары отсутствует электроника. Термопара представляют из себя два переплетённых провода. Для измерений температуры используется свойство двух металлов, которые находятся в контакте друг с другом и генерируют небольшое, но измеримое напряжение при увеличении температуры. Различные металлы генерируют различное напряжение. При этом их стоимость и чувствительность тоже отличается. Из-за этого существуют различные типы термопар. Основное преимущество термопар по сравнению с полупроводниковыми сенсорами температуры или термисторами - гораздо больший диапазон измеряемой температуры. Например, датчик температуры TMP36 может работать в диапазоне от -50 °C до 150 °C. Термопары К-типа (один из самых распространенных типов термопар, который очень легко подключается к Arduino Uno по шине SPI) работают в диапазоне от -200 °C до 1350 °C. А некоторые типы термопар работают с температурами вплоть до 2300 °C. Более подробную информацию о термопарах можно найти в главе 3 [13].
Схема термопары представлено на рисунке 1.2.1.
Рисунок 1.2.1 - Схема термопары
Основная сложность, возникающая при использовании термопар - это очень маленькие значения напряжения, которые снимаются с датчика - около 50 мкВ на 1 °C. Использование стабильного источника питания (который имеется на плате Arduino Uno - питание на 3.3 В или на 5 В) позволяет справиться с этой трудностью. Но из-за нелинейной зависимости сигнала с термопары (не всегда 50 мкВ соответствуют 1 °C) считать значения с выхода термопары с помощью Arduino Uno становится невозможным. Решением данной проблемы является подключение к выходу термопары чипа, проводящего аналогово-цифровые преобразования, нормализацию, линеаризацию и другие типовые задачи согласования сигнала с термопары. Все вышеперечисленные операции выполняются чипом без участия пользователя. На выходе с чипа будет идти линеаризованный нормализованный цифровой сигнал показаний температуры, с которым может работать плата Arduino Uno.
Преобразование аналогового сигнала температуры с выхода термопары в цифровой сигнала
В качестве преобразователя выступает микросхема MAX6675 фирмы Maxim Integrated, которая идёт в комплекте с выбранной термопарой.
Характеристики выбранной микросхемы:
· Преобразовывает сигналы с выхода термопары в 12-разрядный двоичный цифровой код в диапазоне от 0 °C до 1024 °C;
· 3-х проводное подключение к шине SPI, передача данных от ведомого устройства ведущему не требуется;
· Напряжение питания: постоянное напряжение 3.3 В или 5 В;
· Ток потребления в режиме преобразования: до 50 мА;
· Точность преобразования: ±2 °C при преобразовании сигнала температуры от 0 °C до °C или ±4.25 °C при преобразовании сигнала температуры от 700 °C до 1024 °C;
· Ток потребления в «спящем» режиме: 0.3 мкА.
Более подробные характеристики микросхемы представлены в [6].
Схема подключения чипа MAX6675 к шине SPI представлена на рисунке 1.2.2.
Рисунок 1.2.2 - Схема подключения чипа MAX6675 к шине SPI
Назначения выводов микросхемы MAX6675 представлены в таблице 1.2.1:
Таблица 1.2.1. Назначение выводов микросхемы
Обозначение на схеме |
Назначение вывода |
|
GND |
Заземление корпуса |
|
T- |
Вход сигнала с отрицательного электрода термопары |
|
T+ |
Вход сигнала с положительного электрода термопары |
|
VCC |
Напряжение питания |
|
SCK |
Вход синхронизации |
|
CS |
Вход выбора микросхемы |
|
SO |
Выход цифровых данных о температуре |
|
NC |
Свободный вывод |
Измерение атмосферного давления и относительной влажности воздуха в помещении
В настоящей работе по разработке измерительной системы в качестве датчиков для измерения атмосферного давления и относительной влажности были выбраны датчики BMP280 и BME280. Критерии выбора данных моделей датчиков полностью совпадают с критериями выбора термопары.
Также при выборе барометра сравнивались технические характеристики нескольких моделей. Сравнение приведено в таблице 1.2.2.
Таблица 1.2.2. Сравнение барометров BMP183 и BMP280.
Характеристики |
Барометр BMP183 |
Барометр BMP280 |
|
Частота измерений |
160 Гц |
120 Гц |
|
Шаг измерения давления |
1 Па; |
0.18 Па; |
|
Размеры |
3.6 * 3.8 мм |
2.0 * 2.5 мм |
|
Потребляемый ток |
12 мкА |
2.7 мкА |
|
Напряжение питания |
1.8 В |
1.71 В |
|
Диапазон измерений |
30…110 кПа |
30…110 кПа |
|
Рабочий диапазон температур |
-20…+85 °C |
-40…+85 °C |
|
Погрешность |
±0.5 Па |
±0.09 Па |
Предпочтение было отдано барометру BMP280, поскольку он более компактный и требует меньшее напряжение питания и ток потребления.
Схема подключения к шине SPI датчика BMP280 идентична схеме подключения к шине SPI датчика BME280. Схема приведена на рисунке 1.2.3.
Рисунок 1.2.3 - Схема подключения датчиков BMP280 и BMЕ280 к шине SPI
Характеристики двух датчиков, а также назначение выводов датчиков представлены в [7] и [8].
1.3 Разработка структурной и функциональной схемы лабораторного стенда
Основываясь на требованиях задания выпускной квалификационной работы, лабораторный стенд при правильном подключении датчиков по шине SPI должен по команде пользователя выводить на жидкокристаллический индикатор и монитор ПК результаты измерений: температуры воздуха, атмосферного давления, относительной влажности воздуха в помещении. Данные о значениях должны отображаться в текстовом и графическом видах.
Сигналы от объекта исследования (в данном случае объектом исследования является помещение, в котором размещён лабораторный стенд) поступают на входы датчиков. Всего три сигнала. Первый сигнал - это сигнал T(t), несущий информацию о температуре воздуха, который поступает на вход термопары К-типа. Второй сигнал - это сигнал P(t), содержащий данные об атмосферном давлении, он поступает на вход барометра BMP280. Третий же сигнал ц(t) несёт информацию об относительной влажности воздуха, который поступает на вход гигрометра BME280.
Преобразование физических величин (температуры воздуха, атмосферного давления, относительной влажности в помещении), изменяющихся во времени, в нормированные аналоговые сигналы осуществляется при помощи соответствующих датчиков. В составе датчиков имеются аналогово-цифровые преобразователи (АЦП), которые преобразуют аналоговый сигнал в цифровой код, который затем поступает на цифровые порты платы Arduino Uno R3 с микроконтроллером ATmega328.
Плата Arduino Uno R3 обеспечивает выбор и конфигурацию датчиков, которые реально подключены к плате. Arduino Uno проводит сбор данных с подключенных датчиков, а также передачу результатов измерений на индикатор и по полученной команде в персональный компьютер.
ПК подаёт команду Arduino Uno R3, при выполнении которой ПК в ответ получает и отображает в текстовом и графическом виде измеренные величины.
Структурная схема лабораторного стенда представлена на рисунке 1.3.1.
Рисунок 1.3.1 - Структурная схема лабораторного стенда
Представленная структурная схема отображает состав разрабатываемого лабораторного стенда. Необходимо отметить, что подключаться к стенду могут и другие модели датчиков, имеющие шину SPI. Данная структурная схема является одним из примеров реализации лабораторного стенда.
Функциональная схема лабораторного стенда представлена на рисунке 1.3.2.
Рисунок 1.3.2 - Функциональная схема лабораторного стенда
1.4 Разработка и сборка аппаратной части лабораторного стенда
Объект исследований
На преобразователь сигнала термопары MAX6675 выделяется пять портов Arduino - два аналоговых и три цифровых. Два аналоговых порта - это питание преобразователя на 3.3 Вольта (порт 3.3 V) и земля (порт GND). Три цифровых порта - это линия CLK передачи тактового сигнала для MAX6675 (порт D5), линия CS выбора микросхемы MAX6675 (порт D4), линия DO передачи данных от ведущего устройства Arduino Uno R3 ведомому MAX6675 (порт D3). Линия DI передачи данных от ведомого устройства ведущему не используется. Таким образом при подключении MAX6675 используется трёхпроводное SPI подключение.
На барометр BMP280 выделяется шесть портов Arduino - два аналоговых и четыре цифровых. Два аналоговых порта - это питание преобразователя на 3.3 Вольта (порт 3.3 V) и земля (порт GND). Четыре цифровых порта - это линия CLK передачи тактового сигнала для BMP280 (порт D9), линия CS выбора микросхемы BMP280 (порт D6), линия DO передачи данных от ведущего устройства Arduino Uno R3 ведомому BMP280 (порт D7), линия DI передачи данных от ведомого устройства ведущему (порт D8). Таким образом при подключении BMP280 используется четырёхпроводное SPI подключение.
На гигрометр BME280 выделяется шесть портов Arduino - два аналоговых и четыре цифровых. Два аналоговых порта - это питание преобразователя на 3.3 Вольта (порт 3.3 V) и земля (порт GND). Четыре цифровых порта - это линия CLK передачи тактового сигнала для BME280 (порт D13), линия CS выбора микросхемы BME280 (порт D10), линия DO передачи данных от ведущего устройства Arduino Uno R3 ведомому BME280 (порт D11), линия DI передачи данных от ведомого устройства ведущему (порт D12). Таким образом при подключении BME280 используется четырёхпроводное SPI подключение.
В качестве индикатора, на который будут выводиться по команде пользователя значения измеряемых показателей (температура воздуха, атмосферное давление, относительная влажность воздуха в помещении) был выбран LCD1602I2C (подробная информация - источник [9]), который будет подключен к плате Arduino Uno R3. Кол-во линий, занимаемых для подключения по шине I2C будет равно двум. На Arduino Uno R3 будут задействованы следующие аналоговые порты: A4 (линия SDA - шина последовательных данных) и A5 (линия SCL - шина тактирования). Питание индикатора - 5 Вольт от платы Arduino Uno R3.
Управление процессом измерений значений физических величин осуществляется с помощью тактовой кнопки. Первое нажатие кнопки вызывает измерение температуры воздуха в помещении. Второе нажатие кнопки вызывает измерение атмосферного давления в помещении. Третье нажатие кнопки вызывает измерение относительной влажности воздуха в помещении. Четвёртое нажатие перезагружает цикл измерений. Если же какой-то датчик не подключен к плате - то вместо измерения одной величины будет измеряться следующая величина. Кнопку необходимо подключать через подтягивающий резистор номиналом 10 кОм, допуском до ±5 % и номинальной мощностью 0.25 Вт. Схема включения тактовой кнопки с подтягивающим резистором представлена на рисунке 1.4.1.
Рисунок 1.4.1 - Схема включения тактовой кнопки с подтягивающим резистором
Если происходит переключение в положение ON: U-out = 0. Иначе: U-out = =U-cc.
Все компоненты лабораторного стенда будут размещены на беспаечной макетной плате mb102, рассчитанная на 400 контактов. Особенности данной макетной платы - дешевизна (400 рублей) и отсутствие необходимости пайки, которая вредна для здоровья человека. Контакты макетной платы и порты платы Arduino Uno R3 будут соединяться проводами “мама-мама” и “папа-папа”. Питание компонентов - от порта 3.3 V в группе контактов Power платы Arduino Uno R3. Роль земли играет любой из портов GND в группе контактов Power платы Arduino Uno R3.
Разработка данного лабораторного стенда обошлась без привлечения дополнительных микросхем, которые необходимы для подключения нескольких датчиков параллельным способом по шине SPI, так как количество цифровых портов на плате Arduino Uno R3 равно 14. А при подключении трёх датчиков и кнопки было задействовано 12 цифровых портов. Использование 12 цифровых портов в качестве SPI-портов возможно только при программной реализации интерфейса SPI (аппаратное подключение шины SPI использует только четыре порта). Таким образом, разработанная аппаратная часть лабораторного стенда позволит без дополнительных микросхем достаточно просто подключить к плате Arduino Uno R3 до трёх различных датчиков по шине SPI, что соответствует требованиям к ВКР. Четыре датчика по шине SPI подключить с использованием только цифровых портов Arduino Uno R3 (без использования других аппаратных средств) возможно только в том случае, если не более двух датчиков из четырёх буду иметь четырёхпроводное интерфейсное подключение SPI. Подключение более четырёх SPI датчиков напрямую, не использую параллельное или каскадное подключение, к 14 цифровым портам Arduino Uno R3 (без привлечения сдвиговых регистров) невозможно.
Разработанная аппаратная часть лабораторного стенда для изучения интерфейса SPI соответствует всем необходимым требованиям, предъявленным к ней в листе заданий. Аппаратная часть состоит из: трёх различных датчиков SPI, индикатора, кнопки, макетной платы, платы Arduino Uno R3 на микроконтроллере ATmega328, резистора на 10 кОм, проводов.
1.5 Разработка алгоритма функционирования ПО стенда
Алгоритм функционирования измерительного устройства
Блок “Включение питания”. Измерительное устройство начинает функционировать при подключении питания по USB-кабелю, который соединяет разъём Arduino Uno R3 и USB-порт персонального компьютера. Также питание может осуществляться через источник постоянного напряжение 9 В.
Блок “Конфигурация и активация датчиков”. После включения питания измерительное устройство конфигурирует и активирует те, датчики, которые реально подключены в плате Arduino Uno R3. Для конфигурации и активации датчиков требуется специальные библиотеки для каждого датчика. Без данных библиотек плата Arduino Uno R3 не сможет провести настройку и активацию датчиков. Согласно требованиям к выпускной квалификационной работе - устройство должно конфигурировать и настраивать от одного до трёх различных датчиков по шине последовательного периферийного интерфейса SPI.
Блок “Инициализация интерфейса SPI”. Библиотека SPI позволяет плате Arduino Uno R3 взаимодействовать с устройствами, поддерживающими SPI интерфейс (трёхпроводной, если нет необходимости в линии MISO, или четырёхпроводной). Arduino Uno R3 в данном случае выступает как ведущее устройство, а барометр BMP280, гигрометр BME280 и преобразователь сигнала термопары MAX6675 - как ведомые устройства.
Блок “Инициализация COM - порта”. Инициализирует COM - порт со скоростью передачи данных 9600 бод/с, к которому подключена плата Arduino Uno R3 для дальнейшей записи в COM - порт измерительных данных, собираемых измерительным устройством с подключенных датчиков к плате, а также для чтения из COM - порта команд, которые поступают от персонального компьютера.
Блок “Команда от ПК поступила?”. Устройство читает данные, приходящие в COM - порт от ПК. Если устройство обнаружило команду от ПК - переход к блоку “Дешифрация команд”. В противном случае - ожидание поступления команды от ПК в COM - порт.
Блок “Дешифрация команд”. Определяет, что конкретно требует ПК от измерительного устройства - собрать и записать (ввести) данные в COM - порт о температуре, или о давлении или о влажности.
Остальные блоки не требуют дальнейших пояснений. Блок - схема алгоритма функционирования измерительного устройства приведена на рисунке 1.5.1. Данный алгоритм необходим для реализации в среде Arduino IDE 1.6.5 программы конфигурации датчиков и сбора с них данных,
Рисунок 1.5.1 - Блок - схема алгоритма функционирования измерительного устройства
Алгоритм функционирования программы сбора и отображения результатов измерений
Блок “Инициализация COM - порта”. Выполняет те же функции, что и в алгоритме функционирования измерительного устройства. Только в порт записывается команда, отправляемая измерительному устройству. А читаются измерительные данные, присылаемые измерительным устройством в ответ на команду.
Блок “Возникла ошибка при инициализации COM - порта”. Проверяет, возможно ли инициализировать порт с заданными параметрами. Если невозможно - то выводится сообщение об ошибке и исполнение алгоритма заканчивается с закрытием COM - порта. Иначе - переход к блоку “Нажата кнопка подачи команды?”
Блок “Нажата кнопка подачи команды?”. Проверяет, нажата ли кнопка передачи команды измерительному устройству с помощью ПК. Если нажата - то переход к блоку “Вывод команды в COM - порт”. Иначе - переход к блоку “Нажата кнопка Стоп?”.
Блок “Нажата кнопка Стоп?”. Проверяет, нажата ли кнопка остановки алгоритма. Если нажата - то COM - порт закрывается и исполнение алгоритма заканчивается. Иначе - ожидание того, когда будет нажата кнопка передачи команды измерительному устройству в COM - порт.
Блок “Вывод команды в COM - порт”. Отправляет команду с помощью в ПК в COM - порт измерительному устройству. Задержка организована для того, чтобы команда точно успела прийти в порт. Устройство настроено на чтение данных из порта, поэтому при поступлении той или иной команды проводит её дешифрацию и определяет, какую измерительную информацию в ответ оно должно прислать в COM - порт.
Блок “Чтение измерительной информации из COM - порта”. Читает измерительную информацию, которую прислало в COM - порта измерительное устройство в ответ на посланную команду. Ответом может информация о температуре воздуха в помещении или об атмосферном давлении или об относительной влажности воздуха. При чтении данных также организованна задержка, чтобы ВП смог прочитать все данные, которые прислало устройство.
Блок “Отображение измерительной информации в текстовом и графическом виде”. Прочитанную информацию ВП преобразует в последовательность чисел. Числа являются теми значениями измеряемого параметра, с которым работает измерительное устройство по присланной команде. ВП преобразует числа в текстовой вид и в график, на котором видна зависимость измеряемого параметра от времени. Блок - схема алгоритма функционирования программы сбора и отображения результатов измерений приведена на рисунке 1.5.2.
Рисунок 1.5.2 - Блок - схема алгоритма функционирования программы сбора и отображения результатов измерений
1.6 Создание программного обеспечения лабораторного стенда
1.6.1 Разработка интерфейса пользователя
Лицевая панель состоит из двух областей. Первая область - это отображение полученных данных в цифровом и текстовом виде. Вторая область - это график зависимости измеряемого параметра от времени.
В первом области есть органы управления COM - портом. С помощью раскрывающегося списка “Выбор порта” можно выбрать порт, к которому подключено измерительное устройство. В строку “Скорость чтения данных из порта” можно записать скорость передачи и чтения данных в бод/с, с которой будет инициализироваться выбранный порт. Строка “Количество байт, записанных в порт” отображает кол-во байт измерительной информации, которое записалось в буфер порта для дальнейшего чтения измерительной информации. Если число байт в данной строке равно нулю - то нет никаких данных в буфере порта, которые бы можно было прочитать.
...Подобные документы
Сборка схемы дешифратора на логических элементах в EWB512. Проектирование монтажной схемы устройства и методического комплекса. Изготовление действующего макета устройства. Расчет стоимости лабораторного стенда и экономического эффекта ее внедрения.
дипломная работа [14,4 M], добавлен 24.06.2015Классификация электромагнитных подвесов. Построение математической модели стенда. Программная реализация пропорционально-интегрально-дифференциального регулятора. Описание микроконтроллера ATmega 328 и платы Arduino. Сборка и ввод стенда в эксплуатацию.
дипломная работа [2,6 M], добавлен 09.06.2014Проектирование лабораторного стенда и методического комплекса для проведения лабораторных и практических работ. Выбор элементной базы. Сборка принципиальной схемы дешифратора на логических элементах в EWB512. Изготовление действующего макета устройства.
курсовая работа [2,1 M], добавлен 11.07.2015Разработка проекта и моделирование на ЭВМ лабораторного стенда по исследованию приемника АМ сигнала. Создание конструкции преселектора на варикапе и проведение расчетов схемы входных цепей. Сравнительный анализ частотных характеристик и конечных данных.
дипломная работа [2,7 M], добавлен 21.09.2011Особенности микроконтроллеров AVR семейства Mega. Работа ЖК-индикатора на твист-эффекте при напряжениях. Виды и параметры аккумуляторов, их сравнительный анализ. Описание структурной и принципиальной схемы лабораторного стенда отладочного модуля.
курсовая работа [961,3 K], добавлен 13.02.2016Обзор и анализ возможностей имеющегося оборудования фирмы Siemens. Разработка и расчет электрической принципиальной схемы установки (неуправляемого выпрямителя, фильтра, автономного инвектора напряжения). Алгоритм функционирования системы электропривода.
дипломная работа [1,8 M], добавлен 17.02.2012Создание макета стенда. Изучение эффекта модуляции светового потока внешним акустическим полем. Хищение цифровой информации, методы подсоединения к оптоволокну. Сущность расчетного метода оценки разборчивости речи. Защищенность штатного переходника.
дипломная работа [3,6 M], добавлен 18.11.2013Характеристика, структурная и принципиальная схема электропривода. Методика ремонта устройства и алгоритм поиска неисправностей. Расчет электрической схемы усилителей постоянного тока. Разработка стандарт-плана и расчет расходов на изготовления изделия.
дипломная работа [4,4 M], добавлен 18.05.2012Сопряжение микросхемы часов реального времени с микроконтроллером. Последовательная шина данных для связи интегральных схем. Соединение низкоскоростных периферийных компонентов с материнской платой. Управление пересылкой на байтовом и битовом уровнях.
курсовая работа [1,6 M], добавлен 31.05.2012Структурная схема устройства, принцип его работы. Выбор элементов функциональной схемы стенда. Разработка аппаратной части, конструктивное построение. Технология изготовления печатной платы. Обеспечение системы электробезопасности проектируемого изделия.
дипломная работа [2,0 M], добавлен 14.02.2011Сравнительная характеристика лабораторных блоков питания. Описание принципа работы электрической схемы устройства. Описание конструкции лабораторного стенда, его основные функциональные узлы. Расчет трансформатора, выпрямителя, надежности устройства.
дипломная работа [559,2 K], добавлен 18.10.2015Призначення стенда та мета дослідження. Структура та вимоги до фізичних моделей технологічних керованих об’єктів. Візуалізація процесу керування та дослідження. Загальні вимоги щодо компоновки обладнання даного лабораторного стенда, його робота.
контрольная работа [416,4 K], добавлен 20.06.2015Автоматическая поверка стрелочных измерительных приборов линейных перемещений. Принцип действия функциональных основных компонентов. Область возможных схемных решений. Реализация функциональных компонентов. Устройство генератора тестовых сигналов.
контрольная работа [613,3 K], добавлен 04.02.2011Основные технические требования, предъявляемые к цифроаналоговым преобразователям. Разработка структурной схемы учебного стенда. Описание алгоритма программного обеспечения. Разработка печатной платы. Расчет цены изделия и прибыли от его реализации.
дипломная работа [2,5 M], добавлен 17.06.2012Назначение и описание принципа действия устройства автотранспортного средства, требования к информационно-измерительной системе. Выбор бортового компьютера и модулей ввода (вывода), интерфейса связи. Разработка схемы электрической принципиальной.
курсовая работа [1,2 M], добавлен 05.01.2013Построение структурной схемы датчиков и разработка микроконтроллерной системы обеспечения безопасности. Описание интерфейса системы, считывание и обработка данных с помощью сканирования отпечатков пальцев. Использование клавиатуры для ввода пароля.
дипломная работа [3,8 M], добавлен 04.02.2016- Создание отладочной платы и загрузка в микроконтроллер готовой программы для работы с датчиком цвета
Разработка лабораторного комплекса по созданию сенсорного интерфейса на основе графической платформы Circuit Design Suite. Проектирование электрической схемы и проверка работоспособности устройства. Определение затрат на создание программного продукта.
дипломная работа [3,7 M], добавлен 22.11.2015 Обзор генераторов сигналов. Структурная схема и элементная база устройства. Разработка печатной платы модуля для изучения генератора сигналов на базе прямого цифрового синтеза. Выбор технологии производства. Конструкторский расчет; алгоритм программы.
дипломная работа [1,7 M], добавлен 25.04.2015Внешний вид ряда датчиков: света, давления, температуры, скорости, перемещения. Перечень разновидностей фоторезисторов и перечисление области их применения. Внешний вид и принципиальная схема работы лабораторного стенда "Исследование фоторезисторов".
презентация [3,2 M], добавлен 14.03.2011Разработка прибора, предназначенного для изучения полупроводниковых диодов. Классификация полупроводниковых диодов, характеристика их видов. Принципиальная схема лабораторного стенда по изучению вольтамперных характеристик полупроводниковых диодов.
курсовая работа [1,2 M], добавлен 20.11.2013