Пристрій термоконтролю на базі мікроконтролера ATMEGA16

курсовая работа

1. Мікроконтролер та його призначення у приладі

Мікроконтролер (МК) - мікросхема, призначена для управління електронними пристроями. Типовий мікроконтролер поєднує у собі функції процесора і периферійних пристроїв, містить оперативний запамятовуючий пристрій (ОЗУ) та постійний запамятовуючий пристрій (ПЗП). По суті, це одно кристальний компютер, призначений для виконання простих завдань. Використання однієї мікросхеми, замість набору різних елементів, як в звичайних процесорах персональних компютерів, значно зменшує розміри, енергоспоживання та вартість пристроїв, побудованих на базі мікроконтроллерів. Мікроконтролери є основою для побудови вбудованих систем, їх можна зустріти в таких приладах як: телефон, мікрохвильова піч і тому подібне. Мікроконтролери широко застосовуються у сучасному машино будівництві.

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

В наш час 8-розрядні процесори були витіснені продуктивнішими моделями більшої розрядності, в той же час 8-розрядні мікроконтролерипрдовжують використовуватися в різних сферах людської діяльності. Це пояснюється ти, що існують задачі в яких не потрібна висока продуктивність, але вони потребують низької вартості.

Обмеження за ціною і енерговитратами стримують збільшення тактової частоти контролерів. Хоча зявляються моделі для роботи на високих частотах, виробники надають вибір, випускаючи модифікації, які розраховані на різні частоти і напругу живлення. У багатьох мікроконтролерах використовується статична память для ОЗУ і внутрішніх регістрів. Це дає контролеру можливість працювати на менших частотах і не втрачати дані навіть при повній зупинці тактового генератора. Виробники додають різні режими енергоспоживання, які дозволяють відключати частину периферійних пристроїв і обчислювальний модуль.

Окрім ОЗУ, мікроконтролер має постійну память яка призначена для зберігання програмного забезпечення та даних. У більшості мікроконтролерів відсутня шина для підключення зовнішньої памяті. Дешеві типи памяті призначені лише для однократного запису, така память потрібна тільки якщо ми впевнені, що програма контролера не буде змінюватися. Інші типи контролерів володіють можливістю багаторазового перезапису енергонезалежної памяті. Зазвичай в контролерах застосовується гарвардська архітектура памяті, тобто роздільне зберігання команд і даних в ОЗУ і ПЗП.

Зазвичай мікроконтролер включає в себе:

Інтерфейси вводу-виводу (UART, I2C, SPI, CAN, USB)

ЦАП та АЦП

Компаратори

Широтно-імпульсні модулятори

Таймери

Масиви вбудованої флеш-памяті

Програмування мікроконтроллерів в основному здійснюється на мові асемблера або С, хоча існують компілятори і для інших мов. Також використовуються вбудовані інтерпретатори Basic. Також використовується спеціальне програмне забезпечення для створення і налагодження програм, такі як MCSStudio, AVRStudio, AlgorithmBuilder та інші.

Мікроконтролер, що використовується у даній курсовій роботі повинен виконувати такі завдання:

Періодичне вимірювання напруги;

Перерахунок значення напруги у температуру;

Відображення значень температури на індикаторі;

Порівняння отриманого значення температури з номінальним;

Для реалізації цих завдань необхідно програмно описати зовнішні переривання (обнулення від таймера для виводу наступного знаку). Для забезпечення індикації необхідно описати роботу портів, та створити підпрограму виведення значень на індикатор.

Реалізувати це можна за допомогою мікроконтролера ATMEGA16.

Загальні характеристики даного мікроконтролера:

8-розрядний високопродуктивний AVR мікроконтролер з малим споживанням

ПрогресивнаRISCархітектура :

130 високопродуктивних команд, більшість команд виконується за один тактовий цикл

328 - розрядних робочих регістра загального призначення

Повністю статична робота

Продуктивність наближається до 16 MIPS ( при тактовій частоті 16 МГц)

Вбудований 2 - циклової перемножувач

Незалежна память програм і даних

16 КбайтВнутрішньосистемної програмованої Flash памяті (In - SystemSelf - ProgrammableFlash)

Забезпечує 1000 циклів стирання / запису

Додатковий сектор завантажувальних кодів з незалежними бітами блокування

Внутрішньосистемне програмування вбудованої програмою завантаження

Забезпечено режим одночасного читання/запису (Read- While - Write)

512 байт EEPROM

Забезпечує 100000 циклів стирання / запису

1 Кбайт вбудованої SRAM

Програмоване блокування, що забезпечує захист програмних засобів користувача

Інтерфейс JTAG (сумісний з IEEE 1149.1)

Можливість сканування периферії, відповідно стандарту JTAG

Розширена підтримка вбудованого налагодження

Програмування через JTAG інтерфейс: Flash, EEPROM памяті, перемичок і бітів блокування

Вбудована периферія

Два 8 - розрядних таймера/лічильника з окремим попередніми дільником , один з режимом порівняння

Один 16 - розрядний таймер/лічильник з окремим попередніми дільником і режимами захоплення і порівняння

Лічильник реального часу з окремим генератором

Чотири канали PWM

8 -канальний 10 - розрядний аналого- цифровий перетворювач

8 несиметричних каналів

7 диференціальних каналів ( тільки в корпусі TQFP )

2 диференціальних канали з програмованим посиленням в 1, 10 або 200 раз (тільки в корпусі TQFP)

Байт -орієнтований 2-дротовий послідовний інтерфейс

Програмований послідовний USART

Послідовний інтерфейс SPI ( ведучий / ведений )

Програмований сторожовий таймер з окремим вбудованим генератором

Вбудований аналоговий компаратор

Спеціальні мікроконтролерні функції

Скидання по подачі живлення і програмований детектор короткочасного зниження напруги живлення

Вбудований калібрований RC -генератор

Внутрішні і зовнішні джерела переривань

Шість режимів зниженого споживання: Idle, Power- save, Power- down, Standby, ExtendedStandby і зниження шумів ADC

Висновки I / O і корпусу

32 програмовані лінії вводу/виводу

40 - вивідний корпус PDIP і 44 - вивідний корпус TQFP

Робоча напруга

4,5 - 5,5 В ( ATmega16 )

Робоча частота

0 - 16 МГц ( ATmega16 )

Алгоритм роботи нашого приладу досить примітивний. Після налаштування ліній портів, опису знаків, налаштування АЦП, таймерів та дозволу переривань головна програма зациклюється на команді переходу з міткою. Далі код з регістра ADCH пересилається у робочий регістр. Наступним кроком зчитується відповідне значення температури, після цього визначається модуль прийнятого числа, а саме: сотні, десятки, одиниці. Потім ці числа замінюються відповідними образами та засилаються у порт який звязаний з індикатором. Крім того, аналізується відхилення температури від заданого значення і видається відповідний код на світло діоди.

Делись добром ;)