Датчик температуры DS 18 B 20.



DS18B20 — это цифровой измеритель температуры, с разрешением преобразования 9 - 12 разрядов. Параметры контроля могут быть заданы пользователем и сохранены в энергонезависимой памяти датчика.

Рис.8 «Цифровой датчик DS18B20»

DS18B20 обменивается данными с микроконтроллером по однопроводной линии связи, используя протокол интерфейса 1-Wire.

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

Диапазон измерения температуры составляет от -55 до +125 °C. Для диапазона от -10 до +85 °C погрешность не

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С
18
 превышает 0,5 °C.

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


3.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С
19
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Разработка алгоритма работы устройства

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

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

Данные, получаемые с датчиков температуры DS12B20, являются основным фактором выбора режима работы устройства, так как значение температуры определяет работу системы охлаждения, а также выводимую информацию на индикацию: ключевые значения – 18 °C, являющееся необходимым температурным режимом для начала работы вентиляторов, и 27 °C, при котором все вентиляторы охлаждения должны работать на максимуме.

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

mode = 1 – Автоматический режим работы, при котором работа системы охлаждения и выводимая на индикацию информация определяется входными значениями с датчиков температуры;

mode = 2 – Пассивный режим работы, при котором система охлаждения не работает при любых значениях температуры и отображается соответствующая индикация;

mode = 3 – Активный режим работы, при котором система охлаждения работает не в полную силу при любых значениях температуры и отображается соответствующая индикация;

mode = 4 – Экстренный режим работы, при котором система охлаждения работает в полную силу при любых значениях температуры и отображается соответствующая индикация.

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

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

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

    Алгоритм работы программы автоматического термостата для серверных помещений приведен в графической части, код документа – КП‑09.02.01.КС42.09.03.19 ПБ.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С
20

Выбор среды разработки ПО

Существует множество сред разработок для программирования микроконтроллеров, обладающими теми или иными достоинствами и недостатками, различными наборами функционала и тому подобное. Так как разрабатываемое устройство основано на микроконтроллерного модуль Arduino Mega 2560 R3, то рассмотрим среды, работающие с данным устройством.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ    
 Разраб.
Михайлова А.С
21
Arduino IDE

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

Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.

Рис.7 «Интерфейс Arduino IDE»

Programino IDE

    Это платная среда разработки, но её можно опробовать в течение 14-ти дней бесплатно. Programino, как и другие среды разработки, требует, однако, чтобы у вас была установлена Arduino IDE. При первом запуске программы следует в настройках указать путь к исполняемому файлу arduino.exe и сопутствующим библиотекам.       

Рис.8 «Интерфейс Programino IDE»

Язык, который используется в данной среде разработки – такой же, как и в оригинальной Arduino IDE – Си.  Однако, помимо этого, данная IDE предлагает такой удобный способ быстрой разработки как автодополнение кода: когда вы начинаете набирать код, среда разработки предложит вам выбрать из доступных вариантов тот, который вам нужен.

В данной среде разработки также имеются несколько дополнительных полезных инструментов, доступных через меню Tools. Например: блокнот, дизайнер LCD символов, преобразователь между DEC-BIN-HEX, терминал последовательного порта, аналоговый плоттер и другие.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С  
22
B 4 R ( Basic for Arduino )

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

При первом запуске среда B4R также тре

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ    
 Разраб.
Михайлова А.С
23
бует указать путь к директории с Arduino IDE и, при необходимости, дополнительным нестандартным библиотекам и общим модулям.

Рис.9 «Интерфейс B4R IDE»

Geany

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

Geany работает под Linux, FreeBSD, NetBSD, OpenBSD, MacOS X, AIX v5.3, Solaris Express и Windows. В более общем плане, он должен работать на каждой платформе, которая поддерживается библиотеками GTK. Только у порта Windows Geany отсутствуют некоторые функции.

Рис.10 «Интерфейс Geany»

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ    
 Разраб.
Михайлова А.С
24
де разработки можно ставить точки останова, что весьма полезно в процессе отладки, а также использовать закладки для более быстрой навигации по коду.

Code :: Blocks

Это свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями), Fortran.

Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему, например FreeBSD, PC-BSD.

Рис.11 «Интерфейс Code::Blocks»

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ    
 Разраб.
Михайлова А.С
25
Сравнивая вышеприведенные среды разработки, была выбрана среда Arduino IDE, так как она обладает необходимым минимумом функционала, не требует дополнительных программ для работы, свободно распространяема и полностью совместима с используемым микроконтроллером.

Выбор языка программирования

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

· языки низкого уровня (Assembler);

· языки высокого уровня (Pascal, Basic, C/C++).

Assembler

В языке Accembler каждому оператору соответствуют не более одной машинной команды. Та

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ    
 Разраб.
Михайлова А.С
26
кой язык программирования микроконтроллера достаточно громоздкий и трудно понимается для человека. Тем не менее, альтернативы ему нет, например, когда в процессе программирования микроконтроллера имеются ограниченные ресурсы, такие как 8-ми битные модели с малым объемом памяти. Также данный язык обеспечивает достаточно большое быстродействие и компактность программного кода, что зачастую является немаловажным фактором.

Рис.12 «Структура программы на языке Assembler»

Pascal

Язык Pascal достаточно просто и удобен в применении, но в среде программирования микроконтроллеров не получил большого распространения. Его используют для простоты перехода с персональных компьютеров на контроллеры.

Рис.13 «Структура программы на языке Pascal»

Basic

Этот язык прог

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С
27
раммирования существует уже достаточно давно и в основном применялся для обучения программированию. Тем не менее, он используется и для программирования микроконтроллеров. Basic не рекомендуют начинающим специалистам, так как код его программы имеет плохую структурированность. Такой язык программирования микроконтроллеров можно применять при проектировании несложных электронных устройств.

Рис.14 «Структура программы на языке Basic»

C/C++

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС42.09.03.19 ПЗ  
 Разраб.
Михайлова А.С
28
роллеров можно отнести факт наличия в C/C++ множества программных средств и библиотек, с которыми удобно работать начинающим специалистам.

Рис.15 «Структура программы на языке C/C++»

Помимо различий по уровню сложности использования, требуется оценить языки программирования с точки зрения технических характеристик выбранного микроконтроллера: теоретически, для микроконтроллеров Arduino можно писать программы на любом языке, но на практике выбор ограничивается языками Assembler, C и C++. Это связанно с тем, что в сравнении с настольным компьютером у них очень ограниченные ресурсы.

Чаще всего язык программирования устройств Arduino основан на C/C++ и скомпонован с библиотекой AVR Libc и позволяет использовать любые ее функции.

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


Дата добавления: 2019-07-15; просмотров: 696; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!