Виберіть свою мову

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

На світлодіодному індикаторі приладу можна спостерігати поточні значення часу в форма е ЧЧ.ММ; температури в місці установки виносного датчика, °С; атмосферного тиск, мм рт. ст. Передбачена трирівнева ('нормально - увага - розряджена") індикація стану батареї резервного живлення. Температуру в інтервалі -50...+50 °С прилад вимірює з похибкою 0,1...0,2 °С. Інтервал вимірювання тиску - 700 ..800 мм рт. ст похибки при 1...2 мм рт. ст.

Конструктивно пристрій складається з трьох модулів (плат) - контролера, індикації і харчування, поміщених в корпус розмірами 210x160x80 мм з прозорим вікном для індикаторів, і виносного датчика температури, з'єднується з основним блоком трипровідним кабелем довжиною до 20 м. Датчик атмосферного тиску знаходиться всередині корпусу.

Вибір мікроконтролера AT90LS8535 фірми Atmel був обумовлений наступними обставинами:

  • послідовний інтерфейс ISP (Interface for Serial Programming) дозволяє програмувати мікроконтролер "прямо на платі", що значно спрощує налагодження. Програматор, що підключається до портів СОМ або LPT комп'ютера, нескладно виготовити самостійно [1, 2] або придбати готовий за порівняно невелику ціну;
  • завдяки вбудованому багатоканальним 10-розрядному АЦП відпадає необхідність в великому числі зовнішніх компонентів;
  • більш низький межа допустимого напруги живлення (2,7 проти 4 у "високовольтного" AT89S8535) значно збільшує термін придатності батареї резервного живлення приладу.

Мікроконтролер AT90LS8535 можна замінити на більш сучасний ATmega8535L або поширені АТмеда10З, АТМеда603 тієї ж фірми, не змінюючи програму. Однак дві останні мікросхеми значно дорожче і випускають їх тільки в пленарному 64-вивідному корпусі, що зажадає істотного ускладнення друкованої плати.

МОДУЛЬ КОНТРОЛЕРА

У модулі контролера, схема якого показана на рис. 1, розташовані основні вузли приладу: мікроконтролер DD2; преобраэоватвль сигналів UART мікроконтроллера в стандартні рівні інтерфейсу RS-232 (мікросхема DD1); вузол перетворення опору датчика температури RK1 в напругу (мікросхеми DAI, DA2, транзистори VT1, VT2); датчик тиску (ВР1); ключі управління світлодіодними індикаторами (транзистори VT3-VT30); вилки інтерфейсу RS-232 (ХР1), програмування мікроконтролера (ХР2) і для підключення індикаторів (ХР3).

(натисніть для збільшення)

Під управлінням мікроконтролера DD2 ключі на транзисторах VT3-VT12, VT21 -VT30 по черзі підключають до джерела живлення ланцюга загальних анодів десяти семисегментних індикаторів, їх катоди коммутіруют транзистори VT13 - VT19. Транзистор VT30 керує парою світлодіодів, розташованих між розрядами годин і хвилин індикатора. З висновку 29 (РС7) мікроконтролера надходить сигнал на світлодіод знака "мінус" температури, а з висновків 6 (РВ5) і 7 (РВ6) - на двоколірний світлодіод, що показує стан батареї резервного живлення. Всі згадані вище індикатори знаходяться поза модуля контролера. Так як висновки 6, 7 мікросхеми DD2 використовуються і для її програмування цю операцію бажано проводити, відключивши від вилки ХРЗ шлейф, що зв'язує модулі контролера і індикації.

Напруги, пропорційні вимірюваним величинам надходять на три виведення мікроконтролера DD2, запрограмовані як входи трьох з восьми наявних каналів вбудованого АЦП Висновок 40 (PA0/ADC0) температура, 39 (PA1/ADC1) - тиск, 38 (PA2/ADC2) - напруга батареї. Зразковим для АЦП служить подана на висновок 32 (AREF) мікроконтролера напруга +5 В А , що значно знижує вимоги до стабільності останнього. Справа в тому, що вихідна напруга датчиків температури і тиску пропорційно не тільки вимірюваних параметрах, але і напруги живлення. Зміна разом з ним зразкового напруги усуває цю залежність у вихідному коді АЦП. Хоча відхилення зразкового напруги від номіналу вносять додаткову похибку в результат вимірювання напруги батареї, в даному випадку це не так вже важливо.

Терморезистором RK1 - датчиком температури - служить обмотка реле РЭС60 (паспорт РС4.569. 435-00) опором 1900+120/-380 Ом при 20 °С. можна Тут застосувати й інші мідні обмотки приблизно такого ж опору, в тому числі обмотки реле РЭС49 (паспорт РС4.569.421-00), РЭС79 виконань ДЛТ4.555.011. ДЛТ4.555.011-05.

Опір мідного дроту обмотки лінійно залежить від температури і досить стабільно в часі. Якщо його величина відома при температурі Т0 (наприклад, при 20 °С), то при температурі Т опір стане рівним

R(T) = R(T0)[1 +0,004(Т-Т0)].

Конструктивне оформлення датчика може бути подібним показаному на рис. 2.

До висновками А і Б реле 1 припаюють багатожильні ізольовані сполучні дроти 4 (наприклад, МГТФ), пропустивши їх крізь трубку-тримач 2 залиту епоксидною смолою 3. Щоб запобігти витіканню рідкої смоли, місця нещільного прилягання трубки 2 до реле 1 герметизують, наприклад, пластиліном, який після полімеризації смоли легко видалити.

Перед заливкою необхідно надіти на свити джгут проводів гнучку поліхлорвінілову трубку 5. Вона захистить не лише від несприятливих атмосферних впливів, але і від обривів проводів при частих перегини, особливо в місці виходу з трубки 2. Згинати висновки реле або обрізати непотрібні не слід. Цим можна пошкодити їх скляні ізолятори, і проникла всередину герметичного корпуса реле волога викличе корозію, а згодом - обрив проводу надтонкого обмотки.

На ОУ DA1.1, DA1.2 і польових транзисторах VT1, VT2 зібрані два стабілізатора струму 1 мА. Їх ідентичність забезпечено подачею зразкового напруги від загального дільника R1R2 і рівністю опорів резисторів зворотного зв'язку R3 і R4. Струм верхнього за схемою стабілізатора тече через датчик RK1 і два з'єднувальних проводи, підключені до контактів 1 і 3 роз'єму Х1, струм нижнього - через зразкове опір (резистор R5) і також два дроти, підключених до контактів 2 і 3. Так як результатом вимірювання служить різниця напруг на витоки транзисторів VT1 і VT2 рівні падіння напруги на проводах і контактах роз'єми при відніманні взаємно знищуються.

Номінал резистора R5 трохи менше опору датчика RK1 при мінімальній вимірюваній температурі, тому їй відповідає майже нульовий вихідний сигнал перетворювача. Якщо використаний датчик з помітно відрізняється від 1850 Ом опором при кімнатній температурі необхідно за наведеною вище формулою обчислити його опір при температурі нижньої межі інтервалу вимірювання (наприклад, -50 °С) і взяти в якості номіналу R5 найближче менше значення з ряду Е24 З цього ряду випускають резистори з допустимим відхиленням не больові ±5 %, однак застосовувати потрібно прецизійний, наприклад, С2-29В з допуском +1 % і лише такий резистор забезпечить мінімальний вплив змін температури у місці установки приладу на його свідчення.

Операцію віднімання виконує прецизійний диференціальний підсилювач постійного струму на ОП DA2.1, DA2.2. Робота такого підсилювача описана в [3]. Необхідно точне рівність опорів резисторів R8-R11, тому їх слід підбирати з допусками не більше ±0,1...±0,25 %, аналогічні допуски повинні мати і резистори R3, R4.

Коефіцієнт підсилення диференціального підсилювача встановлюють таким, щоб верхньої межі вимірювання температури відповідало максимально можливе для ОУ вихідна напруга - приблизно 4,4 Ст.

Необхідне значення коефіцієнта посилення знаходять за формулою

де R0 - опір датчика при кімнатній температурі, кОм; i0=1 мА - номінальний струм через датчик і зразковий резистор; Тмакс,Кмин - відповідно верхня і нижня межі інтервалу вимірювання, °С. Задавшись рівними номіналами резисторів R8-R11 (їх можна вибирати будь-якими від 2 до 10 кОм), обчислюють номінал резистора R6 за формулою

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

Датчик тиску ВР1 - МРХ4115АР випускає фірма Motorola спеціально для електронних барометрів і барометричного высотомеров. В інтервалі 0,15...1,15 кПа (112,5...862,5 мм рт. ст.) залежність його вихідної напруги від тиску лінійна з нормованим нахилом. Однак зміщення нуля характеристик різних примірників датчика доходить до 20 мм рт. ст. Компенсація зміщення у даному приладі покладено на програму мікроконтролера. Перший висновок датчика легко визначити за напівкруглому вирізу на ньому.

Якщо у виготовленому приладі показання барометра нестабільні, найчастіше винні наведені на вихідну ланцюг датчика ВР1 перешкоди. Щоб позбутися них, досить встановити між виводами 1 і 2 датчика не показаний на схемі конденсатор ємністю не менше 0,047 мкФ.

Ланцюг R7C11 забезпечує надійну установку мікроконтролера DD2 у вихідне стан при включенні живлення. Конденсатори С1-С10, С12 - блокувальні, С13 і С14 необхідні для порушення кварцового резонатора ZQ1.

Друкована плата модуля контролера - двостороння з фольгованого склотекстоліти товщиною 1,5 мм. Її розміри - 190x120 мм з вирізом 90x60 мм.

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

Резистори R1-R6, R8-R11 - С2-29В або інші прецізійні з зазначеними раніше допусками. Інші резистори - звичайні МЛТ або С4-1. Всі конденсатори -будь-які керамічні. Кварцовий резонатор ZQ1 - НС-49 або іншого на потрібну частоту.

Вилки ХР1-ХРЗ - дворядні штирьові колодки PLD. Блочна частина роз'єму РС4 (Х1) встановлена на корпусі приладу. Її контакти з'єднані з відповідними контактними майданчиками друкованої плати.

Перетворювач рівнів сигналів інтерфейсу RS-232 МАХ202СРЕ (DD1) можна замінити одним з його численних функціональних аналогів, що розрізняються лише числом каналів перетворення, рекомендованими номіналами конденсаторів С4, С5, С9, С10 і рівнем захисту входів і виходів від перешкод і перенапруг.

В крайньому випадку мікросхему DD1 можна замінити вузлом на двох транзисторах з схемою, показаної на рис. 3. Необхідне для формування повноцінного сигналу TXD негативне напруга в цьому випадку отримують випрямленням з допомогою ланцюга VD1C1 сигналу RXD, що надходить від комп'ютера. У спеціалізовані інтерфейсні мікросхеми вбудовані бестрансформаторные перетворювачі для отримання підвищеного позитивного і негативного напруги.

Заміною здвоєних прецизійних ОУ МАХ478СРА (DA1, DA2) послужать счетверенних MAX479CPD. Аналогічні ОУ випускає фірма Analog Devices (AD8512, AD8513). В крайньому випадку підійдуть одинарні вітчизняні КР140УД26А.

Польові транзистори КПЗ0ЗЕ можна замінити на КП302 з буквеними індексами Б-Р або інші з n-каналом і початковим струмом стоку не менше 3...5 мА. Замість транзисторів КТ315Г можна встановити КТ315Б або на КТ3102 з будь-якими буквеними індексами, замість КТ972А - КТ817Г, а замість КТ973А - КТ973Б. Зрозуміло, допустимо застосовувати будь-які інші транзистори приблизно такої ж потужності з п21Э не менше 100, у тому числі імпортні.

МОДУЛЬ ІНДИКАЦІЇ

Призначення цього модуля ясно з назви, а схема зображена на рис. 4. Між семисегментными світлодіодними індикаторами годин (HG1, HG2) і хвилин (HG3, HG4) з цифрами висотою 25 мм світлодіоди знаходяться HL3 і HL4, миготливі з частотою 0,5 Гц. Інші індикатори - вдвічі меншого розміру. HG5-HG7 показують температуру, HG8 і HG9 - одиницю її виміру (°С). Завдяки резистору R2 між розрядами одиниць і десятих часток градуса світиться десяткова крапка.

На індикатори HG10-HG12 контролер виводить значення атмосферного тиску, одиниця виміру (мм) видно на здвоєному шестнадцатисегментном індикаторі HG13. Врахуйте, що індикаторами HG8, HG9, HG13 контролер не управляє. Потрібні символи "запрограмовані" єднанням катодів цих сегментів індикаторів з загальним проводом через резистори R4-R16.

Зліва від індикатора HG5 (розряд десятків градусів) горизонтально розташований плоский світлодіод HL1 - знак "мінус". Двоколірний світлодіод HL2 служить для індикації стану резервної батареї. Поки напруга в нормі, він зелений, періодична зміна кольору сигналізує, що батерею пора замінити. Якщо колір постійно червоний, батарея розряджена повністю або відсутня.

Друкована плата модуля - двостороння з фольгованого склотекстоліти товщиною 1,5 мм. Її розміри - 190x75 мм.

Вилку ХР1 (PLD-24, ідентична вилці ХРЗ контролера) і всі резистори монтують з одного сторони плати. Індикатори HG1 - HG13 і світлодіоди HL1-HL4 - з протилежного сторони, попередньо пофарбувавши темною фарбою її поверхня і місця пайок штирів вилки і висновків резисторів. Це покращує зовнішній вигляд приладу, створюючи темний фон для індикаторів і приховуючи від користувача подробиці пристрою.

На схемі (див. рис. 4) зазначені типи світлодіодів та індикаторів виробництва фірми Kingbright, але з рівним успіхом можна застосовувати аналогічні інших фірм, в тому числі вітчизняні.

(натисніть для збільшення)

Індикатори HG1-HG4 -жовтого, HG5 - HG7 - зеленого, решта - червоного кольору світіння. Зрозуміло, кольору можна вибрати і іншими у відповідності з власним смаком. Колір світлодіода HL1 повинен бути таким же, як у індикаторів HG5-HG7, а світлодіодів HL3, HL4 - як у індикаторів HG1-HG4.

Бажано застосовувати світлодіоди з дифузним розсіюванням світла (з матовою лінзою). Щоб усунути непотрібне підсвічування елементів конструкції приладу, покрийте бічні поверхні світлодіодів HL1 і HL2 який-небудь непрозорою фарбою.

МОДУЛЬ ЖИВЛЕННЯ

На рис. 5 наведена схема модуля, який виробляє чотири напруги: + 5 В (А) і -5 В - для живлення аналогових вузлів приладу; +5 В (Ц) - для цифрових вузлів; пульсуюче (неотфильтрованное) напруга +12 В - для індикаторів. Напруги з відповідних обмоток трансформатора Т1 після випрямлення діодними мостами VD1 - VD4 надходять (крім напруги +12 В) на фільтруючі конденсатори С1-C3 інтегральні стабілізатори DA1-DA3. В модулі є три виводу загального проводу: Заг. (А) - "аналоговий"; Заг. (Ц) - "цифровий"; Заг. (І) - для індикаторів. Вони з'єднані між собою тільки в одній точці на платі модуля живлення, а у всіх інших модулях електрично не пов'язані. Це необхідно для зниження рівня перешкод, створюваних цифровими вузлами модуля контролера аналоговим.

Трансформатор Т1 - ТП112-19 з кільцевим магнітопроводом, на який додаток до наявних обмоток I-III намотані ще дві: IV (80 витків дроту ПЕВ-2 0,2 мм) і V (120 витків дроту ПЕВ-2 0,5 мм). Можна застосувати будь-який інший трансформатор габаритною потужністю не менше 15 Вт з потрібним числом вторинних обмоток (І-IV - 7...9/0,05 А; V - 12...15В/0.5 А).

Напруга резервної гальванічної батареї GB1 через перемикач SA1 і діод VD6 надходить на вихід +5 В (Ц), якщо відсутнє відповідне напруга на виході стабілізатора DA3. Цим підтримується робота контролера при відключенні приладу від мережі, що необхідно не тільки для захисту від збоїв при аварії мережі, але і, наприклад, для перенесення приладу з одного приміщення в інше.

Батарея GB1 складена з трьох гальванічних елементів типорозміру АА, з'єднаних послідовно. Велику частину часу споживаний струм від батареї пренебрежимо малий, тому краще використовувати елементи з лужним (alkaline) електролітом, для яких характерні мінімальна саморазрядка і максимальний допустимий термін зберігання. Найбільш надійні "фірмові" елементи відомих виробників. Вони можуть прослужити без заміни кілька років, а дешеві підробки іноді виявляються непрацездатними вже через кілька тижнів.

Перемикачем SA1 з'єднують із загальним проводом ланцюг контролю напруги батареї GB1 при відсутності останньої. Це усуває помилкові показання індикатора.

Друкована плата модуля живлення - одностороння з кількома дротяними перемичками. Розміри плати - 120x100 мм. Інтегральні стабілізатори DA1 і DA3 можна замінити будь-якими вітчизняними або імпортними на позитивне напруга 5 В (КР1158ЕН5, 78L05, LM2931AZ-5.0), DA2 - на таке ж негативне (79L05, LM2990T-5.0). Оксидні конденсатори - К50-35 або їх імпортні аналоги. Діоди VD5, VD6 - будь-які малопотужні. При можливості встановіть тут діоди Шотткі або германієві. Правда, досить великий зворотний струм останніх може негативно позначитися на терміні служби батареї GB1.

ПРОГРАМА МІКРОКОНТРОЛЕРА

Вихідний текст програми, написаний на AVR-асемблері. Вміст hex-файл отриманого в результаті трансляції програми, наведено в табл. 1. Саме його необхідно завантажити в пам'ять програм мікроконтролера DD2.

(натисніть для збільшення)

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

За щосекундних переривань від таймера 1 йде відлік часу. По перериваннях від таймера 0 працює процедура динамічного керування виводом інформації на світлодіодні індикатори, що відбувається зчитування результатів роботи АЦП. Період переривань від таймера 0 - 0,5 мс, тому інформація у всіх десяти розрядах індикатора оновлюється кожні 5 мс. Черговий відлік АЦП отримують при обробці кожного 32-го переривання від таймера 0. Отримані за 1024 мс 64 відліку одного з параметрів (температури, тиску або напруги) складають, потім суму ділять на 64, а отримане середнє значення зберігають в ОЗП для подальших розрахунків. Наступні 1024 мс АЦП вимірює інший параметр. Таким чином, повний цикл опитування датчиків - трохи більше 3 с. Після цього мікроконтролер виконує процедури розрахунку значень вимірюваних фізичних величин і готує їх до висновку на індикатор.

Виводиться на індикатор число X мікроконтролер обчислює за формулою X=K(N-Z), причому коефіцієнти До і Z при обчисленні температури і тиску різні Їх значення "зашиті" в програмному коді і переносяться з нього в ОЗП під час ініціалізації. При необхідності коефіцієнти можна "підігнати" під реальні характеристики датчиків за допомогою підключеного до приладу комп'ютера. Нові значення діють до відключення живлення мікроконтролера, збереження їх у енергонезалежній пам'яті не передбачено.

Мікроконтролер стежить за станом батареї, порівнюючи результат вимірювання її напруги з двома закладених у програмі порогами. При напрузі батареї більше 3,3 рівнів на виходах РВ5 і РС7 мікроконтролера такі, що колір світіння світлодіода HL2 (див. рис. 4) зелений. Якщо напруга батареї знаходиться в інтервалі 1,25...3,3 В, полярність напруги, прикладеної до світлодіоду, і колір світіння змінюються щосекунди. З падінням напруги нижче 1,25 В світлодіод постійно червоний. Наведені значення порогів приблизні, тому як залежать, наприклад, від напруги живлення +5 В (А).

Передбачені в мікроконтролері AT90LS8535 режими зниженого енергоспоживання (Idle, Power Down і Power Save) програмою не використовуються навіть при роботі від резервної батареї. Її енергії і без того достатньо для харчування відключених від мережі годин протягом кількох діб.

Передбачені прийом по інтерфейсу RS-232 і виконання шести команд, наведених в табл. 2.

Комп'ютер, з СОМ-портом якого прилад з'єднують нуль-модемним кабелем, подає команди передачею одного-трьох зазначених в таблиці байтів і приймає відповіді на них у режимі: швидкість обміну - 9600 Бод, число бітів даних - 8, кількість стопових бітів - 1, контроль парності відключений.

В табл. 3 вказані адреси, за якими в ОЗП зберігаються різні мікроконтролера змінні і параметри. Дано лише молодші байти адрес, які і вказують в командах згідно з табл. 2. Старший байт 01Н мається на увазі.

ПРОГРАМА ЗОВНІШНЬОГО КОМП'ЮТЕРА

Призначена для управління годинами, калібрування термометра і барометра програма Lclock підготовлена з допомогою пакета Delphi версії 3.0 - системи розробки додатків Windows фірми Borland. Для доступу до СОМ-портів комп'ютера використана бібліотека відповідних функцій компанії SaxSoft (файл comm.fnc).

Роз'єм порту COM1 (за замовчуванням, меню програми Lclock дозволяє при необхідності скористатися і порт COM2) з'єднують нуль-модемним кабелем з відповідним роз'ємом годин.

Вигляд головного вікна програми показаний на рис. 6. Кожні 3 с вона читає з пам'яті контролера годин поточні значення часу, температури, тиску, виводячи значення, дублюючі показання світлодіодних індикаторів, відповідні екранні вікна. Крім того, програма читає і виводить на екран напруга батареї резервного живлення.

При включеному режимі "Record-Оп" отримані дані автоматично зберігаються в дисковому файлі sclock.ini. Ними можна скористатися для обчислення середніх за певний період значень температури і тиску, побудови їх графіків зміни та інших подібних операцій. За замовчуванням встановлений режим "Record-Off" і запис не ведеться. Якщо в момент включення запису програма виявила, що файл sclock.ini вже існує, вона доповнює наявні в нього дані новими, інакше - створює новий файл з таким ім'ям.

Програма Lclock читає і виводить на екран також значення всіх використовуваних мікроконтролером при розрахунках коефіцієнтів. Їх можна модифікувати вручну, вказавши у відповідних вікнах потрібні значення, або автоматично, виконавши одну з процедур калібрування ("Automatic Calc"). Передбачені також установка поточного часу ("Set time") і коригування коефіцієнта ділення частоти тактового генератора мікроконтролера ("Set speed") для підстроювання ходу годинника.

Щоб встановити точний час, досить задати нові значення хвилин і годин в відповідних вікнах або натиснути кнопку "Set from computers В останньому випадку будуть встановлені показання, відповідні системного часу комп'ютера. Його, у свою чергу, можна точно встановити через Інтернет за атомним годинником (див., наприклад, [4]). Кнопки "Reset sec" і "Set sec=59" служать для точного синхронізації годин. Вони встановлюють не відображається на індикаторах і екрані значення секунд рівним відповідно 0 або 59.

КАЛІБРУВАННЯ ТЕРМОМЕТРА І БАРОМЕТРА

Наведені на початку статті значення похибки вимірювань характеризують потенційні можливості апаратної частини приладу. Дійсні помилки вимірювання температури і тиску в чому залежать від точності і акуратності виконання калібрування.

У процесі виконання цієї операції визначають і записують в пам'ять приладу точні значення коефіцієнтів, що використовуються для перерахунку лічених з регістрів АЦП безрозмірних чисел значення фізичних величин у відповідних одиницях. Для кожної з величин - температури Т і тиску Р - необхідні за два параметра: зміщення нуля (ZT, ZP) і крутизна (Кт, КР) характеристики.

Як відомо, мікроконтролер виконує арифметичні дії тільки над цілими числами, а параметри Кт, КР, як правило, дробові. Тому програма фактично працює з їх значеннями, помноженими на 1024. Саме вони зберігаються в комірках ОПЕРАТИВНОЇ пам'яті мікроконтролера і відображаються у вікнах програми Lclock. Остаточний результат обчислення температури або тиску отримують масштабуванням - діленням попереднього результату на 1024

Для розрахунку параметрів достатньо двох калібрувальних точок. Чим ближче до країв найбільш часто використовуваного інтервалу температури або тиску вони розташовані, тим краще. Щоб відкалібрувати, наприклад, термометр, у вибраних точках повинні бути відомі його показання до калібрування (Т1, Т2) і показання зразкового термометра (Т01, Т02). Тоді нові значення Кт і Zт розраховують за формулами (Хто і Zто - старі значення параметрів):

В якості зразкового для калібрування найкраще підходить ртутний акваріумний термометр, який можна придбати в зоомагазині. Похибка побутових спиртових термометрів занадто велика. Запустивши програму Lclock, датчик температури і зразковий термометр опускають у гарячу воду (її обов'язково слід безперервно перемішувати). Витримавши їх там не менше 5 хв для стабілізації показань, натискають кнопку "Temperature-Automatic Calc-Calc&Set" у відповідному вікні програми, вводять лічену зі шкали зразкового термометра значення в вікно "First Point" і натискають клавішу Enter. У цей момент програма автоматично запише і показання датчика температури.

Переносять датчик і термометр в холодну воду з температурою, що відрізняється від попередній на 20 і більше градусів Цельсія. Після стабілізації показань і введення їх у вікно "Second Point" нові значення коефіцієнтів Кт і ZT будуть пораховані і записані в пам'ять приладу.

Калібрування барометра виконують подібним чином. Формули розрахунку КР і ZP аналогічні наведеним вище для Кт і ZT. Природно, значення температури Т в них замінюють значеннями тиску Р. Проте калібрування ускладнює те, що прилади для точного вимірювання атмосферного тиску є тільки в професійно обладнаних лабораторіях. Тому в якості зразкових доводиться користуватися даними Інтернету (наприклад, <http://meteo.infospace.ru/wcond/html/index.ssi>, <http://www.gismeteo.ru/weather/towns/27612.htm>, <http://weather.central.kz>, радіо - і телевізійних метеорологічних служб. До жаль, вони бувають неточними, так і коригують їх із запізненням. Тому, не обмежуючись інформацією якоїсь однієї служби, потрібно переглянути повідомлення декількох, відкидаючи очевидні помилки і усереднюючи правдоподібні значення.

Перш ніж запускати програму Lclock для калібрування барометра, дочекайтеся, поки тиск не стане досить низьким або, навпаки, високим (екстремальні значення в Московському регіоні - 720 і 770 мм рт. ст.). Введіть справжнє тиск у вікно "First Point", попередньо натиснувши кнопку "Pressure-Automatic Calc-Calc&Set". Ця величина буде записана в дисковий файл разом з показаннями датчика тиску. Тепер програму можна закрити і до наближення атмосферного тиску до протилежного екстремального значення вимкнути комп'ютер.

При повторному запуску програми Lclock знову натисніть кнопку "Pressure-Automatic Calc-Calc&Set" і введіть фактичне значення тиску у вікно "Second Point". Після цього буде здійснено автоматичний розрахунок і запис в пам'ять приладу відкоригованих параметрів КР і ZP, причому дані про першої калібрувальної точці програма прочитає з файлу.

Результати калібрування контролер годин зберігає в ОЗП, тому при повному відключенні напруги живлення (наприклад, при заміні або несправності резервної батареї) вони будуть втрачені. Щоб уникнути цього рекомендується після проведення калібрування натиснути кнопку "Save as defaults, і встановлені значення коефіцієнтів (а також коефіцієнт розподілу частоти кварцу) будуть запам'ятовані в дисковому файлі. Для відновлення загублених значень достатньо буде натиснути кнопку "Set default coeff.". Можна і просто записати знайдені значення на папері, а при необхідності ввести їх у відповідні вікна.

Якщо заміна датчиків в процесі експлуатації не передбачається, можна змусити контролер приймати результати одного разу проведеної калібрування параметрів за промовчанням. Самий вірний спосіб зробити це - змінити відповідні константи в ассемблерном тексті програми, скомпілювати його і заново запрограмувати мікроконтролер. Не вдаючись до втручання у вихідний текст, ту ж операцію можна виконати і простим зміною деяких байтів безпосередньо в hex-файлі (див. табл. 1). На рис. 7 показано, яким чином в ньому записані значення параметрів КР, ZP, Кт, ZT. Там же записаний необхідний для точного ходу годинника коефіцієнт ділення тактової частоти мікроконтролера. Його значення повинно бути чисельно рівним 1/64 тактової частоти мікроконтролера DD2 у герцах. На практиці відхилення цієї частоти від вказаного на кварцовому резонаторі ZQ1 номіналу (4096 кГц) може досягати сотень герц.

У кожній зазнала зміни рядку hex-файлу необхідно відкоригувати останній байт - контрольну суму. На рис. 7 ці байти підкреслені. Арифметично склавши значення всіх, крім останнього рядка байтів, їх віднімають суму з найближчої більшої ступеня числа 2. Молодший байт отриманої різниці і буде нової контрольною сумою.

Файли проекту

Література

  • <http://users.skynet.be/jiwan/Electronique/English/AVR%20Prog.htm>
  • <http://www. In.com. ua/~real/avreal/av122r9.zip>
  • Гутников Ст. Інтегральна електроніка у вимірювальних пристроях. - Л.: Вища школа. Ленингр. відділення, 1988.
  • <http://www.atomtime.com>.
  • Автор: Ю. Ревич, р. Москва