Система для бесконтактного измерения

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 23.12.2015
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

И наконец, рассмотрим схему включения фотодиодов.

Так как, в нашем случае, на выходе датчика необходимо получать только значения логического 0 или логической 1, можно использовать, так называемую, «фотодиодную» схему включения фотодиода. Она является наиболее простой и в полной мере выполняет весь возложенный на нее функционал.

Данная схема приведена на рисунке 3.6.

Рис. 3.6 Фотодиодная схема включения

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

Согласно технической документации для микроконтроллера, при напряжении питания 5В уровню логического 0 соответствует напряжение примерно 1.3В[9]. График зависимости напряжения логического нуля, от напряжения питания показан на рисунке 3.7.

Рис. 3.7 Зависимость порогового напряжения от напряжения питания

Исходя из этого следует, что для уверенного срабатывания, датчик перекрытый наименьшим из возможных измеряем тел, резистор R1 нужно подобрать так, что выходное напряжение датчика было ниже 1.3В.

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

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

В результате эксперимента удалось выяснить, что при номинале резистора в 50 кОм на выходе датчика появляется значение, примерно равное, 0.35В. Это позволяет получить на входе микроконтроллера уверенные значения логических сигналов, а вследствие чего, проводить точные измерения.

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

Полная электрическая-принципиальная схема - см. Приложение 1.

3.3 Разработка прикладного ПО модуля

3.3.1 Среда разработки Atmel Studio

Atmel Studio - интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR[14].

AVR Studio разрабатывается с 2004 года. С версии 6.0, программа сменила название на Atmel Studio. Программа позволяет работать как на ассемблере, так и на C/C++. Atmel Studio включает в себя мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и компилятор GCC. Для удобство разработчика среда снабжена, так называемыми, «визуальными инструментами», которые позволяют ускорить и упростить разработку программы.

Последняя версия Atmel Studio поддерживает все существующие на сегодняшний момент 8-битные, 32-битные AVR, SAM3 и SAM4 микроконтроллеры и включает в себя большое многообразие проектов с примерами.

Atmel Studio предоставляется для следующих операционных систем: Windows 9x / ME / NT / 2000 / XP / VISTA / 7.

Также следует отметить, что данная среда разработки распространяется свободно.

3.3.2 Работа с аппаратным таймером

Для того, что замерит временной отрезок, за который пуля преодолевает расстояние между датчиком, необходимо воспользоваться таймеров. Контроллер Atmega8 снабжен аппаратными таймера на 8 и 16 бит, для получения большей точности следует воспользоваться 16 битным таймером.

Таймер считает время в собственных единицах измерения, так называемых «тиках». За весь период отсчета таймер может произвести 216 = 65536 отсчетов. Также у таймера есть настраиваемый делитель, который указывает, на сколько будет поделена частота микроконтроллера для работы таймера. Значения, которые может принимать делитель: 1, 8, 64, 256, 1024.

Исходя из этого, можно рассчитать длительность тика таймера в секундах. Выберем делитель 64, таким образом получим, что частота работы таймера 16000000 / 64 = 250000Гц.

Для вычисления длительности одного тика таймера необходимо 1 поделить на частоту таймера: 1 / 250000 = 0,000004 с, или 4мкс. При расстоянии между датчиками 0,1м, такое время одного отсчета позволяет допустить ошибку измерения не более чем на 0,004м. При этом максимальная длительность замера составит примерно 0,26 с, что достаточно для замера скорости от 0,38 м/с.

Исходный код для настройки и запуска 16 битного аппаратного таймера Atmega8:

TCNT1 = 0; //инициализация таймера, с начальным значением 0

TCCR1B = (0<<CS12)|(1<<CS11)|(1<<CS10); //установка делителя 64

Полный текст исходных кодов программы см. приложение 2.

3.4 Разработка прикладного программного обеспечения

3.4.1 Среда разработки Qt Creator и библиотека Qt

Qt -- кроссплатформенный инструментарий разработки программного обеспечения на языке программирования C++. Также возможна работа и с другими языками программирования.[17]

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

Meta Object Compiler (MOC) -- предварительная система обработки исходного кода, является отличительной особенностью Qt от прочих библиотек. MOC увеличивает функционал библиотеки, используя понятие сигналы и слоты.

Начиная с версии 4.5.0 в установочный пакет Qt добавлена среда разработки Qt Creator, которая содержит конструктор графического интерфейса Qt Designer, редактор исходных кодов, отладчик и подробную документацию. Qt Creator может использовать множество различных компиляторов, такие как GCC и Microsoft VC++. Версии для ОС Windows включают в себя компилятор, и файлы MinGW.[18]

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

Начиная с версии 4.0.0 Qt распространяется свободно для всех операционных систем.

3.4.2 Функции разрабатываемой программы

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

Перечислим эти функции:

1. Прием данных от устройства измерения.

2. Чтение данных из файла.

3. Запись данных в файл.

4. Прием дополнительных параметров.

5. Вычисление расчетных значений.

6. Вычисление средних значений для выборки.

7. Отображение данных и результатов вычислений для пользователя.

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

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

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

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

3.4.3 Разработка графического пользовательского интерфейса

Пользовательский интерфейс - часть программного продукта, отвечающая за взаимодействие пользователя с программой.

Современные пользовательские интерфейсы делятся на три типа:

· Командный

· WIMP

· SILK

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

В WIMP (Window Image Menu Pointer) интерфейсе пользователь общается с программой при помощи графических образов. Пользователь так же подает программе команды, но делает это посредством графики.

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

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

Компоновка и дизайн пользовательского интерфейса программы представлен на рисунке 3.8. На рисунке показано основное окно программы. Это окно - первое, что видит пользователь, запуская программу.

Рис. 3.8 Пользовательский интерфейс основного окна

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

В самом низу этой области находится меню «Настройка порта». Это меню самое последнее, потому что пользователь использует его один раз за весь сеанс работы с программой.

Самой первое меню, меню «Управления файлами», в этом меню пользователь может сохранять полученные результаты измерений или открывать уже готовые файлы.

Следующий пункт меню, меню «Расчет параметров». В данном меню пользователь вносит значения массы и высоты. Для удобства пользования программой величины подписаны, и пользователю не нужно вспоминать в каких единицах работает программа. Кнопка «Рассчитать» находится сразу после вводимых параметров, поэтому шанс того, что пользователю будет трудно ее найти, минимален.

Далее расположено меню «Средние значения», в нем выводятся среднеарифметические значения рассчитываемых параметров, которые позволяют оценить всю выборку в целом.

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

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

Полный текст исходных кодов программы см. приложение 3.

3.4.4 Получение расчетных данных

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

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

Энергия:

Дальность:

Импульс: ,

где m - масса пули, h - высота от поверхности, V - измеренное значение начальной скорости.

Так же в программе рассчитываются среднеарифметические значения всех параметров.

Полный текст исходных котов программы - см. Приложение 3.

3.5 Тестирование работоспособности Системы

3.5.1 Проверка работоспособности модуля

Для проверки работоспособности системы был произведен экспериментальный замер скорости. В качестве эталонной величины была выбрана скорость тела свободно падающего с определенной высоты, которая рассчитывалась по формуле , где g - ускорение свободного падения, h - высота с которой падала тело. Так как устройство измеряет скорость пролета тела между датчиками, найдем среднюю эталонную величину.

Таблица 1

Выборка 1

Выборка 2

Расстояние до датчика 1

0.53 м

0.39 м

Расстояния до датчика 2

0.43 м

0.29м

Измерение 1

3.06

2.50

Измерение 2

2.90

2.51

Измерение 3

3.00

2.52

Измерение 4

2.96

2.51

Измерение 5

2.97

2.54

Измерение 6

3.03

2.50

Измерение 7

2.96

2.55

Измерение 8

3.05

2.52

Рассчитанное значение скорости по формуле для датчика 1

3.22

2.39

Рассчитанное значение скорости по формуле для датчика 2

2.90

2.77

Среднее эталонное значение скорости

3.06

2.58

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

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

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

3.5.2 Проверка работоспособности программы

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

Рис. 3.9 Экран модуля

На рисунке 3.9 приведены некоторые значения измерений, передаваемые на вход программе, сверим результаты с устройства с результатами полученными программой.

Рис. 3.10 Снимок экрана - данные

На рисунке 3.10 видно, что значения отправленные устройством, приняты программой, верно, значит, передача данных работает исправно.

Теперь проверим правильность рассчитываемых величин.

Для проверки правильности расчетов программы, построим таблицу Excel с такими же значениями и формулами, как в нашей программе.

Рис. 3.11 Снимок экрана - таблица

На рисунке 3.11 приведена таблица Excel, в которой по тем же формулам, что и программе рассчитываются значения. Видно, что результаты вычислений в программе и таблице Excel одинаковы (за исключением округлений), значит, расчеты в программе проводятся верно.

После проверки основных функций программы, проверим остальные функции, такие как, сохранение результатов, открытие файла, построение графиков, расчет средних значений и т.д. Основная вкладка программы показана на рисунке 3.12

Рис. 3.12 Снимок экрана - основная вкладка

Попробуем открыть в программе файл. Жмем кнопку «Загрузить…», открывается диалоговое окно 3.13.

Рис. 3.13 Снимок экрана - диалоговое окно

Выбираем нужный файл в формате .txt.

Рис. 3.14 Снимок экрана - данные

Файл отрылся (Рис. 3.14), проверим, соответствует ли содержимое действительности.

Рис. 3.15 Снимок экрана - файл

Значения в загруженном файле (Рис. 3.15), соответствуют значениям, полученным программой.

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

Нажмем кнопку «Очистить все» в меню «Управление таблицей», проверим результат очистки.

Рис. 3.16 Снимок экрана - очистка

На рисунке 3.16 видно, что вся таблица очищена, функция работает верно.

Для того чтобы удалить отдельную строку необходимо кликнуть мышью в любую ячейку этой строки. На рисунке 3.17 показан выбор строки.

Рис. 3.17 Снимок экрана - выбор строки

Нажмем кнопку «Удалить строку», в меню «Управление таблицей».

Рис. 3.18 Снимок экрана - удаление

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

Проверим, сохраняет ли программа данные в файл (Рис. 3.19).

Рис. 3.19 Снимок экрана - диалоговое окно

Программа создала файл, проверим его содержимое.

Рис. 3.20 Снимок экрана - файл

На рисунке 3.20 видно, что содержимое сохраненного файла, соответствует данным в программе. Функция сохранения работает верно.

Рис. 3.21 Снимок экрана - график

На рисунке 3.21 показан график, построенный программой. Значения на графике соответствуют значениям в таблице, значит, функция построения графиков работает верно.

Таким образом, мы видим, что программа выполняет все функции.

Заключение

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

Проведенные исследования и этапы разработки позволяют произвести практическую реализацию системы для бесконтактного измерения скорости.

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

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

1. СамЭлектрик.ру: Индуктивные датчики. Разновидности, применение, схемы включения [Электронный ресурс] / Режим доступа: http://www.samelectric.ru/promyshlennoe-2/induktivny-e-datchiki-raznovidnosti-primenenie-shemy-vklyucheniya.html. Дата обращения: 01.02.2015.

2. Малахит: Емкостные датчики [Электронный ресурс] / Режим доступа: http://malahit-irk.ru/index.php/2011-01-13-09-04-43/124-2011-05-11-05-17-15.html. Дата обращения: 04.02.2015.

3. e-ope.ee: Оптические датчики положения [Электронный ресурс] / Режим доступа: http://www.e-ope.ee/_download/euni_repository/file/2393/Teooria.zip/__23.html. Дата обращения 06.02.2015.

4. Кип-сервис: Описание и особенности эксплуатации оптических датчиков [Электронный ресурс] / Режим доступа: http://kipservis.ru/sensor/datchiki_opticheskie_vbo.htm. Дата обращения 08.02.2015.

5. ГОСТ Р 50030.5.2-99. Аппаратура распределения и управления низковольтная. Часть 5-2. Аппараты и коммутационные элементы цепей управления. Бесконтактные датчики. - М.: ИПК Издательство стандартов, 2000 .

6. Аппаратные интерфейсы ПК. М. Гук, СПб.: Питер, ISBN 5-94723-180-8, 2002.

7. Википедия: Универсальный асинхронный приёмопередатчик [Электронный ресурс] / Режим доступа: https://ru.wikipedia.org/wiki/%D3%ED%E8%E2%E5%F0%F1%E0%EB%FC%ED%FB%E9_%E0%F1%E8%ED%F5%F0%EE%ED%ED%FB%E9_%EF%F0%E8%B8%EC%EE%EF%E5%F0%E5%E4%E0%F2%F7%E8%EA. Дата обращения 18.03.2015.

8. PL-2303 Edition USB to Serial Bridge Controller Product Datasheet, Prolific Technology Inc., 2005.

9. Atmega8-16PU Product Datasheet, Atmel Corporation, 2006.

10. L7800AB/AC Product Datasheet, STMicroelectronics, 2007.

11. BL-L513IRAC Product Datasheet, BetLux Electronics.

12. BL-L512PD Product Datasheet, BetLux Electronics.

13. PCD8544 , Datasheet Philips semiconductos, 1999.

14. Микроконтроллеры AVR. Практикум для начинающих, 2-е издание. В. Я. Хартов, М.: МГТУ им. Н. Э. Баумана, 2012, ISBN: 978-5-7038-3565.

15. Программирование на языке Си для AVR и PIC микроконтроллеров. Ю.А. Шпак, Киев: МК-Пресс, 2006, ISBN: 966-8806-16-6.

16. зык программирования C++. Лекции и упражнения, 6-е издание. С. Прата, Вильямс, 2012, ISBN: 978-5-8459-1778-2.

17. Разработка графического интерфейса с помощью библиотеки Qt3. J. Blanchette, M. Summerfield, перевод: А. Киселёв, 2002,ISBN: 0-13-124072-2.

18. Создание графических приложений на платформе Qt. Г.Э. Куликов, 2006.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.