Блок терморегулятора инкубатора

Тип:
Добавлен:

Содержание

Введение

. Разработка схемы электрической структурной блока терморегулятора инкубатора

. Выбор элементной базы

.1 Описание микроконтроллера PIC16F84

.1.1 Память микроконтроллера

.1.2 Микропроцессор

.1.3 Порты ввода-вывода

.1.4 Таймеры

.1.5 Система прерываний

.1.6 Синхронизация микроконтроллера PIC16F84

.1.7 Энергосберегающий режим SLEEP

. Разработка схемы электрической принципиальной

.1 Разработка схемы электрической принципиальной схемы синхронизации

.2 Разработка схемы электрической принципиальной датчика температуры

.3 Разработка схемы электрической принципиальной схемы выбора режима

.4 Разработка схемы электрической принципиальной схемы индикации

.5 Разработка схемы электрической принципиальной схемы сопряжения с нагревателем

. Разработка программы

. Описание работы устройства

. Расчётная часть

.1 Расчёт фильтров по питанию

.2 Расчет схемы индикации

.3 Расчет схемы сопряжения с нагревателем

.4 Расчет потребляемой мощности

. Конструкторско - технологический раздел проекта

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

.2 Разработка технологического процесса сборки и монтажа

.3 Расчет надежности

.4 Расчет элементов рисунка печатного монтажа

.5 Расчет комплексного показателя технологичности

. Экономический раздел

.1 Расчет норм времени по операциям технического процесса и трудоемкости производственной программы

.2 Расчет количества рабочих мест и производственных рабочих

.3 Расчет заработной платы и отчислений, расходов по обслуживанию и управлению производством.

.4 Расчет стоимости материалов и комплектующих

.5 Расчет полной себестоимости и цены изделия

. Охрана труда

.1 Требования к рабочим местам и персоналу

.2 Противопожарные мероприятия

Заключение

Список используемых источников

Введение

На сегодняшний день фермеры и птицеводы стараются менять поголовье кур-несушек каждые 2 года. Существует два варианта замены поголовья кур: купить цыплят или вывести их самостоятельно. Покупные цыплята могут оказаться некачественными и каждый фермер рискует остаться с поголовьем кур, которые несутся плохо, либо не несутся совсем. Вывод маленьких курочек самостоятельно, уменьшает вероятность риска и при этом не нужно тратить свои деньги каждые 2 года. Для самостоятельного вывода цыплят необходим электронный инкубатор.

Каждый опытный птицевод знает, что для того, чтобы получить хороший вывод цыплят нужно поддерживать определенный температурный режим. Основные требования к температурному режиму - это максимальная точность измерения и поддержания температуры с допустимой погрешностью 0,1 - 0,2˚С.

Созревание эмбрионов делится на 4 этапа:

а) первый этап - с 1 по 7 сутки. Формируется сердце, кровеносная система и зачатки внутренних органов. В этот период проветривание не требуется, но к концу этапа эмбриону уже нужен кислород. Самая оптимальная температура - 37,8 °C. Яйца нужно переворачивать каждый 6 часов, то есть 4 раза в сутки. При этом открывать инкубатор крайне не рекомендуется;

б) второй этап - с 8 по 14 сутки. В течение этого времени у эмбриона оформляется скелет и клюв. Температура та же, что и в предыдущем периоде. Менять положение яиц нужно уже каждые 4 часа - 6 раз в сутки. Также требуется проветривать яйца для поступления кислорода, делать это надо 2 раза в сутки по 5 минут;

в) третий этап - с 15 по 18 сутки. Переворачивать яйца надо также 6 раз в сутки, при этом проветривание увеличивают до 15-20 минут 2 раза в день. Температуру снижают до 37,5°C. В конце периода при удачном выведении цыплята начинают издавать едва слышные звуки и переворачиваться в яйце;

г) четвертый этап - с 19 по 21 сутки. В первую очередь прекращают переворачивать яйца, цыплята достаточно сильные и делают это самостоятельно. Снижают время проветривания до 5 минут два раза в день. Температуру снижают до 37,3°C. В конце этого периода происходит вылупление цыплят в инкубаторе.

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

Цели дипломного проектирования:

разработка схем электрических структурной и принципиальной блока терморегулятора инкубатора;

выбор и обоснование выбора конструкции модуля первого уровня с учетом требований технического задания;

разработка сборочного чертежа и чертежа печатной платы;

разработка технологического процесса сборки и монтажа модуля первого уровня;

расчет норм времени по операциям технологического процесса и трудоемкости производственной программы;

расчет количества рабочих мест и производственных рабочих;

расчет полной себестоимости и цены модуля первого уровня;

описание мероприятий по охране труда, технике безопасности и производственной санитарии на рабочем месте монтажника РЭА.

1. Разработка схемы электрической структурной

Блок терморегулятора инкубатора автоматизирует процесс поддержания постоянной температуры в инкубационной камере 37,3 - 37,8˚С. Для этого необходимо устройство, которое будет замерять температуру и устройство, которое будет нагревать температуру воздуха в инкубационной камере. В качестве устройства замеряющего температуру используется электронный датчик температуры. Датчиком необходимо управлять. С целью минимизации аппаратной части все выше перечисленные функции может реализовать микроконтроллер. Микроконтроллер содержит порты ввода - вывода позволяющие подключить к нему различные устройства.

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

Для измерения температуры воздуха в инкубационной камере, необходим датчик температуры, который выдает данные о температуре на микроконтроллер.

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

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

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

Функции микроконтроллера:

обеспечение взаимодействия со схемой сопряжения с нагревателем;

обеспечение взаимодействия с датчиком температуры;

управление схемой индикации.

2. Выбор элементной базы

Схемы, выполненные на базе микроконтроллера, позволяют минимизировать аппаратные затраты. В схемах, использующих микроконтроллер, упрощается управление устройством.

На сегодняшний день широкое распространение получили фирмы Atmelи PIC, выпускающие микроконтроллеры.

Среди двух микроконтроллеров Atmega16 фирмы Atmel, представляющий 8-разрядный RISC-микроконтроллер общего назначения c быстрым процессорным ядром. Он имеет Flash-память программ, память данных EEPROM и SRAM, порты ввода-вывода и интерфейсные схемы. Гарвардская архитектура AVR реализует полное логическое и физическое разделение как адресных пространств, так и информационных шин для обращения к памяти программ и данных и PIC16F84фирмы Microchip, представляющий 8-разрядный микроконтроллер с RISC-архитектурой, поддерживает ввод-вывод 16-разрядного процессора. Использует Гарвардскую архитектуру, основанную на разделении шин и областей памяти для данных и команд.

Среди представленных микроконтроллеров выбирается PIC, т.к. он имеет следующие преимущества по сравнению с Atmel:

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

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

мощную поддержку разработок, которую осуществляет фирма Microchip.

