Цифровий музичний дзвоник

Автор работы: Пользователь скрыл имя, 22 Апреля 2013 в 18:53, курсовая работа

Краткое описание

Мета роботи – розробити принципову схему гірлянди на мікроконтролері
У курсовому проекті розглядається схема гірлянди на мікроконтролері. В ході виконання курсового проекту було розглянуто технічні дані системи, розроблені режими роботи даної схеми також було докладно розглянуто принцип побудови та роботи електрично – принципових схем плат.

Прикрепленные файлы: 1 файл

Цифровий музичний дзвоник.docx

— 244.00 Кб (Скачать документ)

 

 

1.3Аналіз елементної бази

Музичний дзвоник зібрано на основі мікроконтролера  Atmel Tyni15. Пристрій спроектовано в найбільш дешевому і функціонально простому варіанті виконання і має діапазон вимірюваної температури від -22º С до +30 º С.

Мікроконтролер 

ATtiny15 є 8-ми розрядним  CMOS мікроконтролером з низьким  рівнем енергоспоживання, заснованим  на AVR RISC архітектурі. Завдяки виконанню  високопродуктивних інструкцій  за один період тактового сигналу, ATtiny15 досягає продуктивності, що  наближається до рівня 1 MIPS на  МГц, забезпечуючи розробникові  можливість оптимізувати рівень  енергоспоживання у відповідності  з необхідною обчислювальної  продуктивністю.

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

ATtiny15 має: 1 Кбайт Flash пам'яті, 64 байт EEPROM, 6 ліній I / O загального  призначення, 32 робочих регістра  загального призначення, 2 8-vb розрядних  універсальних таймера / лічильника, один з високошвидкісним виходом  з ШІМ, вбудовані генератори, внутрішні  та зовнішні переривання , програмований  стежить таймер, 4-х канальний, 10-ти  розрядний АЦП з одним диференціальним  входом сигналу напруги з опціональним  х20 посиленням, а також, три програмно  обираних режиму економії енергоспоживання. Режим очікування «Idle Mode» зупиняє  CPU, але дозволяє функціонувати  АЦП, аналоговому компаратору,  таймеру / лічильникам і системи  переривань. Режим придушення шумів  АЦП забезпечує високо прецизійні  АЦП-вимірювання шляхом зупинки  CPU і збереження працездатності  АЦП. Режим економії енергоспоживання  «Power Down» зберігає вміст регістрів,  але зупиняє тактові генератори, відключаючи всі інші функції  мікроконтролера, аж до наступного  зовнішнього переривання, або  до апаратної ініціалізації. Функції  активації, або переривання при  зміні логічного рівня на вході  дозволяє ATtiny15 бути високочутливої ​​до зовнішніх подій, при збереженні мінімального рівня енергоспоживання при знаходженні в режимах економії енергоспоживання.

Пристрій проводиться  із застосуванням технологи енергонезалежної пам'яті з високою щільністю  розміщення, розробленої в корпорації Atmel. Завдяки поєднанню вдосконаленого 8-ми розрядного RISC CPU з Flash-пам'яттю з  підтримкою внутрішньо системного програмування  на одному кристалі вийшов високопродуктивний мікроконтролер ATtiny15, забезпечує гнучке і економічно-високоефективне рішення  для багатьох програм вбудованих систем управління, особливо у разі застосування у зарядних пристроях, системах баластного освітлення , і  у всіх типах додатків, що використовують інтелектуальні сенсори. Схема ATtiny15 та розташування портів вводу-виводу представлена  (Рисунок1.3).

AVR ATtiny15 підтримується повним  набором програм і пакетів  для розробки, включаючи: компілятори  С, макроассемблера, відладчики / симулятори програм, внутрішньо  схемного емулятори та набори  для макетування.

Рисунок1.3 Мікроконтролер

Конденсатор

Елемент який накопичує  енергію у собі(заряджається), а  потім вітдає(розряджається) і коли розряджається, то віддає більш згладжену  напругу. Заряджається конденсатор  швидше ніж розряджається. Ємність  конденсатора вимірюється у мФ. ГОСТ 27550-87 електричний алюмінієвий конденсатор постійної ємності.

 

