Енциклопедія пожежної безпеки

Схема електронного годинника на pic16f628a - пристрої на мк - radio-bes - електроніка для дому. Годинник на мікроконтролері своїми руками Електронний годинник на pic16f628a із загальним анодом

Годинник на PIC16F628A та датчику температури DS18B20.

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

Анімована зміна індикації.

Варіант простих годинників на популярному і доступному мікроконтролері PIC16F628A. Фактично з них починався проект на AVR.

Опис годинника.


1. Функції.

- Годинник, формат відображення часу 24-х годинний, годинник:хвилини.

- Цифрова корекція точності. Можлива щодобова корекція ±25 сек. Встановлене значення в 1 годину 0 хвилин 30 сек буде додано/віднімається з поточного часу.

- Термометр.

- Індикація. Почергова.

- Анімація зміни показань, що настроюється.

– використання енергонезалежної пам'яті мікроконтролера для збереження настройок при вимкненні живлення.

– якщо в основному режимі натиснути кнопкуPLUS , то на індикатори виводиться час, якщо натиснути наMINUS - Температура. При відпустці кнопок поновлюється автоматична зміна показань.

2. Налаштування.

2.1. При включенні живлення годинник в основному режимі.

2.2. Натисканням кнопкиSET здійснюється вхід у режим налаштувань та вибору параметра для встановлення. По-черзі доступні для встановлення:

– хвилини;

- Годинник;

– секунди (обнуляються при натисканні на кнопкиPLUS абоMINUS );

- Величина корекції. У старшому розряді символз ";

– час індикації поточного часу. У старших розрядах символиtc ". Діапазон установки 0÷99 сек. Якщо встановлено 0, то час не відображатиметься;

– час індикації температури. У старших розрядах символиtt ". Діапазон установки 0÷99 сек. Якщо встановлено 0, то температура не відображатиметься;

- Вибір ефекту анімації. У старших розрядах символиEF ". Якщо встановлено 0, зміна інформації буде проводитись без ефектів, якщо вибрано автоматичний режим (символА ), то проводитиметься почергова зміна ефектів. Якщо вибрано режимr , то зміна ефектів буде здійснюватися випадковим чином.

- Вибір швидкості анімації. У старшому розряді символP Діапазон установки 0÷99. Одна одиниця відповідає приблизно 2 мсек, чим вище величина, тим повільніше йде анімація.

2.3. Параметр блимає.

2.4. Утримуванням кнопокPLUS / MINUS провадиться прискорена установка параметра.

3. Примітки.

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

При відключенні основного живлення (+12V) індикація відключається, годинник продовжує йти. Живлення МК здійснюється від резервного джерела.

В архіві прошивки для індикаторів із загальним катодом та анодом, проект у Proteus та опис.

Запитання, побажання у форум.

11.03.2015

Додано оновлену прошивку для індикатора із загальним катодом. У новій прошивці більше ефектів анімації та невеликі зміни в алгоритмі. Детальний опис у архіві.

Пропоную для самостійного складання дві дуже прості схеми, а саме годинник на мікроконтролері PIC та AVR. Основа однієї схеми - мікроконтролер AVR Attiny2313, а інший - PIC16F628A

Ці схеми годинника на мікроконтролері дуже допоможуть радіоаматорам-початківцям розібратися з питаннями роботи та програмування мікроконтролерів.

Розглянемо докладніше цю просту схему: Живлення можна подавати як від трьох пальчикових батарейок, так і від


Мікроконтролер Attiny2313 тактується кварцом на 16 МГц. Як лічильник часу, у внутрішній схемі мікроконтролера використовується 16 бітний таймер з дільником на 256. Як тільки внутрішній лічильник дорахує до 625, здійсниться переривання. Тому у нас відбуватимуться переривання 100 разів на секунду.

Тимчасовий інтервал враховується у глобальних змінних, і при кожному перериванні потрібно збільшити значення мілісекунд на одиницю. Як тільки число мілісекунд сягне 100, потрібно збільшити на одиницю величину секунд, а мілісекунди обнулити. І так далі відповідно до того ж алгоритму до десятків годин, які скидаються тільки після досягнення значення 24 і вже без збільшення наступного розряду.

