Система регулирования равномерности нагрева печи обработки полимеров

Архитектура микроконтроллера PIC16F876 фирмы Microchip и построение на его основе микропроцессорной системы управления электронагревателями печи обработки полимеров. Текстовый жидкокристаллический дисплей WH1602A-YYK-CP фирмы Winstar и контроллер.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 24.12.2012
Размер файла 429,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

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

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

За последние годы микроэлектроники бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров (ОМК), которые предназначены для «интеллектуализации» оборудования различного назначения. ОМК представляют собой приборы, конструктивно выполненные в виде БИС, и включающие в себя все составные части «голой» микроЭВМ: микропроцессор, память программы, память данных, также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной базы для построения управляющих и / или регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно ОМК.

1. Объект автоматизации

В качестве объекта автоматизации была выбрана система регулирования равномерности нагрева печи обработки полимеров. Система позволяет управлять пятью электронагревателями и производить контроль температуры при помощи 5-ти термодатчиков. Сравнивая значение заданной температуры и температуры измеренной термодатчиками, необходимо включать и выключать соответствующие нагреватели. Управление производится при помощи клавиатуры. Состояние устройства должно отображаться на индикаторе.

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

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

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

- наличие встроенного пятиканального АЦП.

- наличие программного пакета для написания и отладки программы микроконтроллера Hi-Tech.

- достаточная изученность микроконтроллера.

2. Принцип действия устройства

2.1 Описание структурной схемы

Структурная схема устройства состоит из следующих блоков:

- микроконтроллера.

- клавиатуры.

- LCD-дисплея.

- схем управления нагревателями (электронные ключи).

- нагревателей.

- термодатчиков.

- усилителей.

Клавиатура предназначена для управления устройством. Нажатая клавиша обрабатывается микроконтроллером, который выполняет необходимые действия. Клавиатура состоит из 4-х кнопок: «On/Off», «+T», «-T», «Sel». Кнопка «On/Off» позволяет включить или выключить управление нагревателем, выбранным при помощи кнопки «Sel», кнопка «+T» увеличивает значение заданной температуры, а кнопка «-Т» - уменьшает.

LCD-дисплей - текстовый дисплей, 2 строки по 16 символов. Он необходим для отображения текущего состояния устройства. Формат отображаемой информации показан на рис. 1.

Рисунок 1. Формат отображения информации на LCD-дисплее

Схемы управления нагревателями подключаются к портам микроконтроллера.

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

Усилители необходимы для усиления напряжения, вырабатываемого термопарами, до напряжения, необходимого для работы АЦП микроконтроллера.

2.2 Описание принципиальной схемы

Операционные усилители DA1-DA5 и резисторы R1-R10 представляют собой неинвертирующие усилители, коэффициент усиления которых определяется по формуле:

КУ=1+ R6/R1.

В нашем случае необходим коэффициент усиления, при котором напряжение на выходе усилителя в мВ будет численно равно температуре в Кельвинах. Для нашей термопары коэффициент зависимости напряжения от температуры равен 2.33 мВ/К. Поэтому необходим коэффициент усиления КУ = 571. Выберем резисторы:

R1, R2, R3, R4, R5 - МЛТ-0.125-1 кОм ±5%

R6, R7, R8, R9, R10 - МЛТ-0.125-560 кОм ±5%

Операционные усилители выбраны типа КР140УД1208.

Конденсаторы С1, С2 и С6 включены по питанию, для сглаживания импульсных помех, возникающих при работе схемы.

Конденсаторы С3 и С4 включены по типовой схеме включения кварцевого резонатора ZQ1, обеспечивающего работу тактового генератора контроллера.

RC-цепочка R11С5 формирует сигнал «сброс» при включении питания, это необходимо для установки микроконтроллера в исходное состояние. При включении питания напряжение на конденсаторе C5 равно нулю, и на вход MCLR микроконтроллера поступает сигнал сброса, через некоторое время конденсатор C5 зарядится до уровня лог. 1 через резистор R11, и микроконтроллер начнёт работу.

