Курсовая работа (т): Автомат світлових ефектів на мікроконтролері AVR

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Блок А 1 можна використовувати окремо тільки для управління пристроєм світлових ефектів. Якщо в цьому немає необхідності, замість оптрона U1 в колекторний ланцюг транзистора VT1 включають резистор опором 10 кОм.


На схемі (рис. 1.5) перших трьох елементах 2І-НЕ мікросхеми DD1 зібраний тактовий генератор, частоту якого можна змінювати за допомогою резистора R1 [7]. Тактові імульси вважає лічильник DD2. Перемикачі SA1- SA4 дозволяють "вимикати" з рахунку деякі розряди, що задає основну програму. Далі сигнал з лічильника йде на зсувний регістр DD3, виходи якого через силові ключі комутують навантаження. Вимикач SA5 дозволяє інвертувати малюнок, SA6 і SA7 задають автоматичну зміну напрямку і реверс.

В якості керуючих ключів використані тиристори КУ 202М, без радіатора вони можуть комутувати навантаження до 200Вт, що більш ніж достатньо для наших цілей. Якщо ж потрібно управляти чимось потужним типу ксенонових прожекторів, то можна встановити тиристори на радіатори, і тоді вони забезпечать потужність вже близько 2КВт.

Діодний міст VD5 - VD9 можна виключити, але тоді лампи працюватимуть вполнакала. Можна замість тиристорів поставити також сімістори, але я вважаю це надмірністю і обійшовся таки доданими мостом.

Для живлення електроніки потрібно стабілізовану напругу +5 В. Однак для впевненоuj відкривання тиристорів потрібно напруга трохи вище, близько 9 вольт. Використано звичайний накальний трансформатор. У цьому випадку напруга на згладжуючому конденсаторі приблизно 9 вольт, а для живлення мікросхем я встановив стабілізатор КР 142ЕН 5.

Рисунок 1.6 - Мікропроцесорний пристрій автомата світлових ефектів

Запропонований годинник (рис. 1.6) відрізняються від класичних стрілочних або з цифровою індикацією тим, що індикація часу здійснюється за допомогою світлодіодів (60 шт.), які встановлюють на підставці циферблата у формі кола чи овалу. " Вартові " світлодіоди відрізняються від "хвилинних "розміром (а при бажанні і кольором) [8]. Поточну годину відображається миготінням з частотою 1 Гц. Хвилини индицируются числом запалених поспіль світлодіодів, починаючи з початкової однохвилинного позначки. Кожна наступна хвилина додається пробігаючи проти годинникової стрілки. На останній, 59 хвилині всі запалені світлодіоди хвилин гаснуть за годинниковою стрілкою, починаючи з однохвилинного позначки і закінчуючи п'ятьдесят дев'ятий. Гасіння відбувається послідовно, кожну секунду вимикається один світлодіод. У зоні циферблата від чотирьох годин до восьми імітується рух маятника. Він являє собою біжить зліва направо і в зворотному напрямку вогонь з двох світлодіодів. Період коливань маятника становить, як і в механічних годинниках, одну секунду. Кожне крайнє положення маятника супроводжується звуковим сигналом, схожим на хід справжніх "ходиків".

Схема годин показана на рис. 1.6. Основа пристрою - мікроконтролер AT90S8535 (DD2). Критеріями при його виборі послужили наявність необхідного числа ліній введення / виводу і максимальний струм навантаження, що підключається до окремої лінії. Порти А і С використовуються для управління матрицею світлодіодів HL1 - HL60.

Оскільки в годинах встановлено велике число світлодіодів, для їх включення і виключення застосовано динамічне управління. Лінії порту А через транзистори VT1 - VT8 управляють включенням певного стовпця. Кожен стовпець включається на 2,4 мс, тому частота оновлення складає

/ (2,4 * 10-3 * 8) = 52 Гц.

Світлодіоди, запалювані в кожен момент часу, визначаються комбінацією сигналів на виході порту С. Резистори R3 і R4 задають струм через "годинникові " світлодіоди (приблизно 20 мА), а резистори R5 - R10 - через " хвилинні " (приблизно 10 мА). Резистори R11 - R18 обмежують струм в ланцюгах баз транзисторів VT1 - VT8.

Функція відліку часу покладено на спеціалізовану мікросхему DS1307 фірми DALLAS SEMICONDUCTOR. Зв'язок між нею і мікроконтролером організована по інтерфейсу I2C. Резистори R1 і R2 " підтягують " шини SCL і SDA мікросхеми DD1 до лінії живлення.

Кнопка SB 1 призначена для коригування часу. При короткочасному натисканні на неї до поточного часу додається одна хвилина з одночасним скиданням секунд в нуль, при тривалому натисканні (більше однієї секунди) - з кожною секундою відбувається поповнення хвилин. Процес зміни встановлюваного часу відразу ж відображається на циферблаті. Акустичний сигнал " ходиків " формується за допомогою пьезоізлучателя НА 1. Через роз'єм ХР 1 пристрій підключають до програматора при програмуванні і подають напруга живлення +5 В при використанні годин. Конденсатори С 1 і С 2 служать для згладжування пульсацій напруги живлення, що виникають при роботі пристрою.

"Часовий" кварцовий резонатор ZQ1 є частотозадающіх при відліку часу. Від нього залежить точність ходу годинника. Літієва батарея GB1 - резервне джерело живлення. Її напруга (UБАТ) повинно знаходитися в межах 2,5... 3,5 В. При зменшенні основного напруги живлення нижче 1,25 * UБАТ запис інформації в мікросхему DD1 блокується. Таким чином, при відключенні годин від мережі виключається випадкове пошкодження інформації про поточний час. В описі DS1307 зазначено, що при ємності літієвої батареї 35 мА - год і більше термін підтримки роботи мікросхеми складає більше десяти років. Слід зазначити, що в описуваної конструкції використовується тільки інформація про секунди, хвилинах і годинах, в той час як DS1307 дозволяє відраховувати також число місяця, місяць, день тижня і рік з відстеженням високосних років.

Креслення друкованої плати показаний на рис. 3. Для її виготовлення застосований односторонньо фольгований склотекстоліт товщиною 1 мм.

Зовнішній вигляд змонтованої друкованої плати показаний на рис. 4. В авторському варіанті підставу циферблата виконано з ДВП. Лицьова сторона обклеєна декоративним матеріалом. По краю висвердлено отвори для світлодіодів. Діаметр отворів підбирають так, щоб світлодіоди можна було встановити в них з невеликим зусиллям. На тильній стороні циферблата епоксидним клеєм закріплені кронштейни для підвішування, три гвинти для кріплення плати і звуковипромінювач НА 1. Зʼєднання проводять проводами МГТФ 0,2 мм або іншими гнучкими монтажними в ізоляції. У пристрої застосовані резистори МЛТ, С 2 - 23, оксидний конденсатор К 50- 35 або імпортний, конденсатори С 2 - С 4 - К 10 -17. Транзистори КТ 315Б можна замінити на інші серій КТ 315, КТ 3102 з будь-яким буквеним індексом.

Кварцовий резонатор ZQ1 - РК - 206 або аналогічний, кварцовий резонатор ZQ2 - HC - 49U, НА 1 - ЗП- 1, ЗП- 3, кнопка SB1 - DTS- 32.

Світлодіоди КІПД 35В -К можна замінити іншими з серії КІПД 35, а КІПД 24В -К - якими з серії КІПД 24. Слід мати на увазі, що остання буква означає колір світіння (К - червоний, Л - зелений, Ж - жовтий), а передостання - яскравість.

Гучність звукового сигналу можна зменшити, встановивши послідовно з пʼєзоівипромінюачем резистор опором 0,1... 20кОм. Режим маятника можна вимкнути, подавши на лінію порту РВ 4 (висновок 5 DD2) низький рівень, для чого цей висновок з'єднують із загальним проводом. Після складання пристрою і програмування мікроконтролера необхідно скоригувати час, на дисплеї на циферблаті, за сигналами точного часу.

Рисунок 1.7 - Мікропроцесорний пристрій автомата світлових ефектів

Автомат перемикає чотири гірлянди світлодіодів, які створюють один з шести можливих світлових ефектів. Схема пристрою наведена на рис 1.7 [9].

На елементах DD1.2 DD1.3 зібраний генератор тактових імпульсів. Частоту генератора, а отже, і швидкість обертання " променів" регулюють змінним резистором R1. На триггерах мікросхем DD3, DD4 зібраний зсувний регістр. За допомогою вузла управління регістром, зібраного на елементах DD1.1, DD2.1 - DD2.3, і кнопки SB1 можна задавати одну з шести можливих послідовностей включення гірлянд. Вибір залежить від тривалості утримання кнопки в натиснутому стані.

Сигнали високого рівня з виходів тригерів зсувного регістру управляють транзисторами VT1 - VT4, коммутирующими гірлянди. Кожна складається з двох, конструктивно протилежно розташованих лінійок світлодіодів, які включаються одночасно. Пристрій починає працювати відразу після подачі живлення.

Автомат світлових ефектів живлять від батареї напругою 9 В, наприклад, "Крона", "Корунд" або аналогічної імпортної. У ньому застосовані постійні резистори С2 - 23, змінний - СПЗ- 46М, оксидний конденсатор - імпортний або К 50 -35. Вказані на схемі мікросхеми можна замінити аналогами з серії К 176, світлодіоди - будь-якими.

Всі деталі пристрою, за винятком батареї живлення, розміщені на платі з односторонньо фольгиро - ванного склотекстоліти товщиною 1,5... 2 мм.

Входи невикористовуваних елементів мікросхем DD1, DD2 (виводи 12, 13) з'єднані з плюсовим виводом живлення, а невикористовувані настановні входи тригерів мікросхем DD3, DD4 - із загальним проводом. Зовнішній вигляд зібраного автомата показаний на рис. 3.

Для обмеження cnheve перезарядки конденсатора С 1, що протікає через захисні діоди елемента DD1.2, рекомендуємо між точкою з'єднання лівого за схемою виводу резистора R1 з мінусовим виводом конденсатора С 1 і входами елемента DD1.2 (виводами 1,2) включити резистор опором 10...30кОм.

.2 Будова вибраного мікроконтролера

мікроконтролер світлодіодний алгоритм асемблер

В основі ядра AVR лежить розширена RІSC архітектура, що поєднує розвинутий набір команд і 32 регістри загального призначення. Усі 32 регістри безпосередньо підключені до арифметико-логічного пристрою (АЛП), що дає доступ до будь-яких двох регістрів за один машинний цикл.

Подібна архітектура забезпечує десятикратний виграш в ефективності коду в порівнянні із традиційними CІSC мікроконтролерами [9].S2313 пропонує наступні можливості:

·    2кб завантажуваної флеш пам'яті; 128 байт EEPROM;

·        15 ліній вводу/виводу загального призначення;

·    32 робочих регістри; налаштовувані таймери/лічильники з режимом співпадання;

·    зовнішні й внутрішні переривання;

·        програмований універсальний послідовний порт;

·        програмований сторожовий таймер із вбудованим генератором;

·        SPІ послідовний порт для завантаження програм;

·        два програмно змінні режими низького енергоспоживання.

Холостий режим (Іdle Mode) відключає ЦПУ, залишаючи в робочому стані регістри, таймери/лічильники, SPІ порт і систему переривань.

Економічний режим (Power Down Mode) зберігає вміст регістрів, але відключає генератор, забороняючи функціонування всіх вбудованих пристроїв до зовнішнього переривання або апаратного скидання.

Мікросхеми виготовляються з використанням технології енергонезалежної пам'яті високої щільності фірми Atmel. Завантажувана флеш пам'ять на кристалі може бути перепрограмована прямо в системі через послідовний інтерфейс SPІ або доступним програматором енергонезалежної пам'яті. Поєднуючи в одному кристалі вдосконалений 8-бітовий RІSC процесор з, завантажуваною флеш пам'яттю, AT90S2313 є потужним мікроконтролером, який дозволяє створювати досить гнучкі й ефективні за вартістю обладнання.S2313 підтримується повною системою розробки, що включає в себе макроасемблер, програмний відладчик/симулятор, внутрішньосхемний емулятор і відладочний комплект.