Відповідно до цього принципу, створюємо значення поточного часу, записане в глобальних змінних. Тепер нам необхідно візуально відобразити ці дані. Оскільки мікроконтролер має обмежену кількість портів, то скористаємося такою особливістю як інерційність цифрового сегментного індикатора sa15-11gwa. Катоди його індикаторів з'єднані паралельно, а аноди мають роздільне керування, що дозволяє в будь-який час вивести цифру на будь-який з чотирьох індикаторів.

Швидко перемикаючи порт мікроконтролера, до якого під'єднані всі катоди та швидко комутуючи аноди, створюється ілюзія відображення всіх чотирьох цифр у сегментному індикаторі, хоча фактично працює лише один із сегментів. Якщо поточний час 11:57, то спочатку виводимо цифру один на перший індикатор годинника, через 1 мс виводимо цифру 1 на другий індикатор ще через 1 мс відображаємо 5 на 3 індикатор, через 1 мс відображаємо 7 на 4 індикаторі і так далі циклічно, оновлюючи кожний індикатор через 1 мс.

Стан кнопок керування годинником опитуються після завершення кожного циклу відображення близько 40 разів на секунду.

Малюнок друкованої плати виконаний у програмі та прошивку для мікроконтролера завантажуємо за посиланням вище. і безпосередньо про тонкощі прошивки, читаємо тут.

Ця конструкція хоч і на іншому типі мікроконтролера, але не менш складна, ніж попередня схема.


Алгоритм роботи прошивки також простий в архіві є дуже докладні коментарі щодо коду програми. Два тумблери кн1 і кн2 призначені для корекції часу - годин та хвилин. Точність годинника залежить від частоти використовуваного кварцу.

Конструктивно годинник виконаний на двох друкованих платах, що розташовані поруч під кутом 90 градусів. На першій платі розташований індикатор, а решта електроніки на другій. Резервне живлення в ролі яких використовується три батареї розміщені в тримачі зі старої китайської запальнички зі світлодіодом. Для живлення від мережі змінного струму підійде будь-який на 5В та струмом 150мА.


В архіві, який ви можете завантажити по зеленому посиланню, знаходиться розведення обох друкованих плат у програмі Sprint Layout і прошивка на мікроконтролер PIC з вихідним кодом програми під MP_LAB IDE, з докладними коментарями.

І саму програму можна також знайти і у нас

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


Для управління анодами світлодіодних індикаторів використовуються транзисторні ключі за стандартною схемою включення.

При першому увімкненні на дисплеї виникає рекламна заставка протягом однієї секунди. Потім здійснюється відображення часу. Натискання кнопки SET_TIME перемикає індикатор по колу з основного режиму годинника:

Абсолютно, у всіх осередках утриманням кнопок PLUS/MINUS здійснюється прискорена установка. Якщо налаштування змінювалися користувачем, то через 10 секунд нові значення зберігатимуться в незалежній пам'яті мікроконтролера і зчитуватимуться. при прошивці МК виставляємо так:


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


