Розробка мікроконтролерного термостабілізатора

Автор работы: Пользователь скрыл имя, 06 Декабря 2013 в 21:22, курсовая работа

Краткое описание

Не для кого не секрет, що в наш час техніка набрала шаленої швидкості розвитку і є підстави стверджувати, що ця швидкість і далі буде зростати. Технологія нашої цивілізаціїї досягла грандіозного рівня. Зараз людство може керувати астрономічними за величиною енергіями, починаючи від потужності ядерної енергетики, закінчуючи можливістю впливати на проходження процесів в середині власної планети і навіть інших космічних тіл.

Содержание

Вступ 3
1 Аналітичний огляд існуючих рішень термостабілізаторів 5
2 Аналіз вихідних даних та розробка структурної схеми термостабілізатора 13
3 Розробка функціональної схеми термостабілізатора 15
4 Вибір елементної бази термостабілізатора 17
5 Розробка, розрахунок та опис принципової схеми термостабілізатора 21
6 Розробка програмного забезпечення термостабілізатора 27
7 Розрахунок потужності споживання термостабілізатора 32
8 Розрахунок надійності термостабілізатора 34
9 Інструкція з експлуатації термостабілізатора 37
Висновки 38
Література

Вложенные файлы: 1 файл

Розробка мікроконтролерного термостабілізатора.docx

— 247.91 Кб (Скачать файл)

Так як напруга  живлення мікроконтролера і інтегрального  цифрового датчика температури  складає 5В, в якості стабілізатора  живлення був вибраний інтегральний  стабілізатор напруги живлення  КР142ЕН5А, який має порівняно невеликі розміри та прийнятні електричні параметри.

Основні електричні параметри  КР142ЕН5А:

  • мінімальна вхідна напруга Uвх. min = 7,5 В ;
  • максимальна вхідна напруга Uвх. max =15 В ;
  • номінальна вихідна напруга Uвих = 5 ± 0,1 В;
  • максимальний вихідний струм Imax = 3 А ;
  • власний струм споживання Iсп = 0,01 А.

 

 

 

5 Розробка, розрахунок та опис  принципової схеми  термостабілізатора

 

Електрична принципова схема пристрою побудована на базі функціональної. Завдяки тому, що пристрій побудований на базі ІМС та всі  основні функціональні блоки  реалізовані саме на них, найважливішою  задачею розробки принципової схеми  стає правильне з’єднання цих  мікросхем і узгодження відповідних  рівнів напруг на їхніх входах/виходах. Саме через це електрична принципова схема майже повторює електрична функціональну, тільки деталізована наявністю  необхідних пасивних елементів, що потрібні для її роботи.

Повна електрична принципова схема мікроконтролерного термостабілізатора приведена в графічній частинні проекту КП 4.9 КС82.03.00 Э3.

Блок стабілізатора живлення показаний на рисунку 6. Інтегральний  стабілізатор напруги живлення  КР142ЕН5А включений за типовою  схемою [12], до якої крім нього самого входять електролітичний конденсатор C3 ємністю 10 мкФ або більше (для зменшення пульсацій напруги живлення взятий конденсатор ємністю 220 мкФ) та подібний конденсатор ємністю 10 мкФ або більше на вході мікросхеми (між виводами 1 і 2). Останній зазвичай встановлюється на виходах усіх блоків живлення (на схемі умовно показаний Сзглад), а тому у схему термостата не включений. На виході стабілізатора (вивід 2 – мінус, 3 – плюс) отримуємо стабілізовану напругу 5В, якою живляться всі елементи схеми.

Рисунок 6 – Схема  стабілізатора живлення

Конденсатор C4 потрібен для усунення імпульсних перешкод, які негативно впливають на роботу схеми. Його ємність зазвичай береться у межах 0,01…0,1 мкФ, з стандартного ряду Е12 вибираю 0,047 мкФ.

