Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328


В статье описывается проект на микроконтроллере Atmel AVR, представляющий собой компактную отладочную плату и, по совместительству, необычные часы на светодиодах, получивший название Makerbot. Это Arduino проект, и микроконтроллер имеет собственный загрузчик, который работает по UART интерфейсу. Сам загрузчик программируется с помощью программатора в среде Arduino.
Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328
Спецификация: устройство выполнено на микроконтроллере ATmega328; кварцевый резонатор 16 МГц; 3 кнопки для управления (пользовательские кнопки); динамик (буззер); 6-контактный разъем для обновления ПО с помощью Arduino; 6-контактный разъем внутрисхемного программирования; 4-контактный разъем для расширения возможностей (подключение дополнительных датчиков). Устройство выполнено на двухсторонней печатной плате в форме окружности с диаметром около 50 мм. Питание осуществляется от батареи, напряжение питания 3.3 В. Схема и печатная плата разработаны в среде проектирования Eagle, файлы проекта доступны для скачивания в разделе загрузок.
Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328
Для отображения текущего времени используются светодиоды: 12 светодиодов для индикации часов; 12 светодиодов, каждый из которых соответствует 5 минутам; 4 дополнительных светодиода индикации минут, каждый из которых соответствует 1 минуте (т.е. для индикации 4 дополнительных минут). К примеру, если текущее время 12:04, будет светиться светодиод, обозначающий часы – в 12 позиции, светодиод, обозначающий минуты – в 12 позиции, и будут светиться 4 дополнительных светодиода, обозначающих минуты. Принципиальная схема
'Makerbot

Кликните для увеличения Все примененные компоненты для поверхностного монтажа, за исключением разъемов и держателя батареи. Разъемы не обязательно оставлять на плате, они нужны лишь для программирования и обновления ПО микроконтроллера.

п/п
Количество Обозначение
в схеме
Наименование Номинал Корпус
1 3 S1, S2, S3 Кнопки   SMT
2 4 R1, R9, R10, R11 Резисторы 10 кОм SMT 0805
3 12 LED13-24 Зеленые светодиоды   SMT 1206
4 12 LED1-12 Красные светодиоды   SMT 1206
5 4 LED25-28 Желтые светодиоды   SMT 1206
6 6 R2, R3, R4, R5,
R6, R7
Резисторы 75 Ом SMT 0805
7 1 Crystal Кварцевый резонатор 16 МГц SMT
8 2 C1, C2 Конденсаторы 15 пФ SMT 1206
9 1 C5 Конденсатор 1 мкФ SMT 1206
10 1 C3 Конденсатор 10 мкФ SMT 1206
11 2 C4, C6 Конденсаторы 100 нФ SMT 1206
12 1 SG1 Буззер   SMT
13 1 IC1 Микроконтроллер ATmega328P-AU-ND TQFP
14 0 ICSP Коннектор внутрисхемного
программирования
  DNS
15 0 BK-OUT Коннектор расширения   DNS
16 0 TTL Коннектор для обновления ПО
с использованием загрузчика
   
17 0 R8 Резистор 1 МОм DNS
18 0   Держатель батареи типа CR2032    
Также разработана вторая, усовершенствованная версия часов. Основные отличия от первой версии: питание осуществляется от Li-Polymer аккумулятора емкостью 110 мА•ч; встроенная схема заряда аккумулятора; порт microUSB для питания часов и заряда аккумулятора; количество кнопок сокращено до 2; микроконтроллер тактируется от кварцевого резонатора 8 МГц; отсчет времени ведется специализированной микросхемой DS1337, которая подключена к микроконтроллеру по шине I2C. Схема зарядки аккумулятора в данном варианте конструкции часов выполнена на микросхеме MCP73831 производства компании Microchip, которая предназначена для зарядки одной ячейки Li-Po или Li-Ion аккумулятора. В MCP73831 реализована возможность задания тока предзаряда, встроены контроль и защита по температуре. Указанные возможности позволяют применить это семейство в сложных комплексных разработках, в т.ч. со встроенными аккумуляторами, например, карманные приборы, сложные USB изделия, медицинская техника. Вид печатной платы, второй вариант:
Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328
Вид печатной платы в 3D:
Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328
 
Makerbot - необычные часы - отладочная плата на базе микроконтроллера ATmega328
При конструировании данных часов потребуется редактирование текстового файла в среде Arduino. В данном текстовом файле прописаны основные конфигурации платформ Arduino: протокол программирования, размер Flash-памяти микроконтроллера (в соответствии с платформой Arduino), конфигурация загрузчика, Fuse- и Lock-биты, тактовая частота и пр. Редактирование потребуется, в связи с тем, что микроконтроллер тактируется от кварцевого резонатора и питание осуществляется от батареи 3 В, а уровень Brown-Out детектора установлен на 2.8 В, что в данной конструкции неприемлемо. Загрузки Схема Принципиальная схема первого варианта (pdf) – скачать Печатная плата (Eagle) - скачать Второй вариант конструкции (с DS1337) в формате Eagle - скачать
  Программное обеспечение
(Header-файл с определением класса MakerBotWatch, исходный код класса MakerBotWatch, тестовый проект простых часов с использованием класса MakerBotWatch, модифицированный Header-файл с определением класса MakerBotWatch (версия 1.1), модифицированный исходный код класса MakerBotWatch (версия 1.1), тестовый проект усовершенствованных часов с использованием класса MakerBotWatch, примеры) – скачать
  Дополнительные ресурсы: Программная библиотека дата/время - http://www.arduino.cc/playground/Code/DateTime Организация часов на базе Arduino - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?action=print;num=1200661518 На английском языке: MakerBot Watch - portable Arduino environment

По материалам сайта www.rlocman.ru