Бесконтактный оптический датчик перемещения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.12.2019
Размер файла 5,5 M

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

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

Более того, было добавлено несколько параметров в альтернативный конструктор. Например, для конфигурации настроек коэффициента усиления/скорость, для этого используется альтернативный конструктор.

Разработка пользовательского ПО

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

Для работы с этим языком достаточно использовать консольный редактор текста, например vim, sed или nano. И запускать программы файлы также через консоль официальный компилятором. Но это довольно не удобно и замедляет процесс отладки кода. Поэтому разумнее также, как и с прошивкой использовать IDE.

На сегодняшний день существует достаточное количество ПО. Но почти каждое может узко специализироваться под конкретную задачу.

1) Komodo IDE- это многоязычная IDE, разработанная Active State, предлагающая поддержку Python, PHP, Perl, Go, Ruby, веб-разработки (HTML, CSS, JavaScript) и многое другое. Продукт оснащен интеллектуальным автозаполнением и рефакторингом. Он также предоставляет инструменты для отладки и тестирования. Платформа поддерживает несколько форматов управления версиями, включая Git, Mercurial и Subversion, среди прочих.

2) Codenvy-это IDE основанная на инструменте с открытым исходным кодом Eclipse Che. Она разработана и поддерживается компанией Red Hat. Codenvy бесплатно для небольших команд (до трех пользователей). Инструмент сочетает в себе функции среды IDE и функции управления конфигурацией в одной среде на основе браузера. Рабочие пространства являются контейнерным, защищая их от внешних угроз. Функции разработчика включают в себя полностью функционирующую среду IDE, автозаполнение, проверку ошибок и отладчик.

3) Но общепризнанным лидером считается PyCharm от компании JetBrains. Это ПО, которое предлагает актуальные передовые функции, такие как интеллектуальное редактирование кода и интеллектуальная навигация по коду. PyCharm предоставляет готовые инструменты разработки для отладки, тестирования, и что главное в этом проекте развертывания. Оно доступно для всех современных операционных систем компьютеров и может быть настроено под высокие требования задачи путем добавления плагинов. Этот софт и был выбран в качестве инструмента разработки.

Разработка и тестирование макета оптического датчика перемещений

Аппаратная часть

Для создания макета была выбрана плата Arduino UNO, работающая на базе выбранного в разработке микроконтроллера. Данная плата удобна тем, что представляет собой микроконтроллер со всей обвязкой, при этом стоимость платы ниже, чем отдельного контроллера и обвязки. Кроме того, она обладает удобными разъемами для подключения периферии и встроенными isp программатором и USB-TTL модулем. В качестве АЦП взята выбранная модель, но в составе готового модуля с обвязкой, который тоже обходится дешевле, чем самостоятельная сборка такового. Измерительный модуль выполнен без изменений.

Программная часть

Для программной части требуется настройка частоты считывания данных с АЦП. Данная операция осуществляется по средствам изменениям строки

init(channel, CLK_DIV_1, BIPOLAR, GAIN_1, UPDATE_RATE_100);

В библиотеке AD7705.

Стандартные значение заложенные в нее:

· UPDATE_RATE_20

· UPDATE_RATE_25

· UPDATE_RATE_50

· UPDATE_RATE_60

· UPDATE_RATE_100

· UPDATE_RATE_200

· UPDATE_RATE_250

· UPDATE_RATE_500

Также она позволяет изменить усиление АЦП в следующем диапазоне

· GAIN_1

· GAIN_2

· GAIN_4

· GAIN_8

· GAIN_16

· GAIN_32

· GAIN_64

· GAIN_128

Но для снятия показаний с оптического датчика это не используется

После сборки макеты было проведено множество тестов. Было установлено, что система функционирует корректно. В процессе тестирования была отлажена и настроена прошивка для конкретного измерительного модуля. Кроме того, было установлено, что 16 разрядов АЦП избыточно (точность 0.08мВ), для измерений, при этом было проведено тестирование с подключением модуля к встроенному в микроконтроллер 10-ти разрядному АЦП (точность 4.9мВ). Такое количество разрядов не обеспечило достаточною точность. В итоге при сравнении получили, что 16 разрядов - получаем в значениях слишком много разбросов из-за шумов, при 10 разрядах не можем добиться достаточной точности, при опорном напряжении +5В. Из этого был сделан вывод, что оптимальным АЦП для этого устройства будет 12-ти разрядный модуль. Такого разрешения будет достаточно для обеспечения необходимой точности (точность измерения 1.2мВ)

Руководство пользователя

· Готовый собранный макет подключается к питанию от USB порта персонального компьютера (рис. 8)

Рисунок 8

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

Для этого необходимо

· запустить ПО Arduino IDE. В ней выбрать вкладку «инструменты» - «Порт» и выбрать корректное подключение (рис. 9)

Рисунок 9

После этого загрузить на микроконтроллер скетч и перейти к ПО для запуска Python скриптов. Например PyCharm. В скрипте sensorRecord.py найти переменную ser и задать ее значение полученное при выборе USB порта в Arduino IDE. Также необходимо задать время длительности испытания в секундах через переменную test_time и директорию для сохранения данных в табличном представлении cvs_dir.

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

SensorPlot.py служит для этой цели, в нем также необходимо указать из какой директории следует забирать полученный значения с оптического датчика по средствам переменной csv_directory. Далее скрипт компилируется и в указанной папке сохранится результаты обработки. Например, подобный данному график (рис. 10), который отображает результаты одного из опытов, проведенных в исследовательской лаборабории.

Рисунок 10

Заключение

В ходе выполнения ВКР, осуществлен обзор и анализ предметной области, благодаря которому было выявлено наилучшее решение для бесконтактного оптического датчика перемещений. В ходе работы были спроектированы функциональные особенности аппаратно-программного комплекса. В результате исследования аналогов удалось собрать макет описанного проекта, который готов к возникающим проблемам несовершенности упрощенной физической модели мира. Более того, при использовании компонентов, которые были описаны в представленном отчете, их суммарная стоимость не превышает 2500 рублей, что весьма доступно для такого класса измерительного оборудования. Также было разработано ПО, обслуживающее всю систему, с помощью которого пользователь может запускать измерение и получать статистику в таблицах и графиках для дальнейшего анализа.

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

Приложения.

Приложение 1.

Код прошивки МК

Приложение 2.

Код пользовательского ПО

Приложение 3.

Код модифицированной библиотеки AD770*.h

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


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

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