При проектуванні схеми  використовувались інформація з  технічної документації  мікроконтролера [11], в якій докладно описані вимоги до його включення та можливості застосування,  також використовувались поради по розробці пристроїв на МК [10].

Для стабілізації тактової частоти  роботи мікроконтролера використовується кварцовий або п’єзокерамічний  резонатор ZQ1. В типову схему його включення [11] крім нього входять два конденсатори однакової ємності C1 і C2. Для частоти кварцового резонатора 4 МГц оптимальною є ємність 30 пФ.


Якщо вхід скидання мікроконтролера  MCLR залишити вільним, то через зовнішні впливи або імпульсні перешкоди може статися випадкове скидання мікроконтролера. Тому за допомогою резистора R2 на лінії MCLR надійно зафіксований рівень логічної одиниці. Опір цього резистора можна брати в найширших діапазонах – від нуля до десятків кілоом. Вибираю R2 = 5,6 кОм.


Так як мікроконтролер має сильноточні схеми портів вводу/виводу  
(I лог.1 max = 25 мА, I лог.0 max = 25 мА), світлодіодні індикатори будуть підключатися до мікроконтролера безпосередньо. Індикація буде вестись порозрядно. При цьому лінії порту B будуть використовуватись для вибору сегментів, що будуть запалені, а за допомогою ліній RA0, RA1, RA2 буде вибиратись активний розряд індикатора. До ліній порту B під’єднуються катоди, а до ліній RA0, RA1, RA2 – спільні аноди індикаторів. Так як для реалізації схеми були вибрані світлодіодні індикатори зі спільними анодами, для вибору активного розряду на відповідній лінії RA0, RA1 чи RA2 потрібно встановити рівень логічної одиниці, для запалення потрібних сегментів – на відповідних лініях порту B встановити рівні логічних нулів.

Розряд HG1.1 буде використовуватись тільки для виводу знака “мінус” при виводі або встановленні від’ємної температури. Тому в ньому задіяний тільки один сегмент G, і цей сегмент підключений замість сегменту H індикатора HG1.2, так як крапка в ньому ніколи не виводиться.

Для реалізації описаного підключення світлодіодних  індикаторів до ліній вводу/виводу мікроконтролера необхідно лиш  обмежити струм через індикатори, так як різниця між рівнями  логічної одиниці і логічного  нуля на лініях мікроконтролера вища ніж номінальна пряма напруга  світлодіодів  
(Uлог.1 = Uжив = 5В, Uлог.0 = 0В, Uпр.св. = 2В). Враховуючи, що номінальний прямий струм світлодіодів Iпр.св. = 10 мА розраховуємо опори резисторів:

Враховуючи, що індикація  динамічна, і що кожен розрад буде горіти лише третину часу, необхідно  дещо зменшити отримане значення опору. Вибираю опір резисторів 180 Ом.

Для підключення термодатчика і керування ключем залишаються лише дві лінії вводу/виводу мікроконтролера – RA3 та RA4. Так як лінія RA4 мультиплексована з входом таймера-лічильника T0CKI, вона має не КМОН-структуру на виході, як усі інші лінії вводу/виводу, а каскад на транзисторі з відкритим cтоком. Так як для керування термодатчиком і ключем більш прийнятним є використання ліній з КМОН-структурою на виході, для керування сегментами H індикаторів використовується лінія RA4 замість RB7. Так як лінія RA4, як говорилось, з відкритим cтоком, використовується навантажувальний резистор R4. Для досягнення невисокого енергоспоживання схеми задаємось, що струм через резистор не має перевищувати 10 мА. Тоді:

З стандартного ряду опорів Е24 вибираю опір 470 Ом.