Текстовый LCD-дисплей HG1 имеет размер экрана 2 строки по 16 символов, размер одного символа - 5х8. Обмен данными с дисплеем производится по 4-х разрядной шине данных, причём сначала передаются старшие 4 байта, а затем младшие, управление - по 3-м линиям: RS - означает, что передаётся через шину данных, 1 - данные, 0 - команда; RW - определяет направление передачи информации, 0 - запись (от контроллера к дисплею), 1 - чтение (от дисплея к контроллеру); Е - сигнал активности дисплея, при Е=0 дисплей не воспринимает сигналы шин данных и управления, при Е=1 ведётся обмен информацией между дисплеем и контроллером. Резистором R12 производится регулировка контрастности изображения на LCD-дисплее.

Клавиатура SA1, SA2, SA3 подключена к порту В микроконтроллера, так как этот порт имеет прерывание по изменению уровня на линиях RB7..RB4.

Схемы управления нагревателями подключены к линиям RB0..RB4 порта В.

3. Разработка программного обеспечения МПС

3.1 Описание алгоритма работы устройства

3.1.1 Описание алгоритма работы главной программы main().

При включении питания микроконтроллер начинает выполнение программы с функции main() в ней описаны команды инициализации контроллера: настройка АЦП, настройка таймера, конфигурация портов на ввод и на вывод, разрешение прерываний от порта В и таймера 0. Далее микроконтроллер зацикливается при помощи бесконечного цикла while(1).

3.1.2 Схема алгоритма обработки прерываний от таймера 0

3.1.3 Схема алгоритма записи данных на LCD-дисплей

3.1.4 Схема алгоритма проверки готовности LCD-дисплея и чтения информации с него

3.2 Листинг программы

#include <pic.h>

#define uchar unsigned char

#define uint unsigned int

#define PORTBIT (adr, bit) ((unsigned) (&adr)*8+ (bit))

static bit RS @ PORTBIT (PORTC, 6);

static bit RW @ PORTBIT (PORTC, 5);

static bit E @ PORTBIT (PORTC, 4);

uchar on[5], s=5;

uint ms, tzK, tzC, t0, t1, t2, t3, t4;

 // Пауза

void Wait (uchar kk)

{

while (kk-);

}

 // Читаем из индикатора

uchar ReadInd(void)

{

uchar DATA;

TRISC=0x0F; // на ввод 4 мл бита порта

RW=1;

E=1;

DATA=(PORTC&&0x0F)<<4; // считываем 4 ст. бита

E=0;

E=1;

DATA=DATA||(PORTC&&0x0F); // считываем 4 мл бита

E=0;

RW=0;

return(DATA);

}

 // Записываем в индикатор код

void WriteInd (uchar Dann)

{

uchar stDann, mlDann;

stDann=Dann&&0xF0; // старшие тетрады

mlDann=Dann&&0x0F; // младшие тетрады

TRISC=0;

RW=0;

PORTC=PORTC&&0xF0; // очищаем 4 мл бита порта С

PORTC=PORTC||stDann; // передаём 4 ст бита

E=1;

E=0;

PORTC=PORTC&&0xF0; // очищаем 4 мл бита порта С

PORTC=PORTC||mlDann; // передаём 4 мл бита

E=1;

E=0;

TRISC=0x0F;

}

 // Проверка готовности индикатора

void Check(void)

{

uchar DATA; // описали переменную DATA типа uchar

RS=0;

do

{

DATA=ReadInd();

DATA<<=1;

}

while(CARRY); // если бит переноса равен 1, то индикатор не готов

}

void WriteData (uchar kod)

{

Wait(20);

Check();

RS=1;

WriteInd(kod); // записать в индикатор код

}

void WriteCommand (uchar kod)

{

Wait(20); // пауза (20 машинных циклов)

Check(); // проверить состояния индикатора

RS=0;

WriteInd(kod); // записать в индикатор код

RS=1;

}

 // Вывод на дисплей

void Display(void)

{

WriteCommand(0x01); // (00000001) очистка экрана

 // первая строка

WriteData(0x54); // (01010100) T

WriteData(0x3D); // (00111101)=

WriteData (0x30+tzC/1000); // тысячи

WriteData (0x30+tzC % 1000/100); // сотни

WriteData (0x30+tzC % 100/10); // десятки

WriteData (0x30+tzC % 10); // единицы

WriteData(0x2F); // (00101111) знак «/»

WriteData (0x30+t[0]/1000); // тысячи

WriteData (0x30+t[0]%1000/100); // сотни

WriteData (0x30+t[0]%100/10); // десятки

WriteData (0x30+t[0]%10); // единицы

WriteData(0x2F); // (00101111) знак «/»

WriteData (0x30+t[1]/1000); // тысячи

WriteData (0x30+t[1]%1000/100); // сотни

WriteData (0x30+t[1]%100/10); // десятки

WriteData (0x30+t[1]%10); // единицы

 // вторая строка

WriteData(0x27); // (00100111) знак «'» (градусы)

WriteData(0x43); // (01000011) C

WriteData (0x30+t[2]/1000); // тысячи

WriteData (0x30+t[2]%1000/100); // сотни

WriteData (0x30+t[2]%100/10); // десятки

WriteData (0x30+t[2]%10); // единицы

WriteData(0x2F); // (00101111) знак «/»

WriteData (0x30+t[3]/1000); // тысячи

WriteData (0x30+t[3]%1000/100); // сотни

WriteData (0x30+t[3]%100/10); // десятки

WriteData (0x30+t[3]%10); // единицы

WriteData(0x2F); // (00101111) знак «/»

WriteData (0x30+t[4]/1000); // тысячи

WriteData (0x30+t[4]%1000/100); // сотни

WriteData (0x30+t[4]%100/10); // десятки

WriteData (0x30+t[4]%10); // единицы

if (s==0) WriteCommand(0x8A); // (10001010) на 1ю стр. 11 поз.

if (s==1) WriteCommand(0x8F); // (10001111) на 1ю стр. 16 поз.

if (s==2) WriteCommand(0xC5); // (11000101) на 2ю стр. 6 поз.

if (s==3) WriteCommand(0xCA); // (11001010) на 2ю стр. 11 поз.

if (s==4) WriteCommand(0xCF); // (11001111) на 2ю стр. 16 поз.

if (s==5) WriteCommand(0x0C); // (00001100) курсор выключен

else WriteCommand(0x0E); // курсор включен

}

 // Увеличение заданной температуры

void Up(void)

{

tzK++;

if (tzK>5000) tzK=5000;

tzC=tzK-273;

}

 // Уменьшение заданной температуры

void Down(void)

{

tzK -;

if (tzK<300) tzK=300;

tzC=tzK-273;

}

 // Обработка прерываний

interrupt INTR()

{

if (T0IF) // запрос прерывания от таймера

{

TMR0=0x84; // (10000100) загрузка в таймер начального значения

ms++; // отсчёт миллисекунд

if (ms>1000) // если миллисекунд больше 1000

{ms=0; // обнуление

if (on[0]) // если разрешено управление первым нагревателем

{

CHS0=0; CHS1=0; CHS2=0; // выбираем 1-й канал АЦП

ADGO=1; // запускаем АЦП

while (ADGO); // ждем пока АЦП закончит преобразование

t[0]=(ADRESL+ADRESH*256)*5000/1023; // вычисляем температуру

if (t[0]>tzK) RB0=0;

else RB0=1;

}

if (on[1]) // если разрешена работа вторым нагревателем

{

CHS0=1; CHS1=0; CHS2=0;

ADGO=1;

while (ADGO);

t[1]=(ADRESL+ADRESH*256)*5000/1023;

if (t[1]>tzK) RB1=0; else RB1=1;

}

if (on[2]) // если разрешена работа третьим нагревателем

{

CHS0=0; CHS1=1; CHS2=0;

ADGO=1;

while (ADGO);

t[2]=(ADRESL+ADRESH*256)*5000/1023;

if (t[2]>tzK) RB2=0; else RB2=1;

}

if (on[3]) // если разрешена работа четвертым нагревателем

{

CHS0=1; CHS1=1; CHS2=0;

ADGO=1;

while (ADGO);

t[3]=(ADRESL+ADRESH*256)*5000/1023;

if (t[3]>tzK) RB3=0; else RB3=1;

}

if (on[4]) // если разрешена работа пятым нагревателем

{

CHS0=0; CHS1=0; CHS2=1;

ADGO=1;

while (ADGO);

t[4]=(ADRESL+ADRESH*256)*5000/1023;

if (t[4]>tzK) RB4=0; else RC7=1;

}

Display();

}

T0IF=0; // сброс флага запроса прерывания от таймера

}

if (RBIF) // запрос прерывания от клавиатуры

{ // прерывание от клавиатуры

if (! RB7) {on[s]=! on[s]; t[s]=0;}

if (! RB6) Up();

if (! RB5) Down();

if (! RB4) {s=s+1; if (s>5) s=0;}

RBIF=0; // сброс флага запроса прерывания от клавиатуры

Display();}

} // конец обработки прерываний

