Годинник-будильник з ДУ на PIC16F628A - Пристрої на мікроконтролерах - Схеми пристроїв на мікроконтролерах. Годинники - будильник на мікроконтролері PIC16F628A Pic16f628a схеми пристроїв


Цей варіант годинника зроблений таким чином, щоб максимально спростити схему, знизити енергоспоживання, і в підсумку отримати прилад, який легко поміщається в кишені. Вибравши мініатюрні акумулятори для живлення схеми, SMD - монтаж і мініатюрний динамік (наприклад від неробочого мобільного телефону), Ви можете отримати конструкцію, розміром трохи більше сірникової коробки.
Застосування над'яскравих індикатора дозволяє знизити струм, споживаний схемою. Зниження струму споживання також досягається в режимі "LoFF" - індикатор погашений, при цьому включена тільки миготлива точка молодшого розряду годин.

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


Корекція показань, виведених на індикатор включається при натисканні на кнопку "Корекція". При цьому короткочасна підказка виводиться на 1/4 секунди, після чого коректовані значення починає блимати з частотою 2 Гц. Коригуються показання кнопками "плюс" і "мінус". При тривалому натисканні на кнопку, включається режим автоповтора, із заданою частотою. Частоти автоповтора натискання кнопки складають: для годин, місяців і дня тижня - 4 Гц; для хвилин, року і яскравості індикатора - 10 Гц; для коригуючого значення - 100 Гц.
Все відкориговані значення, крім годин, хвилин і секунд, записуються в EEPROM і відновлюються після виключення - включення харчування. Секунди при корекції обнуляються. З усіх режимів, крім годинник-хвилини, хвилини-секунди і LoFF організований автоматичне повернення. Якщо протягом 10 секунд жодна з кнопок не натиснута, то годинник переходять в режим відображення годин - хвилин.
Натисканням на кнопку "вмикання / вимикання буд." включається / вимикається будильник. Включення будильника підтверджується коротким Двотональна звуком. При включеному будильнику світиться точка в молодшому розряді індикатора.
У режимі "Corr" на індикатор виведена коригуюча константа, початкове значення якої 5000 мікросекунд в секунду. При відставанні годин константу збільшуємо на величину відставання, обчислене в мікросекундах за одну секунду. Якщо годинник поспішають, то константу зменшуємо за тим же принципом.

Принципова схема частотоміра

Мікроконтролер PIC16F628A служить для того, щоб виконати всю роботу без будь-яких додаткових мікросхем. На 16F628A 16 I / O висновків, два з яких використовуються для кварцового генератора, один призначений для введення сигналу, а інший може бути використаний тільки для введення, що дає нам тільки 12 корисних I / O контактів. Рішення - поставити транзистор, який відкривається при виключенні всіх інших цифр.

Світлодіодний 7-сегментний дисплей, використовуваний тут, із загальним катодом типу BC56-12SRWA. Коли всі сигнали знаходяться на високому рівні, транзистор Q1 відкривається і переключається на першій цифрі. Струм для кожного сегмента становить близько 7 мА.

Вся схема частотоміра споживає струму порядку 30 мА в середньому. Мікроконтролер використовує свій внутрішній 4 MHz генератор для тактирования CPU. А зовнішній кварцовий генератор з частотою 32768 Hz потрібен для установки 1 другого часового інтервалу. Tmr0 використовується для підрахунку вхідного сигналу на виводі RA4.

В якості вхідного сигналу потрібно буде 5 вольт прямокутного виду. Сам частотомер може вимірювати до 1 мегагерци, що більш ніж достатньо для аматорських проектів. Це зроблено для зручності, так як лічильник може досягати показань 999999 Гц - і нічого перемикати не потрібно. Міряємо хоч 11 герц, хоч 139,622 кілогерц.

Загалом якщо у кого є бажання повторити цей проект самим, ось файли. Плата в архіві трохи відрізняється від тієї, що на фотографії, були пізніше зроблені деякі оптимізації. А програмний код відкритий - можна його при умінні оптимізувати.

Ось ще один зразок лабораторного устаткування - LC метр. Даний режим вимірювання, особливо завмер L практично неможливо знайти в дешевих заводських мультиметр.

схема даного LС метра на мікроконтролері була взята з сайту www.sites.google.com/site/vk3bhr/home/index2-html. Прилад побудований на PIC мікроконтролері 16F628A, і так як я недавно придбав програматор PIC, я вирішив випробувати його це за допомогою цього проекту.

Я прибрав регулятор 7805, так як вирішив використовувати зарядний пристрій на 5 вольт від стільникового телефону.

