Файл: Разработка аппаратнопрограммного комплекса "Умный будильник" с дополнительным функционалом на базе микроконтроллерного модуля Arduino.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 137

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Рис.7 Модуль управления MOSFET IRF520

Технические характеристики:

  • рабочее напряжение: 3.3 В, 5 В;

  • выходное напряжение: 0-24 В;

  • выходной ток нагрузки: до 5 А;

  • размер: 33х24 мм;

  • максимальный ток: 9.2 А.

Модуль часов реального времени DS3231.

Модуль DS3231— представляет собой недорогую плату с чрезвычайно точными часами реального времени (RTC), с температурной компенсацией кварцевого генератора и кристалла, показанного на рисуноке 8.



Рис.8 Модуль часов реального времени DS3231

Большинство микросхем, которые используют внешний кварцевый генератор частотой 32 кГц, имеют существенный недостаток, при изменении температуры меняется частота кварца, что приводит к погрешности в подсчете времени. Эта проблема устранена в чипе DS3231, внутрь которого установили кварцевый генератор и датчик температуры, который компенсирует изменения температуры, так что время остается точным (при необходимости, показатели температуры можно считать). Так же чип DS3231 поддерживает секунды, минуты, часы, день недели, дата, месяц и год информацию, а так же следит за количеством дней в месяце и делает поправку на високосный год. Поддерживает работу часов в двух форматов 24 и 12, а также возможно запрограммировать два будильника. Модуль работает по двух проводной шине I2C.

А так-же модуль часов DS3231 включает в себя литиевую батарею, которая поддерживает бесперебойную работу, даже при отключении источник питания. Интегрированный генератор помог улучшить точность работы устройства и позволил уменьшить количество компонентов на микросхеме DS3231 [7].

Технические характеристики:

  • напряжение питания: 3,3 - 5,5 В;

  • рабочая температура: 0-40 ℃;

  • размеры: 38 мм * 22 мм * 14 мм .

Энкодер (ДУП).

Энкодер (ДУП) — это специальное устройство, необходимое для точного измерения интересующих параметров движения детали цифровым способом (угол поворота/направление/скорость и позиция), к примеру, редуктора или вала на электродвигателе (рисунок 9). Стоит отметить, что это устройство может носить название преобразователя угловых помещений. Принцип работы энкодерного датчика заключается в преобразовании механического перемещения в электрические сигналы.




Рис.9 Энкодер (ДУП)

Технические характеристики:

  • рабочее напряжение: 3-15 В;

  • максимальный ток через кнопку: 20 мA;

  • число импульсов (шагов) на оборот: 20 мм;

  • диаметр вала: 6 мм;

  • длина вала: 20 мм.

  • тип монтажа: монтаж на плату в отверстия.

Светодиод.

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



Рис.10 Инфракрасный фотодиод

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

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

Дисплей на базе TM1637.

Одним из широко используемых устройств для отображения информации в любительских проектах Arduino являются 7-сегментные светодиодные индикаторы, которые используют в сборках из 4 или 8 штук. На эти дисплеи уже можно выводить какие-то осмысленные данные, например текущее время или курс валюты. Но еще совсем недавно это требовало использования очень большого количества контактов Arduino. С появлением дисплеев на светодиодных индикаторах на микросхеме TM1637 (рисунок 11) для подключения используется в сего 2 цифровых контакта Arduino, плюс питание и земля. TM1637 полностью берет на себя организацию динамической индикации индикаторов.



Рис.11 Дисплей на базе TM1637

Технические характеристики:

  • цвет свечения: красный;

  • рабочее напряжения: 3.3 — 5.5 В;

  • размер: 42х24 мм;

  • ток потребления: 0.2 – 80 мА.

  • интерфейс: двухпроводной последовательный.

Для подключения дисплея к микроконтороллеру используют два контакта дисплея показаных на рисунке 12:

  • DIO — отправка данных;

  • CLK — синхронизация.




Рис.12 Подключение дисплея к плате Arduino

2.3 Выбор микроконтроллера

Микроконтроллер должен соответствовать следующим требованиям:

  • иметь требуемое число контактов/портов ввода/вывода, так как в случае их недостатка он не сможет выполнить работу;

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

  • иметь малое энергопотребление;

  • быть отказоустойчивым.

Микроконтроллер ATmega328P (рисунок 13) семейства AVR установлен на плату Arduino Nano.



Рис.13 Микроконтроллер ATmega328P

Микроконтроллерная плата Arduino Nano от производителя Arduino (рисунок 14) имеет такие свойства как: компактность, надежности, и простоту программирования.



Рис.14 Микроконтроллерный модуль Arduino Nano

Характеристики микроконтроллерной платы Arduino Nano приведены в таблице 1.
Таблица 1

Характеристики микроконтроллерной платы Arduino Nano

Рабочее напряжение

5 В

Входное напряжение (рекомендуемое)

7-12 В

Входное напряжение (предельное)

6-20 В

Цифровые Входы/Выходы

14

(6 из которых могут использоваться как выходы ШИМ)







Аналоговые входы

8

Постоянный ток через вход/выход

40 мА

Флеш-память

16 кБ (ATmega168) или 32 кБ (ATmega328) при этом 2 кБ используются для загрузчика

ОЗУ

1 кБ (ATmega168) или 2 кБ (ATmega328)



Под маркой Arduino выпускается несколько плат с различными микроконтроллерами и платами расширения. Большинство плат с микроконтроллером снабжены минимально необходимым набором обвязок для нормальной работы микроконтроллера (стабилизатор питания, кварцевый резонатор, цепочки сброса и т. п.).

Модули Arduino основаны на микросхеме ATmega328, и легко программируются через USB порт (либо COM порт в варианте MaxSerial) при помощи бесплатного программного обеспечения [2].

Платформа имеет 14 цифровых вход/выходов, 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

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

Каждый из 14 выводов модуля можно использовать как вход или как выход данных. Эти выводы работают с сигналами уровнем 0...5 В. Каждый из выводов рассчитан на входной (или выходной) ток до 20 мА и имеет внутренний программно отключаемый подтягивающий резистор сопротивлением 20-50 кОм, который по умолчанию отключен. Выводы 3, 5, 6, 9, 10 и 11 могут работать в режиме выходов сигналов широтно-импульсного модулирования. Выводы 1 или 2, совмещены с цепями, работающими в режиме обмена по USB/COM каналу. Поэтому в момент записи программы и при других операциях обмена данными с компьютером внешние цепи нужно будет отключать.

Токовая защита разъема USB. В Arduino Uno встроен самовостанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатыват при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут востановлены.


Arduino, также имеет 6 аналоговых входов аналого-цифрового преобразователя (далее – АЦП). Микроконтроллеры ATmega, используемые в Arduino, содержат шестиканальный АЦП. Разрешение преобразователя составляет 10 бит, что позволяет на выходе получать значения от 0 до 1023. Основным применением аналоговых входов большинства платформ Arduino является чтение аналоговых датчиком, но в тоже время они имеют функциональность вводов/выводов.

Таким образом, при необходимости применения дополнительных портов ввода/вывода имеется возможность сконфигурировать неиспользуемые аналоговые входы [5].

Микроконтроллер ATmega328 (рисунок 15) используется на микроконтроллерной плате Arduino Uno (рисунок 16).

Платформа и меет 14 цифровых входа/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки [8].



Рис.15 Микроконтроллер ATmega328



Рис.16 Микроконтроллерный модуль Arduino Uno
Подробные характеристики микроконтроллерной платы Arduino Uno указаны в таблице 2.

Таблица 2

Характеристики микроконтроллерной платы Arduino Uno

Напряжение питания микроконтроллера

5 В

Рекомендуемое напряжение питания платы

7-12 В

Предельно допустимое напряжение питания платы

6-20 В

Цифровые входы-выходы

14

Выходы широко импульсной модуляции

6

Аналоговые входы

6

Допустимый ток цифровых входов

20 мА

Допустимый ток выхода (3,3 В)

50 мА

Объем флэш-памяти (FLASH)

32 кБ (из которых 0,5 кБ используется загрузчиком)

Объем оперативной памяти (SRAM)

2 кБ