Рисунок 1.4 Конденсатор

 

 

Резистор

Елемент який надає опір напрузі,використовується майже в усіх схемах які існують. Опір Резистора вимірюється в Омах. ГОСТ 24238-84

Рисунок 1.5 Резистор

 

1.4Пошук та аналіз інформації  в мережі Інтернет та інших  джерелах

 

Мікроконтроллер ATyni15відноситься досімейства Atmel.Корпорація ATMEL, заснована у 1984, на сьогоднішній день вона є визнаним світовим лідером у галузях розробки, виробництва і маркетингу сучасних електронних компонентів, включаючи логічні мікросхеми з розширеними функціональними можливостями, мікросхеми енергонезалежної пам'яті, а також інтегральні схеми для радіочастотного діапазону і для змішаної обробки сигналів.

ATMEL - одна з небагатьох прогресивних компаній, здатних до об'єднання різних типів мікроелектронних осередків на площі єдиного кремнієвого кристалу. Кремнієві пластини виготовляються за найсчаснішими технологіями, включаючи BiCMOS, CMOS і SiGe, при цьому енергонезалежна пам'ять великого обсягу, логічні елементи та аналогові електронні скриньки комбінуються інтегральним способом в одну мікросхему.  Починаючи з середини 90 х років, фірма «Atmel» почала активно розвивати новий напрямок у своїй діяльності - виробництво високопродуктивних 8 ми розрядних RISC мікроконтролерів для вбудованих додатків, об'єднаних загальною назвою AVR. Корпорація Atmel випускає мікроконтроллери наступних сімейств:

• Classic AVR - базова лінія мікроконтролерів;

• Mega AVR - мікроконтролери  для складних додатків, вимагаю 

чих великого обсягу пам'яті  програм і даних;

• Tiny AVR - дешеві мікроконтролери  у 8 вивідному виконанні.

Загальні відомості  мікроконтролера  сімейства Classic

Мікроконтролери цього сімейства (втім, як і всі мікроконтролери  AVR фірми «Atmel») є 8 розрядними мікроконтролерами, призначеними для вбудованих додатків. Мікроконтролери виготовляються за малоспоживаючої KМОП технології, яка в поєднанні з удосконаленою RISC архітектурою дозволяє досягти найкращого співвідношення показників швидкодії / енергоспоживання. Завдяки тому, що переважна більшість команд виконується за один такт, швидкодія цих мікроконтролерів може досягати значення 1 MIPS (мільйонів операцій у секунду) на 1 МГц тактової частоти. У сімейство Classic входять мікроконтролери з різним поєднанням периферійних пристроїв, різними обсягами вбудованої пам'яті і різним кількістю виводівв. Така різноманітність дає розробникові можливість зробити оптимальний вибір і використовувати саме той мікроконтроллер, який найкращим чином підходить для його потреб.

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

  • можливість обчислень з швидкістю до 1 MIPS / МГц;
  • FLASH пам'ять програм обсягом від 1 до 8 Kбайт (число циклів стирання / запису не менш 1000);
  • пам'ять даних на основі статичного ОЗУ (SRAM) обсягом до 512 байт;
  • пам'ять даних на основі ЕСППЗУ (EEPROM) обсягом від 64 до 512 байт (число циклів стирання / запису не менше 100000);
  • можливість захисту від зчитування і модифікації пам'яті програм і даних (в EEPROM);
  • програмування в паралельному (з використанням программатора) або в послідовному (безпосередньо в системі через послідовний SPI інтерфейс) режимах;
  • різні способи синхронізації: вбудований RC генератор, зовнішній сигнал синхронізації або зовнішній резонатор (пьезокерамічний або кварцовий);
  • наявність декількох режимів зниженого енергоспоживання;

 

 

2 РОЗРОБКА ЕЛЕКТИЧНОЇ  ПРИНЦИПОВОЇ СХЕМИ ПРИСТРОЮ ТА  ОПИС РОБОТИ

 

 

Розробляємо в Accel EDA схему  електричну принципову цифрового музичного дзвоника.