Так як вільних ліній  вводу/виводу мікроконтролера не залишається, кнопки управління термостатом будуть підключатися до ліній RB5, RB6. В кінці кожного періоду виведення інформації на індикатор програмно буде реалізовуватись перевірка стану кнопок SB1 і SB2. Для цього на лініях RA0–RA2 виставлятимуться низькі логічні рівні, що відповідає відключенню всіх розрядів індикатора. Потім лінії RB5, RB6 переналаштовуватимуться на ввід, при цьому до них під’єднаються внутрішні “підтягуючі” резистори, з’єднані з шиною живлення +5В. При натисненні на кнопку SB1 чи SB2 високий логічний рівень напруги зміниться на низький, що і буде відслідковано мікроконтролером. Послідовно з кнопками включені резистори R12 та R13 для запобігання виходу з ладу внутрішніх вузлів мікроконтролера при натисненні кнопок, коли на лініях RB5, RB6 встановлені високі логічні рівні для виводу на індикатор, а також для того, щоб натиснення кнопок не впливало на індикацію. Опори резисторів беруться більш ніж вдвічі менші, ніж опори внутрішніх “підтягуючих” резисторів для надійної фіксації рівня логічного нуля при натисненні кнопок. Так як опір внутрішніх “підтягуючих” резисторів 5 кОм [10], вибираю опір резисторів R12 та R13 рівним 2 кОм.

Інтегральний цифровий датчик DS18B20 підключаю до лінії мікроконтролера RB7. Передача усіх команд і даних від мікроконтролера до датчика і навпаки буде здійснюватися саме через утворену таким чином шину 1-WARE. Протокол реалізації цієї шини передбачає включення навантажувального резистора R3 опором 4,7 кОм, з’єднаним з шиною живлення +5В.

В ланцюг живлення датчика  включений резистор R1 невеликого опору для запобігання замикання напруги живлення в проводах, що ідуть від пристрою до датчика (коли датчик розміщується окремо від плати). Опір його розрахований так, щоб напруга на датчику падала не більше ніж на 0,1 В при максимальному струмі споживання (Iсп.max = 1 мА).

Силовий ключ утворений  звичайним каскадом з спільним емітером на потужному транзисторі VT1, в колекторний ланцюг якого ввімкнене електромагнітне реле K1. Реле можна використати будь-якого типу з напругою спрацювання 5В та невеликим струмом спрацювання (до 100 мА). Контакти реле включаються в розрив ланцюга живлення виконавчого елемента. Якщо в якості виконавчого елемента планується використовувати нагрівач, то потрібно взяти реле з нормально розімкнутими контактами, якщо планується використовувати охолоджувач – з нормально замкнутими контактами.

В схемі використаний збірний  транзистор КТ829А, який має великі потужність та коефіцієнт передачі струму, що ідеально підходить для ключових схем. Його основні електричні параметри [13]:

  • максимальна напруга колектор-емітер UКЕ max = 100 В ;
  • максимальний струм колектора IК max = 8 А ;
  • коефіцієнт передачі струму h21е > 750.

Для обмеження сплесків напруги через ЕРС самоіндукції, що виникає на обмотці реле при його включенні/виключенні, використаний малопотужний діод VD1, включений паралельно до обмотки реле. В схемі використаний діод КД522Б,  який має такі основні електричні параметри [13]:

  • максимальний постійний прямий струм Iпр.max = 100 мА ;
  • максимальний імпульсний прямий струм Iпр.і.max = 1500 мА ;
  • максимальна зворотня напруга Uзв.max = 50 В.

Силовим ключем керує вихід  RA3 мікроконтролера. Для обмеження струму бази транзистора встановлений резистор R14. Задаємось, що максимальний струм бази має становити IБ = 5 мА. Цього струму достатньо, щоб струм колектора міг досягати , чого більш ніж достатньо для керування найпотужнішими реле. Розраховуємо опір резистора:

Для забезпечення індикації  роботи виконавчого елемента використовую світлодіод HL1, включений паралельно до обмотки реле K1. Світлодіод горить тоді, коли транзистор VT1 відкритий і реле включене. Використовую світлодіод АЛ307А червоного кольору свічення.