Рисунок 1.8 - Опис виводів мікроконтролера AT90S2313

Умовні позначення на рисунку 1.8: VCC - вивід джерела живлення; GND - земля.B (PB7..PB0) - порт B є 8-бітовим двонаправленим портом вводу/виводу. Для виводів порту передбачені внутрішні підтягуючі резистори (вибираються для кожного біта). Виводи PB0 і PB1 також є позитивним (AІN0) і негативним (AІN1) входами вбудованого аналогового компаратора. Вихідні буфери порту B можуть споживати струм до 20мА й безпосередньо управляти світлодіодними індикаторами. Якщо виводи PB0..PB7 використовуються як входи й ззовні встановлюються в низький стан, вони є джерелами струму, якщо включені внутрішні підтягуючі резистори. Крім того, порт B обслуговує деякі спеціальні функції.D (PD6..PD0) - порт D є 7-бітовим двонаправленим портом із внутрішніми підтягуючими резисторами. Вихідні буфери порту D можуть споживати струм до 20мА. Якщо входи встановлені в низький стан, виводи порту D є джерелами струму, якщо задіяні підтягуючі резистори. Крім того, порт D обслуговує деякі спеціальні функції.- вхід скидання. При втриманні на вході низького рівня протягом двох машинних циклів (якщо генератор працює), здійснює скид.- вхід інвертуючого підсилювача генератора й вхід зовнішнього тактового сигналу.- Вихід інвертуючого підсилювача генератора.і XTAL2 є входом і виходом інвертуючого підсилювача, який можна використовувати для генератора тактових імпульсів. Можна використовувати як кварцові, так і керамічні резонатори. При підключенні зовнішнього тактового сигналу вивод XTAL2 залишається непідключеним, а XTAL1 підключається до виходу зовнішнього генератора.

Рисунок 1.9 - Схема підключення кварцового генератора

Рисунок 1.10 - Схема підключення зовнішнього тактового сигналу

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

Шість із 32 регістрів можна використовувати як три 16-розрядних покажчика в адресному просторі даних, що дає можливість використовувати високоефективну адресну арифметику (16-розрядні регістри X, Y і Z). Один із трьох адресних покажчиків (регістр Z) можна використовувати для адресації таблиць у пам'яті програм. Це X-, Y- і Z- регістри.

АЛП підтримує арифметичні й логічні операції з регістрами, з константами й регістрами. Операції над окремими регістрами також виконуються в АЛП.

Крім регістрових операцій, для роботи з регістровим файлом можуть використовуватися доступні режими адресації, оскільки регістровий файл займає адреси $00-$1F в області даних, звертатися до яких можна як до комірок пам'яті.

Простір введення складається з 64 адрес для периферійних функцій процесора, таких як керуючі регістри, таймери/лічильники й інші. Доступ до простору вводу/виводу може здійснюватися безпосередньо, як до комірок пам'яті розташованим після реєстрового файлу ($20-$5F).

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

За допомогою команд відносних переходів і виклику підпрограм здійснюється доступ до всього адресного простору. Більша частина командмає розмір 16- розрядів, одне слово. Кожна адреса в пам'яті програм містить одну 16- або 32- розрядну команду.

При обробці переривань і виклику підпрограм адреса повернення запам'ятовується в стеці. Стек розміщається в пам'яті даних загального призначення, відповідно розмір стека обмежений тільки розміром доступної пам'яті даних і її використанням у програмі. Усі програми користувача повинні ініціалізувати покажчик стека (SP) у програмі, виконуваної після скидання (перше ніж викликаються підпрограми й дозволяються переривання). 8- розрядний покажчик стека доступний для читання/запису в області вводу/виводу.

Доступ до 128 байтів статичного ОЗУ, регістровому файлу й регістрам вводу/виводу здійснюється за допомогою п'яти доступних режимів адресації підтримуваних архітектурою AVR.

Гнучкий модуль переривань має власний керуючий регістр у просторі вводу/виводу, і прапор глобального дозволу переривань у регістрі стану.