7 июля 2010 г.

LCD дисплей с USB интерфейсом

малозатратный USB-LCD - логоВ данной статье речь пойдет о создании малозатратного LCD-индикатора c интерфейсом USB - "USB-LCD" от немецкого моддера Лукаса Коха.



Источник: www.modding-faq.de

LPT вышел из моды!
USB в моде!


Каждый знаком с проблемой: есть желание проапргрейдить свой компьютер LCD с гистограммой загрузки ЦПУ, программировать на ПК AVR-ки через параллельный интерфейс, а возможно у вас остался еще и старенький принтер или сканер, и одного единственного LPT-порта, который в лучшем случае еще поддерживается новыми материнскими платами, совершенно не хватает.

Правда есть также LCD дисплеи с интерфейсом USB, но они, в большинстве случаев, намного дороже в сравнении с дисплеями имеющими стандартный интерфейс. Да и управление LCD дисплеями через IO-Warrior (название чипа с интерфейсом USB и несколькими каналами ввода/вывода - прим. перев.) легко вылетает в червонец евро, отражаясь на бюджете.

Эта схема USB-LCD, напротив, предлагает явные преимущества при изготовлении, она с ценой приблизительно 3€ стоит как маленькая часть удобнейшего IO-Warrior'а (в котором еще не включены прочие необходимые элементы). Единственный "изъян" это необходимость программировать AVR в этой схеме. (Да никакой это не недостаток, так как, само собой, частенько это может пригодиться ;) ).

Эта схема USB-LCD совместима со всеми стандартными CLCD-дисплеями, с одним или двумя контроллерами, а также с подсветкой или без нее.

Схема USB-LCD построена следующим образом:

Схема USB-LCD

LM317 и два резистора обеспечивают напряжение питания 3,5В, которое необходимо согласно требованиям спецификации USB-интерфейса. Они могут быть заменены на любой другой регулятор напряжения, который при входном напряжении 5В обеспечивает выходное напряжение 3,5В или 3,3В. 1,5-килоомный резистор-подтяжка между линией D и питанием 3,5В сообщает компьютеру, что подключено низкоскоростное USB устройство. Подсветка может быть включена программно установкой высокого уровня на PD3, и отключена установкой низкого уровня. Резистор 1кОм на PD3 служит для ограничения тока базы транзистора, управляющего подсветкой LCD-дисплея. Резистор и биполярный транзистор могут быть заменены полевиком, разумеется он должен управляться от напряжения 3,5В.

Установленное на макетной плате, все это выглядит примерно так:

Макетная плата USB-LCD


(Здесь отсутствует LCD-часть, соответственно и 10кОм подстроечный резистор и драйвер подсветки)

USB-часть

USB-часть это сердце схемы. Она преобразует USB-сигналы в стандартные команды LCD и подготавливает необходимое напряжение питания.

Список закупки:
Кол-во Наименование Тип Цена
1 Atmel AVR-Risc-КонтроллерATTINY 2313 DIP 1,65€
1 IC-панелька, 20-контактная GS 20 0.05€
1 Кварцевый резонатор 12МГц 12-HC49U-S 0,44 €
1 Керамический конденсатор KERKO 100N 0,07 €
2 Керамический конденсатор KERKO 22P 0,04 €
2 Резистор 68Ом METALL 68,0 0,08 €
1 Резистор1,5Ом METALL 1,50k 0,08 €
1 Резистор 240Ом METALL 240 0,08 €
1 Резистор 432Ом METALL 432 0,08 €
1 Электролитический конденсатор  RAD 4,7/100 0,04 €
1 Стабилизатор, TO-220 LM 317-220 0,22 €
1 USB-разъем, серия B  USB BW 0,24 €
1 Разъем, 16-pin, прямой WSL 16G 0,07 €
1 Разъем, 10-pin, прямой WSL 10G 0,07 €
ИТОГО

3.33 €

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

Первое включение


Если вы закончили с пайкой и перепроверили плату на ошибки, можете подсоединить схему к USB-порту. Windows XP должна при этом выдать сообщение, что новое USB-устройство не распознано. Теперь с помощью ISP-программы на ваш выбор вы должны залить в AVR прошивку, которую вы можете загрузить здесь*. Обратите внимание на то, что AVR питается только от 3,5В и ISP-программатор, ясное дело, должен быть соответствующий. Кроме того вы должны загрузить Fuse Low Byte значением 0xFF (все незапрограммированы).

Вам совсем необязательно иметь опыт программирования микроконтроллеров, вы можете также использовать полностью автоматизированные BAT-файлы, которые значительнообегчат вам работу с помошью программы avrdude. Чтобы все работало так как надо, вы должны использовать программатор STK200. Руководство по программатору вы можете найти например здесь или здесь. Просто соберите по образцу версию под названием "STK200/300". BAT-файлы вместе с avrdude и с HEX-файлами прошивки вы найдете в загрузках*.

После двойного щелчка по файлу prog.bat должно открыться консольное окно, в нем avrdude представит результаты выполненной работы. В конце программирования окно должно выглядеть примерно так:

Прошивка USB-LCD с помощью avrdude

После программирования AVR-ки отсоедините девайс от USB-
порта и затем подключите снова. Теперь Windows должна распознать устройство как USB-LCD. Необходимый драйвер также имеется здесь*.

* - Все файлы для загрузки ищите на сайте источнике - прим. перев.

LCD-часть

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

Схема USB-LCD подключение дисплея

Соединение E2 необходимо только для двухконтроллерных дисплеев.

Если LCD снабжен подсветкой, она должна быть запитана от отдельного источника, так как USB-порт не должен быть слишком нагружен. R1 должен быть согласован с напряжением на Vbl и подсветкой. В качестве транзистора можно использовать любой npn-транзистор (например BC548).

Резистор R1 рассчитывается исходя из необходимого для подсветки тока I_Bl, напряжения источника питания подсветки Vbl, требуемого напряжения на подсветке U_Bl и падения напряжения на транзисторе U_CE по следующей формуле:


R1 = (Vbl - U_Bl - U_CE) / I_Bl

Если использовать в качестве R1 подстроечный резистор, то можно регулировать яркость подсветки по своему вкусу. (Не выкручивайте на полную яркость, так как это сокращает срок службы LCD)

Список закупки:

Кол-во Наименование Тип Цена
1 Разъем, 16-pin, прямой WSL 16G 0,07€
1 Потенциометр, 10кОм PT 15-L 10K 0.21€
1 Резистор 1,00кОм

(при наличии подсветки)
METALL 1,00K 0,08€
1 Резистор xxx кОм

(R1 выбирается по вышеуказанной формуле;

при наличии подсветки) 
METALL xxx 0,08€
1 NPN-транзистор
(при наличии подсветки) 
BC 548C 0,04 €
ИТОГО

0.48€

Кабели и разьемы

USB-часть и LCD-часть соединяют 16-жильным шлейфом, на его концах закрепляют специальные разъемы. При этом следует обратить внимание, чтобы первый контакт одного разъема соединялся с соответствующим первым контактом второго и т.д...

Схема подключается к компьютеру кабелем USB-AB.

2 комментария: