Автор: Пользователь скрыл имя, 04 Ноября 2012 в 20:00, дипломная работа
Работа посвящена разработке программно-аппаратного комплекса, предназначенного для обеспечения и поддержания заданной температуры узлов блока путем регулирования скорости вращения вентиляторов, а также для мониторинга температуры контролируемых узлов.
Микроконтроллеры AVR изготавливаются по технологии КМОП, благодаря которой имеют высокое быстродействие и низкий ток потребления. Большинство команд выполняется за 1 такт. Поэтому при тактовой частоте 1МГц быстродействие контроллеров может достигать 1 миллиона операций в секунду.
Приведем технические характеристики некоторых микропроцессоров AVR:
AT43320A – микроконтроллер на ядре AVR. Имеет встроенные USB-функцию и хаб с 4 нисходящими портами, 512 байт ОЗУ, 32х8 регистров общего назначения, 32 программируемых вывода, последовательный и SPI-интерфейсы. Функция имеет 3 конечные точки с буферами FIFO размером 8 байт. Для нисходящих портов хаба предусмотрено индивидуальное управление питанием;
AT43321 – контроллер клавиатуры на ядре AVR. Имеет встроенные USB-функцию и хаб с 4 внешними нисходящими портами, 512 бай ОЗУ, 16 Кбайт ПЗУ 32х8 регистров общего назначения, 20 программируемых выводов, последовательный и SPI-интерфейсы. Функция имеет 3 конечные точки. Для питания нисходящих портов предусмотрено индивидуальное управление питанием;
АТ43324 – микроконтроллер на ядре AVR. Имеет встроенные USB-функцию и хаб с 2 внешними нисходящими портами, 512 бай ОЗУ, 16 Кбайт ПЗУ, 32х8 регистров общего назначения, 34 программируемых вывода. Функция имеет 3 конечные точки. Для нисходящих портов хаба предусмотрено индивидуальное управление питанием.
MAX66XX –микроконтроллеры, предназначенные для контроля температуры. Для решения поставленной задачи наиболее подходит микроконтроллер MAX6661.
ИС MAX6661 – это внешний температурный датчик и интеллектуальный контроллер вентилятора с замкнутой цепью управления скоростью вращения вентилятора. В качестве внешнего датчика чаще всего используется p-n-p транзистор, включенный с общим коллектором, например, встроенный в подложку микропроцессора, или транзистор в диодном включении, недорогой, легко монтируемый (2N3904 NPN типа или 2N3906 PNP типа).
Устройство также содержит замкнутый контур управления скоростью вращения вентилятора с обратной связью с его тахометром. ИС MAX6661 сравнивает температурные данные с пороговыми значениями и установками усиления, программируемыми пользователем по SPI - шине. Результатом сравнения является автоматическое управление скоростью вращения вентилятора, в зависимости от данных температурного датчика. Замкнутый контур управления может быть разорван в любое время для передачи управления вентилятором системе.
Скорость вращения
вентилятора управляется
Недостатком применения данного контроллера является невозможность расширять систему охлаждения, т.е. увеличить количество контролируемых узлов, что в значительной степени снижает гибкость разрабатываемой системы и увеличивает ее стоимость.
Микроконтроллеры Intel 8051 – семейство микроконтроллеров гарвардской архитектуры, разработанных фирмой Intel в 1980 году. Официальное название семейства процессоров этого типа MCS-51.
В таблице 1 приводится список 8-разрядных микроконтроллеров с архитектурой MCS-51. Практически все контроллеры имеют расширенную функциональность: встроенный mp3-декодер, интерфейс чтения смарт-карт и т.п.
Таблица 1. Микропроцессоры с архитектурой Intel 8051
Тип |
Питание, В |
МГц |
I/O |
Flash, Кбайт |
SRAM, Кбайт |
Интерфейс |
Цена, р |
AT89C5131 |
3,0 – 5,0 |
40 |
34/18 |
32 |
1,25 |
UART,USB,SPI |
300 |
AT89C5132 |
2,7 – 3,3 |
40 |
44/38 |
64 |
2,5 |
UART, USB,SPI, I2S |
400 |
AT89C51ED2 |
2,7 – 5,5 |
60 |
50 |
64 |
2,25 |
UART/USART ,SPI |
350 |
AT89C5122 |
3,6 – 5,5 |
16 |
46/13 |
32 |
0,75 |
UART,USB, SPI, SmartCard |
250 |
Как видно из таблицы, наименее функциональным (а значит, и менее дорогим), поддерживающим интерфейс USB, является микроконтроллер AT89C5131, который и выбирается в качестве управляющего узла системы контроля и поддержания температуры.
Выводы
Недостатком применения MAX66XX является невозможность расширять систему охлаждения, т.е. увеличить количество контролируемых узлов, что в значительной степени снижает гибкость разрабатываемой системы и увеличивает ее стоимость.
Обзор показал, что наиболее простым микроконтроллером, поддерживающим интерфейс USB, и при этом достаточно быстродействующий (рабочая частота 40 МГц), является микроконтроллер АТ89С5131. Такой выбор позволит построить систему поддержания температуры с возможностью управления тремя вентиляторами, а также передачей информации пользователю по стандартному интерфейсу с минимальными затратами. Выбор также осуществлялся с тем учетом, что для схемы требуется минимум дополнительной обвязки. Немаловажно наличие бесплатного ассемблера, компилятора языка С, программатора и драйвера для Windows. Удобна возможность программирования не по SPI, а по USB-каналу.
Целью выполнения данного дипломного проекта является создание устройства, которое способно контролировать и поддерживать конкретный температурный режим. Для этого необходимо, чтобы система состояла из узла управления всеми процессами, узла контроля температурой, а также управляемым элементом, который будет осуществлять охлаждение контролируемого объекта. В качестве управляемого узла был выбран вентилятор с возможностью регулирования скорости, так как это позволит использовать систему в большинстве персональных компьютеров.
Для обеспечения функции мониторинга температурной информации необходимо обеспечить связь между разрабатываемой системой и управляющим компьютером. В качестве данной связи выбран интерфейс USB, так как на сегодняшний день он имеет наибольшее распространение на персональных компьютерах по сравнению с другими интерфейсами.
В результате разработана
структурная схема блока
Рисунок 1 - Структурная схема проектируемого устройства
Как видно из структурной схемы, блок состоит из контроллера, девяти датчиков температуры и трех вентиляторов. Микроконтроллер собирает информацию с температурных датчиков, и, учитывая заданную температуру, подает сигнал управления на вентиляторы. Затем контроллер опрашивает вентиляторы и получает значение скорости вращения каждого из них, что реализует обратную связь, на основе которой корректируются сигналы управления.
Связь между контроллером и датчиками температуры осуществляется по одноразрядной шине 1-wire.
По шине USB осуществляется передача текущих значений температуры на управляющий компьютер, а также получение значения поддерживаемой температуры для каждого контролируемого узла.
Выводы
На данном этапе
разработана структура
Как следует из технического задания, устройство должно выполнять следующие функции:
Устройство должно включать в себя следующие компоненты:
На рисунке 2 представлен общий алгоритм работы блока контроля и поддержания температуры. Работа устройства состоит в следующем: при подключении питания происходит инициализация контроллера. В данном блоке контроллер опрашивает подключенные датчики и вентиляторы. После определения количества подключенных вентиляторов начинает работать основной блок – блок управления температурой. В нем происходит считывание текущей температуры и, в зависимости от сравнения с заданной температурой, изменение сигналов, управляющих вентиляторами. В случае нормального охлаждения после завершения одной итерации управления температурой происходит опрос шины USB. Если же пришла команда от управляющего компьютера, то на следующем шаге определяется тип команды. В случае, когда пришла команда на передачу данных, контроллер собирает блок, состоящий из температурных данных и скорости вращения вентилятора, и далее передает через шину USB в пользовательскую программу.
Рисунок 2 – Общий алгоритм работы Блока
Когда приходит команда на изменение температурных данных, то контроллер изменяет в памяти значения поддерживаемой температуры. После обработки команд управление передается в блок управления температурой и дальше итерации повторяются. Контроллер будет выполнять цикл, пока не будет отключено питание.
После подачи питания, микроконтроллер проводит инициализацию подключенных устройств (рисунок 3). На первом этапе проводится конфигурирование USB, затем идет цикл инициализация каждого из трех каналов.
Рисунок 3 – Алгоритм инициализации
Инициализация канала состоит из поиска всех доступных этому каналу температурных датчиков. Далее происходит считывание поддерживаемой температуры, а также режима сравнения поддерживаемой температурой с измеренной. В случае если на нескольких датчиках эти значения различаются, что означает первый запуск устройства с этими датчиками или смену расположения датчиков, то информация заменяется данными по умолчанию.
После инициализации датчиков температуры на вход вентилятора подается постоянный сигнал, равный 5В. В этом случае, если вентилятор подключен, то он разгоняется до максимальной скорости и, следовательно, тахометр подает импульсы на соответствующий выход. Далее информация о работоспособности вентилятора сохраняется в ОЗУ микроконтроллера. На этом опрос одного канала завершается.
После инициализации микроконтроллер переходит в основной блок (рисунок 4).
Рисунок 4 – Алгоритм управления температурой
На первом этапе основного алгоритма происходит проверка на необходимость обновления (переменная Refresh), которое происходит каждые 5 циклов работы устройства. Это позволяет производить горячее подключение/отключение датчиков и вентиляторов. Далее происходит опрос датчиков температуры на каждом канале. В случае ошибочных данных, т.е. значение температуры выходит за диапазон, который может измерить датчик, счетчик обновлений обнуляется и измеренная температура приравнивается к 127 градусам. Это позволяет в случае нарушения работы датчиков увеличивать скорость вентилятора каждый цикл, в котором произошла ошибка.
После этого на основе измеренных данных, а также режимов сравнения рассчитывается значение температуры, которое будет сравниваться с поддерживаемым значением. Возможен один из четырех режимов:
1 – из всех
измеренных данных выбирается
минимальное значение
2 сравниваемая температура рассчитывается как среднее значение всех измеренных данных;
3 из всех измеренных данных выбирается максимальное значение температуры;
4 данный режим подразумевает управление значением скорости вентилятору через компьютер, в этом случае осуществляется переход на конец алгоритма
Далее происходит
сравнение текущей и
Информация о работе Устройство контроля и поддержания температуры