Рисунок 2.1 Принципова схема цифрового музичного дзвоника.

Описання основних компонентів  приладу та методи їх підключення

Схема (рисунок 2.1) може працювати як окремий пристрій або бути підключеною в точках А і В до схеми домашнього дзвінка. Живлення здійснюється від мережі змінної напруги 220 В. Однополуперіодний    випрямляч з обмеженням струму живить схему потужного стабілітрона і стабілізатора напруги. Ланцюг пониження напруги мережі до рівня 9 В (Rl, C3) розрахований на струм споживання 40 мА. Струм стабілізації стабілітрона становить 20 мА – стільки ж споживає стабілізатор напруги 5 В, що живить мікроконтролер протягом роботи пристрою.

У момент включення основний струм споживає конденсатор С2, але  цей струм обмежений реактивним опором С2 і опором R1.Конденсатор  С2  виконує функцію джерела  струму в момент відключення живлення схеми, при цьому D2 замикається, і  споживачами залишаються R5, R4, LED1, R3, Dl, R2, IC2.

При зниженні напруги на С2 до рівня менше 9 В стабілітрон  D1 зменшує споживання струму до мінімуму і відключається. Кондесатор С4 згладжує високочастотні імпульсні перешкоди, що проходять з мережі у схему живлення. Конденсатори R5 і R4 складають дільник напруги на стабілітроні D1 (необхідний для вимірювального каналу мікроконтролера). Вимірювальний канал не містить схему вибірки й зберігання, а так само інтегратора і фільтра верхніх частот, оскільки ці функції виконують фільтруючі елементи живлення С2, С4.Функцію інтегратора виконує обмежувальний стабілітрон D1.

Мікроконтролер включається, як тільки подається напруга живлення. При цьому світиться світлодіод LED1. При падінні напруги на стабілітроні D1 до рівня менше 9 В мікроконтроллер переходить в "сплячий" режим. Як тільки на мікроконтроллр надходить напруга живлення, він формує низькочастотні сигнали музичних мелодій на п’єзовипромінювач (можна вибрати будь-який п’єзовипромінювач [7]).Для кращого відтворення мелодії можна використовувати динамік, але при цьому для нього необхідно забезпечити підсилювач по струму (на мікросхемі або на транзисторі) і збільшити ємність С2.

 

3 РОЗРОБКА КЕРУЮЧОЇ ПРОГРАМИ

 

 

Програма реалізації алгоритму  роботи цифрового пристрою

Програма розроблена для  мікроконтролера з тактовою частотою 4 МГц. Її виконання при включенні  живлення починається з вектора переривання, за яким вона переходить в задану вектором підпрограму. При скиданні вектор переривань переводить програму до мітки RESET. Далі програма виконує перевірку живлячої напруги. Цю функцію виконує АЦП за допомогою одиночного перетворення. Програма перевіряє напругу живлення схеми, і в разі падіння його нижче рівня 0,89В мікроконтроллер переходить в "сплячий" режим.

Після успішного проходження перевірки живлення значення всіх змінних скидаються в нуль, а так само налаштовується порт вводу/виводу і два таймери: ТО та Т1. Таймер ТО призначений для встановлення часу звучання мелодії, а таймер Т1 - для встановлення частоти вибраної ​​ноти. Таймер Т1 налаштований на синхронізацію від тактового генератора мікроконтролера з коефіцієнтом розподілу 1 / 64. Частота ноти задається шляхом введення тривалості напівперіоду. При проходженні циклу, що складається з ділення тактової частоти внутрішнього генератора і інвертування вихідного сигналу двічі, формується період із заданою частотою.

В основі програми закладено  використання таймера Т1 спільно з альтернативною функцією OClA-виводу порту РВ1, тобто як тільки таймер виконав заданий програмою рахунок імпульсів, на вивід РВ1 видається одиниця. У наступний цикл Т1 ​​обнуляється і повторює рахунок імпульсів до заданого значення, по досягненню якого сигнал на виводі РВ1 інвертується. З кожним наступним рахунком значення на PBI інвертується. Розібратися в розрахунку встановлених коефіцієнтівєнтів для нот першої, другої і третьої октави допоможе табл. 5.1. Вихідні дані: тактова частота - 4000000 Гц, коефіцієнт розподілу - 2.

 