Микроконтроллеры PIC16F84A выпускаются в двух исполнениях коммерческом и индустриальном. Они отличаются рабочей температурой микроконтроллера. От 0 до +40 °C в коммерческом исполнении и от -40 до +85 °C в индустриальном исполнении. Для счетчика людей в помещении будет использоваться индустриальное исполнение.

Для счетчика людей в помещении не требуется высокая частота микроконтроллера. Поэтому выбирается микроконтроллер PIC16F84A - 4МГц в индустриальном исполнении.

Электрические параметры микроконтроллера представлены в таблице 2.1.

Таблица 2.1 - Основные электрические параметры микроконтроллера PIC16F84A

ПараметрЗначениеПримечаниеРабочая температура TA, ˚C-40 … + 85Индустриальное исполнение.Максимальная тактовая частота FOSC, МГц4Напряжение питания VDD, В4,0 … 6,0Потребляемый ток в стандартном режиме IDD, мА1,8 … 4,5FOSC= 4 МГц, VDD = 5.5 ВПотребляемый ток в режиме SLEEPIPD, мкА7 … 28 1 … 16 1 … 14VDD = 4 В, WDTвкл., инд. VDD = 4 В, WDTвыкл., инд. VDD = 4 В, WDTвыкл., комм.Максимальный втекающий ток для любого вывода, мА25Управление светодиодами без дополнительного буфера (но с резистором)Максимальный вытекающий ток для любого вывода, мА20Управление светодиодами без дополнительного буфера (но с резистором)Количество циклов стирание/запись для флэш-памяти программ, не менее1000Количество циклов стирание/запись для памяти данных EEPROM, не менее10.000.000

2.1 Описание микроконтроллера PIC16F84

2.1.1 Память микроконтроллера

Используется Гарвардская архитектура, в которой программы и данные размещаются в разной памяти.

Память программ - постоянная память объёмом 1К слово, разрядность ячейки 14 бит.

Диапазон адресов ячеек: 000h - 3FFh.

Программа записывается в память программ микроконтроллера с помощью программатора.

Память данных - оперативная память, объёмом 256 байт, разрядность ячейки 8 бит.

Память данных делится на два банка, объёмом 128 байт каждый.

Переключение банков происходит при помощи указания пятого разряда RP0. Если бит установлен в 0, адресуется нулевой банк, если бит установлен в 1, адресуется первый банк.

Каждый банк памяти данных содержит РОНы и специальные регистры. Специальные регистры применяются для хранения битов состояния, определяющих работу портов ввода/вывода, таймеров и других модулей микроконтроллера. В таблице 2.2 показано распределение регистров в банках.

Таблица 2.1 - Распределение регистров в банках памяти данных

Адреса ячеек 0 банка в 16 С.С.Банк 0Банк 1Адреса ячеек 1 банка в 16 С.С.00hКосвенный адресКосвенный80h01hTMR0PCL81h02hPCLPCL82h03hSTATUSSTATUS83h04hFSRFSR84h05hPORTATRISA85h06hPORTBTRISB86h07hНедоступенНедоступен87h08hEEDATAEECON188h09hEEADREECON289h0AhPCLATHPCLATH8Ah0BhINTCONINTCON8Bh0Ch … 4FhРегистры общего назначения8Сh … FFh

Постоянная память данных EEPROM- память, доступная для чтения и записи во всём рабочем диапазоне питающих напряжений, объёмом 64 байта. Перед записью нового значения предыдущее стирается. Для доступа к ней используется косвенно-регистровая адресация через специальные регистры EEADR, EEDATA, EECON1, EECON2.

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

2.1.2 Микропроцессор

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

Арифметико-логическое устройство выполняет арифметические операции (сложение и вычитание), логические операции (дизъюнкция, конъюнкция, инверсия, неравнозначность), а также устанавливает флаги (С - флаг переноса/заёма, DC - флаг десятичного переноса/заёма, Z - флаг нуля).

Устройство управления микропроцессора обеспечивает выполнение команды, формирует управляющие сигналы для блоков процессора. Состав устройства управления:

а) регистр команд (IP) обеспечивает приём из памяти программ и хранение команды, разрядность данного регистра 14 бит;

б) счётчик команд (PC) хранит адрес команды и увеличивает своё состояние на единицу перед считыванием следующей команды из памяти. Разрядность счётчика 13 бит, следовательно, он позволяет адресовать восемь килослов памяти команд. Младший байт счётчика команд является полностью доступным для чтения и записи регистром PCL. Обращение к старшим пяти битам происходит аппаратно через регистр PCLATH. Содержимое PCLATHпереноситься в старшие разряды счётчика команд, когда происходит запись нового значения в счётчик команд (переход на подпрограмму, безусловный переход и если регистр PCLявляется регистром назначения для операции);

в) устройство декодирования команды и управления служит для преобразования кода операции команды в сигналы управляющие аппаратурой;

г) конвейер, позволяет обеспечить выполнение текущей команды и выборку следующей команды. Время выборки команды из памяти и её выполнение называется командным циклом.

В первом такте Q1 команда из конвейера загружается в регистр команд и счётчик команд увеличивается на единицу. Во втором такте Q2 считывается команда из памяти программы и происходит декодирование команды и чтение операндов. В третьем такте Q3 выполняется заданная операция, а в четвёртом такте Q4 записывается результат. Все команды кроме команд передачи управления выполняются за 4 такта, они в свою очередь выполняются за 8 тактов, так как при выполнении конвейер очищается и один цикл требуется для выборки команды по адресу перехода.

2.1.3 Порты ввода-вывода

Микроконтроллеры PIC16F84 имеют два порта ввода-вывода PORTA и PORTB.

Каждый вывод порта может быть запрограммирован на ввод или на вывод установкой соответствующего бита в регистрах TRISA и TRISB. Выводимые значения фиксируются в регистрах-защелках PORTAи PORTB. Направление ввода-вывода может быть изменено в произвольный момент времени.

Регистр PORTA имеет разрядность 5 бит. Линия RA4 имеет триггер Шмитта на входе в режиме ввода и открытый сток в режиме вывода. Остальные линии PORTA по входу работают со стандартными уровнями TTL, выходы подключаются к комплементарным выходным CMOS драйверам. Линия RA4 используется также как вход внешних тактовых импульсов для таймера TMR0.

Направление передачи данных для каждой линии программируется отдельно, установкой или сбросом битов регистра TRISA. Установка бита в 1 настраивает соответствующую линию на ввод. Выходной драйвер при этом переходит в высокоимпедансное состояние. Установка бита в 0 настраивает линию порта на вывод выводит на нее содержимое соответствующего бита регистра PORTA. По умолчанию при включении питания все линии настроены на ввод. При чтении PORTA всегда считываются действительные логические уровни на выводах, независимо от того, запрограммированы отдельные разряды как входы или как выходы.

PORTB представляет собой 8-битный двунаправленный порт. Выходные значения записываются в регистр PORTB. Направление ввода-вывода определяется установкой или сбросом битов регистра TRISB. Установка бита в 1 настраивает соответствующую линию на ввод, переводя выходной драйвер в высокоимпедансное состояние, а-0 - на вывод. При включении питания все линии по умолчанию настроены на ввод. Чтение порта В всегда возвращает действительные значения на выводах, независимо от направления передачи