Його основні електричні параметри [13]:

  • максимальний постійний прямий струм Iпр.max = 20 мА ;
  • максимальна пряма напруга (при Iпр = Iпр.max) Uпр.max = 2 В ;
  • максимальна зворотня напруга Uзв.max = 2 В ;
  • сила світла I = 1500 мккд.

Для обмеження струму через  світлодіод включений резистор R15. Розраховуємо опір резистора:

.

 

6 Розробка програмного забезпечення термостабілізатора

 

Як уже зазаначалось, керування роботою пристрою буде здійснюватись мікроконтролером на основі завантаженої у нього програми. Тому робота пристрою повністю обумовлена саме програмним забезпеченням, яке буде завантажене у мікроконтролер.

Власне програмування  здійснюватиметься програмою PoniProg за допомогою програматора. Для цього незапрограмовану мікросхему мікроконтролера (можна і уже запрограмовану, якщо потрібно її перепрограмувати) потрібно встановити в роз’єм XS2 (18-вивідну підложку) програматора, а сам програматор під’єднати до COM-порту комп’ютера. Потім потрібно запустити програму PoniProg, завантажити в її буфер HEX-код програми, вибрати тип мікроконтролера та запустити процес програмування. Після цього процесом запису в програматор кодів програми, перевіркою правильності запису та іншими необхідними операціями буде керувати сама програма. Детальне описання процесу програмування описане в [14].

Після програмування  запрограмовану мікросхему впаюють  у плату власне термостабілізатора (можна також використати 18-вивідну підложку, щоб при необхідності мікросхему можна було перепрограмувати) і пристрій готовий до роботи.

Програма термостабілізатора складається з двох основних частин: з основної програми написаної за алгоритмом, зображеним на рисунку 7, та підпрограми обробки переривання, алгоритм якої  зображений на рисунку 8. Повний текст програми з детальними коментарями приведений в додатку А.

При включені приладу  перш за все відбувається початкова  ініціалізація змінних і констант та налаштовування вбудованих в мікроконтролер ресурсів: портів A і B, таймера-лічильника TMR0 та переривань (2).

Далі з енергонезалежної пам’яті EEPROM завантажується значення температури, що повинна підтримуватись (3).

Далі мікроконтролер посилає датчику команду почати вимірювання температури і очікує завершення процесу вимірювання (4).

Далі починається  основний цикл програми.

Мікроконтролер  переводить прийнятий від датчика  двійковий код в формат BSD. В результаті в комірках Hund, Tens, Once отримуємо відповідно значення кількості цілих сотень, десятків і одиниць градусів (4).

Далі BSD-коди переводяться в коди семисегментного індикатора за допомогою табличної конвертації (5).

Після цього слідує процедура порівняння виміряного значення температури з встановленим для  підтримки. При цьому враховуються знаки обох значень (7).

На основі результатів  порівняння (8) здійснюється включення  або виключення виконавчого елемента (9), (10).

Далі здійснюється остаточна підготовка перед виведенням значення температури на індикатор  – формування семисегментного коду для знаку мінус, якщо температура від’ємна, гасіння перших нулів (11). 

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

Після цього мікроконтролер посилає датчику команду здійснити  передачу виміряної попередній раз  температури і приймає її (13).

На останок  мікроконтролер посилає команду  почати наступне вимірювання температури  і очікує завершення процесу вимірювання (14).

Після цього програма зациклюється.

Підпрограма обробки  переривання виконує власне динамічну  індикацію кодів, що були занесені в  буфер індикатора (9).

Також вона здійснює опитування кнопок управління (4), (5). Відповідно до кнопок, які були натиснені, буде виконана підпрограма виведення на індикатор значення встоновленої температури (6) (якщо натиснута кнопка SB1) або процедура встановлення значення температури, що буде підтримуватись (7) (якщо при натиснутій кнопці SB1 натиснути кнопку SB2).

Информация о работе Розробка мікроконтролерного термостабілізатора