Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Минитерминал v.2.0

Мной очень часто при настройке новоиспеченного устройства используется интерфейс UART. Удобно отослать данные в терминал и посмотреть, что же там происходит внутри отлаживаемого девайса. Но не всегда бывает удобно тянуть провода к компьютеру через отдельный преобразователь на FT232RL, поэтому зародилась идея собрать автономный миниатюрный терминал для приема данных и отображения их на LCD дисплее.

Собственно зародилась эта идея давно, еще прошлым летом. Но к моменту готовности устройства и подготовки к публикации схемы, на дружественном нам ресурсе появилось схожее устройство (походу и вправду существует некое биоинформационное поле, раз такие идеи приходят одновременно разным людям 8))) В общем, я решил не выкладывать тогда собственное творение и заняться доработкой своего терминала. В итоге появилась вторая, более крутая версия девайса, о котором пойдет сегодня речь.

В качестве индикатора сразу был выбран недорогой дисплей от Nokia 3310, он прост в использовании и его можно купить в виде готового модуля, удобного для встраивания. При выборе микроконтроллера думал между Atmega8 и Atmega168. Сделал выбор в пользу последнего, по выводам они полностью совместимы но запас памяти в 16кб лишним не будет, тем более разница цены всего 20 рублей.


У устройства помимо микроконтроллера и дисплея имеется 3 кнопки: кнопка сброса, кнопка включения/выключения подсветки дисплея и кнопка для просмотра состояния. Более подробно об этих кнопках будет написано позже. Подсветка дисплея изображена условно в виде светодиода LED3. Так же есть системный светодиод LED2, он служит для индикации при получении пакета данных. 

Микроконтроллер работает от внешнего кварца с частотой 11059200 Гц, поэтому при прошивке микроконтроллера не забудьте выставить соответствующие фьюзы.

Помимо всего прочего в схеме используется АЦП: для питания устройства я использовал литий-ионный аккумулятор. И для того чтобы знать уровень заряда аккумулятора, напряжение с него снимается через резисторный делитель R9-R10. Подстроечник RREF необходим для более точной подстройки напряжения выводимого на дисплее. В питании АЦП стоит стандартный фильтр на керамическом конденсаторе и дросселе C1-L1 как советует даташит.

Плата разведена на двухстороннем текстолите, получилось довольно компактно в то же время при изготовлении платы и пайки проблем не возникает




"Тарелка" в верхней части платы это пьезодинамик, под него на плате специально место не выводил. Просто случайно попался мне на глаза и решил его применить. Припаял прямо на проводках, жесткость проводков МГТФ-0,6 хватило для надежной его фиксации. Подключается напрямую к PortC.2 (на схеме не показано). Динамик озвучивает момент включения и навигацию по настройкам. В общем, с ним веселей.

С обратной стороны небольшое количество дорожек, никаких компонентов. И аккумулятор, он у меня 1:1 по размерам платы. Поэтому после склеивания платы с аккумулятором термоклеем получилось довольно-таки практично

Контактные площадки под дисплеем - это контакты для программирования. 



Чем заряжать Li-Ion аккумулятор? В качестве контроллера заряда для литий-ионного аккумулятора я выбрал недорогой MCP73831T со встроенным индикатором окончания зарядки. Красным обведена схема отвечающая за подзарядки аккумулятора (на схеме она обведена пунктиром). Поэтому если при повторении не планируется использование аккумулятора, эту часть схемы можно не собирать. 



В даташите на MCP73831T есть график, показывающий зависимость зарядного тока от резистора R3. При сопротивлении резистора 2кОм MCP73831T работает на максимальном токе и начинает поджариваться - надо предусматривать отвод тепла. Не стал рисковать и уменьшил ток заряда до ~180мА, впаяв резистор на 5,1кОм.



Светодиод LED1 горит в процессе зарядки, при окончании - гаснет.




Ну а теперь ради чего все затевалось - автономный минитерминал. На дисплей в основном режиме выводятся данные, приходящие по UART. В нижней строчке отображается номер принятого пакета. Второй пришедший пакет выведется во второй строке, и так далее. Дойдя до пятой строки старые данные будут сдвигаться вверх, ну тут все стандартно.



Подсветка включается/выключается по нажатию на среднюю кнпоку: нажали один раз - включили подсветку, нажали второй раз - выключили.

При нажатии на крайнюю правую кнопку появится информационное окно, в котором будет уровень напряжения на аккумуляторе и выбранная скорость работы UART (baudrate). Если напряжение, выводимое на дисплей, отличается от действительного, просто крутим подстроечник RREF. Это информационное окошко будет отображаться пока нажата кнопка.



Если, не отпуская крайней правой кнопки, нажать среднюю - появится возможность изменить скорость работы порта (по умолчанию, сразу после программирования скорость порта составляет 4800 бод) Всего доступно 5 скоростей: 4800, 9600, 19200,38400 и 115200 бод.  



Выбранная скорость сохраняется в энергонезависимой EEPROM, поэтому не придется каждый раз после включения заниматься перенастройкой. Пробовал принимать данные на всех скоростях, проблем не возникло.

Снять и показать видео работы не получилось, к сожалению снять в приличном качестве нечем. Что касается возможности терминала не принимать, а отправлять данные. То это не предусмотрено, ну по крайней мере пока. Так как такой необходимости я не испытывал, но если что, можно добавить режим работы и на передачу - в памяти есть еще свободных 18%

Файлы проекта: Файл печатной платы (в DipTrace), Архив с исходниками и прошивкой и схема в Proteus (можно посимулировать схему)

Источник: www.avrproject.ru


C этой схемой также часто просматривают:

Светодиодная сосулька
Propeller Display - cветовое табло с круговой механической разверткой
3X3X3 RGB-куб на микроконтроллере PIC16F886
С новым годом! 8 каналов, 8 светодиодов

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU




Последние поступления

Подключение энкодера к микроконтроллеру PIC

Счётчик людей в помещении, управляющий освещением

Велокомпьютер на микроконтроллере PIC16F628A

Устройство ввода-вывода на микроконтроллера

Два термометра на PIC16F628A и DS18B20

Светодиодные часы с циферблатом

Двоичные часы

Два вывода микроконтроллера PIC управляют шестью светодиодами

Цифровой программируемый таймер на микроконтроллере PIC16F628A

Устройство рисования в воздухе на ATtiny2313



© 2003—2017 «KAZUS.RU - Электронный портал»