Все выводы PORTB имеют встроенную отключаемую нагрузку в виде резисторов, подключенных к шине питания (подтягивающие резисторы). Нагрузка включается и отключается одновременно для всех выводов при помощи бита 7 (RBPU) регистра OPTION_REG. Программное обнуление бита RBPU подключает нагрузку, но для линий, настроенных на вывод, нагрузка автоматически отключается.

Линии RB4-RB7 могут использоваться как входы прерывания по изменению уровня. Линия RB0 может использоваться как вход прерывания по фронту.

2.1.4 Таймеры

Модуль таймера состоит:

восьмиразрядный таймер TMR0;

программируемый восьмиразрядный предварительный делитель;

мультиплексор входного сигнала;

генератор прерывания по переполнению таймера.

Режим работы таймера от внутреннего тактового сигнала выбирается обнулением разряда T0CS регистра OPTION_REG. В этом режиме инкрементирование TMR0 происходит в каждом машинном цикле. Частота сигнала на счётном входе таймера в четыре раза меньше, чем частота микроконтроллера. Таймер может считать внешние сигналы, поступающие на вход RA4 микроконтроллера.

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

Сторожевой таймер WDT представляет собой комбинацию RC-генератора и восьмиразрядного таймера, при переполнении которого происходит сброс микропроцессора микроконтроллера. Между генератором и таймером WDT может быть включён предварительный делитель. Время выдержки таймера зависит от температуры, напряжения питания и коэффициента деления предделителя.

При подключении предделителя в WDTс максимальным коэффициентом деления 128, выдержка может достигать почти 2,3 секунды. Минимальная номинальная выдержка WDTбез предделителя 18 миллисекунд.

терморегулятор инкубатор нагреватель мощность

2.1.5 Система прерываний

Все прерывания микроконтроллера PIC16F84 аппаратные маскируемые.

Микроконтроллер имеет четыре источника прерывания:

внешние прерывания (прерывание по входу RB0, прерывание по изменению состояния одной из линий RB4-RB7);

внутренние прерывания (прерывание по переполнению таймера TMR0, прерывание по окончанию записи в энергонезависимую память данных EEPROM).

Вектор прерывания один и имеет адрес 04h. В нём хранится первая команда обработчика прерываний. Для управления системой прерываний используется регистр INTCON.

2.1.6 Синхронизация микроконтроллера PIC16F84

Микроконтроллеры PIC16F84 не имеют встроенного генератора, работающего без внешней цепи. Он содержит только элементы, которые можно использовать для построения генератора, а именно инвертор с отрицательной обратной связью.

2.1.7 Энергосберегающий режим SLEEP

Этот режим характерен низким потреблением тока, около 1 мкА. Вход в режим SLEEPосуществляется командой SLEEP. Выход из режима SLEEP осуществляется в результате следующих событий:

внешним сбросом по входу MCLR;

сброс при переполнении WDT;

прерыванием.

При первом событии происходит сброс всего устройства. Два других события предполагают продолжение выполнения программы [1].

3. Разработка схемы электрической принципиальной

3.1 Разработка схемы электрической принципиальной схемы синхронизации

Микроконтроллер PIC16F84 не содержит встроенного генератора, а только его элементы, поэтому необходимо подключить кварцевый резонатор. Так как разрабатывается схема электрическая принципиальная блока терморегулятора инкубатора, то для него не требуется высокая частота синхронизации. Выбирается кварцевый резонатор HC-49S с частотой 4МГц. В таблице 3.1 представлены электрические характеристики кварцевого резонатора[2].

Таблица 3.1 - Электрические характеристики кварцевого резонатора HC-49S

ПараметрЗначениеРезонансная частота, МГц4Рабочая температура, °С-20…70Точность настройки, dF/Fx10-650

Кварцевый резонатор подключается к входам OSC1 и OSC2 микроконтроллера. Для повышения стабильности работы кварцевого генератора к нему параллельно подключаются конденсаторы С4 и С5. Емкость конденсаторов выбирается в соответствии с таблицей 3.2[2].

Таблица 3.2 - Режим XT микроконтроллера

Режим генератораЧастота кварцевого резонатора, КГцЕмкость конденсатора С4, пФЕмкость конденсатора С5, пФXT400015…33

Выбирается ёмкость конденсатора 30 пФ. Выбираются конденсаторы C4, C5 К10-17А-М47 30пФ±10%.

Микроконтроллер необходимо настроить на режим работы XT установкой в 1 нулевого разряда и установкой в 0 первого разряда в слове конфигурации по адресу 2007h.

При включении напряжения питания схема синхронизации формирует тактовые сигналы частотой 4 МГц. Период этих сигналов определяет такт микроконтроллера.

Схема электрическая принципиальная схемы синхронизации ZQ1, C4, C5 PK 02.01.09.441 04 Э3.

3.2 Разработка схемы электрической принципиальной датчика температуры

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

Таблица 3.3 - Сравнение характеристик цифровых термометров

НазваниеDS18B20DS1822Минимальная измеряемая температура, ˚С-55-55Максимальная измеряемая температура, ˚С125125Точность измерения,%0,52Напряжение питания,В3…5.53…5.5Интерфейс1 - wire1 - wireЦена, руб190380

Датчик температуры подключается к плате через разъем XP2. Выбирается разъем PLS-2R. В таблице 3.4 представлены электрические характеристики [12].

Таблица 3.4 - Электрические характеристики разъема PLS-2R

ПараметрыЗначениеПрямой ток, А1Рабочее напряжение, В500Рабочая температура, °С-55…140

Выбирается цифровой термометр DS18B20, так как для инкубации яиц необходима точность измерения температуры 0,1 - 0,2°С.B20 обменивается даннымипоинтерфейсу 1-wire.1-Wire - интерфейсобеспечивает передачу информации последовательным кодом по одному проводу.

Основа цифрового термометра DS18B20 - его температурный преобразователь. Разрешающая способность температурного преобразователя может быть выбрана при инициализации DS18D20 и составляет 9, 10, 11, или 12 бит, соответствуя приращениям (дискретности измерения температуры) 0.5 °C, 0.25°C, 0.125°C, и 0.0625°C, соответственно. Разрешающая способность по умолчанию установлена 12-бит. В исходном состоянии DS18B20 находится в состоянии покоя (в неактивном состоянии).Чтобы начать температурное измерение и преобразование, микроконтроллер должен подать команду начала конвертирования температуры [0х44]. После конвертирования, полученные данные запоминаются в 2-байтовом регистре температуры в оперативной памяти, и DS18B20 возвращается к неактивному состоянию. Микроконтроллер может контролировать конвертирование температуры (после команды [0х44]) по состоянию шины. На шине будет присутствовать логический «0» когда происходит температурное преобразование. И логическая «1», когда конвертирование выполнено. После выполненного конвертирования команда [0хBE] позволяет устройству управления шиной читать память подчиненного устройства. Выходные температурные данные DS18B20 калиброваны в градусах Цельсия. Температурные данные запоминаются как 16-битовое число со знаком. Биты признака (S) указывают, является ли температура положительной или отрицательной: для положительных S равно 0, а для отрицательных чисел S равно 1. Если DS18B20 будет настроен для конвертирования в 12-битныйкод, то все биты в температурном регистре будут содержать действительные данные. Для 11-битного кода, бит 0 не определён. Для 10-битного кода, биты 1 и 0 неопределенны, и для 9-битногокода,биты 2, 1 и0 неопределенны.

Вывод GNDцифрового термометра соединяется с общим проводом источника питания. Вывод VCCцифрового термометра соединяется с напряжением питания +5В. Вход/выход данных DQсоединяется с линией микроконтроллера RA4, которая настраивается, то на ввод установкой в единицу четвертого бита регистра TRISA, то на вывод установкой в ноль четвертого бита регистра TRISA, при этом вход/выход данных DQ подключается к источнику питания через подтягивающий резистор. Сопротивление подтягивающего резистора R1 выбирается 4,7 кОм [13].Выбирается резистор C2-33-0,125-4,7кОм±10%.

При включении напряжения питания цифровой термометр по команде от микроконтроллера начинает замерять температуру воздуха и передавать данные по линии DQ на микроконтроллер.

Схема электрическая принципиальная датчика температуры XP2, R1 РК 09.02.01.441 04 Э3.

3.3 Разработка схемы электрической принципиальной схемы выбора режима

Для установки диапазона, в пределах которого будет поддерживаться температура воздуха в инкубационной камере, используются кнопки SB1 - SB3. Выбираются кнопки TC - 0404. Электрические характеристики приведены в таблице 3.5 [12].

Таблица 3.5 - Электрические характеристики кнопки TC-0404

ПараметрыЗначениеПрямой ток, мА50Рабочее напряжение, В12Рабочая температура, °С-55…140Количество коммутаций500000

Кнопки SB1 -SB3 подключаются через резисторы R3 - R5 к линиям RB5 - RB7 микроконтроллера. Резисторы предназначены для защиты от статического электричества входов микроконтроллера. Выбирается сопротивление резисторов 100 Ом [1]. Выбираются резисторы С2-23 - 0,125 - 100 Ом±10%.

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

Кнопка SB1 предназначена для переключения блока терморегулятора инкубатора в режим установки нижнего порога температуры. Нажатием кнопки SB1 начинается установка нижнего порога температуры, например, 37,5˚С. При температуре ниже этого порога включается нагреватель. КнопкаSB2 устанавливается нужное число десятых долей градусов (от 0 до 9), при этом мигает младший разряд индикатора. Кнопка SB3 предназначена для выбора установки единиц градусов или десятков градусов. В режиме установки единиц градусов мигает средний разряд индикатора HG1. В режиме установки десятков градусов мигает старший разряд индикатора HG1. Нажатием кнопки SB1 второй раз, блок терморегулятора переключается в режим установки верхнего порога температуры порога температуры, например, 38˚С, при превышении которого нагреватель выключается. Процедура установки верхнего порога температуры аналогична установке нижнего порога. Третье нажатие на кнопку SB1 обеспечивает выход из режима установки и блок терморегулятора обеспечивает поддержание температуры в заданных пределах. Все введенные значения сохраняются в энергонезависимой памяти данных микроконтроллера EEPROM.

Линии RB5 - RB7 настраиваются на ввод установкой в единицу одноименных разрядов регистра TRISB.

Схема электрическая принципиальная схемы выбора режима R3 - R5,SB1 - SB3

РК 09.02.01.441 04 Э3.

3.4 Разработка схемы электрической принципиальной схемы индикации

Схема индикации отображает данные о температуре внутри инкубационной камеры.

Существует три варианта индикаторов: полупроводниковые семисегментные, жидкокристаллические семисегментные, жидкокристаллические дисплеи. Инкубатор может устанавливаться в помещениях с недостаточной освещенностью. Для отображения трехразрядного числа достаточно три разряда индикатора. В связи с этим выбирается полупроводниковый семисегментный индикатор. Сравнение характеристик семисегментных индикаторов представлены в таблице 3.6 [12].

Таблица 3.6 - Сравнение характеристик полупроводниковых семисегментных индикаторов

НазваниеBC56-12GWABC56-12EWAДополнительный символТочкаТочкаЦвет свеченияЗеленыйКрасныйМаксимальная сила света, мКд, при токе 10мА10,56,4Количество сегментов77Количество разрядов33Схема включенияОбщий катодОбщий катодМаксимальное обратное напряжение,В55Максимальное прямое напряжение, В2,52,5Рабочая температура, ˚С-40..85-40..85Цена, руб130130

Выбирается полупроводниковый семисегментный индикатор BC56-12GWA, так как сила света, при одинаковом токе, больше чем у индикатора BC56-12EWA. А также зеленый цвет свечения более приятен для глаз человека.

Полупроводниковый семисегментный индикатор отображает три цифры, в связи с этим применяется динамическое управление индикатором. Динамическое управление индикатором экономит линии портов ввода - вывода микроконтроллера. Двоично - десятичный код цифры выдается микроконтроллером на линии RB0 -RB3, в то время как объединенные катоды индикатора HG1 поочерёдно коммутируются через порт PORTA.

Для преобразования двоично - десятичного кода в семисегментный код необходим преобразователь. Выбирается микросхема с напряжением питания +5В и вытекающим током не менее 10мА, токи сегментов 10мА должны обеспечить максимальную силу света полупроводникового семисегментного индикатора. Выбирается преобразователь CD4511BE. В таблице 3.7 представлена электрические характеристики [12].

Таблица 3.7 - Электрические характеристики преобразователя CD4511BE.

ПараметрыЗначениеВходной ток, мА10Выходной ток, мА25Напряжение питания, В3...18Рабочая температура, °С-55…125

Таблица истинности преобразователя представлена на рисунке 3.1.

Рисунок 3.1 - Таблица истинности преобразователя

При включении всех сегментов одного разряда полупроводникового семисегментного индикатора ток, протекающий через общий катод равен 80мА, максимальный вытекающий ток микроконтроллера 20мА. Для управления общими катодами полупроводникового семисегментного индикатора необходим транзисторный ключ. Выбирается транзистор, у которого ток коллектора не менее 80мА и напряжение коллектор - эмиттер не менее 5В. Выбираются транзисторы VT1 - VT3КТ315Б. В таблице 3.9 представлены электрические характеристики [12].

Таблица 3.9 - Электрические характеристики транзистора КТ315Б

ПараметрыЗначениеМаксимальный ток коллектора, мА100Статический коэффициент передачи тока50…350Напряжение насыщения коллектор-эмиттер, В0,4Напряжение насыщения база-эмиттер, В1,1Рабочая температура, °С-40…85

Информационные входы (1, 2,4,8) преобразователя кода DD2 подключаются к линиям микроконтроллера RB0 - RB3. Вход разрешения работы преобразователя E# соединяется с общим проводом источника питания, тем самым разрешается работа преобразователя. Вход тестирования индикатора LT#и вход гашения подсветки индикатора BL#соединяются с напряжением питания +5В, тем самым отключаются тестирование индикатора и подсветка индикатора.

Ток, протекающий через сегмент индикатора HG1 равен 10мА, что не превышает максимальный вытекающий ток линии преобразователя кода DD2 20мА. Поэтому каждый сегмент A - G индикатораHG1 соединяется с одноименными выходами преобразователя кода DD2 через токоограничительные резисторы R10 - R16. Дополнительный символ DP семисегментного индикатора соединяется с линией микроконтроллера RB4 через токоограничительный резистор R6. Общий катод разряда десятков KA1 соединяется с коллектором транзистора VT1, общий катод разряда единиц KA2соединяется с коллектором транзистора VT2 и общий катод разряда десятых долей KA3соединяется с коллектором транзистора VT3.

Эмиттеры транзисторов VT1 - VT3 соединяются с общим проводом источника питания. База транзистора VT1 соединяется через токоограничительный резисторR7 с линией RA2микроконтроллера, база транзистора VT2 соединяется через токоограничительный резисторR8 с линией RA1 микроконтроллера, база транзистора VT3 соединяется через токоограничительный резисторR9 с линией RB0микроконтроллера.

Семисегментный индикаторHG1 отображает температуру воздуха в инкубационной камере. Данные о температуре с выходов микроконтроллера (RB0 - RB4)поступают в двоично-десятичном коде на информационные входы преобразователя кода DD2. Преобразователь кода DD2 преобразует двоично-десятичный код в семисегментный и с выходов преобразователя DD2 семисегментный код поступает на сегменты A - G семисегментного индикатораHG1. Одновременно с этим микроконтроллер по линиям RA0 - RA2 подключает на базу одного из транзисторов VT1 - VT3 уровень логической единицы, тем самым открывая транзистор. Через сегменты индикатораHG1, на которые отпреобразователя DD2 поступили высокие уровни напряжения протекает ток и на знакоместе отображается цифра. В случае, если транзистор закрыт, то соответствующий разряд семисегментного индикатора не светиться.

Линии микроконтроллера RA0 -RA2и RB0 - RB4 настраиваются на вывод, установкой в ноль одноименных разрядов регистров TRISAиTRISB.

Расчет схемы индикации представлены в разделе 6.

Схема электрическая принципиальная схемы индикации R6 - R9, R11 - R17, VT1 - VT3, HG1, DD2РК 09.02.01.441 04 Э3.

3.5 Разработка схемы электрической принципиальной схемы сопряжения с нагревателем

Схема сопряжения с нагревателем служит для подключения к нагревателю напряжения питания и запуска нагревателя инкубатора. Существует несколько типов нагревателей: нагревательный шнур из углеродистого волокна, трубчатый электронагреватель (ТЕН), лампа накаливания.

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

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

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

В качестве нагревателя выбирается нагревательный шнур из углеродистого волокна. В таблице 3.10 представлены электрические характеристики нагревательного шнура [12].

Таблица 3.10 - Электрические характеристики нагревательного шнура из углеродистого волокна

ПараметрыЗначениеРабочий ток на 10 метров, А0,68Рабочее напряжение на 10 метров, В220Сопротивление на метр, Ом33Максимальная мощность на метр, Вт14Рабочая температура, °С-40…200

Для инкубации от 80 до 100 яиц необходимо 10 метров нагревательного шнура. Микроконтроллер не может обеспечить напряжение питания нагревательного шнура, поэтому его необходимо подключить к напряжению питания 220В. Нагревательный шнур находится в инкубационной камере инкубатора. В связи с этим один конец нагревательного шнура подключить к напряжению 220Висточника питания, а второй конец нагревательного шнура подключить к плате через разъем XS1. Так же через разъем XS1 к плате подключается «ноль» источника питания 220В. Выбирается разъем MF-2. В таблице 3.11 представлены электрические характеристики разъема [12].

Таблица 3.11 - Электрические характеристики разъема MF-2

ПараметрыЗначениеПрямой ток, А9Рабочее напряжение, В600Рабочая температура, °С-55…105

Ток нагревательного шнура 0,68А превышает максимальный ток микроконтроллера 20мА. Напряжение питания микроконтроллера +5В.

Напряжение питания 220В подключается непосредственно к нагревательному шнуру, а «ноль» источника питания коммутируется реле. Выбирается реле K1, у которого переменное напряжение коммутации не менее 220В, а ток коммутации не менее 0,68А. Выбирается реле V23026-A1001-B201. В таблице 3.12 представлены электрические характеристики реле [12].

Таблица 3.12 - Электрические характеристики реле V23026-A1001-B201

ПараметрыЗначениеТок срабатывания не более, мА13,5Максимальный коммутируемый ток, А1Максимальное коммутируемое напряжение, В250Номинальное рабочее напряжение, В5Рабочая температура, °С-40…85

Третий контакт реле подключается к линии RA3, которая настраивается на вывод, установкой в ноль третьего разряда регистра TRISA, 8 контакт реле подключается к общему проводу источника питания.

Пятый контакт реле подключается к нулевому проводу источника питания 220В (контакт 1 разъемаXP3). Десятый контакт реле подключается к нагревательному шнуру (контакт 2 разъема XP3).Нормально разомкнутые контакты реле 5, 10 соединяются с разъемом XP3.

Для защиты выхода микроконтроллера от ЭДС самоиндукции обмотки реле параллельно реле K1 устанавливается диод VD1. Диод VD1 должен иметь допустимое обратное напряжение в 3 - 4 раза больше [12] напряжения питания реле K1, а также запас по току. Выбирается диод VD1 КД512Б. В таблице 3.14 представлены электрические характеристики диода [12].

Таблица 3.12 - Электрические характеристики диода КД512Б

ПараметрыЗначениеМаксимальное обратное напряжение, В20Максимальный прямой ток, мА200Максимальное прямое напряжение, В1Рабочая температура, °С-55…105

На выходе RA3 микроконтроллера формируется высокий уровень напряжения, в обмотку срабатывания протекает ток, контакты 5 и 10 реле замыкаются и обеспечивают подключение нулевого провода источника питания 220В к нагревательному шнуру, шнур начинает нагреваться. Когда температура воздуха в инкубационной камере повышается на линии RA3 формируется низкий уровень напряжения, ток через обмотку срабатывания не протекает, контакты 5 и 10 реле размыкаются, нагревательный шнур моментально остывает.

Расчет схемы сопряжения с нагревателем представлен в разделе 6

Схема электрическая принципиальная схемы сопряжения с нагревателем VD1, K1, XP3 РК 09.02.01.441 04 Э3.

4. Разработка программы

В таблице 4.1 представлены переменные, используемые в программе.

Таблица 4.1 - Переменные, используемые в программе

Имя переменнойАдрес регистра или значениеНазначение переменнойfig_0.10x0CРегистр количества десятых долей градусаfig_10x0DРегистр количества единиц градусовfig_100x0EРегистр количества десятков градусовAdrFig0x0FРегистр адреса ячейки fig, которая выводится на индикаторKatod0x10Регистр выбора одного из катодов индикатораW_copy0x11Временное хранение аккумулятора WSTATUS_copy0x12Временное хранение регистра STATUSFSR_copy0x13Временное хранение регистра FSRCOM_REG0x14Регистр команд для датчикаcount0x15Счетчик циклаTEMP_LO0x16Регистр младшего байта измеренной температурыTEMP_HI0x17Регистр старшего байта измеренной температурыdopcontr0x18Счетчик контроля подключения термодатчикаSchet0x19Счетчик записанных байтовContr_L0.10х1AРегистры нижнего предела установленной температурыContr_L10х1BContr_L100х1CContr_H0.10х1DРегистры верхнего предела установленной температурыContr_H10x1EContr_H100x1FInterval0x20Счетчик для таймераcontr0x21Счетчик выводимых данных на индикаторMercan0x22Счетчик, обеспечивающий мерцание индикатора_adrec_0x23Дополнительная ячейка памятиzapcontr0x24Дополнительная ячейка памяти для увеличения числа на 1

При подключении напряжения питания к блоку терморегулятора инкубатора подпрограмма Portinc инициализирует микроконтроллер. Обнуляются РОНы fig_0.1, fig_1, fig_10. Затем PORTA настраивается на вывод, установкой в 0 всех разрядов регистра TRISA, следовательно, в регистр TRISA загружается код 00000000. Линии RB0 - RB4 настраиваются на вывод, а линии RB5 - RB7 настраиваются на ввод, следовательно, в регистр TRISB загружается код 11100000. После этого подпрограмма Timerinic сбрасывает счетчик count инициализирует таймер TMR0. Выбирается время свечения одного знакоместа 4 мс, то есть время выдержки таймера 4 мс.

Рассчитывается частота входного сигнала таймераfТ по формуле

, (4.1)

где fмк - частота микроконтроллера, МГц.

Рассчитывается период входного сигнала таймера ТТ по формуле

, (4.2)

где fT - частота сигнала на входе таймера, МГц.

Рассчитывается коэффициент деления таймераКдел по формуле

, (4.3)

где Tвых- период выходного сигнала таймера, мс;

Твх - период входного сигнала таймера, мкс.

Максимальный коэффициент деления таймера равен 256, поэтому необходимо к таймеру TMR0 подключить предделитель. Выбирается коэффициент деления предделителя 16.

Рассчитывается коэффициент деления таймера TMR0Кдел по формуле

, (4.4)

где КделТ - коэффициент деления таймера;

Кделпд - коэффициент деления предделителя.

Если производится запись в таймер TMR0, его инкрементирование начинается спустя 2 цикла, поэтому коэффициент деления TMR0 следует уменьшить на 2, то есть число 248.

Рассчитывается число N загружаемое в TMR0 для обеспечения коэффициента деления 248 по формуле

= Kделmax - (KделT - 1), (4.5)

гдеKделT - коэффициент деления TMR0;

Кделmax - максимальный коэффициент деления TMR0.

N = 256 - (248 - 1) = 9.

Для запуска таймера TMR0 в него загружается число 9.

Подпрограмма PredelTemp производит чтение диапазона установленной температуры из энергонезависимой памяти EEPROM, который был записан в EEPROM подпрограммой zapis.

Ячейки памяти EEPROM недоступны путем прямой адресации в адресном пространстве микроконтроллера. Для доступа к ячейкам энергонезависимой памяти используются регистры: EEDATA, EEADR, EECON1, EECON2.Подпрограмма zapis выполняется после установки кнопками SB1 - SB3 нижнего и верхнего порога температуры. При первоначальном запуске блока терморегулятора диапазон температуры не установлен, таким образом подпрограмма прекращает чтение из EEPROM обнаружив 0 в первой ячейке и принудительно устанавливает нижний порог равный 37.3˚С, верхний порог равный 37,8˚С.

После принудительной установки диапазона температуры необходимо очистить ячейки памяти TEMP_LO и TEMP_HI, которые хранят ранее измеренную температуру. На момент измерения температуры запрещаются прерывания, следовательно, в регистр INTCON загружается код 00000000. В таблице 4.2 представлена структура регистра INTCON.

Таблица 4.2 - Структура регистра INTCON

Номер битаИмяНазначениеПояснения7GIEБит глобального запрета прерываний1 - Разрешены все прерывания 0 - запрещены все прерывания6EEIEРазрешение прерывания по окончанию записи в EEPROM1 - разрешено 0 - запрещено5T0IEПрерывания по переполнению таймера TMR01 - разрешено 0 - запрещено4INTEПрерывание по входу RB01 - разрешено 0 - запрещено3RBIEПрерывание по изменению состояния на входах порта B (RB7 - RB4)1 - разрешено 0 - запрещено2T0IFФлаг прерывания по переполнению TMR01 - был переполнен 0 - не был переполнен1INTFФлаг прерывания по входу RB01 - произошло изменение сигнала на входе RB0 0 -не было изменения сигнала на входе RB00RBIFФлаг прерывания по изменению состояния на входах RB7 - RB41 - на одном из выводов произошло изменение уровня 0 - не было изменения уровня ни на одном из выводов

Запись - чтение данных происходит по интерфейсу 1 - wire. Передача данных по линии осуществляется импульсами нулевого уровня, но различной длительности логического 0 и логической 1. Длительность нулевого сигнала равна 60мкс, длительность сигнала логической единицы равна 15мкс.

Далее запускается подпрограмма Test_inic, которая производит проверку подключения термодатчика и его инициализацию. Временная диаграмма инициализации термодатчика представлена на рисунок 4.1.

Рисунок 4.1 - Временная диаграмма инициализации

Подпрограммы DOUT_HIGH линия RA4 настраивается на прием информации от датчика, установкой в единицу 4 бита регистра TRISA. После этого проверяется состояние линии RA4 микроконтроллера, если датчик неактивен (на линии RA4 присутствует 1), то запускается подпрограмма DOUT_LOW, которая настраивает линию RA4 на передачу информации установкой в ноль 4 бита регистраTRISA. После этого микроконтроллер формирует импульс сброса длительностью 480 мкс, установив линию RA4 в 0. Длительность импульса формируется подпрограммой DLIT_160,которая запускается 3 раза. Временной интервал 160 мкс формируется циклом.

Рассчитывается длительность такта микроконтроллера

, (4.6)

где fмк - частота микроконтроллера, МГц.

Рассчитывается количество тактов микроконтроллера N, необходимое для формирования длительности сигнала 160 мкс

, (4.7)

