Автор работы: Пользователь скрыл имя, 09 Марта 2013 в 11:44, курсовая работа
Метою курсового проекта є економічний мікроконтролерний вольтметр. Прилад призначений для вимірювання повільно мінливих значень постійної і змінної напруги. Завдяки малим габаритам, можливістю роботи в умовах поганої освітленості, використанню поширених елементів живлення і автоматичного вибору межі вимірювання він може бути корисний, наприклад, при покупці елементів живлення, контролі напруги акумуляторної батареї автомобіля, вимірюванні напруги в домашній мережі та в інших ситуаціях.
Вступ
Асортимент портативних приладів електровимірювань пропонованих в даний час виробниками дуже широкий. Серед радіоаматорів заслужену популярність отримали доступні практично кожному цифрові мультиметри серій M83. Але при всій своїй популярності вони не позбавлені недоліків. Так відсутність підсвічування роблять важким процес вимірювання в умовах недостатньої освітленості. Непрактичним є використання такого джерела живлення як батарея 9 В типу 6F22, низький термін зберігання (6 місяців), а також схильність до витікання електроліту знайомі багатьом. Також варто відзначити, що вартість однієї такої батареї в середньому в два рази вище вартості двох елементів типу AAA, використовуваним в сучасних мультиметрах. Незмінний перемикач режимів вимірювання часто зношується раніше, ніж виходить з ладу сам прилад.
Невідповідність можливостей вимірювальних приладів бажанням кінцевого користувача призводить до того, що тема самостійного виготовлення вимірювальних приладів і донині залишається актуальною.
В даний час все більшу популярність отримують вимірювальні прилади на основі мікроконтролерів з вбудованим АЦП, тим більше що доступність і можливості таких мікроконтролерів постійно зростають. При цьому схема техніки таких приладів істотно спрощується, і їх збірка ставати під силу навіть початківцям радіоаматорам.
В якості пристроїв відображення інформації в мікроконтролерних вимірювальних приладах часто використовуються РКІ модулі з власним контролером. Такому рішенню притаманні деякі недоліки: необхідність додаткового підсвічування з великим струмом споживання, обмежений вибір відображуваних символів (для символьних), великі габаритні розміри, висока вартість.
При використанні в якості пристроїв відображення декількох семи сегментних світлодіодних індикаторів і динамічної індикації споживаний струм менше, ніж струм споживаний підсвічуванням РКІ модулів, але при цьому він все, ж залишається значним і споживається постійно. Для такого способу відображення також характерний обмежений вибір відображуваних символів.
Метою курсового проекта
є економічний
Вольтметр дозволяє вимірювати постійна напруга на трьох межах: 9,99 В, 99,9 В і 999 В, вибір межі вимірювання виконується автоматично, крок відліку дорівнює одній одиниці молодшого розряду. Вимірювання змінної напруги (50 Гц) виконується на двох межах: 70,6 В і 706 В, вибір межі вимірювання виконується вручну, крок відліку дорівнює двом одиницям молодшого розряду. Живлення приладу здійснюється від двох гальванічних елементів напругою 1,5 В типа ААА. Споживаний струм залежить від активного значення і змінюється від декількох мА до 20 мА.
Прилад виконаний на базі мікроконтролера ATmega8 фірми Atmel. Перетворення напруги в код виконується вбудованим 10-ти розрядним АЦП. Виміряне значення напруги відображається біжучим рядком на розташованій горизонтально світлодіодній матриці типу АЛС340А1. При цьому на екрані одночасно відображаються відразу два символи, а третій ставати видно пізніше, як показала практика такий спосіб не викликає труднощів при зчитуванні показань.
Мікроконтролер ATmega8 виконаний за технологією CMOS, 8-розрядний, заснований на AVR-архітектурі RISC. Виконуючи одну повноцінну інструкцію за один такт, ATmega8 досягає продуктивності 1 MIPS на МГц, дозволяючи досягти оптимального співвідношення продуктивності до споживаної енергії.
Технічні параметри:
• Пам'ять для програм становить 8 Кб з можливістю перезапису 10 000 разів;
• 512 байт флеш-пам'яті для зберігання змінних (100 000 циклів перезапису);
• 1 Кб ОЗУ і 32 регістра загального призначення;
• Два 8-розрядних таймера / лічильника з роздільним прескалером, режимом порівняння;
• 16-розрядний Таймер / Лічильник з роздільним прескалером, режимом порівняння, режимом захоплення;
• Таймер реального часу з незалежним генератором;
• 3 канали ШИМ;
• 6 каналів 10-розрядного АЦП;
• Двопровідний послідовний інтерфейс;
• Програмований послідовний USART;
• Інтерфейс SPI з режимами Master / Slave;
• Програмований сторожовий таймер з окремим незалежним генератором;
• Вбудований аналоговий компаратор;
• Скидання при включенні живлення, програмований захист від провалів живлення;
• Вбудований калібрований RC-генератор;
• Обробка внутрішніх і зовнішніх переривань;
• П'ять режимів із зниженим енергоспоживанням: Idle, ADC Noise Reduction, Power-save, Power-down і Standby;
• Напруга живлення 4.5 - 5.5В;
• Тактова частота 0-16 МГц.
Двадцать три порта введення / виведення, об'єднані в три групи:
• Порт В (PB0 - РВ7): Два вивода (РВ6 і PB7) використовуються для підключення кварцового резонатора. Виводи РВ2 - РВ5 зарезервовані для внутрішньосхемного програмування. Таким чином, для загального застосування залишаються порти PB0 і PB1;
• Порт С (PC0 - РС6: 7 виводи): Порти PC0 - РС5 можна використовувати в якості аналогових входів. РС6 зазвичай використовується для скидання;
• Порт D (PD0 - PD7: 8 виводи): Ці порти можна використовувати для загального застосування.
Рисунок 1 - Єлектрична принципова схема пристрою
Вибір типу мікроконтролера
обумовлений наявністю
Програма мікроконтролера написана на мові асемблер, налагоджена й відкомпільована в середовищі AVR Studio 4.14 фірми Atmel. У першому рядку програми директивою .include прописана посилання на файл m8def.inc. Цей файл містить опис визначених імен регістрів і констант мікроконтролера і входить до складу середовища AVR Studio 4.14.
Оскільки при роботі приладу не потрібно з великою точністю витримувати тимчасові інтервали, то з метою зниження споживаного струму і зменшення числа навісних елементів мікроконтролер тактується вбудованим генератором з частотою 1 МГц.
Після включення живлення, виводи 14-18 мікроконтролера конфігуруються як виходи управління рядками матриці HG1, виводи 2-6, 11, 12 як виходи управління стовпцями матриці HG1, виводи 27, 28 як виходи управління межею виміру. Вивід 13 конфігурується як в хід активації режиму вимірювання напруги ІОН на 1,3 В, виводи 23, 24 як входи вибору режиму виміру. Виводи 25 та 26 сконфігуровані як аналогові входи.
В якості джерела зразкової напруги використовується внутрішній ІОН мікроконтролера з напругою 2,56 В.
Вхідний ланцюг вольтметра, що складається з резисторів R1-R8, R11, і оптореле DA1 утворює дільник напруги із змінним коефіцієнтом передачі. Зміна коефіцієнта передачі здійснюється зміною сумарного опору плеча дільника підключеного до загального проводу (резистори R7, R8, R11). Зміна опору здійснюється підключенням резисторів R8, R11 паралельно резистору R7 через ключі оптореле DA1. Вимкненому стані обох ключів оптореле відповідає межі вимірювання 9,99 В, підключення резистора R8 включає межа вимірювання 99,9 В, резистора R11 межа вимірювання 999 В. З виходу дільника напруга пропорційне вхідному напрузі подається на висновок 26 мікроконтролера DD1.
Подачею сигналів на висновки 27 і 28 мікроконтролер управляє станом ключів оптореле DA1. При подачі сигналу високого рівня оптореле включається. Резистори R12, R13 обмежують струм через світлодіоди оптореле.
Вибір оптореле в якості елемента комутації зумовлений здатністю працювати при низьких керуючих напругах (Uупр. = 1,1 ... 1,6 В). Як показала практика, опір відкритого ключа зазначеного на схемі типу оптореле вже при струмі 0,5 мА через керуючий світлодіод, становить близько 10 Ом і практично не змінюється при подальшому підвищенні струму до номінального значення 5 мА. Максимально-допустиме значення напруги від'ємної полярності на вході мікроконтролера не повинен перевищувати 0,5 В. Діод VD1 обмежує напругу від'ємної полярності при помилковому підключенні вимірюваної напруги до значення 0,5 ... 0,6 В, на межі 9,99 В дільник напруги на резисторах R5-R7 зменшує його в 2 рази, на межах 99,9 В і 999 В коефіцієнти зменшення становлять відповідно 14 і 135. Тобто при самому несприятливому випадку (межа 9,99 В) напруга від'ємної полярності на аналоговому вході мікроконтролера не перевищить 0,25 ... 0,3 В. При вимірі змінної напруги діод VD1 обмежує від'ємну півхвилю напруги.
Діод VD2 обмежує значення напруги на виводі 26 мікроконтролера до значення 3,1 ... 3,2 В, що знижує ймовірність виходу мікроконтролера з ладу при порушенні роботи керованого дільника напруги. Дросель L1 і конденсатор C3 утворюють фільтр живлення аналогової частини мікроконтролера DD1. Конденсатор C4 знижує рівень перешкод на виході ІОН на 2,56 В, вихід якого підключений до виводу 21 мікроконтролера. Конденсатори C1 і C2 фільтруючі.
Резистори R9, R10 утворюють дільник ланцюга вимірювання напруги джерела живлення. З точки з'єднання резисторів напругу пропорційне напрузі джерела живлення подається на вивід 25 мікроконтролера. Необхідність використання дільника обумовлена тим, що напруга на аналоговому вході мікроконтролера не повинне перевищувати величину напруги ІОН на 2,56 В. При вказаних на схемі значеннях, напруга живлення теоретично не повинно перевищувати:
Uобр. * (R9 + R10) / R10 = 2,56 * (100 +200) / 200 = 3,84 B
Перемикач SA2 служить для вибору режиму виміру:
- Вимірювання постійної напруги з автоматично вибором межі вимірювання;
- Вимірювання змінної напруги на межі 706 В;
- Вимірювання змінної напруги на межі 70,6 В.
Про алгоритм роботи мікроконтролера. Після закінчення конфігурування на HG1 виводяться символи «ПР», після яких відображається тризначне число номера версії програми мікроконтролера.
Після відображення версії програми на екран виводиться символ батареї, після чого відображається значення напруги джерела живлення.
Якщо перемикач SA2 встановлений в положення «DC», то мікроконтролер, починаючи зі старшого межі вимірювання (999 В), вимірює напругу, порівнює отримане значення з верхнім порігом перемикання меж.
Якщо значення дорівнює або більше
верхнього порогу, то мікроконтролер
за допомогою вбудованого
Якщо напруга викликало
Якщо ж значення менше верхнього порогу, то мікроконтролер порівняє його з нижнім порогом перемикання межі, якщо значення менше нижнього порогу, то мікроконтролер перемкне межу на один щабель вниз і повторить процедуру виміру і порівняння з пороговими значеннями.
Якщо ж значення більше нижнього порогу, то мікроконтролер запам'ятовує це значення. Процес вимірювання буде повторюватися стільки разів скільки вказано в константі midlcikl. Мікроконтролер вибере максимальне з виміряних значень і видасть його на HG1. Використання максимального значення, а не середнього, на практиці виявляється більш затребуваним. Згідно документації мінімальна напруга живлення мікроконтролера ATmega8 одно 2,7 В, але зазвичай мікроконтролер зберігає працездатність при зниженні напруги до 2,1 ... 2,2 В.
Однак при зниженні напруги живлення нижче приблизно 2,6 В ІОН на 2,56 В втрачає свою стабільність і напруга на його виході (вивід 21) стає практично дорівнює напрузі живлення , в кінцевому рахунку це призведе до того, що прилад починає завищувати свої покази. Для виключення цього і розширення діапазону живлячої напруги в програмі мікроконтролера передбачений контроль напруги джерела живлення і корекція виміряних значень при втраті стабільності ІОН на 2,56 В.
Корекція заснована на вимірюванні напруги ще одного ІОН але на 1,3 В також входить до складу мікроконтролера і порівнянні виміряного значення з істинним (константа lowbat). Процедура контролю напруги живлення виконується перед початком кожного циклу вимірювання вхідної напруги. При напрузі живлення вище 2,6 В виміряне значення буде збігатися зі значенням константи. При зниженні напруги нижче 2,6 В виміряне значення буде перевищувати значення константи, це і буде сигналом для виконання корекції. Коефіцієнт корекції, на який множиться результат перетворення АЦП, визначається, як відношення значення константи lowbat до вимірювання значенням напруги ІОН на 1,3 В. Для інформування про те, що напруга знизилася нижче 2,6 В і відображуване значення пройшло програмну корекцію перед видачею відредагованого результату на екран HG1 висвічується символ зразкової рівності. Варто відзначити, що при зниженні напруги живлення нижче 2,6 В зменшується кордон перемикання меж виміру. Так при напрузі 2,2 В і вимірюванні постійної напруги межі стануть 8,58 В, 85,8 В і 858 В, а при вимірюванні змінної напруги 60,6 В і 606 В.
При вимірюванні змінної напруги на одному з вибраних меж (AC 706 В або AC 70,6 В) мікроконтролер виконує вимірювання вхідної напруги і порівнює його з верхнім порогом перемикання меж.
Якщо виміряне значення дорівнює або перевищує значення верхнього порогу, дії аналогічні діям при вимірюванні постійної напруги.
Якщо ж значення менше верхнього порогу, то мікроконтролер, повторюючи процес вимірювання стільки разів скільки вказано в константі midlcikl визначає середнє значення, множить його на 1,111 (переклад в діюче значення) і множить на 2. При вимірюванні змінної напруги, якщо необхідно також виконується програмна корекція.
У програмі передбачені заходи щодо зниження споживаного мікроконтролером струму, так модуль АЦП включається тільки на час виміру і виконує перетворення вхідної напруги в код в режимі шумопониження - ADC Noise Reduction (обчислювальне ядро і деякі інші модулі мікроконтролера вимкнені). Така організація процесу вимірювання також підвищує точність перетворення.
Програма мікроконтролера передбачає автоматичне вимикання приладу після закінчення заданого числа повних циклів відображення на екрані HG1 (константа offcikl). Один повний цикл відображення приладу триває 2,3 ... 2,5 секунд. При зазначеному в програмі значенні константи offcikl вимикання виконується приблизно через 15 хвилин. При цьому виключення буде виконано тільки при виконанні однієї з наступних умов: