Автопортал || Авто - статьи

Сельскохозяйственная техника
Чтение RSS

Сині годинник на мікроконтролері ATmega8535

Matt Meerian

Основна ідея, що передувала цьому проекту, була пов'язана з необхідністю зробити різдвяні подарунки друзям і родичам, притому дарувати слід що-небудь корисне. Годинники були вибрані тому, що їх використовує кожен, і їх відносно просто зробити.

Малюнок 1
Малюнок 1. Годинники в зборі

Робота пристрою і основні частини

З малюнка видно, що друкована плата розташована між двома листами прозорого сірого оргскла товщиною 1/8 дюйма (3.2 мм). Бока корпусу відкриті, праворуч видно роз'єм живлення 2.1 мм. Звуковий випромінювач будильника захований з лівого боку друкованої плати. На платі встановлено чотири сині світлодіоди діаметром 3 мм. Два з них знаходяться між семисегментними індикаторами годин і хвилин. Третій показує, що будильник включений. Четвертий діод позначає час доби, AM або PM. У годиннику є маленька літієва батарейка на випадок відключення електрики. Час спрацювання будильника і його стан зберігаються в EEPROM мікроконтролера і витягуються звідти після відновлення живлення.

Малюнок 2
Малюнок 2. Друкована плата, вид знизу

Без затемненого сірого оргскла кнопки видно значно краще. Кнопки мають призначення: «Будильник», «Час», «Годинник» і «Хвилини». На малюнку видно мітки поруч з кнопками. (Поруч зі світлодіодами, які дають зрозуміти АМ і Будильник також є мітки). Щоб встановити час будильника, натисніть і утримуйте кнопку «Будильник», потім натискайте кнопки «Годинник» і «Хвилини» для установки потрібного часу будильника. Подібним же чином, утримуючи кнопку «Час» і натискаючи кнопки «Годинник» і «Хвилини», встановлюєте час. Натискання кнопки «Будильник» включає / вимикає його. Коли будильник дзвонить, його можна вимкнути клавішею.

Малюнок 3
Малюнок 3. Друкована плата, вид зверху

Велика мікросхема в середині плати - Atmel Atmega8535 . Мікроконтролер працює на частоті 4 МГц і програмується прямо в схемі через 6-контактний синій роз'єм зліва від Atmega8535. Мікросхема годин реального часу в 8 контактному DIP корпусі встановлена ​​справа вгорі друкованої плати. Дві мікросхеми - драйвери світлодіодних індикаторів, розташовані знизу друкованої плати, звуковий сигнал будильника випромінюється п'єзоелементом (чорний циліндр праворуч), використовується живлення через роз'єм зліва. Фотодатчик, який використовується для визначення рівня зовнішньої освітленості, знаходиться вище синього 6-контактного роз'єму.

схема

Джерело живлення намальований у верхній лівій частині схеми. Мостовий випрямляч використовується для захисту схеми від неправильної полярності напруги живлення. Невеликий стабілізатор напруги 5 В, в корпусі SOT-223 використовується для живлення мікроконтролера Atmega8535, годин реального часу і драйверів світлодіодних індикаторів. Дані реального часу знімаються з мікросхеми PCF8563P . Ця мікросхема тактується кварцовим резонатором частотою 32.768 кГц і використовує літієвий акумулятор 3 В CR2032 на випадок відключення живлення. Чотири кнопки SW1 ... SW4 використовуються для взаємодії з користувачем. мікросхеми MBI5027 від Macroblock - драйвери світлодіодних індикаторів (24 контактні, корпус DIP), їх можливо буде трохи важко знайти. Альтернативою мікросхем MBI5027 можуть бути мікросхеми A6276 від Allegro.

Натисніть для збільшення
Натисніть для збільшення

Друкована плата

Файл друкованої плати можна завантажити внизу сторінки . Файл створений за допомогою програми Express PCB. Збираючи друковану плату, я спочатку запаяв два 3-міліметрових світлодіода, потім драйвери індикаторів MBI5027, а потім світлодіодні семисегментний індикатори. Коли всі деталі розміщені на обох сторонах друкованої плати, буде видно, в якому порядку їх припаювати.

Малюнок 4
Малюнок 4. Знімок екрану програми Express PCB

Передня і задня панелі

Передня і задня панелі накреслені в програмі SolidWorks 99 (див. Посилання внизу). Я переглянув кілька різних форм і вибрав найбільш консервативний дизайн.

програма

Програма була написана в AVR Studio за допомогою компілятора AVRGCC. Таймер 0 використовується для поновлення дисплея і діє як тимчасова база для 20 мілісекундного опитування кнопок в головному циклі. Таймер 1 використовується тільки для генерації сигналу будильника частотою близько 1 кГц. У пристрої є тільки три стани:

  • показ часу
  • установка часу
  • установка часу будильника

Програма добре прокоментована, тому щоб зрозуміти, її потрібно переглядати від початку до кінця. Файли twi.c і twi.h я видалив з вихідного коду (ці файли використовуються для читання і установки часу в годинах реального часу). Я використав не вільно поширювану бібліотеку, тому, щоб скомпілювати вихідний код, потрібно зробити свій файл бібліотеки для спілкування з PCF8563P.

завантаження

webspace.webring.com