void main(void)

{TRISB=0xF0; // (11110000) конфигурация порта на ввод

TRISC=0; // конфигурация порта на вывод

WriteCommand(0x28); // (00101000)

WriteCommand(0x0С); // (00001100)

WriteCommand(0x06); // (00000110)

ADCON0=0x41; // (01000001) включение модуля АЦП, частота Fosc/8;

ADCON1=0x82; // (10000010) // включаем 5 каналов АЦП

while (1);}

Заключение

микроконтроллер электронагреватель полимер управление

При выполнении данного проекта была изучена архитектура микроконтроллера PIC16F876 фирмы Microchip и построена на его основе микропроцессорная система управления электронагревателями печи обработки полимеров. При этом также был изучен текстовый жидкокристаллический дисплей WH1602A-YYK-CP фирмы Winstar и встроенный в него контроллер HD44780. Приобретены навыки программирования микропроцессорных систем и построения на их основе устройств сбора и обработки информации. Так же был изучен кросс-компилятор HI-TECH С for Microchip PIC v7.85.

Размещено на Allbest.ru


Подобные документы

  • Архитектура микроконтроллера PIC16F876 фирмы Microchip и построение на его основе микропроцессорной системы логического анализатора. Построение устройств сбора и обработки информации. Кросс-компилятор HI-TECH С for Microchip PIC v7.85. Листинг программы.

    контрольная работа [137,4 K], добавлен 24.12.2012

  • Изучение архитектуры микроконтроллера AT89C52 фирмы Atmel. Разработка проектной схемы вывода рисунков на графический ЖК-индикатор на основе микроконтроллера. Составление программы по обработке и выводу на жидкокристаллический дисплей данных с LPT порта.

    курсовая работа [76,1 K], добавлен 23.12.2012

  • Рассмотрение структурной схемы микропроцессорной системы обработки данных. Описание архитектуры микроконтроллера ATmega161. Расчет оперативного запоминающего устройства. Строение, назначение адаптера параллельного интерфейса, способы его программирования.

    курсовая работа [621,5 K], добавлен 24.09.2010

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

    курсовая работа [259,3 K], добавлен 19.04.2012

  • Применение цифровых микросхем для вычисления, управления и обработки информации. Назначение микропроцессора и устройств микропроцессорной системы, их структурная и принципиальная схемы. Системная шина процессора и распределение адресного пространства.

    курсовая работа [1,5 M], добавлен 29.02.2012

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

    контрольная работа [65,8 K], добавлен 14.11.2010

  • Целесообразность применения МП-устройства. Архитектура микропроцессорной системы. Структурная организация БИС ВТ с изолированными шинами. Содержание и возможная направленность микроконтроллера. Обобщенная структура простого встраиваемого микроконтроллера.

    реферат [224,5 K], добавлен 28.04.2011

  • Общее название программных средств, предназначенных для создания, редактирования и форматирования простых и комплексных текстовых документов - системы обработки текста. Текстовый редактор MS-DOS Editor. Текстовый процессор WordPad, Microsoft Word.

    презентация [58,5 K], добавлен 06.01.2014

  • Анализ вариантов проектных решений и выбор на его основе оптимального решения. Синтез функциональной схемы микропроцессорной системы на основе анализа исходных данных. Процесс разработки аппаратного и программного обеспечения микропроцессорной системы.

    курсовая работа [469,1 K], добавлен 20.05.2014

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

    дипломная работа [2,7 M], добавлен 19.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.