WH1602A иногда сбоит, нужен совет
- Войдите на сайт для отправки комментариев
Вс, 03/11/2013 - 10:25
Всем привет! Собрали систему сигнализации с котельной, на приемной стороне стоит Winstar 1602A. Для вывода сообщений используется библиотеки LineDriver, LiquidCristalExt, LiquidCristalRus.
Собственно проблема в том, что при смене сообщения на экране иногда выводятся некорректные данные. Перед выводом чищу предыдущий экран lcd.clear();
Длина шлейфа 45 см. По питанию прям на дисплее установлена керамика 1 мкФ, электролит 100 мкФ. Все собрано в металлическом шкафике. Передача данных осуществляется по радиоканалу.
Что подскажите добрые люди? :)
А без кода и подсказок не будет, даже от добрых людей.
Тут даже не столько код, сколько железо, особенно шлейф в 45 см.
Только телепаты знают, что такое у Вас некорректно отображается.
Вообще непонятно, зачем делать радиоканал и шлейф до дисплея в километр.
Схема - не нужно принципиальную, хотя бы функциональную с указанием длинных участков.
На моей практике все глюки с такими дисплеями укладываются в некорректное подключение или некорректные задержки.
vvadim, я не зря написал именно в железной ветке, т.к. на макетке все хорошо работает.
kisoft, я знаю, что чем короче, тем лучше, однако по возможности компоновки (выполнение ТЗ на изготовление) иначе не сделать. Это просто необходимо принять как данность... Радиоканал пока опустим, это так, в качестве справочной информации, модуль вносил правда помехи по питанию, но я их подавил LC-фильтром.
Хочу попробовать изменить тайминги в библиотеке, хотя при первоначальном взгляде они больше заявленных в даташите.
По поводу телепатов: зависимость примерно следующая:
1) может в строке сама по себе дописаться буква
2) дисплей может перепутать символ, строку, наложить слова, как буд-то ему действительно не хватает времени четко принять команды.
Смотрел осциллографом ноги на дисплее, фронты не совсем плохие. Может на шлейф ферритовое кольцо надеть с обоих концов? Или дисплей экранировать?
Или с бубном потанцевать вместо выкладывания схемы ?
шлейф 45см при LCD для SPI/TWI или параллельного интерфейса?
Схема элементарная, шлейф из 11 проводников прям с ног ардуино на выводы дисплея:
01
LiquidCrystalRus lcd(7, 6, 5, 4, 3, 2);
// RS, E, DB4, DB5, DB6, DB7
02
.......
03
if
(...)
04
lcd.clear();
05
lcd.setCursor(2, 0);
06
printf(
"Связь ОК."
);
07
lcd.setCursor(2, 1);
08
printf(
"Ошибок нет."
);
09
........
10
if
(...)
11
lcd.clear();
12
lcd.setCursor(0, 0);
13
printf(
" Ошибка связи "
);
14
lcd.setCursor(2, 1);
15
printf(
"с котельной! "
);
Какая Ардуино? Кварц стандартный? 8, 16, 20 МГц.
А без кода и подсказок не будет, даже от добрых людей.
Совет очень простой - передавать последовательным интерфейсом RS485, радиоканалом, RS232 или на крайний случай даже TTL без преобразования в 232. Лишняя плата Micro, поставленная при LCD не разорит ваш бюджет ?
Источник наводок- ёмкость между близколежащими сигналами в параллельных жилах шлейфа.
1 вариант: Чередовать в кабеле земля-сигнал взяв шлейф от IDE HDD.
2 вариант: В сигнальные линии последовательно Ом по 100, затянет фронты, но сократит время переходного процесса. Это снизило бы добротность возникающих колебаний.
3 вариант, простой, для пробы: Я бы попробовал нагрузить сигналы на стороне ЛСД резисторами пару килоом на землю. Это нагрузило бы линию хоть каким-то согласующим сопротивлением.
Я за первый вариант. Однозначно.
Наконец-то ответ, соответствующий проблеме!
Спасибо, trembo, я попробую ваши варианты!
палка о двух концах - внесением в ПОЛОСКИЙ шлейф через один проводников GND уменьшите перекрестные помехи за счет уменьшения емкости и индуктивности (отодвигание проводников), но существенно возрастет емкость всех проводников к GND.
Monsel, 485-й хорош, в случае более дальней передачи.
палка о двух концах - внесением в ПОЛОСКИЙ шлейф через один проводников GND уменьшите перекрестные помехи за счет уменьшения емкости и индуктивности (отодвигание проводников), но существенно возрастет емкость всех проводников к GND.
Хорошо, разнесем и нагрузим со стороны LCD на GND.
...... но существенно возрастет емкость всех проводников к GND.....
А вот как-раз не это главное, по переменному току все проводники шлейфа
"как-бы соединены с землёй" и добавление к каждому ещё одного увеличит ёмкость в два раза,
но главное- куда через эту ёмкость пойдёт наводка: на соседа или в землю.
Да и десятки-сотни пикофарад легко зарядит любой активный (не с резистором привязки) выход процессора.
Да и с резистором у меня Далласы работают на сотне метров гирляндами с резистором 1 кОм.
От скуки как-то померял ёмкость линии - 7000 пик
А осциллографом там смотреть страшно, звенит, но всё работает.
Что характерно, вынул всю требуху, принес домой для доработки и... LCD работает четко. Видимо на работе фон помех выше. Иначе объяснить не могу.