Таблиця 3.1 Розрахунок коефіцієнтів для нот першої, другої і третьої октави.

Таймер

Частота ноти

Установка I

Нота (октава)

Цифра

HEX/ OCR1A

Программа, МКС

Реальная частота

 

64

261,63

119

До(1)

32119

77

1928

259,3361

 

64

293,66

106

Ре(1)

32106

     

64

329,63

95

Ми(1)

32095

5F

     

64

349,23

89

Фа(1)

32089

59

     

64

370

84

Соль(1)

32084

54

     

64

440

71

Ля(1)

32071

47

1157

432,1521

64

493,88

63

Си(1)

32063

3F

   

64

523,26

60

До (2)

32060

зс

   

64

587,32

53

Ре (2)

32053

35

   

64

659,26

47

Ми (2)

32047

2F

773

646,8305

64

698,46

45

Фа (2)

32045

2D

   

64

740

42

Соль (2)

32042

   
               

64

880

36

Ля (2)

32036

24

   

64

987,76

32

Си (2)

32032

20

   

64

1046,52

30

До(3)

32030

   

64

1174,64

27

Ре(3)

32027

   

64

1318,52

24

Ми(3)

32024

18

   

64

1396,92

22

Фа(3)

32022

16

   

64

1480

21

Соль (3)

32021

15

   

64

1760

18

Ля(3)

32018

12

   

64

1975,52

16

Си(3)

32016

10

276,75

1806,685


 

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

Встановлення необхідних коефіцієнтів виконується за допомогою  почергового опитування пам'яті  програм. У кінці програми задається частота ноти і тривалість звучання. Щоб уникнути операцій з 16-розрядними даними організована окрема обробка 8-розрядних даних (операції з двобайтових словом призначені для подальшої модернізації програми). Після відтворення останньої ноти мікроконтроллер переходить в "сплячий" режим.

Мелодія дзвінка обмежена гамою нот від "до" до "сі". Можна запрограмувати будь-яку гамму – для цього в кінці програми є багато вільного місця. Можна змінити порядок читання нот і отримати цікаву мелодію.

Код програми на асемблері  представлений в лістингу 5.1, а  шістнадцятирічний код - в лістингу 5.2.

Лістинг 5.1. Асемблерна програма для муичного дзвоника

.include  "C:\Program Files\Atmel\AVR

Studio\Appnotes\tnl5def.inc"

 

Програма  музичного дзвоника  Сафонников  В.В.

виправлення і доповнення  Кравченко А.В.

 

.DEF   Step=r20

.DEF    Freqlndex=r21

.DEF    FreqDelay=r22

.DEF   Ah=rl8   ;

.DEF   Al=rl7

.DEF   Axx=r23

.DEF   Ayy=r24

.DEF    tmp=r27

.DEF    tmp2=r28

.DEF    tmp3=r26

.DEF    tmp4=r25

 

;початок сегменту програми

.cseg

.org  0

;Вектор  переривань  МК  tinyl5

rjmp      RESET

nop                      ;rjmp    EXT_INT0 переривання не використовується

nop                      ;rjmp    EXT_PIN   переривання не використовується

nop                      ;rjmp    LOW_LEVEL

nop                      ;rjmp    TIME  1      ;прерывание  від  таймера Tl

rjmp    TIME 0      ; переривання  від таймера ТО

nop                      ;rjmp    EE_RDY     переривання від таймера

nop                      ;rjmp    ANA_COMP переривання не                       використовується

 

 

;початок всієї програми з підпрограмами

.org 20

 

Reset:              nop

;Задамо рівень напруги

ldi        Zl,   S5D                           ;уровень  0,9В

ldi        Zh,   S00

;Налаштування  АЦП,   перевірка живлення схеми.

clr        tmp3

ldi    tmp3,  S81    ;внутрішній ИОН, РВ2-вхід

out    ADMUX, tmp3  ;коммутація входів АЦП

cli                                   Заборона переривань

Информация о работе Цифровий музичний дзвоник