.
Блок сполучення контролера з аналогової частиною схеми являє собою чотири каскаду рис. 10:
Рисунок 10 - Блок сполучення контролера з аналогової частиною схеми
) Інвертуючий підсилювач з коефіцієнтом посилення 1. Даний каскад зібраний на ОП DA7.2 і резисторах R21, R23, і пропускає тільки напруга в діапазоні від 0 до +3 вольт.
) Неінвертуючий підсилювач з коефіцієнтом посилення 1. Даний каскад зібраний на ОП DA7.1 і резистори R22 і пропускає тільки напруга в діапазоні від 0 до - 3 вольт.
) Скидання вимірювача напруги. Являє собою конденсатор С7, резистор R32 польовий транзистор VT1. На вхід даного каскаду надходить постійне або пульсуюче напруги заряджаючи її до напруги рівного діючим значенням вимірюваного параметра. Для розрядки конденсатора транзистор VT1 замикає його через резистор R32 на землю.
) Четвертий каскад являє собою повторювач напруги на ОУ DA8.2. Даний каскад має високоомний вхід і низькоомний вихід. Завдяки цьому відбувається узгодження АЦП входу контролера з вимірюваним напругою.
Налагодження блоків універсального програмно-апаратного лабораторного комплексу автоматизації вимірювань вироблялося в середовищі автоматизованого проектування електронних схем PORTEUS сьомої версії. Інтерфейс програми показано на прикладі налагодження контролера системи в додатку Г.
Перелік елементів викладено у додатку В (спроектований в програмі Schemagee третин версії).
вимір мікропроцесор автоматизація комп'ютер
2.3 Програмне забезпечення контролера системи
Програма роботи мікроконтролера написана на мові програмування C у середовищі розробки Atmel Studio версії 6.1.
Для роботи з дисплеєм на основі контролера HD44780 була написана бібліотека, вихідний код якої міститься на компакт диску. Основні функції даної бібліотеки:
. void LcdInit (void);- Функція ініціалізації дисплея. Ця функція містить в собі набір команд необхідних для включення дисплея, вибору режиму роботи і очитки відеопам'яті для подальшої роботи з нею.
. void LcdSetToLcd (unsigned char command, unsigned char x);- Функція відсилання команд і даних контролеру дисплея. Перший параметр цієї функції визначає тип посиланого пакету:
.1 Пакет команд. Як аргумент використовується константа LCD_COMMAND.
.2 Пакет даних. Як аргумент використовується константа LCD_DATA.
Другий параметр являє собою дані відправляються контролеру.
. void LcdConvertIntDisplay (int16_t u);- Функція автоматичної конвертації целочисленной константи зі знаком в строкову змінну з подальшого запису її в відеопам'ять дисплея.
. void LcdFillSpace ();- Функція очищення відеопам'яті за курсивом.
. void LcdDrawString (char * str_);- Функція запису строкової змінної в відеопам'ять дисплея.
. void LcdGoToPos (uint16_t pos_);- Функція переміщення курсиву. Параметром цієї функції є номер комірки відеопам'яті в яку повинен бути переміщений курсив.
Для роботи з температурним датчиком DS18B20 написана бібліотека, вихідний код якої м...