где Тз - время задержки, мкс;

Тмк - длительность такта микроконтроллера, мкс.

Цикл состоит из команд, представленных на рисунке 4.2

Рисунок 4.2 - Команды цикла

Цикл выполняется за 12 тактов. Рассчитывается количество повторений цикла Кц

, (4.8)

где N - количество тактов микроконтроллера;

Nц - количество тактов за цикл.

В счетчик цикла count необходимо загрузить число 54.

После сброса термодатчика линияRA4 настраивается на прием информации, запуском подпрограммы DOUT_HIGH, при этом необходимо выдержать паузу 75мкс. Пауза формируется подпрограммами DLIT_WR15, DLIT_WR60.

Временной интервал 15 мкс формируется циклом.

Рассчитывается количество тактов микроконтроллера необходимое для формирования длительности 15 мкс по формуле 4.7

Цикл состоит из команд, представленных на рисунке 4.3.

Рисунок 4.3 - Команды цикла

Цикл выполняется за 12 тактов. Рассчитывается количество повторений цикла Кц по формуле 4.8

В счетчикцикла count в подпрограмме DLIT_WR15 необходимо загрузить число 5.

Временной интервал 60 мкс формируется циклом.

Рассчитывается количество тактов микроконтроллера необходимое для формирования длительности 60 мкс по формуле 4.7

Цикл состоит из команд, представленных на рисунке 4.4.

Рисунок 4.4 - Команды цикла

Цикл выполняется за 12 тактов. Рассчитывается количество повторений цикла по формуле 4.8

В счетчик задержки count в подпрограмме DLIT_WR60 необходимо загрузить число 20. После паузы снова происходит проверка состояния датчика.

Таблица 4.3 - Команды датчика температуры

КомандаНазначениеССhПропуск ROM44hИнициализация преобразования температурыBEhЧтение данных преобразованной температуры

Если датчик активен он формирует на линии RA4 уровень логического 0, происходит выход из подпрограммы Test_inic. Команда 44hгрузится в аккумулятор W, после чего запускается подпрограмма передачи команды от микроконтроллера к термодатчику DSEND. Необходимо выдержать паузу 750мкс, пока датчик конвертирует температуру. Далее микроконтроллер посылает команду BEh (чтение данных). Запускается подпрограмма DRECEIVE для чтения данных из термодатчика. На рисунке 4.5 представлены диаграммы временных интервалов чтения записи.

Рисунок 4.5 - Диаграммы временных интервалов чтения - записи

Младший байт считаных данных записываются в ячейку TEMP_LO, старший байт считанных данных записывается в ячейку TEMP_HI. Далее производится преобразование двоичного кода в двоично-десятичный неупакованный код и каждый код записывается в ячейки fig_0,1, fig_1, fig_10 соответственно.

После преобразования в двоично-десятичный код разрешается прерывание от таймера TMR0, загрузкой в регистр INTCON кода 10100000. Это значит, что при переполнении таймера запускается обработчик прерывания, который обеспечивает вывод измеренной температуры на семисегментный индикатор. Далее запускается подпрограмма PROVERKA,в которой выполняется сравнение измеренной температуры воздуха в инкубационной камере с установленным диапазоном. Если температура воздуха в инкубационной камере выше значения верхнего порога, тогда обнуляется 3 разряд PORTA, в связи с этим выключается нагреватель инкубатора. В противном случае подпрограмма переходит к проверке нижнего порога. Если температура воздуха в инкубационной камере ниже нижнего порога, тогда 3 разряд PORTA устанавливаем в 1, включается нагреватель инкубатора.

После проверки пределов программа опрашивает кнопку SB1. Для обеспечения уровня логической 1 на входах микроконтроллера, при не нажатом состоянии кнопок SB1 - SB3,подключаются встроенные подтягивающие резисторы, установкой в ноль седьмого бита регистра OPTION_REG. Если кнопка не нажата, на линии присутствует уровень логической 1, программа вновь начинает выполнять измерение температуры. В противном случае программа начинает настройку нижнего порога. КнопкаSB2 служит для установки цифры одного из разрядов. Кнопка SB3 служит для перехода на следующий разряд числа. Для настройки верхнего порога необходимо второй раз нажать кнопку SB1. Запускается подпрограмма Verx, которая производит настройку верхнего порога. Настройка верхнего порога производится аналогично настройке нижнего порога. После третьего нажатия кнопки SB1 программа начинает поддерживать температуру в установленном диапазоне.

Для защиты от дребезга контактов, после каждого нажатия кнопок, запускается подпрограмма zvon. Дребезг контактов длится не более 10мс.

Временной интервал 10мс формируется циклом. Длительность такта микроконтроллера равна 0,25мкс.

Количество тактов микроконтроллера для формирования длительности 10мс рассчитывается по формуле 4.7

Цикл состоит из команд, представленных на рисунке 4.6

Рисунок 4.6 - Команда внутреннего цикла

Цикл выполняется за 12 тактов. Рассчитывается количество повторений цикла по формуле 4.8

В качестве счетчика используется РОН. Максимальное число, которое можно загрузить в РОН 255, поэтому необходимо использовать вложенный цикл. Выбирается количество повторений цикла 255.

Рассчитывается количество тактов внутреннего цикла Nвнтц выполненного 255 раз

внтц = Nц ×Nпов, (4.9)

где Nц - количество тактов за цикл;

Nпов - количество повторений внутреннего цикла.

Nвнтц = 12 × 255 = 3060 тактов.

Вложенный цикл состоит из команд, представленных на рисунке 4.7.

Рисунок 4.7 - Команды вложенного цикла

Вложенный цикл выполняется 3080 тактов.

Рассчитывается количество повторений внешнего цикла Nвнешц по формуле

, (4.10)

где N - количество тактов микроконтроллера;

Kвлц - количество тактов вложенного цикла.

В счетчик внешнего цикла следует загрузить число 13. В счетчик внутреннего цикла следует загрузить число 255.

Подпрограмма DSEND передает команды от микроконтроллера к термодатчику. DSEND преобразует двоичный код в последовательный и обеспечивает передачу последовательного кода через флаг переноса С. Для старта передачи бита линия RA4 настраивается подпрограммой DOUT_LOW на передачу данных и устанавливается в 0. Для передачи логического 0 линию RA4 необходимо удерживать в нуле 60 мкс, что обеспечивается подпрограммой DLIT_WR60. Для передачи логической 1 линия RA4 настраивается на прием данных и устанавливается в 1 подпрограммой DOUT_HIGH.

Подпрограмма DRECEIVE считывает данные передаваемые термодатчиком. Для старта чтения бита линия RA4 настраивается подпрограммой DOUT_LOW на передачу данных и устанавливается в 0 не менее 1мкс. После этого линия RA4 настраивается на прием данных от термодатчика подпрограммой DOUT_HIGH. Выборка бита производится через 15мкс, для этого запускается подпрограмма DLIT_WR15. Если на линии присутствует логический 0, то обнуляется флаг С в регистре STATUS. В противном случает флаг С регистра STATUS устанавливается в 1. С помощью циклического сдвига содержимое флага С записывается в регистр COM_REG.

