Микропроцесорна система за регулиране на температура


Категория на документа: Информатика


ТЕХНИЧЕСКИ УНИВЕРСИТЕТ - ВАРНА

Дисциплина: Микропроцесорни системи за управление

Курсова работа

Тема: Микропроцесорна система
за регулиране на температура.

Изготвил: Проверил:
Асен Валериев Хараланов, ф.№: 076905 гл.ас. Ц.Георгиев
Сашо Янков Иванов, ф.№: 076916
Велислав Петров Гацов, ф.№: 076924
спец.:АИУТ, IV курс, II поток, I група,

Микропроцесорна система за регулиране на температура

Описание на схемното решение

1. Системата е изградена на базата на микропроцесор Atmega 8515.
Микропрацесорът съдържа вградена памет 8кBytes за програма, която е препрограмируема и дава възможност за смяна на програмата, 512 Bytes памет за данни (оперативна памет ОП), 512 Bytes ЕЕРРОМ препрограмируема памет за съхраняване на енергонезависими данни( данни, които не трябва да се губят при изключване на захранването), каквито са коефициентите за настройка на ПИД регулатора и зададената температура. Тази памет се приема за достатъчна за настоящия проект и отпада необходимостта за изграждане на допълнителна памет в микропроцесорната система.
Необходимите елементи за функциониране на микропроцесора са:
- кварц X1 - 16 MHz с филтриращи кондензатори C5 и C7 по 22 pF ;
- Входа RESET чрез резистора R4 е включен към захранващото напрежение Vcc;
- Захранването на микропроцесора е филтрирано с кондензатора С6;

Стойностите на изброените елементи са според документацията на процесора.
Интерфейсът към потребителя ( Операторски пулт ОП) е изграден от:
- Индикация - течнокристална, двуредова, по 16 символа на ред. Предимствата и са че осигурява лесно подвързване към процесора ( не се налага добавяне на допълнителни елементи); има достатъчно символи за изобразяване на информация към потребителя ( например: на I ред - зададената температура, а на II ред - отработената). Индикацията се управлява чрез 11 входно-изходни сигнала от процесора. От тях 8 сигнала са за предаване на данни към индикацията, като използваме изводите на процесора PA0 - PA7. Сигнал за селектиране на индикацията CS, използваме извода PB3 на процесора. Сигнал за четене или запис в индикацията R/W, използваме извода PB2 на процесора. Сигнал за избор на регистъра на процесора RS , използваме извода PB1. Захранването на индикацията е филтрирано с кондензатора C12.
- Клавиатура - Използваме опростен вариант на клавиатурата с 6 клавиша. За стартиране на регулатора - START, за спиране - STOP. За редактиране на параметрите: клавиш ENTER - за потвърждаване; за отказ - ESC; за увеличаване - UP; за намаляне- DOWN.( подобно на GSM). За четене на клавишите използваме изводите на процесора PC0 до PC5. За тези изводи на процесора софтуерно се включват вградените резистори на процесора към Vcc. По този начин при ненатиснат клавиш четем логическа единица, при натиснат - логическа нула, на съответния извод на процесора.
Четене на сигнала от термодвойката. Термодвойката се свързва към съединителя P3 извод 1 за положителния край на термодвойката, извод 2 - за отрицателния.
Мащабиращият усилвател МУ и нормиращият преобразувател НП е изпълнен на базата на Операционния усилвател U4 - MCP601. Предимствата на усилвателя са еднополярното захранване и прецизната му работа при гранични напрежения на изхода( около 0 V и 5 V). Изпълнена е схема на диференциален усилвател, който е препоръчителен за четене на термодвойки. Използвани са резисторите от R5 до R8. Коефициента на усилване е 12К/220=54,5455. Стойностите на резисторите са избрани от готови схемни решения за работа с термодвойки желязо-констатан. Захранването на Операционния усилвател се филтрира с кондензатора С8. Изхода на ОУ се филтрира с резистора R9 и кондензатора С9 и се подава към аналого-цифровия преобразувател АЦП( ADC). Понеже при използване на термодвойка може да бъде отчетена само температурната разлика между студения и топлия край на термодвойката, е необходимо да се измери абсолютната температура в студения край. Сумирайки измерената от термодвойката температура и температурата в студения и край, получаваме абсолютната температура в топлия край на термодвойката. За мерене на абсолютната температура в студения край се използва прецизния температурен сензор U5 - LM335. LM335 дава на изхода си изменение от 10 mV за всеки градус над абсолютната нула( 2,73V при 0 0 C). Изхода му е включен с резистора R10 към Vcc и се подавана втория вход на АЦП (ADC).
Аналого-цифров преобразувател АЦП (ADC). Изпълнен е с интегралната схема U6 - ADC0832. Предимства: Двувходов е и използваме едно АЦП за двете измервания- на термодвойката и абсолютната температура. Данните се четат чрез серийна комуникация от процесора и не се налага използването на допълнителни Интегрални Схеми или заемането на много изводи на процесора. Недостатъци: Ниска разрешаваща способност - 8 бита, което намалява точността на измерването. Захранването на АЦП е филтрирано с кондензатор С10. За комуникация с процесора използваме SPI интерфейса на процесора, сигналите SS, SCK, MISO и MOSI.( това е ИВО1 - интерфейс за връзка с обекта 1)
Захранване и синхронизация ( С ). Захранването 220 V се подава към клемата P1, след което през предпазителя F1 се подава на входа на трансформатора. Изхода на трансформатора 9 V се изправя чрез греца D1 и се филтрира от C1 и C2. Получава се изправено постоянно напрежение 9*√2 = 12,6 V. Това напрежение се стабилизира от стабилизатора U3 - 7805, филтрира се от С3 и С4 и получените 5 V се използват за захранване на цялата система.
Схемата на синхронизация C е изпълнена с транзистора Q1 - BC237. Чрез диода D2 и резистора R11 положителните полупериоди на синусоидата се подават на базата на транзистора и го отпушват. При отрицателните полупериоди напрежение към базата на транзистора не се подават, понеже е прекратено от диода D2 и транзистора се запушва чрез резистор R12 към маса. Кондензатора С11 филтрира краткотрайни смущения. Колектора е свързан чрез R13 към Vcc и входа за прекъсване на процесора INT0. По този начин транзистора работи в ключов режим. В началото на положителната полувълна транзистора се насища, напрежението на колектора е 0 V и на входа INT0 се получава прекъсване по падащ фронт. След което в началото на отрицателната полувълна транзистора се запушва, напрежението на колектора е 5 V и на входа INT0 се получава прекъсване по нарастващ фронт. При така изградената схема и настройване на входа INT0 за приемане на прекъсване при всяка смяна на състоянието му (нарастващ или падащ фронт), микропроцесора получава прекъсване при всяко преминаване през нулата на синусоидата на захранващото напрежение.
Управление на симистора S. Захранващото напрежение, постъпващо на клемата Р1, се подава към товара ( нагревателите) от клемата Р2. Единият извод е свързан директно, а другия през симистора U1- MAC15(управляващ ток до 15А). Чрез управлението на този симистор постигаме необходимата мощност върху нагревателя. Симистора се управлява от процесора чрез оптосимистора U2 - MOC 3051. Резисторите R1, R2 и R3 са препоръчителни според документацията на оптосемистора. Оптосемистора се включва от извода на процесора OC1A, логоческа 0 за включване и логическа 1 за изключване. За включване на симистора е необходим кратък управляващ импулс ( логическа 0 на OC1A) в рамките на 0,1 ms. Симистора се самоизключва при преминаване на синусоидата на захранващото напрежение през нулата. .( това е ИВО2 - интерфейс за връзка с обекта 2)

Принцип на работа. Измерваме напрежението на термодвойката чрез първия вход на АЦП. Процесора извършва необходимите изчисления и преобразувания, за да получи температурата между двата края на термодвойката. Измерваме абсолютната температура чрез втория вход на АЦП и процесора извършва необходимите преобразувания за да изчисли от напрежението температурата. Събирайки двете температури, получаваме температурата в пещта. Така получената температура, заедно със зададената температура се подават към ПИД регулатора който изработва управляващ сигнал. Приемайки че системата ще работи в захранваща мрежа 50 Hz се стига до заключението, че може да извършим управлението в рамките на 10 ms. На базата на прекъсванията, които постъпват на INT0 се взима решение след колко време да се подаде сигнал за включване на симистора. Пример - ако го включим след 9 ms, той на 10 ms ще се самоизключи заради преминаване през нула и отдадената мощност към нагревателя ще е около 10%. Ако го включим след 3 ms - отдадената мощност към нагревателя ще е около 70 % и т.н.

Блокова схема и алгоритми:

:
Програмно реализиране:

// компилирано с AVR Studio V4 с помоща на avr-gcc (GCC) 3.4.6
#include
#include
#include

int current_temp; //измерена температура




Сподели линка с приятел:





Яндекс.Метрика
Микропроцесорна система за регулиране на температура 9 out of 10 based on 2 ratings. 2 user reviews.