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-ти вольтовую ветку посадить.
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Re: Питание LCD WH1602B

Сообщение SERGEY_M » 27 ноя 2009, 13:26

Мега должна работать если правильно выставить фузы
У ЖКИ жрет много подсветка, отключи и будет счастье
Подгрузи 12В и 5В поднимется(особенности компового БП)
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

Re: Питание LCD WH1602B

Сообщение Kozinaka » 27 ноя 2009, 13:32

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

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

А можно подробнее про связь 12в и 5в веток в комповом БП? Вроде запас мощности есть, в компе ничего лишнего не подключено, а ток так крохоборски дозируется.
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Re: Питание LCD WH1602B

Сообщение yak-40 » 27 ноя 2009, 14:13

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

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

Добавлено спустя 3 минуты 45 секунд:
Пощупай чипы на дисплее(с обратной стороны), если они греются, значит точно питание перепутал. :(
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Питание LCD WH1602B

Сообщение Angel71 » 27 ноя 2009, 14:23

:roll: прикольно, особенно учитывая, что по 5ти вольтам бп десятки ампер выдаёт
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Питание LCD WH1602B

Сообщение SSG » 27 ноя 2009, 14:35

Хм. Такие токи даже USB должна тянуть... :( Может с БП чего? Или при подключении где-то коротит мимо схемы?
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

Re: Питание LCD WH1602B

Сообщение Kozinaka » 27 ноя 2009, 15:09

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

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

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

Вот приду с работы домой и перепаяю всё по-правильному. Надо к вопросам фотки прикладывать - сразу было бы видно, что я кверх тормашками всё придеделал.
:(
Последний раз редактировалось Kozinaka 27 ноя 2009, 15:31, всего редактировалось 1 раз.
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Re: Питание LCD WH1602B

Сообщение yak-40 » 27 ноя 2009, 15:30

У меня после переполюсовки дисплейчик выжил :) Чего и тебе желаю :friends:
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Питание LCD WH1602B

Сообщение SERGEY_M » 27 ноя 2009, 17:47

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

это ты к работающему компу Мегу с ЖКИ подключаешь?
или из USB берешь?
а за комп не боязно с такими "неправильными" экспериментами?
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

Re: Питание LCD WH1602B

Сообщение Duhas » 27 ноя 2009, 17:50

ой :crazy:
я рабочему компу коротил и +5 и + 12 )) ребут и все )))
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Питание LCD WH1602B

Сообщение SERGEY_M » 27 ноя 2009, 18:41

живучий зараза :D
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

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:
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

Re: Питание LCD WH1602B

Сообщение Duhas » 28 ноя 2009, 10:03

не знаю в чем была у меня проблема с подобным ЖКИ, только 4-х строчным, но мне тоже не удалось его завести... хотя я был не дома и не было ничего из инструмента. я в итоге чота попортил там ) толи мк убил толи что ) но также горели все 4 сроки )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Питание LCD WH1602B

Сообщение rig » 28 ноя 2009, 10:53

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

подтверждаю, живучая штука
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Re: Питание LCD WH1602B

Сообщение Kozinaka » 28 ноя 2009, 10:57

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

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

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

а у тебя таких квадратов жизнеутверждающих не было?
Аватара пользователя
Kozinaka
 
Сообщения: 85
Зарегистрирован: 17 ноя 2009, 16:21
Откуда: Москва
прог. языки: C/C++/C#
ФИО: Олег Козлов

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8