Разработка аппаратно-программного обеспечения системы обнаружения магнитного поля на микроконтроллере Arduino
Заказать уникальную дипломную работу- 61 61 страница
- 12 + 12 источников
- Добавлена 09.06.2017
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Список сокращений 5
Введение 6
Глава 1. Магнитометрические системы. Физические принципы работы и область применения магнитометров 8
1.1 Задачи и области применения магнитных измерений 8
1.2Магнитостатические магнитометры 9
1.3Индукционные магнитометры 10
1.4Феррозондовые датчики 11
1.5Датчики Холла 13
Глава 2. Разработка аппаратной части магнитометрической системы 24
2.1 Микропроцессорный комплект ArduinoUNO 24
2.2 Первичный преобразователь магнитометрической системы - датчик Холла SS495A 29
2.3 Разработка структурной схемы 32
2.4 Разработка принципиальной схемы 33
Глава 3. Разработка программного обеспечения микроконтроллерного модуля магнитометрической системы 37
3.1 Интегрированная среда разработки ArduinoIDE 37
3.2Математическое обеспечение. Получение расчетных формул 41
3.3 Составление алгоритма 44
3.4 Разработка управляющей программы микроконтроллера на языке С 47
Глава 4. Тестирование магнитометрической системы 50
4.1Имитационное моделирование магнитометрической системы в среде Proteus. 50
4.2 Построение графика зависимости показаний магнитометрической системы от величины внешнего поля. 55
4.3 Анализ результатов 56
Заключение 57
Список использованных источников 58
Приложение 1. Устройство обнаружения магнитного поля, схема структурная 59
Приложение 2. Устройство обнаружения магнитного поля, схема электрическая принципиальная 60
Приложение 3. Перечень элементов 61
Через данное меню к скетчу могут быть подключены стандартные библиотеки функций Arduinoили пользовательские библиотеки (разработанные пользователями) для этого необходимо в раскрывающемся меню “Подключить библиотеку” указать путь к этой библиотеке.ИнструментыРис.3.5Меню “Инструменты” содержит команды:АвтоформатированиеДанная опция оптимизирует код ПлатаВыбор платы (платформы) Arduino. Содержит раскрывающийся список поддерживаемых данной версией программы платформ.ПрограмматорСодержит меню позволяющее записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino, действие не является необходимымпри текущей работе с Arduino, но может пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню [2]. Монитор портаОтображает данные посылаемые в платформу Arduino. Для отправки данных требуется ввести текст и нажать Send или Enter. Далее выбирается скорость передачи, соответствующая значению Serial.begin в скетче[2]. ПомощьРис.3.6Меню “Помощь” содержит стандартные для большинства приложений, здесь можно обратиться к справочной системе. Справочная система Arduinoявляется онлайн-сервисом и работает только через интернет.3.2 Математическое обеспечение. Получение расчетных формулПлата ArduinoUNOработает с 10-битным аналого-цифровым преобразователем, поэтому выдаваемое двоичное значение в выходной порт будет:Датчик измеряет индукцию магнитного поля в диапазоне (– 670…670 Гаусс)Согласно таблице 2.2 минимальное выходное напряжение датчика Холла SS495Aсоставляет 0.4 В, максимальное выходное напряжение датчика составляет Vs – 0.4 = 5 – 0.4 = 4.6В.Согласно переходной характеристике SS495A (рис.2.7) минимальному выходному напряжению 0.4 В будет соответствовать поле (– 670 Гаусс),максимальному выходному напряжению 4.6 В будет соответствовать поле (+670 Гаусс).Согласно данным производителя [9] при нулевой индукции внешнего магнитного поля (0 Гаусс) выходное напряжение датчика составит 2.5 В.По данным таблицы 2.2 также известна чувствительность датчика, которая составляет 3.125 мВ/Гаусс.Вычислим границы показания датчика опираясь на коэффициент чувствительности датчика.Максимальное показание датчика: – чувствительность датчика SS495AМаксимальному показанию датчика будет соответствовать выходной код АЦП:Минимальномупоказанию датчика будет соответствовать выходной код АЦП:Эти данные потребуются при составлении программного кода, когда будет необходимо определить границы показаний датчика.Калибровка показаний датчикаКоэффициент умноженияопределим двумя способами по верхней и нижней границе АЦП кода.Расчет по верхней границе:Расчет по нижней границе:Таким образом принимаем коэффициент домножения (калибровки):Вывод показаний датчика на LCDдисплей производим по формуле:Где, – текущее значение кода АЦП преобразования.Определим показания дисплей на верхней и нижней границе границах выходных напряжений датчика:Расчет произведен верно.3.3 Составление алгоритма1. Алгоритм работы магнитометрической системы представлен на рис.3.7. В соответствии с особенностями программирования в среде ArduinoIDEнеобходимо в начале подключить библиотеки для работы с внешними устройствами, провести инициализация внешних устройств, определить подключаемые к плате Arduinoвыводывнешних устройств, которыми в разрабатываемой магнитометрической системе являются графический дисплей и датчик Холла.2. Далее выполняем считывание показаний с датчика Холла, которые передаются в форме аналогового сигнала напряжения. Плата Arduinoработает с цифро-аналоговым преобразователем и данные поступающие с датчика преобразуются в двоичный код.3. Далее определяем лежит ли аналоговый сигнал в установленных производителем границах выходного сигнала напряжения датчика Холла.Выходной сигнал может оказаться вне границ установленных технической документацией если параметры датчика отличаются от заявленных производителем, при выходе из строя датчика, неправильной его эксплуатации т.е. несоблюдении границ подаваемого питающего напряжения на датчик или при температурах вне рабочего диапазона. В работе мы принимаем что датчик исправен, эксплуатируется правильно, его параметры соответствуют технической документации. Также выходной сигнал может оказаться вне границ установленных технической документацией если возникают посторонние наводки вследствие шумов или иных факторов на аналоговом входе, подключенном к датчику. Этот фактор учитывается в программе т.е. при попадании сигнала по каким-либо причинам в диапазон значений вне установленного технической документацией, происходит корректировка показаний датчика по ближайшей границе установленного диапазона.4. Подсчитанные показания датчика с учетом установленных правил и полученных ранее расчетных соотношений выводятся на графический дисплей.Рис.3.7. Алгоритм работы магнитометрической системы3.4 Разработка управляющей программы микропроцессора на языке СУправляющая программа разработана в среде ArduinoIDE 1.8.2, для платы ArduinoUNOR3, ниже представлен листинг.Листинг. Управляющая программа для ArduinoUNOR3/* Подключаем библиотеку для работы с LCD */#include
2. Шихин А.Я. Автоматические магнитоизмерительные системы: учебное пособие/ А.Я. Шихин. – М.: “Энергия”, 1977. – 136 с.
3. Кондрашкова Г.А., Бондаренкова И.В., Черникова А.В. Средства измерений физических величин: учебное пособие / СПбГТУРП. – СПб., 2013. – 82 с.
4. Раннев Г.Г. Методы и средства измерений: Учебник для вузов/ Г.Г. Раннев, А.П. Тарасенко. – 2-е изд., стереотип. – М.: Издательский центр “Академия”, 2004. – 336 с.
5. Афанасьев, Ю. В. Феррозонды / Ю. В. Афанасьев. – Л.: Энергия, 1969. – 168 с.
6. http://arduino.ru/Hardware/ArduinoBoardUno
7. http://arduino.ru/Arduino_environment
8. https://www.arduino.cc/en/Tutorial/LiquidCrystalCursor
9. http://datasheet.octopart.com/SS495A-Honeywell-datasheet-9983714.pdf
10. Гетеромагнитная микроэлектроника: сб. науч. тр. / под ред.проф. А. В. Ляшенко. – Саратов: Изд-во Сарат. ун-та, 2013. – Вып.15: Гетеромагнитная микро- и наноэлектроника. Методическиеаспекты физического образования. – 152 с.
11. http://pdf1.alldatasheet.com/datasheet-pdf/view/86975/ETC/WH0802A.html
12. Датчики Холла: Уральский Федеральный университет им. Б.Н. Ельцина «УПИ»/Коллоквиумы ФОПИ: 2015. – 14 с.
Вопрос-ответ:
Какие задачи решает магнитометрическая система?
Магнитометрическая система позволяет измерять магнитное поле в определенных точках пространства. Она может использоваться для выполнения различных задач, таких как контроль магнитных полей вокруг оборудования, обнаружение и измерение магнитных полей в природных исследованиях, а также для создания систем автоматического управления на основе магнитных полей.
Какие принципы лежат в основе работы магнитометров?
Существует несколько принципов работы магнитометров. Один из них основан на измерении магнитного поля с помощью феррозондовых датчиков. Другой принцип основан на использовании индукционных датчиков, которые измеряют изменение магнитного потока. Еще один распространенный принцип - это использование датчиков Холла, которые регистрируют изменение электрического сопротивления при воздействии магнитного поля.
Какие датчики используются для измерения магнитного поля?
Для измерения магнитного поля могут использоваться различные датчики. Одним из наиболее распространенных являются феррозондовые датчики, которые используются для измерения силы магнитного поля. Также часто применяются индукционные датчики, которые измеряют изменение магнитного потока. Еще одним вариантом являются датчики Холла, которые основаны на эффекте Холла и регистрируют изменение электрического сопротивления при воздействии магнитного поля.
Какая аппаратная часть нужна для разработки магнитометрической системы на базе микроконтроллера Arduino?
Для разработки магнитометрической системы на базе микроконтроллера Arduino потребуется некоторая аппаратная часть. В частности, потребуется сам микроконтроллер Arduino, соответствующая плата расширения, различные датчики для измерения магнитного поля (например, феррозондовые датчики, датчики Холла и т.д.), а также соединительные элементы, такие как провода, резисторы и т.д. Также может потребоваться дополнительное оборудование, в зависимости от конкретной реализации системы.
Какие задачи решает магнитометрическая система?
Магнитометрическая система используется для измерения и обнаружения магнитного поля. Она может решать такие задачи как определение направления магнитного поля, измерение его силы и обнаружение магнитных объектов.
Какие принципы работы магнитометров?
Существует несколько принципов работы магнитометров. Одни из них основаны на магнитостатических принципах, другие на индукции или использовании датчиков Холла. Каждый принцип имеет свои особенности и область применения.
Что такое магнитостатические магнитометры?
Магнитостатические магнитометры работают на основе измерения сил магнитного поля с помощью магнитов или электромагнитов. Они применяются в различных областях, включая геофизические исследования, навигацию, промышленность и другие.
Что такое датчики Холла?
Датчики Холла - это электронные устройства, которые используют явление Холла для измерения магнитного поля. Они обладают высокой чувствительностью и широкой областью применения. Датчики Холла часто используются в автомобилестроении, энергетике и других промышленных секторах.
Какая аппаратная часть нужна для разработки магнитометрической системы на Arduino?
Для разработки магнитометрической системы на Arduino потребуется микроконтроллер Arduino, модуль измерения магнитного поля (например, датчик Холла), соединительные провода и дополнительные компоненты в зависимости от конкретной задачи. Для программирования и подключения компонентов также может понадобиться компьютер и программное обеспечение Arduino IDE.
Какие сокращения используются в статье?
В статье используются сокращения: Глава - гл., Область применения - обл. прим., Магнитостатический - магнитост., Индукционный - индукц., Феррозондовый - ферроз., Датчик Холла - датч. Холла, Аппаратно программное обеспечение - АПО.
Какие физические принципы лежат в основе работы магнитометров?
Физические принципы работы магнитометров основаны на измерении магнитного поля. Различные типы магнитометров используют разные принципы, такие как магнитостатика, индукция, датчики Холла и феррозонды.
Какие задачи можно решать с помощью магнитных измерений?
Магнитные измерения позволяют решать разнообразные задачи, включая определение направления и интенсивности магнитного поля, обнаружение магнитных материалов, измерение магнитной восприимчивости и другие. Магнитометрические системы на микроконтроллере Arduino могут использоваться в различных областях: научных исследованиях, промышленности, геологии, медицине и др.