У прошивки будильника реалізовано графіки змін: 4/5 (чотири на п'ятий) - 4 дні по 1 змінам, 1 вихідний, 4 дні по 2 змінам, 1 вихідний, 4 дні по нічних, 1 вихідний; - День, ніч, 2 вихідних; У будні - Пн-Пт - робочі дні, Сб-Нд - Вихідний; (Святкові дні не враховуються); Щодня.

Користувач сам вибирає тип будильника і задає будь-який час спрацьовування. У варіантах 4/5 та день, ніч, 2 вихідні – необхідно додатково вибрати поточну зміну.

Крім того, у прошивці МК реалізовані такі функції: Перехід на літньо-зимовий період; Коригування часу; Сигнал будильника, що прискорюється; Відображення нуля в розряді годинника та в розряді дати

Схема годинника побудована на базі годинної мікросхеми DS1307 та мікроконтролера MEGA8. Схема (поміщена в архів з прошивкою МК та кресленнями друкованих плат) розрахована на застосування семисегментних цифрових індикаторів із загальним анодом на напругу 5В. (УВАГА! На схемі для спрощення не намальовані баластові резистори. Їх потрібно встановити на кожен сегмент індикаторів. Всього 112 шт. Номінал розраховується згідно з документацією. У я використовував сегментні індикатори типу fys15011 і fyd-5622. Якщо застосуєте більше потужності додаткових транзисторних ключів не обійтись.

Креслення друкованої плати розроблялося під вже наявну коробку від старого зламаного годинника. На роз'єм Alarm (будильник) можна приєднати малопотужне навантаження, допустимо музичну листівку, а джампером JP1 - від'єднуємо внутрішній біпер. Мікроконтролер можна прошивати відразу на платі, що суттєво полегшує налаштування у разі модифікації конструкції.

Налаштування годинника
Для цього необхідно увійти в режим завдання параметрів:
Параметр-Значення-Зберігати у пам'яті
P.01 - ГОДИННИК [-]
P.02 - ХВИЛИНИ [-]
P.03 - ДЕНЬ [-]
P.04 - МІСЯЦЬ [-]
P.05 - РІК [-]
Р.06 - Тип будильника [+] (1-4/5; 2-5/8; 3-ЖД графік; 4-щоденно)
P.07 - ЗМІНА [+]
P.08 - Буд.1.ЧЧ [+]
P.09 - Буд.1.ММ [+]
P.10 - Буд.2.ЧЧ [+]
P.11 - Буд.2.ММ [+]
P.12 - Буд.3.ЧЧ [+]
P.13 - Буд.3.ММ [+]
P.14 - Коригування (Д.Ч) [+]
P.15 - Літній/зимовий період [+]
P.16 - Біпер, що прискорюється [+]
P.17 - Відображати незначний нуль у розряді годинника [+]
P.18 - Відображати незначний нуль у розряді дати [+]

Налаштування Будильника:Кнопкою Вкл/Вкл Буд. - здійснюється Вкл/Вкл, при цьому: При типі будильника 1: Буд.1 - 1 зміна; Буд.2 - зміна; Буд.3 - 3 зміна;
Графік змін: 1,2,3,4 - перша зміна; 5 – вихідний; 6,7,8,9 - друга зміна; 10 – вихідний; 11,12,13,14 - 3 зміна; 15,16 – вихідний; Потім дні повторюються.
При першому типі будильника 2 Буд.1 - задає час сигналу; Буд.2, Буд.3 - не спрацьовує; Графік змін: У будні.
При третьому типі будильника: Буд.1 - встановлюється час дня; Буд.2 - задає час ніч; Буд.3 - не спрацьовує;
Графік змін: – день, ніч, 2 вихідні; При типі будильника 4 Буд.1, Буд.2, Буд.3 задається час; Якщо плануєте використовувати лише один будильник – задайте час трьох однаковим.
При графіку змін: Щоденно. Якщо натиснути кнопку Викл.Буд. у режимі встановлення параметрів - відбудеться вихід із налаштувань без збереження.
Коригування:При коригуванні застосовується наступний спосіб: +/- Ч.Д, де: Ч - кількість секунд, що коригується на годину (max 9). Д - секунди, що коригується в день. УВАГА! При вимкненому живленні коригування не здійснюється. При включенні – перевірте правильність часу.

Пропоную для повторення схему простих електронних годинників з будильником, виконані на типу PIC16F628A. Великим плюсом даних годинника є світлодіодний індикатор типу АЛС, для відображення часу. Особисто мені порядком набридли всілякі РКІ і хочеться мати можливість бачити час з будь-якої точки кімнати навіть у темряві, а не тільки прямо з гарним освітленням. Схема містить мінімум деталей та має відмінну повторюваність. Годинник випробуваний протягом місяця, що показало їх надійність та працездатність. Думаю з усіх схем в інтернеті, ця найбільш проста у складанні та запуску.

Принципова схема електронного годинника з будильником на мікроконтролері:


Як видно зі схеми годинника, є єдиною мікросхемою, що використовується в даному пристрої. Для тактової частоти використовується кварцовий резонатор на 4 МГц. Для відображення часу використані індикатори червоного кольору із загальним анодом, кожен індикатор складається із двох цифр із десятковими точками. У разі використання п'єзовипромінювача, конденсатор С1 – 100мкФ можна не ставити.

Можна застосувати будь-які індикатори із загальним анодом, аби кожна цифра мала власний анод. Щоб електронний годинник був добре видно в темряві і з великої дистанції - намагайтеся вибрати АЛС-ки чим більше.


Індикація в годиннику здійснюється динамічно. В даний момент часу відображається лише одна цифра, що дозволяє значно знизити споживання струму. Аноди кожної цифри керуються мікроконтролером PIC16F628A. Сегменти всіх чотирьох цифр з'єднані разом і через струмообмежувальні резистори R1 … R8 підключені до висновків порту МК. Оскільки засвічення індикатора відбувається дуже швидко, мерехтіння цифр стає непомітним.


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


Харчується годинник від стабілізованого джерела напругою 5В. Можна й від батарейок. У годиннику реалізовано 9 режимів індикації. Перехід по режимах здійснюється кнопками "+" та "-". Перед виведенням на індикацію самих показань на індикатори виводиться коротка підказка назви режиму. Тривалість виведення підказки – одна секунда.


Кнопкою "Корекція" годинник - будильник переводиться в режим налаштувань. При цьому короткочасна підказка виводиться на пів секунди, після чого значення починає блимати. Корекція показань здійснюється кнопками "+" та "-". При тривалому натисканні на кнопку включається режим автоповтору із заданою частотою. Усі значення, крім годин, хвилин і секунд, записуються в EEPROM і відновлюються після вимкнення - увімкнення живлення.


Якщо протягом кількох секунд жодна з кнопок не натиснута, то електронний годинник переходить в режим відображення часу. Натисканням на кнопку "Увімк./Вимк." вмикається або вимикається будильник, ця дія підтверджується коротким звуком. При увімкненому будильнику світиться точка у молодшому розряді індикатора. Думав куди б прилаштувати годинник на кухні, і вирішив вмонтувати його прямо в газову плиту :) Матеріал надіслав in_sane.


Обговорити статтю ЕЛЕКТРОННІ ГОДИННИКИ БУДИЛЬНИК

Цей електронний годинник найпростіший. Зібрано було за кілька годин. Основа мікроконтролера PIC16F628A, крім нього годинник містить кілька простих і дешевих елементів, інформація виводиться на 4-х розрядний (годинний) світлодіодний індикатор. Схема живиться від мережі, також має резервне харчування. Дану конструкцію можна рекомендувати початківцям, я спеціально забезпечив вихідну програму докладними коментарями, щоб легше було зрозуміти, що і як працює.

схема годинника:

Схема дуже проста, простий та алгоритм їх роботи (див. коментарі у вихіднику). Кнопки кн1 і кн2 служать корекції часу - годин і хвилин відповідно. Годинник має 24-годинний формат відображення. У 1-му розряді годин зроблено гасіння незначного нуля. Точність ходу годинника повністю залежить від частоти кварцового резонатора. Але навіть без спеціальних добірок кварців і конденсаторів у тактовому генераторі - годинник іде дуже точно.

Годинник зібраний на 2-х друкованих платах, пристикованих одна до одної під кутом 90 градусів. На одній платі розміщений цілком індикатор, а все інше на іншій. Елемент резервного живлення виламаний із китайської запальнички зі світлодіодним ліхтариком. Видаляємо світлодіод, а тримач батарейок встановлюємо на плату. На фотографії видно, що до батарейок виведені обрізки висновків резисторів - вони тримають всю цю конструкцію. Звичайно, ємність таких батарейок невелика, але коли годинник живиться від мережі, струм від батарейок не споживається. Вони живлять схему тільки якщо немає мережевого живлення. При цьому живиться тільки мікроконтролер, а індикатор від батарейок не живиться, тому гасне, а годинник продовжує хід. Кнопки керування винесені з плати у будь-яке зручне місце корпусу. Конструкція кнопок може бути будь-якою. Для живлення від мережі використано китайський БП-адаптер, до якого додано плату з мікросхемою 7805 (5-вольтовий стабілізатор). Взагалі підійде будь-який блок живлення, з вихідною напругою 5В та струмом 150мА.

Програма написана таким чином, що її можна використовувати для початкового вивчення мікроконтролера PIC, прокоментовано дію практично кожної команди. При бажанні до неї легко можна додати додаткові функції, наприклад календар, таймер, секундомір та ін.

Годинник із невеликим 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 руб.

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

Джерело: www.cxem.net


З цією схемою також часто переглядають:

Подібні публікації