У схемі подстроічний резистор на 5 кОм, але насправді я поставив 10 кОм, згідно datasheet на придбаний LCD модуль.
Всі три конденсатори 10 мкФ танталові. Необхідно зауважити що конденсатор C7 - 100мкФ насправді 1000мкФ.
Два конденсатора по 1000пФ конденсатори styroflex з допустимим відхиленням в 1%, індуктивна котушка 82мкГн.

Загальний струм споживання з підсвічуванням становить близько 30 мА.
Резистор R11 обмежує струм підсвічування і повинен бути розрахований відповідно до фактично використовуваним LCD-модулем.

Я використовував оригінальний малюнок друкованої плати в якості відправної точки і змінив його під наявні у мене компоненти.
Ось результат:




Останні дві фотографії показують LC метр в дії. На першому з них вимір ємності конденсатора 1нФ з відхиленням 1%, а на другому - індуктивність 22мкГн з відхиленням в 10%. Пристрій дуже чутливо - тобто, з непідключеним конденсатором він показує ємність близько 3-5 пФ, але це усувається шляхом калібрування.

Годинники з невеликим 4-х цифровим індикатором. Точка між годинами і хвилинами блимає з частотою 0,5 секунд. Можна вбудувати в будь-який предмет: в настільний календар, в радіоприймач, в автомобіль. Розрахункова похибка - 0,00002%. На практиці - за півроку жодного разу не було необхідності в корекції.

Харчування 4.5 - 5 вольт, струм до 70мА. Стабілізатор напруги знаходиться в вилці - адаптері. Він зібраний на 3 ватні трансформаторі і високочастотному перетворювачі - стабілізаторі за стандартною схемою. Для авто, звичайно, трансформатор не потрібний. Мікросхема без радіатора, практично не гріється. Роз'єм для блоку живлення 3.5мм. Кварц 4 МГц. Транзистори n-p-n будь-які малопотужні.

кнопки будь . Довжина штовхача, щоб вибрати пункт виходячи з вимог конструкції. Можна кнопки припаяти і з боку провідників. При кожному натисканні на кнопку додається одиничка. При утриманні - рахунок прискорюється до розумної швидкості.

Резистори МЛТ - 0,25. R7 - R14 300 - 360 Ом. R3 - R6 1-3 кОм.
Акумулятори: 4 штуки з GP- 170, або подібні. При відключенні напруги вони живлять тільки мікроконтролер. 8 діб витримують точно, перевірив.
Діоди з найменшим падінням напруги в прямому напрямку.

Плати виготовлені з одностороннього фольгування стеклотекстолита.

До установки мікроконтролера в панель виготовленої плати, увімкніть пристрій и заміряйте напруга на 14 ніжці панельки. Повинно бути 4,5 - 4,8 вольт. На 5-ій ніжці 0 вольт. Якщо ви не впевнені в якості виготовленої плати або в справності деталей - перевірте пристрій без мікроконтролера. Робиться це дуже просто:

  • Вставте перемичку з оголеного дроту в панельку, 1 і 14 клему. Це означає, що +4,5 вольт з першої ноги через резистор відкриє транзистор VT 2 і катод індикатора одиниць годин буде з'єднаний з нулем.
  • Будь-провід приєднати одним кінцем до +, а іншим кінцем по черзі стосуватися клем 6,7,8,9,10,11,12,13 панельки.
  • При цьому спостерігати зажигающиеся сегменти і їх відповідність схемі: + на 6-ій ніжці - горить сегмент "g" і так далі.
  • Переставте перемичку в 2 і 14 клеми панельки. Перевірте всі сегменти індикатора одиниць хвилин.
  • Перемичка 18 і 14 - перевіряються десятки годин, 17 і 14 - десятки хвилин.

Якщо щось неправильно працює - виправляйте. Якщо все правильно - програмуйте мікроконтролер і вставляйте, при відключеному харчуванні, в панельку.
Нех файл додається.
Включайте харчування і отримуйте готові годинник.

Якщо всі деталі купувати, включаючи і резистори, то відповідно до моєї схемою пристрій обійдеться приблизно в 400 руб:

  • PIC16F628A - 22,8 грн
  • LM2575T-5.0 - 10грн
  • FYQ 3641AS21 - 9,3грн
  • Панелька - 3грн
  • Кварц - 1,5грн

література:

  • Pic мікроконтролери. Все, що вам необхідно знати. Сід Катцен.2008г.
  • PIC-мікроконтролери. Архітектура і програмування. Майкл Предко. 2010р.
  • Pic мікроконтролери. Практика застосування. Крістіан Тавернье.2004г.
  • Розробка вбудованих систем за допомогою мікроконтролерів PIC. Тім Уілмсхерст. 2008р.
  • Data sheet: PIC16F628A, FYQ 3641, LM2575.
  • Самовчитель по програмуванню PIC контролерів для початківців. Євген Корабельников. 2008р.

Нижче ви можете завантажити прошивку і друковану плату у форматі LAY

список радіоелементів

позначення Тип Номінал

Магазин

МК PIC 8-біт

PIC16F628A

1
Пошук в магазині
VR2 DC / DC імпульсний конвертер

LM2575

1 Пошук в магазині
VT1-VT4 біполярний транзистор

КТ315А

4
Пошук в магазині
VD1, VD3, VD4 діод

Д310

3
Пошук в магазині
VD2 діод Шотткі

1N5819

1
Пошук в магазині
VD5 Діодний міст

DB157

1
Пошук в магазині
С1, С2 конденсатор20 пФ2
Пошук в магазині
С3 конденсатор0.1 мкФ1
Пошук в магазині
С4 330 мкФ 16 В1
Пошук в магазині
С5 електролітичний конденсатор100 мкФ 35 В1
Пошук в магазині
R1, R2 резистор

10 кОм

2
Пошук в магазині
R3-R6 резистор

1.5 кОм

4
Пошук в магазині
R7-R9, R11-R14 резистор

300 Ом

7
Пошук в магазині
R10 резистор

360 Ом

1

Цей пристрій являє собою звичайні електронний годинник з будильником, але управляються вони з пульта дистанційного керування на ІЧ променях. Годинники реалізовані програмно, індикація динамічна. У схемі передбачено резервне живлення, на випадок відключення ел.енергії. Будильник реалізований на простий "пищалки" з вбудованим генератором - buzzer.

Пульт управління реалізований на мікроконтролері PIC12F629. Харчується пульт від звичайної батарейки для материнської плати комп'ютерів. Якщо не натиснута ніодна з кнопок - мікроконтролер знаходиться в режимі SLEEP і практично не споживає струму. Як тільки кнопка натиснута - мікроконтролер "прокидається" і формує кодову посилку на ІК світлодіод.


При включенні харчування на дисл виводиться поточний час, двокрапка блимає. Якщо натиснути кнопку CLOCK диплом покаже час спрацювання будильника (двокрапка не блимає), або -: -, якщо будильник вимкнений. Повторне натискання на кнопку CLOCK, або через 6 секунд - девайс буде знову відображати поточний час. Натискання кнопки COR дає змогу встановити режим корекції годин, якщо в даний момент відображаються годинник; або в режим установки будильника, якщо на дисплеї відображається будильник. Перше натискання - блимають годинник, кнопкою +1 \u200b\u200bвстановлюються годинник, друге натиснення кнопки COR - блимають хвилини - кнопкою +1 \u200b\u200bвстановлюються хвилини, третє натиснення - вихід з режиму корекції годин (або будильника). Якщо коригується час будильника - то він автоматично включається.

Коли дисплей відображає час установки будильника (включається кнопкою CLOCK) - натискання кнопки +1 включає, а повторне натискання вимикає будильник, дисплей, відповідно, показує час установки будильника або -: - (двокрапка не блимає). Якщо будильник вимкнений, то час його установки не скидається.

У режимі індикації годин (двокрапка блимає) - натискання кнопки +1 - переводить годинники в "нічний" режим - в цьому режимі індикатор повністю гасне і блимає тільки двокрапка, що знижує енергоспоживання і не створює зайвого нічного підсвічування. При цьому натискання будь-якої кнопки на пульті, а також спрацьовування - виводить годинник з нічного режиму.

Якщо спрацював будильник - звучить звуковий сигнал протягом однієї хвилини, всі цифри на дисл блимають. Натискання будь-якої кнопки на пульті управління вимикають будильник (Не скидаючи часу його установки).

Для резервного живлення годин, також як і в пульті управління, використана батарейка від материнської плати комп'ютера. Її напруга 3V, тому мікроконтролер в годиннику потрібно застосувати низьковольтний - PIC16LF628A. Якщо ж застосувати батарейку з напругою понад 3,6V то підійде і звичайний PIC16F628A. Ну і зовсім ідеальний варіант - застосувати мікроконтролер з Технолига NANOWATT - PIC16F819 (Увага! Для цього мікроконтролера використовується інша прошивка).