Исходный код программы управления представлен в Приложении А.

5. Описание работы устройства

При включении напряжения питания выполняется подпрограмма инициализации микроконтроллера Portinic. Линии RA0 - RA3 и RB0 - RB4 настраиваются на вывод, линии RA4, RB5 -RB7 настраиваются на ввод. К линии микроконтроллера RA4 подключен термодатчикDS18B20. Взаимодействие микроконтроллера с датчиком температуры осуществляется по интерфейсу 1 - wire, который реализуется программно.

Термодатчик, после получения команды 44hот микроконтроллера, начинает конвертировать температуру воздуха в инкубационной камере инкубатора. Микроконтроллер ожидает не менее 750мкс пока датчик конвертирует температуру. После получения команды BEh от микроконтроллера, термодатчик выдает данные о температуре последовательным кодом. Микроконтроллер принимает последовательный код и подпрограмма DRECEIVE преобразует его в параллельный двоичный код. После получения данных о температуре воздуха микроконтроллер сравнивает их с установленным диапазоном температур, если полученные данные меньше установленного диапазона, то на линии микроконтроллера RA3 устанавливается уровень логической единицы. Через обмотку срабатывания реле, контакты реле 5 и 10 замываются и обеспечивают подключение напряжения 220В к нагревательному шнуру. Шнур начинает нагреваться. В противном случае шнур не нагревается.

Измеренная температура отображается на семисегментном индикаторе. К линиям RB0 - RB3 подключен преобразователь кода. Преобразователь кодаDD2 принимает 2-10 код от микроконтроллера и преобразует его в семисегментный код, который поступает на семисегментный индикаторHG1. Управление общими катодами полупроводникового семисегментного индикатора обеспечивает транзисторный ключ. По линиям RA0 - RA2 выбирается знакоместо, которое необходимо зажечь. На одной из линий RA0 - RA2 устанавливается уровень логической 1, ток поступает на базу одного из транзисторовVT1 - VT3, появляется базовый ток индикатора HG1 через коллектор транзистора к общему проводу источника питания. Через сегменты индиктора протекает ток, знакоместо отображает цифру. Время выбора знакоместа 4мс.

Для формирования временного интервала 4мс используется таймер. К таймеру подключается предделитель и выбирается коэффициент деления предделителя 16. Таймер запускается загрузкой в него числа 9. Прерывания микроконтроллера маскируемые, поэтому необходимо разрешить прерывание от таймера загрузкой в регистр INTCON кода 10100000. При переполнении таймера TMR0формируется прерывание, выполняется обработчик прерывания, начинающийся с адреса 0х04.

После сравнения измеренной температуры с установленным диапазоном программа опрашивает кнопки. Если кнопкаSB1 не нажата линии RB5 присутствует логическая 1, программа вновь переходит к взаимодействию с термодатчиком.

Нажатием кнопки SB1 на линии RB5 формируется логический 0 и выполняется опрос кнопки SB2.Начинается установка нижнего порога температуры. КнопкойSB2 устанавливается нужное число десятых долей градусов (от 0 до 9), при этом мигает младший разряд индикатора. Нажатием кнопки SB3 происходит переход кустановке единиц градусов или десятков градусов. В режиме установки единиц градусов мигает средний разряд индикатора HG1. В режиме установки десятков градусов мигает старший разряд индикатора HG1. Нажатием кнопки SB1 второй раз, блок терморегулятора переключается в режим установки верхнего порога температуры. Процедура установки верхнего порога температуры аналогична установке нижнего порога. Третье нажатие на кнопку SB1 обеспечивает выход из режима установки и блок терморегулятора обеспечивает поддержание температуры в заданных пределах. Все введенные значения сохраняются в энергонезависимой памяти данных микроконтроллера EEPROM.

6. Расчётная часть

6.1 Расчёт фильтров по питанию

При переключении микросхем устройства в цепи питания возникают низкочастотные помехи. Чтобы исключить низкочастотные помехи, при монтаже печатной платы необходимо установить вблизи разъема подключения питания развязывающий конденсатор ёмкостью 0,1 мкФ на 1 интегральную микросхему.

Рассчитывается ёмкость конденсатора C3 по формуле

,(6.1)

где С - емкость 0,1, мкФ;

N- количество интегральных микросхем.

мкФ,

C3 = 0,2 мкФ.

Для исключения высокочастотных помех на печатной плате устанавливаются развязывающие конденсаторы ёмкостью 0,002 мкФ на 1 интегральную микросхему. Конденсаторы рекомендуется размещать по площади печатной платы из расчёта один конденсатор на группу не более 10 интегральных микросхем.

Рассчитывается ёмкость конденсаторов С1, С2 по формуле

, (6.2)

где - емкость 0,002, мкФ;

- количество интегральных микросхем.

,

С = 0,004 мкФ.

Выбираются конденсаторы С1, С2 К10-17А-Н50-0.1 мкФ±10%.

6.2 Расчет схемы индикации

Таблица 6.1 - Электрические характеристики индикатора BC56-12GWA

ПараметрыЗначениеМаксимальная сила света, мКд, при токе 10мА10,5Максимальное обратное напряжение, В5Максимальное прямое напряжение, В2,5Рабочая температура, ˚С-40..85

Таблица 6.2 - Электрические характеристики транзистора КТ315Б

ПараметрыЗначениеМаксимальный ток коллектора, мА100Статический коэффициент передачи тока50…350Напряжение насыщения коллектор-эмиттер, В0,4Напряжение насыщения база-эмиттер, В1,1Рабочая температура, °С-40…85

Рассчитывается сопротивление резисторов R6, R10 - R16, ограничивающих ток сегмента индикатора HG1

, (6.3)

где - напряжение высокого уровня на выходе микроконтроллера, В;

Uкэнас - напряжение насыщения коллектор - эмиттер, В;

Uпр - прямое падение напряжения на сегменте, В;

Iпр - прямой ток сегмента, А.

По стандартному ряду сопротивлений выбирается сопротивление резистора 220Ом.

Рассчитывается мощность, рассеиваемая на резисторах R6, R10 - R16по формуле

, (6.4)

где Iпр - прямой ток сегмента, А;

R - сопротивление резистора, Ом.

Выбираются резисторы R6, R10-R16C2-33-0,125-220Ом±10% ОЖО 467.081 ТУ

Рассчитывается максимальный ток, протекающий через общий катод Iок индикатора по формуле

, (6.5)

где Iсег - ток протекающий через сегмент, мА;

n - количество сегментов индикатора.

Рассчитывается ток базы Iб по формуле

, (6.6)

где Iк - ток коллектора, мА;

β - статический коэффициент передачи тока в схеме с ОЭ;

K- коэффициент насыщения транзистора.

= 1,6 мА.

Расс

Copyright © 2018 WorldReferat.ru All rights reserved.