Розробка програми управління
Зміст
Вступ 5
1 Загальний розділ 7
2 Опис пристрою 15
3 Розробка алгоритму роботи 17
3.1 Опис елементної бази 17
3.2 Опис принципової електричної схеми пристрою 22
3.3 Опис алгоритму управління 26
4 Розробка програми управління 27
Висновки 34
Література 35
Додаток А Перелік елементів принципової схеми
Графічна
частина: Схема пристрою
електрична принципова
генератор на PIC16F4A і
AD9850
ВСТУП
В міру того як люди розпізнали і навчилися використовувати обчислювальну потужність комп'ютерів і мікропроцесорів, вони зрозуміли, що ці пристрої можна використовувати і по-іншому, наприклад для контролю і управління. Тому інженери почали вбудовувати мікропроцесори у всілякі пристрої, що не мають нічого спільного з комп'ютером (наприклад, в холодильник або в дверці автомобіля). Але тут вже не була потрібна велика обчислювальна потужність, багато пам'яті або велика швидкодія. Тому з'явилася особлива категорія мікропроцесорів, призначена для контролю за певними діями, а не для обробки великих чисел. Якийсь час через ці мікропроцесори придбали власну ідентичність і почали називатися мікроконтролерами. Таким чином, мікроконтролер прийняв на себе роль вбудованого комп'ютера у відносно невеликих вбудованих системах.
Оскільки ж можна відрізнити мікроконтролер від мікропроцесора? Як і мікропроцесор, мікроконтролер повинен вміти обчислювати, хоча і не обов'язково із застосуванням великих чисел. Але у нього також є і інші потреби. Перш за все, у нього повинні бути чудові можливості введення-виводу, наприклад для того, щоб реагувати на відкриття і закриття дверей автомобіля, або для включення або виключення компресора холодильника. Більшість вбудованих систем повинні бути дешевими, мати невеликий розмір і здатність працювати автономно. Крім того, вони зазвичай працюють далеко не в ідеальному середовищі, як у випадку із звичайним комп'ютером. Мікроконтролеру часто доводиться функціонувати в жорстких умовах промислового середовища, наприклад, в середині двигунів автомобіля, при високій температурі і так далі.
По
суті, мікроконтролер
складається з
простого мікропроцесорного
ядра всією необхідною
пам'яттю програм
і даних. До цього
додається периферія,
що забезпечує необхідні
інтерфейси. Сюди відносяться
цифрове і аналогове
введення-виведення,
елементи синхронізації
і рахунку та ін. Як і
будь-яка електронна
схема, мікроконтролер
вимагає схеми живлення
і йому необхідний синхронізуючий
сигнал для управління
внутрішніми логічними
схемами (у деяких мікроконтролерах
він генерується вбудованими
компонентами).
1 Загальний розділ
Не тільки у заводській, але і в радіолюбительській практиці зараз відчувається велика потреба в малогабаритному вимірювальному генераторі прямокутних імпульсів частотою від 2 Гц до 10 Мгц, який забезпечував би настройку цифрових пристроїв, побудованих на інтегральних мікросхемах серії ТТЛ. Авторами розроблений і виготовлений двоканальний генератор з плавним перекриттям вказаного частотного діапазону і з можливістю зміни тривалості імпульсів в межах від 250 мс до 50 нс. Щоб розширити область застосування генератора, в нього введений пристрій формування затримки вихідних імпульсів одного каналу щодо вихідних імпульсів другого і щодо синхроімпульсів.
Описуваний генератор має наступні технічні характеристики:
діапазон частот 2 Гц...10 Мгц;
тривалість вихідних імпульсів 250 МС...50 нс;
тривалість фронту і спаду менше 20 нс;
амплітуда вихідної напруги 0...6 В;
вихідний опір каналу 200 Ом.
Задаючий генератор (ЗГ) визначає частоту проходження імпульсів. Ланцюг, що укорочує, формує синхроімпульси тривалістю 50...60 нс, що поступають на відповідний вихід приладу, і імпульси для запуску формуючих пристроїв ФП1 і ФП2, що визначають тривалість імпульсів обох каналів, що генеруються. Підсилювачі П1 і П2 забезпечують необхідна вихідна напруга і опори каналів. У положенні контактів перемикача 5, показаному на схемі, включається канал затримки, що містить формуючий пристрій затримки ФПЗ і ланцюг 2, що укорочує. У іншому положенні перемикача канал затримки відключається.
У пристрої передбачені індикатори перевантаження каналів Іп1 і Іп2 по тривалості - на випадок, якщо тривалість імпульсу опиниться більше половини періоду.
Принципова схема приладу показана на рисунку 1.1. Задаючий генератор виконаний по схемі автоколивального мультивібратора з одним часузадаючим конденсатором С1 (або С2) на трьох інверторах D1.1, D1.2 і D1.3, замкнутих в кільце. Роль резистора времязадающей ланцюга мультивібратора виконує оптрон U1. Будучи включеним в ланцюг затвора польового транзистора VI, він забезпечує потрібний коефіцієнт перекриття по частоті. Коли змінним резистором R1 регулюють струм, що протікає через лампочку розжарювання оптрона, його фотоопір змінюється від 2•102...3• 102 до 1,5•109...2•109 Ом.
Частота імпульсів задаючого генератора визначається опором оптрона і ємкістю включеного конденсатора С1 (або С2). Для підвищення точності установки частоти до 1 Мгц включається конденсатор С1, вище за цю частоти-конденсатор С2. Плавно частоту генератора регулюють змінним резистором R1.
Істоковий повторювач на польовому транзисторі VI є буферним каскадом, елемент D1.2 - пороговим, а D1.3 - інвертором, з виходу якого перепад напруги подається на вхід елементу D1.1. Сигнал на виході цього елементу заряджає часузадаючий конденсатор С1 (або С2) через фотоопір оптрона U1.
На виході задаючого генератора включений ланцюг, що укорочує, побудований на трьох елементах І-НЕ D3.1, D3.2 і D8.3. Вона виробляє короткі однополярні імпульси тривалістю 50...60 нс (час затримки елементів).
Працює ланцюг, що укорочує, таким чином. Хай в початковому режимі на входи елементів D3.2 і D8.3. подається рівень логічного 0. При цьому на виході елементу D3.2 встановлюється рівень логічної 1, на виході елементу D3.3 - логічна 1, на виході D3.1 - логічний 0. З приходом позитивного перепаду імпульсу (перепад з логічного 0 в 1), що укорочує, на виході елементу D3.3 відбувається перемикання логічною 1 в 0, тобто формується фронт укороченого імпульсу. Далі цей логічний 0 поступає на вхід елементу D3.1 і формує на його виході сигнал логічної 1, який у поєднанні з рівнем логічною 1 на вході елементу D3.2 перемикає вихідний сигнал елементу D3.2 з рівня 1 в 0, що забезпечує на виході елементу D3.3 спад укороченого імпульсу.
Таким чином для формування укороченого імпульсу необхідне послідовне перемикання трьох елементів ланцюга, що укорочує, а оскільки час перемикання одного елементу близько 20 нс, загальний час, і, отже, тривалість укороченого імпульсу рівні 50...60 нс. Цей короткий синхроімпульс виводиться на спеціальний вихід генератора “Синхр.”, а також запускає мультивібратор, що чекає, входить в канали як формуючий пристрій.
Мультивібратор каналу, що чекає, I побудований на елементах D5.1, D5.2 і D5.3, каналу Ii-на елементах D6.1, D6.2 і D6.3. По побудові мультивібратори каналів, що чекають, аналогічні задаючому генератору. Для розширення діапазону регулювання тривалості імпульсів, що генеруються, в ланцюзі затворів польових транзисторів УЗ і V4 включені оптрони U3 і U4. Тривалість імпульсів в каналах регулюють змінними резисторами R5 і R6 (типу Сп5-1Б).
На виходах каналів включені підсилювачі, зібрані на транзисторах V5...V10. Транзистори V9 і V10 вихідних каскадів включені по схемі із загальною базою, що захищає вихід генератора від короткого замикання в зовнішніх ланцюгах. Амплітуду вихідної напруги регулюють змінними резисторами R13 і R14.
Для сигналізації перевантаження каналів по тривалості введена світлова індикація. Роль індикаторів виконують мініатюрні лампи розжарювання H1 і Н2 типу СМН 6,3-20. Роботу індикаторів ілюструють тимчасові діаграми, приведені на рисунку 1.2. На виході задаючого генератора (вихід елементу D1.2) утворюється напруга прямокутної форми з шпаруватістю 2 (графік а). На входи елементу D2.1 поступають сигнали логічних рівнів з виходів інверторів D1.2 і D5.3. При тривалості імпульсу менше половини періоду Т (графік б) на виході елементу D2.1 утворюється рівень логічної 1 (графік в), тому лампа H1, включена як колекторне навантаження елементу D2.1, не світиться.
При тривалості імпульсу більше половини періоду Т (графік г) на виході елементу D2.1 в моменти часу, вказані на графіці д штрихуванням, з'являється рівень логічного 0, в результаті лампа HI світиться..
Коротко про роботу формувача регульованої затримки. Коли замикаючі контакти перемикача S2 знаходяться у верхньому по схемі положенні, сигнал з виходу елементу D4.4 поступає на вхід мультивібратора, що чекає, на елементах D1.4 і D5.4, який формує імпульс. Тривалість сформованого імпульсу, що визначає час затримки, можна регулювати змінним резистором R3 в межах тривалості імпульсів каналів.
По зрізу сформованого імпульсу затримки ланцюг, що укорочує, складається з елементів D4.1, D4.2, D4.3 і D4.4, виробляє короткий імпульс, що поступає на вхід каналу I.
Принципова схема джерела живлення генератора приведена на рисунку 1.3. Він включає знижувальний трансформатор типу ТПП 224, випрямний міст на діодах V1...V4 і стабілізатори з вихідною напругою +12 У (для живлення підсилювальної частини) і +5 У (для живлення мікросхем). Коефіцієнт стабілізації близько 70. При номінальній напрузі мережі пульсації на виході джерела не перевищують 3 мв. Струм споживання генератора близько 400 ма.
Генератор виконаний у вигляді малогабаритного переносного приладу. Корпус його виготовлений з дюралюмінію завтовшки 1,5 мм. Задня кришка знімна, кріпиться до кожуха гвинтами М2.
Весь прилад змонтований на двох друкарських платах (плата генератора і плата блоку живлення). Плати виготовлені з склотекстоліту мазкі СФ-1 завтовшки 1,5мм і кріпляться на стійках з ізоляційного матеріалу до днища корпусу гвинтами
Трансформатор блоку живлення кріпиться також до днища корпусу. Транзистори стабілізаторів укріплені на дюралюмінієвих пластинах розмірами 40Х40х3 мм, що грають роль радіаторів.
У генераторі застосовані наступні деталі: конденсатори типу КМ.-5Б; резистори R1, R3, R5 і R6-тіпа Сп5-1б, R13 і R14- СП-11, решта всіх резисторів типу МЛТ-0,25; оптрони U1...U4 типу ОЕП-1; індикаторні лампи H1 і H2-смн 6,3-20, мікросхеми серії К133.
Трансформатор Т1 блоку живлення може бути саморобним: магнітопровід УШ16х32, обмотка I-2100 витків дроту ПЕВ-1 0,14, обмотка Ii-220 витків дроту ПЕВ-1 0,44.
На передній панелі приладу розташовані наступні органи управління: індикатор включення мережі “Мережа”, ручка перебудови по частоті “Частота”, ручки регулювання тривалості імпульсів “Трив. I” і “Трив. II”, ручки регулювання амплітуди вихідних імпульсів “Ампл. I” і “Ампл. II”, тумблер включення затримки “Затримка вкл.” і ручка регулювання затримки “Per. затримки”, тумблер включення одного з конденсаторів времязадаючий частини генератора “НЧ” і “ВЧ”, індикатори перевантаження “Перевантаження”, а також три високочастотні роз'єми типу СР-50-155Ф “Синхр.”, “Вих. I” і “Вих. II”. Перемикачі типу ПД-22ПЧН. Тумблер включення мережі розташований на задній стінці разом із запобіжником. Спеціального екранування генератора не вимагається.
Правильно змонтований генератор наладки не вимагає. Працездатність приладу може бути визначена за допомогою осцилографа (наприклад, С1-65) і цифрового частотоміра (наприклад, Ч3-33). Осцилограф дозволяє спостерігати форму коливань, що генеруються, і вимірювати амплітуду, а частотомір - вимірювати частоту імпульсної послідовності при перебудові по частоті.
Рисунок 1.1 - Схема електрична принципова
Рисунок 1.2 - Тимчасові діаграми, характеризуючи роботу генератора
Рисунок
1.3 - Принципова схема
блоку живлення
2 Опис пристрою
Первинним завданням розробки схеми генератора з використанням синтезатора частоти, є розробка його структурної схеми.
Структурна схема генератора складається з 5 блоків:
Основний блок – блок мікроконтролера, який призначений для управління роботою всього пристрою.
Мікроконтролер керує роботою синтезатора частоти і блока індикатора.
Наступний блок – це блок індикатора, який дозволяє відтворювати частоти, які генерує синтезатор.
Блок керування дозволяє керувати роботою мікроконтролера і за допомогою клавіатури задавати частоти синтезатору.
Блок тактового генератора призначений для синхронізації роботи синтезатора.
Блок сінтезатору служить джерелом стабільних коливань в генераторах сигналів, в яких потрібно налаштування на різні частоти в широкому діапазоні і висока стабільність вибраної частоти.
Структурна
схема пристрою представлена
на рисунку 2.1:
Рисунок 2.1 – Структурна
схема пристрою
3
Розробка алгоритму
роботи
3.1 Опис елементної бази
Пропонований
генератор виконаний
на базі мікросхеми
AD9850 фірми Analog Devices, що
є повний DDS (Direct Digital
Synthesis) синтезатор частоти
з вбудованим компаратором.
Такі синтезатори унікальні
своєю точністю, практично
не схильні до температурного
дрейфу і старіння (єдиним
елементом, який володіє
властивою аналоговим
пристроям нестабільністю,
є цифроаналоговий перетворювач).
Завдяки високим технічним
характеристикам DDS
синтезатори останнім
часом витісняють звичайні
аналогові синтезатори
частоти. Їх основна
перевага - дуже високий
дозвіл по частоті і
фазі, управління якими
здійснюється в цифровому
вигляді. Цифровий інтерфейс
дозволяє легко реалізувати
мікроконтроллерноє
управління.
Рисунок 3.1 - Структурна схема синтезатора Ad9850
Структурна схема синтезатора AD9850 зображена на рисунку 3.1. Його основа - акумулятор фази, що формує код миттєвої фази вихідного сигналу. Цей код перетвориться в цифрове значення синусоїдального сигналу, який з допомогою ЦАП перетворюється на аналоговий і піддається фільтрації. Компаратор дозволяє отримати вихідний сигнал прямокутної форми. Його частота fout (у герцах) визначається формулою fout = Afin/232, де fin - тактова частота, Гц; А - 32-бітове значення коди частоти. Максимальне значення f не може перевершувати половини тактової частоти.
Основні технічні характеристики AD9850 (при напрузі живлення 5В):
Частота
тактового генератора
Максимальний споживаний струм (при fin=125 МГц), 95
Число
розрядів ЦАП
Максимальний вихідний струм ЦАП (при Rset=3,9 ком), 10,24
Максимальна інтегральна нелінійність ЦАП, МЗР 1
Напруга на виході компаратора, (В):
Мінімальне високого рівня 4,8
максимальне низького рівня 0,4
Для завантаження даних в мікросхемі AD9850 передбачені паралельний і послідовний інтерфейси. У останньому випадку дані (слово завдовжки 40 битий) вводять через її вхід D7. Кожен біт даних супроводжують імпульсом позитивної полярності на вході синхронізації W_clk. Після завантаження слова, що керує, по імпульсу позитивної полярності на вході FQJJD відбувається заміна параметрів генерації новими.
Серія PIC16F84 підходить для широкого спектру додатків від схем високошвидкісного управління автомобільними і електричними двигунами до економічних видалених приймачів, демонструючих приладів і зв'язних процесорів. Наявність ПЗП дозволяє підстроювати параметри в прикладних програмах (коди передавача, швидкості двигуна, частоти приймача і так далі).
Малі розміри корпусів, як для звичайного, так і для поверхневого монтажу, робить цю серію мікроконтролерів придатною для портативних застосувань. Наприклад, таймери, заміна жорсткої логіки у великих системах, співпроцесори.
Огляд характеристик:
- тільки 35 простих команд;
- всі команди виконуються за один цикл(400ns), окрім команд переходу - 2 цикли;
- робоча частота 0 Гц ... 10 Мгц (min 400 нс цикл команди)
- 14 - бітові команди;
- 8 - бітові дані;
- 36 х 8 регістрів загального використання;
- 15 спеціальних апаратних регістрів SFR;
- 64 x 8 електрично перепрограммируемой EEPROM пам'яті для даних;
- вісьмирівневий апаратний стек;
- пряма, непряма і відносна адресація даних і команд;
- чотири джерела переривання:
- зовнішній вхід INT
- переповнювання таймера RTCC
- переривання при зміні сигналів на лініях порту B
- по завершенню запису даних в пам'ять EEPROM
Мікросхема мікроконтролера PIC16F84A зображена на рисунку 3.3.
Рисунок 3.3 - Мікросхема мікроконтролера PIC16F84А
Технічні характеристики мікроконтролера PIC16F84A надано в таблиці 3.1
Таблиця 3.1 – Технічні характеристики мікроконтролера PIC16F84A
| Назва | Технічні характеристики | ||
| Uсп, В | Ісп, мА | Q, МГц | |
| PIC16F84А | 5 | 5 | 20 |
Індикатор забражен на рисунку 3.4.
Рисунок
3.4 - Алфавітно-цифровий
РК модуль
ITM-1601A
Основні характеристики світлодіодної матриці надано в таблиці 3.2
Таблиця
3.2 – Основні характеристики
світлодіодної матриці
| Найменування | Показник |
| Символів | 16 |
| Строк | 1 |
| VCC,В | від 4.75 до 5.25 |
| Контролер | HD44780 |
| ICC,мА | 1 |
| TA,°C | від 0 до 50 |
| Розмір,мм | 80x36 |
| TS,°C | от -20 до 70 |
| Розмір: Д,мм | 80 |
| Розмір: В,мм | 36 |
| TypDisplay | STN TN |
| Тип монтажу | COB |
Резистори металеваліночні постійні потужністю 0,125 Вт
Конденсатори керамічні, максимальна напруга 63 В
3.2
Опис принципової
електричної схеми
пристрою
Принципова схема генератора зображена У графічній частині. Керує синтезатором DD2 мікроконтролер DD1. Він опитує клавіатуру Sb1-sb16, виводить інформацію на ЖК індикатор HG1, обчислює значення коди частоти і передає його по послідовному інтерфейсу в синтезатор DD2. Звуковипромінювач НA1 служить для підтвердження натиснення кнопок клавіатури. Мікросхема Ad9850 (Dd2) використана в стандартному включенні. На виході її Цапа включений фільтр Z1. Після фільтру сигнал синусоїдальної форми подається на гніздо XW2 і на вхід компаратора мікросхеми DD2 (вивід 16). З виходу останнього сигнал прямокутної форми поступає на гніздо XW1. Як тактовий генератор для DD3 застосований кварцевий генератор G1. Подстроєчним резистором R7 регулюють контрастність зображення на індикаторі HG1.
Після скидання мікроконтролера проводиться настроювання ЖК індикатора HG1 на режим обміну по шині 4 бита, що необхідне для зменшення числа ліній введення/виводу, потрібних для запису інформації.
Управляють генератором за допомогою клавіатури, що складається з кнопок Sb1-sb16. Оскільки всі лінії порту В, що є вхідними, підключені до джерела живлення через резистори, необхідності в зовнішніх резисторах, що "підтягають" порти RB4 -RB7 до лінії живлення, немає. Резистори R3-R6 захищають виходи мікроконтролера від перевантаження при випадковому натисненні декількох кнопок одночасно.
Необхідну частоту встановлюють з клавіатури. Для цього, натискаючи на кнопки з відповідними цифрами, вводять потрібне значення (у герцах) і натискають кнопку "*". Якщо частота не перевищує максимально допустимої, на індикаторі на короткий час з'являється повідомлення "ОК" і генератор переходить в робочий режим, а якщо перевищує, - повідомлення "Error". В цьому випадку потрібно натиснути кнопку "С" ("Скидання") і наново набрати правильне значення. Так само поступають і при помилці в процесі введення частоти. Двократне натиснення цієї кнопки переводить прилад в робочий режим зі встановленим раніше значенням частоти.
| Номер бита | Призначення |
| 0 | Битий 0 коди частоти |
| 1 | Біт 1 коди частоти |
| 31 | Біт 31 коди частоти |
| 32 | Керівник битий (повинен бути 0) |
| 33 | Керівник битий (повинен бути 0) |
| 34 | Біт управління живленням (включено при 0, вимкнене при 1) |
| 35 | Битий 0 коди фази |
| 36 | Біт 1 коди фази |
| 39 | Битий 4 коди фази |
У робочому режимі в крайньому правому знакомісці індикатора мигає символ зірочки. Якщо поточне значення частоти введене із зовнішнього блоку управління (наприклад, з комп'ютера), то щоб повернутися до частоти, що відображається на індикаторі, досить натиснути кнопку "*".
Кнопки "U" (Up - вгору) і "D" (Down - вниз) дозволяють ступінчасто змінювати вихідну частоту генератора, відповідно збільшуючи або зменшуючи значення десяткового розряду на одиницю. Необхідний десятковий розряд вибирають, переміщаючи курсор кнопками "L" (Left - вліво) і "R" (Right - управо).