СОДЕРЖАНИЕ Введение 3 1Теоретическая часть 4 1.1 Техническое задание 4 1.2 Постановка задачи 4 Назначение системы 4 Цель создания системы 5 Значение показателей 5 Требования к системе 9 Требования по электропитанию 10 Технические требования 10 Формирование требования пользователя к ас 11 Разработка структуры 12 Описание функций, которые выполняет система 13 Основные модули 14 Датчики 14 Устройство управления 15 Выбор варианта структуры 16 Алгоритм работы 17 Алгоритм обработки сигналов со считывателя 17 2Практическая часть 19 Разработка схемы контроллера 20 Разработка схемы автоматического кормления 28 Программное обеспечение микроконтроллера 29 Заключение 30 Литература 33 Приложение 34 КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Разраб. Силачев К.А Провер. Лозгачев А.А. Реценз. Н. Контр. Утверд. Подпись Дата Построение системы автоматического регулирования температуры в инкубаторе Лит. Лист Листов 3 34 СОГБПОУ ВПТ ВВЕДЕНИЕ В современном мире автоматизация процессов становится неотъемлемой частью различных отраслей, включая сельское хозяйство и птицеводство. Одной из ключевых задач в этих областях является поддержание оптимальных условий для выведения молодняка, что напрямую зависит от температуры в инкубаторе. Неправильные температурные режимы могут привести к снижению выживаемости яиц, снижению качества выводимого молодняка и, как следствие, к экономическим потерям. Построение системы автоматического регулирования температуры в инкубаторе представляет собой значительный шаг вперед в повышении эффективности процессов инкубации. Создание такой системы позволит не только обеспечить нужный температурный режим, но и сократить время, затрачиваемое на ручные проверки и настройки. Использование современных технологий, таких как датчики температуры, контроллеры, а также программное обеспечение для управления, способствует повышению точности и надежности процесса. Цель данного проекта — разработка и внедрение системы автоматического регулирования температуры в инкубаторе, которая будет учитывать различные факторы, влияющие на микроклимат внутри устройства, такие как регуляция влажности, скорость воздухообмена и параметры внешней среды. Система позволит автоматически вносить коррективы в работу нагревательных элементов, создавая тем самым необходимые условия для инкубации яиц. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 4 1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 1.1 Техническое задание 1.2 Постановка задачи В курсовом проекте необходимо разработать систему автоматического регулирования температуры в инкубаторе, которая должна поддерживать температуру в инкубаторах. Назначение системы исследование и анализ требований: определить оптимальный температурный диапазон для инкубации различных видов яиц и установить допустимые отклонения от заданной температуры; минимизация человеческого фактора: исключение ошибок, связанных с ручным регулированием температуры; выбор и закупка компонентов: подобрать подходящие датчики температуры, выбрать микроконтроллер и закупить нагреватели, вентиляторы и реле для управления климатом в инкубаторе; разработка системы управления: создать алгоритм, который будет: Собирать и обрабатывать данные с датчиков, сравнивать текущую температуру с заданной, управлять нагревателями и вентиляцией для поддержания заданного температурного режима; экономия времени и ресурсов: автоматизация процесса и снижение необходимости постоянного контроля со стороны оператора; о система мониторинга и уведомлений: настроить систему уведомлений критических отклонениях температуры, реализовать интерфейс для отображения текущей температуры и других параметров; тестирование системы: провести испытания системы в различных условиях, оценить ее производительность, настроить систему для обеспечения стабильного поддержания температуры; интеграция с другими системами контроля климата для комплексного управления микроклиматом. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 5 Цель создания системы поддержание стабильной температуры: яйца требуют строго определенного температурного режима для нормального развития эмбрионов. Автоматическая система позволяет поддерживать постоянную температуру без участия человека, снижая вероятность ошибок; экономия ресурсов и времени: система освобождает человека от необходимости постоянно контролировать и регулировать температуру вручную, что уменьшает затраты времени и снижает риск недосмотра; оптимальные условия для инкубации: система учитывает особенности инкубационного периода, такие как изменение требований к температуре на разных стадиях развития эмбриона. Это помогает увеличить выход здоровых птенцов; безопасность и надежность: автоматизация снижает риск человеческого фактора, например, забывчивости или неправильной настройки температуры, что может привести к гибели яиц; гибкость и точность: современные системы могут быть оснащены датчиками и контроллерами, которые реагируют на малейшие колебания температуры, обеспечивая высокую точность регулирования; увеличение процентного вывода птенцов: поддержание оптимальной температуры на всех стадиях инкубации способствует увеличению выживаемости и численности здоровых птенцов; предотвращение перегрева или переохлаждения: система автоматически корректирует температуру, предотвращая отклонения, которые могут негативно сказаться на развитии эмбрионов; автоматическое управление процессом: система может работать по заданной программе, адаптируясь к различным видам яиц и стадиям инкубации, что исключает необходимость ручного вмешательства; интеграция с системами мониторинга и управления: современные системы могут быть связаны с удаленными устройствами. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 6 Значение показателей Режимы работы Режимы работы системы автоматического регулирования температуры в инкубаторе. Существует несколько режимов работы регулирования температуры в инкубаторе, которые можно реализовать с помощью Arduino: 1. Постоянный режим: Описание: В этом режиме Arduino поддерживает фиксированную температуру, заданную пользователем, на протяжении всего инкубационного периода. Реализация: Простая логика сравнения текущей температуры с заданной и управление нагревателем через реле или транзистор. Задайте время кормления в коде. Используйте сервопривод или другой механизм для открытия и закрытия кормушки в заданное время. 2. Режим ступенчатого изменения температуры: Описание: Температура регулируется по заранее установленным этапам в зависимости от стадии инкубации. Реализация: Используется таймер Arduino для отслеживания дней, и программа автоматически изменяет температурный режим в зависимости от времени инкубации. Все этапы задаются пользователем перед началом инкубации. 3. Программируемый режим: Описание: Кормушка Пользователь может вручную задать график изменения температуры на каждом этапе инкубации через интерфейс. Реализация: Arduino подключен к дисплею и кнопкам (например, LCD + клавиатура), через которые пользователь вводит параметры температуры для каждого этапа. Программа контролирует выполнение этих параметров и регулирует температуру в зависимости от заданных настроек. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 7 4. Автоматический режим адаптации: Описание: Система автоматически корректирует температуру в зависимости от внешних факторов, таких как изменения окружающей среды или влажности. Реализация: В дополнение к температурному датчику, используются другие датчики (например, DHT22 для измерения влажности и температуры окружающей среды). автоматически Arduino регулирует контролирует нагревательные изменения элементы параметров для и достижения оптимального микроклимата. 5. Режим PID-регулирования: Описание: Этот режим использует PID-регулятор для более точного управления температурой Реализация: Программирование PID-алгоритма на Arduino позволяет минимизировать ошибки регулирования температуры и плавно управлять нагревом. Такой метод обеспечивает более стабильный температурный режим, особенно при изменении внешних условий. 6. Режим аварийного отключения: Описание: В случае, если температура выходит за допустимые пределы (перегрев или переохлаждение), система включает аварийный режим и оповещает пользователя об ошибке. Например, с помощью светодиодов или звукового сигнала. Реализация: Arduino проверяет показания датчиков на предмет критических отклонений от нормы. Если температура превышает установленные границы, нагреватель отключается, а система подаёт сигнал тревоги. 7. Режим точной калибровки: Описание: Этот режим используется для настройки и калибровки системы, чтобы датчики температуры точно отображали реальную температуру. Реализация: Вручную калибруются датчики температуры через интерфейс Arduino. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 8 Дополнительные возможности: контроль и регулирование влажности: Помимо температуры, система может управлять уровнем влажности; автоматический переворот яиц: Регулярный переворот яиц необходим для равномерного прогрева и правильного развития эмбрионов; запись и хранение данных: Система может записывать все показания температуры, влажности и других параметров на карту памяти; оповещение о критических ситуациях: Система может отправлять пользователю уведомления в случае критических изменений температуры или влажности. Входные данные датчик температуры внутри инкубатора: Датчик передаёт текущую температуру воздуха в инкубаторе на контроллер Arduino; датчик влажность воздуха: Датчик измеряет влажность внутри инкубатора; текущие установки температуры и влажности: Пользователь вводит или программирует целевые значения температуры и влажности, которые должны поддерживаться системой; данные таймера: Система использует таймер для переключения режимов в нужное время; окружающая температура: Для компенсации влияния внешней температуры на инкубатор, можно использовать дополнительный датчик, который отслеживает температуру снаружи; данные о CO₂: Важный параметр для обеспечения адекватного воздухообмена. В случае превышения уровня CO₂ система может активировать вентиляторы для улучшения вентиляции; состояние питания системы: Arduino может отслеживать текущее состояние питания системы, чтобы в случае отключения основного источника питания перейти на резервный или послать уведомление пользователю. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 9 Выходные данные управление нагревательными элементами: Система отправляет команды для включения или отключения нагревательных элементов; управление вентиляцией: Система регулирует работу вентиляторов для обеспечения воздухообмена или охлаждения, если температура превышает заданное значение или уровень CO₂ становится слишком высоким; управление увлажнителем: если влажность воздуха ниже заданного уровня, система активирует увлажнитель для поддержания оптимальной влажности; автоматический переворот яиц: для предотвращения прилипания эмбриона к стенке яйца система управляет механизмом автоматического переворота яиц через определённые промежутки времени; данные о режиме работы устройства (например, время начала и окончания кормления); индикация состояния системы: вывод данных о текущем состоянии системы на экран или через световую индикацию; аварийные оповещения: в случае критических отклонений от норм (перегрев, переохлаждение, выход уровня влажности за допустимые пределы), система отправляет сигналы тревоги или уведомления пользователю; запись данных на SD-карту или в облако: система записывает данные о температуре, влажности и других параметрах в файл для последующего анализа; вывод информации на сенсорный экран: Вывод текущих параметров инкубатора и возможности управления системой через сенсорный экран; регулировка освещения: управление включением и выключением освещения в инкубаторе, если это необходимо для условий инкубации; отключение системы при аварии: если система обнаруживает критические неисправности, она может отключить аппаратуру. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 10 Требования к системе технические требования. Система должна использовать высокоточные датчики для измерения температуры; аппаратное обеспечение. Arduino должен обладать достаточной мощностью для обработки данных с датчиков, управления исполнительными механизмами и связи с внешними устройствами; энергопотребление. Система должна быть энергоэффективной и способной к работе от резервного источника питания, Все основные параметры должны быть легкодоступны для пользователя через экран или мобильное приложение; устойчивость к сбоям. Система должна иметь защиту от перегрузок и коротких замыканий, обеспечивающую безопасную работу; точность калибровки. Датчики температуры и влажности должны быть калиброваны для минимизации ошибок измерений; подключение к сети. Система должна поддерживать возможность подключения к интернету для удалённого мониторинга и управления; гибкость масштабирования. Возможность расширения системы для подключения дополнительных датчиков; автономность работы. Система должна работать в автоматическом режиме без постоянного вмешательства пользователя, включая автоматическое переключение между режимами и отправку данных на удалённый сервер; удобство использования. Система должна иметь интуитивно понятный интерфейс для простоты настройки и контроля параметров; безопасность. В случае неисправностей система должна уведомить пользователя и автоматически отключить инкубатор, если параметры становятся критическими для яиц; оповещение о необходимости действия. Система должна предупреждать пользователя о необходимости доливки воды для поддержания влажности или других необходимых действиях. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 11 Требования по электропитанию основной источник питания должен обеспечивать необходимое напряжение для работы Arduino, обычно это 5V через USB или 7–12V через разъем питания. Важно предусмотреть надежный блок питания, который соответствует требованиям контроллера и обеспечивает достаточную мощность для всех компонентов системы, включая датчики, реле, вентиляторы и нагревательные элементы. Мощность источника должна учитывать возможные пики потребления, особенно при работе нагревателей, которые могут потреблять значительное количество энергии. Система также должна включать питание для исполнительных механизмов, таких как нагревательные элементы и вентиляторы. Для мощных нагревателей может потребоваться внешний источник питания (например, 12V или 220V), который будет управляться через реле или MOSFET. Вентиляторы и увлажнители могут требовать разного напряжения, поэтому важно использовать реле или транзисторы для управления их работой. Также рекомендуется использовать стабилизированные источники питания, чтобы предотвратить скачки напряжения, которые могут повредить контроллер или датчики. Для обеспечения надежной работы в случае отключения электричества система должна быть подключена к источнику бесперебойного питания (UPS) или аккумулятору. Время работы на резервном питании должно быть достаточным для поддержания стабильных условий инкубации до восстановления основного питания. При выборе источника питания необходимо учитывать общую мощность, необходимую для всех подключенных устройств. Например, Arduino потребляет около 50 мА, датчики могут потреблять от 1 до 10 мА каждый, а нагревательные элементы могут потреблять от 1 до 10 ампер. Блок питания должен иметь запас по мощности не менее 20–30% для стабильной работы. Использование качественных блоков питания от проверенных производителей также повысит долговечность и надежность системы. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 12 Технические требования Для системы автоматического регулирования температуры в инкубаторе на базе Arduino потребуются следующие компоненты и технические требования: микроконтроллер Arduino Uno или Arduino Mega для обработки данных и управления системой; датчики: DS18B20 — цифровой датчик температуры для точного измерения, DHT22 — датчик температуры и влажности для контроля уровня влажности; лисплеи и интерфейсы: ЖК-дисплей или OLED-дисплей для отображения текущих параметров; коммуникационные модули: Wi-Fi модуль; энергоснабжение: Блок питания с соответствующим напряжением для Arduino и других компонентов, Источники бесперебойного питания (UPS) или аккумуляторы для обеспечения работы системы в случае отключения электроэнергии; хранение данных: SD-карта для записи и хранения данных о параметрах инкубации. Требования к документации. Документация должна включать в себя: пояснительная записка; схема работы системы; структурная схема; функциональная схема; электрическая принципиальная схема. Формирование требования пользователя к ас Система должна соответствовать следующим основным требованиям: автоматическое регулирование температуры: Поддержка заданного диапазона температур с возможностью настройки пользователем; удобство использования: Интуитивно понятный интерфейс для КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 13 настройки и мониторинга; простота обслуживания: Удобный доступ к компонентам для проверки и замены; точность измерений: Высокая точность датчиков. Разработка структуры Для разработки структуры автоматической системы регулирования температуры в инкубаторе на базе Arduino, вам понадобится следующее оборудование и компоненты: микроконтроллер Arduino Uno или Arduino Mega; датчики по типу DHT22 и DS18B20; дисплеи и интерфейсы: ЖК-дисплей или OLED-дисплей; коммуникационные модули: Wi-Fi модуль; блок питания с соответствующим напряжением; корпус или каркас для установки всех компонентов. Теперь, когда все компоненты готовы, можно переходить к созданию программного кода для управления автоматической системы регулирования температуры. Вот примерный алгоритм работы устройства: инициализация системы: Запустить Arduino и инициализировать все подключенные компоненты; получение данных от датчиков: Считать данные о текущей температуре с датчика DS18B20 и DHT22; отображение данных: Обновить дисплей с текущими значениями температуры и влажности; проверка условий: Сравнить текущую температуру с заданным целевым значением; аварийное уведомление: Если температура или влажность выходят за установленные пределы активировать сигнализацию; цикл работы: Повторять шаги, обеспечивая постоянный контроль и регулирование температуры и влажности в инкубаторе. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 14 Этот алгоритм обеспечивает автоматическое регулирование температуры и влажности, позволяя поддерживать оптимальные условия для инкубации яиц. Система может быть доработана с учетом специфических требований пользователя или особенностей инкубатора. Описание функций, которые выполняет система Для разработки структурной схемы системы управления автоматической системой регулирования температуры в инкубаторе, кратко опишем функции, которые должна выполнять разрабатываемая система: Система регулирования температуры в инкубаторе базе Arduino выполняет следующие функции: измерение температуры и влажности: использует датчики (например, DS18B20 и DHT22) для непрерывного мониторинга текущих значений температуры и влажности в инкубаторе; управление нагревателем: включает и выключает нагревательные элементы для поддержания заданной температуры, автоматически реагируя на изменения, фиксируемые датчиками; управление охлаждением: при необходимости включает вентиляторы или другие устройства охлаждения, чтобы снизить температуру, если она превышает заданные пределы; управление уровнем влажности: включает или выключает увлажнитель и осушитель для поддержания оптимального уровня влажности в инкубаторе; отображение данных: обновляет и отображает текущие параметры температуры и влажности на дисплее (например, ЖК-дисплее или OLED), а также в мобильном приложении при наличии удаленного доступа; аварийное уведомление: активирует сигнализацию (звуковую и/или визуальную) и отправляет уведомления пользователю в случае критических отклонений температуры или влажности от заданных значений. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 15 Основные модули модуль управления расписанием кормления - этот модуль позволяет пользователю установить время и порции кормления для каждого животного. Также можно задать индивидуальные параметры (например, тип корма, частоту кормления и т. д.); модуль управления микроконтроллером - Центральный контроллер, который управляет всеми процессами и взаимодействует с другими модулями; модули управления температурой - Реле или MOSFET: используются для управления включением и выключением нагревательных элементов и вентиляторов; модули связи - этот модуль обеспечивает возможность удаленного мониторинга и управления через интернет; модуль питания и зарядки - этот модуль обеспечивает энергопитанием устройства и заряжает встроенный аккумулятор. Он также может отслеживать уровень заряда и переключаться на резервный источник энергии при необходимости; модуль хранения данных - SD-карта или EEPROM: для записи и хранения данных о параметрах инкубации, таких как температура и влажность; Исходя из требований технического задания и функций, которые должна выполнять разрабатываемая система, можно выделить основные модули, из которых должна состоять вычислительная система. Датчики Датчики системы автоматического регулирования температуры для создания, устройства которое будет поддерживать температуру в инкубаторе. Для этого потребуется следующее оборудование: аrduino плата - для управления всей системой; датчик температуры – для поддержания температуры; датчик влажности - для определения влажности в инкубаторе; датчики окружающей среды - для измерения атмосферного давления; КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 16 дисплеи LCD или OLED - Для отображения текущих показателей температуры и влажности в реальном времени. Для создания устройства регулирования температуры в инкубаторе базе Arduino вам потребуется навыки программирования на Arduino IDE и электроники. При правильном подходе и наличии всех необходимых компонентов вы сможете создать устройство, которое будет поддерживать температуру в инкубаторе. Устройство управления Для создания устройства управления регулированием температуры в инкубаторе на базе Arduino вам потребуется следующее оборудование и компоненты: микроконтроллер Arduino Uno или Arduino Mega; датчики температуры и влажности; lCD или OLED дисплей для текущих показателей; кнопки или сенсоры для управления устройством; провода, резисторы, реле и прочие электронные компоненты. Для сборки устройства вы можете использовать следующую схему действий: подключите DS18B20 к GND Arduino, 5V к любому цифровому пину; датчик DHT22 подключите также к GND, 5V и любому цифровому для реле подключите один контакт к GND Arduino, другой к 5V, а пину; управляющий пин реле подключите к любому цифровому пину; нагревательный элемент и вентилятор подключаются к реле; дисплей (например, ЖК-дисплей 16x2) подключается к GND, 5V, а его управляющие пины (RS, E, D0-D7) подключаются к соответствующим цифровым пинам Arduino; кнопки или потенциометры подключаются к GND и любым цифровым пинам. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 17 Пульт управления и устройство визуальной индикации Для создания устройства регулирования температуры в инкубаторе на базе Arduino, вам понадобится следующее: аrduino (например, Arduino Uno); пульт управления (например, пульт на основе беспроводного модуля Bluetooth); светодиоды для визуальной индикации состояния устройства; датчики измерение температуры и влажности; реле для управления включением и выключением нагревательных элементов и вентиляторов; корпус для устройства. Подключите все компоненты к Arduino, напишите программу для управления реле и считывания данных с датчиков температуры и влажности. Создайте интерфейс на пульте управления для выбора времени автоматического кормления и отображения информации о количестве корма. Выбор варианта структуры Для создания простой системы автоматического регулирования температуры в инкубаторе на базе Arduino вам понадобятся базовые компоненты и простая архитектура. В качестве микроконтроллера можно использовать Arduino Uno или Nano для обработки данных и управления компонентами. В качестве датчиков рекомендуется использовать DS18B20 для измерения температуры внутри инкубатора, а также DHT22 (опционально) для измерения влажности. Алгоритм работы инициализировать необходимые библиотеки; считать текущую температуру с датчика DS18B20; сравнить текущую температуру с установленной целевой температурой; включить реле для активации нагревательного элемента; если температура равна или превышает целевую, выключить реле; КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 18 обновить дисплей, показывая текущую температуру и влажность; обработать нажатия кнопок для изменения целевой температуры; повторять шаги с заданным интервалом. Алгоритм обработки сигналов со считывателя Для создания алгоритма обработки сигналов считывателя автоматического кормления домашних животных на базе Arduino, необходимо учесть следующие шаги: подключение считывателя к Arduino: подключите считыватель к плате Arduino с помощью соответствующих проводов и библиотек; инициализация считывателя: в начале программы инициализируйте считыватель и установите необходимые параметры; ожидание сигнала: программа должна постоянно ожидать поступления сигнала от считывателя; обработка сигнала: после получения сигнала от считывателя, проведите необходимую обработку данных; выполнение действий: в зависимости от результата обработки сигнала, выполните соответствующие действия; повторение процесса: после выполнения действий, программа должна вернуться на шаг 3 и ожидать следующего сигнала. важно также учитывать возможные ошибки и исключения в работе считывателя и предусмотреть соответствующие обработчики. Также следует учесть необходимость регулировки параметров и их управление через интерфейс Arduino. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 19 2.ПРАКТИЧЕСКАЯ ЧАСТЬ Разработка схемы контроллера Выбор микроконтроллера Выбор МК проводится по следующим критериям: производительность, тактовая частота должна быть достаточной для обработки данных от датчиков и выполнения управляющих функций; малый ток потребления (по тем же соображением места эксплуатации будущей системы); мк должен иметь достаточно памяти для хранения программ работы системы; наличие стандартных интерфейсов передачи данных (UART, SPI); высокая производительность; условия эксплуатации температурный диапазон должен соответствовать условиям, в которых будет использоваться инкубатор. На основании приведенных критериев было решено взять микроконтроллер Arduino Nano. Это компактная плата микроконтроллера, основанная на ATmega328P, которая широко используется в различных проектах благодаря своим малым размерам и высокой функциональности Arduino Nano оснащен 30 разъемными коллекторами ввода-вывода в конфигурации, подобной DIP-30, Arduino Nano имеет несколько ключевых преимуществ. Вопервых, компактные размеры делают его идеальным для проектов с ограниченным пространством, таких как переносные устройства или встроенные системы. Во-вторых, плата совместима с Arduino IDE, что позволяет легко загружать код и использовать множество библиотек и примеров. В-третьих, большое количество цифровых и аналоговых пинов позволяет подключать множество датчиков и исполнительных устройств. Наконец, Arduino Nano обычно доступен по более низкой цене по сравнению с другими платами, такими как Arduino Uno или Mega. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 20 Структура микроконтроллера Zip arduino Структура микроконтроллера Arduino Nano включает несколько ключевых компонентов, обеспечивающих его функциональность и возможность выполнения разнообразных задач. В основе Arduino Nano лежит микроконтроллер ATmega328P, который отвечает за выполнение программ и управление всеми процессами на плате. Он включает в себя процессорные ядра, память и периферийные устройства. Arduino Nano имеет несколько типов памяти. Флеш-память составляет 32 кБ и используется для хранения программы, загружаемой на микроконтроллер. Оперативная память (SRAM) составляет 2 кБ и предназначена для временного хранения данных во время выполнения программы. EEPROM имеет объем 1 кБ и используется для хранения данных, которые должны сохраняться даже при отключении питания, например, конфигурационных параметров. Плата оснащена 14 цифровыми пинами, которые могут использоваться как входы или выходы, и 8 аналоговыми пинами. Эти порты позволяют подключать различные датчики, исполнительные устройства, реле и другие компоненты. В Arduino Nano встроены различные периферийные устройства, которые расширяют его функциональность. АЦП (Аналогово-Цифровой Преобразователь) позволяет считывать аналоговые сигналы и преобразовывать их в цифровые значения. ШИМ (Широтно-Импульсная Модуляция) используется для управления яркостью светодиодов и скоростью двигателей. Arduino Nano поддерживает несколько протоколов связи, что позволяет подключать дополнительные модули и устройства. I2C позволяет подключать несколько устройств по двум проводам. SPI обеспечивает высокоскоростную связь между микроконтроллером и внешними устройствами. UART используется для последовательной передачи данных, что позволяет взаимодействовать с другими устройствами и модулями Структурная схема микроконтроллера приведена на рисунке 1. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 21 Рисунок 1 – Архитектура микроконтроллера Arduino Nano 1) счетчик команд. Размер счетчика команд составляет 16 бит. не доступен напрямую для программирования. При нормальном выполнении программы содержимое счетчика команд автоматически увеличивается на 1 в каждом машинном цикле. При нормальном выполнении программы в микроконтроллере ATmega328P порядок выполнения инструкций в цикле не нарушается. После включения питания или сброса микроконтроллера ATmega328P, который используется в Arduino Nano, происходят несколько ключевых событий, связанных с инициализацией системы. В первую очередь, все регистры микроконтроллера устанавливаются в начальные значения. Обычно это означает, что содержимое регистров может быть неопределённым, пока не будет явно инициализировано в программе. Когда возникает прерывание, микроконтроллер временно приостанавливает выполнение текущей программы и переходит к обработчику прерывания, который соответствует этому событию. Этот процесс включает в себя сохранение состояния текущего выполнения программы, чтобы после завершения обработки прерывания можно было продолжить выполнение с того места, где оно было прервано. 2) регистры общего назначения (РОН) микроконтроллера. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 22 В ATmega328P имеется 32 регистра общего назначения, которые имеют ширину 8 бит. Они располагаются в области памяти, называемой регистровым файлом. Эти регистры обозначаются именами от R0 до R31 и могут использоваться для выполнения различных операций, таких как арифметические операции, логические операции, передача данных и адресация памяти. Регистры могут быть использованы для выполнения сложения, вычитания и других арифметических операций, а также для выполнения логических операций, таких как AND, OR и XOR Регистры служат для временного хранения данных, которые необходимо передать между различными устройствами или модулями. Некоторые регистры могут использоваться в качестве указателей для адресации памяти, что позволяет эффективно работать с массивами и структурами данных. Регистры общего назначения могут быть использованы в сочетании с другими регистрами, такими как регистры управления, чтобы обеспечивать гибкость в управлении процессами. 3) регистры ввода/вывода (РВВ) микроконтроллера. Регистры ввода/вывода в микроконтроллере ATmega328P, который используется в Arduino Nano, предназначены для управления портами вводавывода (I/O) и взаимодействия с внешними устройствами. Эти регистры позволяют настраивать режимы работы портов, считывать данные с входных линий и отправлять данные на выходные линии. ATmega328P имеет несколько регистров, связанных с управлением портами ввода-вывода. Регистры направления порта (Data Direction Register) определяют, будут ли пины порта работать как входы или выходы. Если бит в регистре DDR установлен в 1, соответствующий пин будет настроен как выход; если бит установлен в 0, пин будет работать как вход. Например, для порта B используется регистр DDRB, для порта C — DDRC и так далее. Регистры чтения данных (PIN) используются для чтения состояния входных пинов. Если пин настроен как вход, чтение из соответствующего регистра PIN вернет текущее состояние пина: высокий или низкий уровень. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 23 Описание выводов микроконтроллера Выводы микроконтроллера представлены на рисунке 2. Рисунок 2 – Выводы микроконтроллера Выбор датчика регулирования температуры При выборе датчика регулирования температуры для автоматического регулирования температуры в инкубаторе на базе Arduino следует обратить внимание на следующие параметры: датчик температуры: Этот цифровой датчик температуры обеспечивает точные измерения с точностью до ±0.5°C; датчик влажности: Этот датчик измеряет как температуру, так и влажность; инфракрасные датчики температуры: Инфракрасный (бесконтактный) датчик температуры. Он измеряет температуру объектов без физического контакта, что может быть полезно для контроля температуры поверхностей в инкубаторе; датчики температуры и влажности: Это высокоточный цифровой датчик, который может измерять температуру и влажность с интерфейсом I2C. Он имеет компактные размеры и высокую точность измерений, что делает его удобным для применения в небольших инкубаторах. Таким образом, для поддержания оптимальных условий в инкубаторе хорошим выбором будет использование DS18B20 для точного измерения температуры и DHT22 для измерения и температуры, и влажности. Если требуется более высокая точность и надёжность, можно рассмотреть датчики BME280 или SHT31. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 24 Условные обозначения. mcu (Microcontroller Unit) — микроконтроллер (например, Arduino Nano), который управляет всей системой; pwr (Power) — источник питания для системы (например, 5V от адаптера или батареи); vcc — напряжение питания компонентов (обычно 3.3V или 5V). tx/rx — линии передачи и приема данных в серийном порту (например, для связи с дисплеем или модулем связи); i/o (Input/Output) — входы и выходы микроконтроллера для работы с датчиками и исполнительными устройствами; adc (Analog-to-Digital Converter) — преобразователь аналоговых сигналов в цифровые, используемый для подключения датчиков с аналоговым выходом (например, LM35); pwm (Pulse Width Modulation) — широтно-импульсная модуляция для управления скоростью вентиляторов или яркостью светодиодов; dht (Digital Humidity and Temperature Sensor) — датчик температуры и влажности (например, DHT22); ds18B20 — цифровой датчик температуры с интерфейсом 1-Wire. lcd (Liquid Crystal Display) — жидкокристаллический дисплей для отображения информации (например, 16x2 или 20x4). Выбор средств индикации В системе необходимо визуально отображать номер записываемого или стираемого ключа и вход в режим программирования. Для этих целей подойдет одноразрядный семи сегментный индикатор. Например, TM1637. Это один из самых популярных и удобных индикаторов для отображения числовой информации. Он широко используется благодаря своему компактному размеру. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 25 Рисунок 3 – Индикатор и схема подключения Выбор супервизора Супервизоры питания – интегральные микросхемы, которые изменяют состояние своего выходного цифрового сигнала, если уровень напряжения питания снизился ниже определенной пороговой величины напряжения. Доминирующей сферой микропроцессорные использования системы, особенно таких если устройств в них являются используются энергонезависимые запоминающие устройства. В проектируемой системе будем использован супервизор TPS38282. Применение супервизоров питания в таких системах позволяет устранить следующие проблемы: несанкционированное поведение микропроцессора/микроконтроллера при подаче питания и снятии питания, т.е. если существуют интервалы времени, когда напряжение питания находится на недостаточном уровне для корректной дешифрации и исполнения кода команды; как следствие из первого пункта, инициация самопроизвольной записи в энергонезависимую память за счет сбоя в выполнении программы; инициация процесса записи в энергонезависимую память, когда напряжение питания заведомо находилось на уровне недостаточного для корректного завершения процесса записи. Выбор приемопередатчика Нам необходим двухканальный приемопередатчик, работающий на КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 26 частоте 2.4 GHz. В пару к микроконтроллеру TPS38282 идеально подойдет приемопередатчик NRF24L01 той же фирмы. Отличительными особенностями этого приемопередатчика являются низкое энергопотребление и небольшие размеры. В беспроводных сенсорных сетях модуль применяется для передачи данных между различными датчиками, таких как измерение температуры, влажности и уровня воды. Модуль NRF24L01 имеет несколько преимуществ. Он обеспечивает дальность связи до 100 метров в открытом пространстве, что делает его подходящим для домашних и небольших промышленных приложений. Выбор исполнительных устройств Система должна управлять температурой. Для этого выберем обогреватель Dr. Infrared Heater Portable Space Heater. Рисунок 4 – Обогреватель Dr. Infrared Heater Portable Space Heater Разработка функциональной схемы Для разработки функциональной схемы автоматического регулирования температуры в инкубаторе на базе Arduino потребуется следующее оборудование: микроконтроллер Arduino; датчик температуры; датчик влажности; нагревательный элемент; жк-дисплей для отображения информации о состоянии системы; КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 27 реле или MOSFET: для управления включением и выключением нагревательных элементов и вентиляторов; провода и разъемы для подключения всех компонентов; кнопки для настройки желаемых значений температуры и влажности функциональная схема автоматического регулирования температуры в инкубаторе на базе Arduino может выглядеть следующим образом; в центре схемы находится микроконтроллер, который выполняет основную логику управления; датчик влажности подключен к цифровому входу для измерения уровня влажности; нагревательный элемент подключен к реле или MOSFET, который управляется Arduino; информация о состоянии системы (уровень корма, настройки автоматического кормления) отображается на жК-дисплее; кнопки подключены к цифровым входам Arduino для ввода значений температуры и активации режима программирования. Эта функциональная схема обеспечивает представление работы системы автоматического регулирования температуры в инкубаторе. Разработка схемы автоматического регулирования температуры Для разработки схемы автоматического регулирования температуры на базе Arduino необходимо следующее оборудование и компоненты: пата Arduino (например, Arduino Uno); реле или MOSFET: для управления включением и выключением нагревательных элементов и вентиляторов. Это позволит контролировать мощность нагревателей в зависимости от сигнала от микроконтроллера; нагревательный элемент; датчики температуры и влажности; кнопки для ввода целевых значений температуры и влажности; КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 28 дисплей для отображения информации о времени подачи корма и состоянии системы; блок питания: для обеспечения питания Arduino и всех исполнительных устройств. Разработку программного кода для автоматического регулирования температуры можно выполнить с помощью среды Arduino IDE. Основные шаги разработки схемы автоматического регулирования температуры: подключение модулей и компонентов к плате Arduino согласно схеме подключения; проверка работы всех компонентов; на основе результатов тестирования внесите изменения в код и схемы подключения для улучшения работы системы; написание программного кода; Создайте полную документацию, включающую схему подключения, описание компонентов и программный код. После завершения всех шагов разработки и тестирования автоматического регулирования температуры его можно установить на нужное место и использовать. Программное обеспечение микроконтроллера Для создания программного обеспечения микроконтроллера для автоматического регулирования температуры на базе Arduino необходимо провести следующие шаги: установить Arduino IDE на компьютер. Это бесплатная среда разработки, которая позволяет программировать микроконтроллер Arduino; подключить Arduino к компьютеру с помощью USB-кабеля; загрузить программу на микроконтроллер Arduino, нажав кнопку "Upload" в Arduino IDE; КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 29 подключить механизм автоматического регулирования температуры к микроконтроллеру Arduino, убедившись в правильности подключения проводов; проверить работоспособность автоматического регулирования, запустив программу на Arduino. Таким образом, создав программное обеспечение микроконтроллера на базе Arduino, вы сможете автоматизировать процесс автоматического регулирования и обеспечить точное и регулярное температуры. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 30 ЗАКЛЮЧЕНИЕ Цели и задачи. В ходе разработки системы автоматического регулирования температуры в инкубаторе была поставлена задача создать устройство, которое обеспечивает регулирования температуры без необходимости постоянного вмешательства со стороны владельца. Использованные технологии Проект основан на использовании платформы Arduino, которая обеспечивает простоту программирования и возможность интеграции различных компонентов, датчики температуры и влажности и обогреватели для поддержания температуры. Система автоматического регулирования температуры в инкубаторе на базе Arduino обладает рядом функциональных возможностей: контроль температуры и влажности; автоматическое управление нагревом; индикация состояния системы; поддержка различных сенсоров и модулей. Преимущества системы автоматического регулирования температуры упрощает систему обеспечения стабильного контроля температуры и влажности. Также автоматическое поддержание заданных параметров снижает риск возникновения отклонений, которые могут негативно сказаться на развитии эмбрионов. Перспективы развития. В будущем проект можно развивать, интегрируя дополнительные функции, такие как: интеграция системы с IoT; добавления дополнительных датчиков для мониторинга других важных параметров; использование машинного обучения и алгоритмов прогнозирования; расширение функциональности системы за счет интеграции с другими системами автоматизации. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 31 Реализация системы автоматического регулирования температуры на базе Arduino показала свою успешность и практичность. Такой проект не только решает проблему поддержания температуры в инкубаторе, но и может быть доработан и усовершенствован с учетом потребностей владельцев. Это свидетельствует о большом потенциале применения Arduino в сфере автоматизации и технологий инкубации. КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 32 ЛИТЕРАТУРА 1. https://www.instructables.com/Temperature-Controlled-Incubator-UsingArduino/ 2. https://www.circuitbasics.com/how-to-set-up-the-dht11-humidity-sensoron-an-arduino/ 3. https://forumnextpcb.medium.com/temperature-controlled-fan-usingarduino-267c8247408a 4. https://www.hackster.io/k-gray/chicken-egg-incubator-with-arduino-44f70f КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 33 ПРИЛОЖЕНИЕ #include <DHT.h> #define DHTPIN 2 // Пин, к которому подключен датчик DHT11 #define DHTTYPE DHT11 // Тип датчика DHT11 DHT dht(DHTPIN, DHTTYPE); #define HEATER_PIN 3 // Пин для управления нагревателем float desiredTemperature = 37.5; // Заданная температура (в градусах Цельсия) float desiredHumidity = 60.0; // Заданная влажность (в %) void setup() { Serial.begin(9600); // Начинаем последовательную передачу данных dht.begin(); // Инициализируем датчик DHT11 pinMode(HEATER_PIN, OUTPUT); // Устанавливаем пин нагревателя как выход } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); // Проверка на ошибки чтения if (isnan(h) || isnan(t)) { Serial.println("Ошибка чтения с датчика DHT!"); return; } Serial.print("Температура: "); Serial.print(t); Serial.print(" °C, Влажность: "); Serial.print(h); Serial.println(" %"); if (t < desiredTemperature) { digitalWrite(HEATER_PIN, HIGH); // Включаем нагреватель Serial.println("Нагреватель включен."); } else { digitalWrite(HEATER_PIN, LOW); // Выключаем нагреватель Serial.println("Нагреватель выключен."); } delay(2000); // Задержка перед следующим циклом КП.09.02.01 T-45 26.00.00 ПЗ. Изм. Лист № докум. Подпись Дата Лист 34