roboforum.ru

Технический форум по робототехнике.

Питание LCD WH1602B

Питание LCD WH1602B

Kozinaka » 27 ноя 2009, 13:07

Пытаюсь подключить к ATmega128 экранчик WH1602B-YGK-CTK. Питание всех схемы осуществляю от блока питания своего ПК, напряжение 5в. МК и LCD подключаю параллельно, и вот такая неприятность происходит:

При подключении питания LCD общее напряжение падает с 5,01 до 4,36 вольта, а потребляемый ток возрастает с 58 до 160 мА, причём через экран при этом проходит 126 мА. Мега128 на частоте 16мГц при таком напряжении работать, конечно, отказывается.

Ножку управления контрастом запитывал и 5в и 0в, ситуацию не поправило. Вот вырезка из даташита к экранчику, относящаяся, насколько я понял, к потребляемому току:

Изображение

Просветите тёмного, плиз, вот мои вопросы:

1. Возможность токоотдачи компьютерного БП настолько мизерна, что он не может выдавать тока столько, чтобы хватило и МК и LCD? Это он у меня под завязку в 200мА перегружен девайсами чтоле или там ограничитель какой?

2. От чего зависит токопотребление LCD?

3. Выход только в пересаживании МК на отдельное питание?

Я могу его на 12-ти вольтовую ветку посадить.

Re: Питание LCD WH1602B

SERGEY_M » 27 ноя 2009, 13:26

Мега должна работать если правильно выставить фузы
У ЖКИ жрет много подсветка, отключи и будет счастье
Подгрузи 12В и 5В поднимется(особенности компового БП)

Re: Питание LCD WH1602B

Kozinaka » 27 ноя 2009, 13:32

Не, пока не стоит задачи заставить мегу жрать всё меньше и меньше, в фузы не лез пока - боязно чёта. :D

Ножки подсветки не подключал вообще, но при подключении питания экранчик равномерно зелёным загорается, да.

А можно подробнее про связь 12в и 5в веток в комповом БП? Вроде запас мощности есть, в компе ничего лишнего не подключено, а ток так крохоборски дозируется.

Re: Питание LCD WH1602B

yak-40 » 27 ноя 2009, 14:13

1.
Ножку управления контрастом запитывал и 5в и 0в

Ножку управления контрастом надо подключать через подстроечный резистор (10-20ком), крайние ноги которого подключаются к +5в и 0в. а средняя к ножке контраста.
2. В некоторых образцах WH1602B-YGK выводы питания (1 и 2) подключены наоборот. Посмотри внимательно.
3. Сам дисплей без подключенной подсветки потребляет единицы миллиампер, так что смотри где накосячил :)

Добавлено спустя 3 минуты 45 секунд:
Пощупай чипы на дисплее(с обратной стороны), если они греются, значит точно питание перепутал. :(

Re: Питание LCD WH1602B

Angel71 » 27 ноя 2009, 14:23

:roll: прикольно, особенно учитывая, что по 5ти вольтам бп десятки ампер выдаёт

Re: Питание LCD WH1602B

SSG » 27 ноя 2009, 14:35

Хм. Такие токи даже USB должна тянуть... :( Может с БП чего? Или при подключении где-то коротит мимо схемы?

Re: Питание LCD WH1602B

Kozinaka » 27 ноя 2009, 15:09

Божештымой, пристрелите меня из жалости! :shock:

Разглядывая даташит в пятнадцатый раз понял, что контакты-то у этой штуки СВЕРХУ, а не снизу. Я подпаялся в обратном порядке! Питание которое должно было подаваться на экран на пины 1- и 2+, стало подаваться на пины подсветки экрана, причём, по ходу, с обратной полярностью.

yak-40, спасибо за детальную диагностику! :) Совет оказался прямо в точку!

Вот приду с работы домой и перепаяю всё по-правильному. Надо к вопросам фотки прикладывать - сразу было бы видно, что я кверх тормашками всё придеделал.
:(
Последний раз редактировалось Kozinaka 27 ноя 2009, 15:31, всего редактировалось 1 раз.

Re: Питание LCD WH1602B

yak-40 » 27 ноя 2009, 15:30

У меня после переполюсовки дисплейчик выжил :) Чего и тебе желаю :friends:

Re: Питание LCD WH1602B

SERGEY_M » 27 ноя 2009, 17:47

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

это ты к работающему компу Мегу с ЖКИ подключаешь?
или из USB берешь?
а за комп не боязно с такими "неправильными" экспериментами?

Re: Питание LCD WH1602B

Duhas » 27 ноя 2009, 17:50

ой :crazy:
я рабочему компу коротил и +5 и + 12 )) ребут и все )))

Re: Питание LCD WH1602B

SERGEY_M » 27 ноя 2009, 18:41

живучий зараза :D

Re: Питание LCD WH1602B

Kozinaka » 28 ноя 2009, 01:53

yak-40 писал(а):У меня после переполюсовки дисплейчик выжил :) Чего и тебе желаю :friends:

У меня вроде тоже, спасибо! :) По крайней мере он теперь не ест сотни миллиампер, и у него регулируется констрастность.

...но есть один нюанс - работать как нужно он пока тоже не хочет. :( В Proteus'е работает, а в реале нет. Вместо букв полностью залитые знакоместа. Вот так выглядит хрестоматийный " Hello World! ":

Изображение

Он же не умер, нет? :sorry:

Я кстати понимаю с чего путать контакты-то начал - Proteus в заблуждение ввёл, у него по умолчанию как раз контактами вниз экран, причём они именно в "наборотном" порядке. Вот например схема из статьи про подключение экранчиков (но у меня 8-пиновый вариант подключения):

Изображение

Может у меня задержка маловата перед стробирующим сигналом? 1мс, вроде с запасом, в даташите к экранам в нС всё меряется. Вот код (фрагмент):

Код: Выделить всёРазвернуть
int main(void) {
...
//Инициализация экрана
      
   //Шина 8 бит, 2 строки
   lcd_command(0b00111000);
   //Очистка экрана
   lcd_command(0b00000001);
   //Инкремент адреса
   lcd_command(0b00000110);
   //Включение дисплея
   lcd_command(0b00001100);
   //Очистка дисплея
   lcd_command(0b00000001);   
   //Сдвиг курсора вправо
   lcd_command(0b00010100);

   //Запись строки
   lcd_write("  Hello world!  ");
}

//Посылка команды
void lcd_command(char bCmd) {
   //Запись
   LCD_RW_PORT &= ~_BV(LCD_RW_PIN);
   //Команда
   LCD_RS_PORT &= ~_BV(LCD_RS_PIN);
   //Начало строба
   LCD_E_PORT |= _BV(LCD_E_PIN);
   //Порт на выход
   LCD_DDR = 0xFF;
   //Команда
   LCD_DATA = bCmd;
   //Пауза
   _delay_ms(1);
   //Конец строба
   LCD_E_PORT &= ~_BV(LCD_E_PIN);
   //Порт на вход
   LCD_DDR = 0x00;
}

//Посылка строки
void lcd_write(char *sString) {      
   //Счетчик
   int i=0;
   //Запись
   LCD_RW_PORT &= ~_BV(LCD_RW_PIN);
   //Данные
   LCD_RS_PORT |= _BV(LCD_RS_PIN);
   //Последовательный вывод строки
   while(sString[i]) {
      //Начало строба
      LCD_E_PORT |= _BV(LCD_E_PIN);
      //Данные символа на выход
      LCD_DATA = sString[i];
      //Пауза
      _delay_ms(1);
      //Конец строба
      LCD_E_PORT &= ~_BV(LCD_E_PIN);
      //Инкремент
      ++i;
   }
}

Что-то не так? :roll:

Добавлено спустя 4 минуты 7 секунд:
SERGEY_M писал(а):это ты к работающему компу Мегу с ЖКИ подключаешь? ...а за комп не боязно?
Ага, на фотке видно светящийся зад от компа (у меня программатор с LPT) за который мне, конечно, немного боязно, но надо ж как-то питаться! Хочется иметь стабильный источник питания, чтобы хоть по этому поводу не рефлексировать, а то голова треснуть может - столько всего узнать и учесть нужно!
:sorry:

Re: Питание LCD WH1602B

Duhas » 28 ноя 2009, 10:03

не знаю в чем была у меня проблема с подобным ЖКИ, только 4-х строчным, но мне тоже не удалось его завести... хотя я был не дома и не было ничего из инструмента. я в итоге чота попортил там ) толи мк убил толи что ) но также горели все 4 сроки )

Re: Питание LCD WH1602B

rig » 28 ноя 2009, 10:53

yak-40 писал(а):У меня после переполюсовки дисплейчик выжил :) Чего и тебе желаю :friends:

подтверждаю, живучая штука

Re: Питание LCD WH1602B

Kozinaka » 28 ноя 2009, 10:57

Duhas писал(а):не знаю в чем была у меня проблема с подобным ЖКИ, только 4-х строчным, но мне тоже не удалось его завести...

и всё, на помойку? :shock:

rig писал(а):подтверждаю, живучая штука

а у тебя таких квадратов жизнеутверждающих не было?


Rambler\'s Top100 Mail.ru counter