6 сообщений в этой теме

filter91    0

Добрый день, Уважаемые.

Прошу Вас помочь разобраться в ситуации, а именно:

Подключил китайский LCD 1602 (HD44780) к Atmega16. Дисплей всё исправно отображает, но после нескольких часов работы он начинает отображать, простите меня, кракозябры, иероглифы и т.д. Проблема решается перезагрузкой устройства. До вчерашнего дня думал, что это дисплей неисправный.

Собрал совершенно другое устройство на Atmega8 с таким же дисплеем. Всё работает, но опять появилась ситуация как в случае выше - некорректное отображение информации через некоторый период времени. Решается так же перезагрузкой. Хочу добавить, что оба устройства продолжают выполнять свои функции, но корректное отображение пропадает. В проектах использовал библиотеку во вложении. Может быть в неё проблема.

В итоге я сделал вывод, что что-то делаю неправильно, раз уже второе устройство с разными МК  ведёт себя одинаково. В чём может быть моя ошибка? Заранее спасибо Вам за помощь. 

lcd_lib.c

lcd_lib.h

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Dr. West    2 511

Сталкивался с подобным. Дисплей ловит посторонние помехи, если шлейф длинный. Устранение - подключать  проводами минимальной длины, и(или) желательно чередовать информационные проводники в шлейфе  земляными.
И ещё проверить, сколько жрёт подсветка. Китайцы любят сделать поярче, аж кристаллы начинают чернеть (обратимо) от перегрева.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    257

Тоже сталкивался с подобным и согласен с @Dr. West. Решением было обмотать шлейф фольгой (заизолировав ее, разумеется).

Но более правильное решение - время от времени обновлять содержимое экрана.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
demiurg1978    22

Это проблема всех дисплеев на этом контроллере. Причина в помехах. Защититься от этого никак. Решения проблемы: создание буфера в ОЗУ, в который мы выводим информацию. И через определенные промежутки времени посимвольно выводить информацию на дисплей из буфера.

Алгоритм модуля дисплея: инициализация дисплея, переменных. Настройка программного таймера. Скажем на 1 мс. Как только время вышло, если новая строка отправка адреса строки. Затем вывод строки. Все это каждые 1 мс. Полное обновление дисплея происходит за (16 * 2) + 2 адреса строк = 34 мс.

Вариант второй. Каждые от 100 мс до 1 секунды выводить нужную информацию на дисплей. Но это тормозит МК на все время вывода информации.

Поэтому решение выбирается из требований к проекту. Реакции системы на события.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Prozac    33
В Monday, October 02, 2017 в 06:00, Dr. West сказал:

И ещё проверить, сколько жрёт подсветка. Китайцы любят сделать поярче, аж кристаллы начинают чернеть (обратимо) от перегрева.

...и если проблема в подсветке, то питать ее не нпрямую от шины питания, а организовать для нее ШИМ - заодно, в устройстве появится функция регулировки яркости подсветки.

 

Ну, а определить, в подсветке ли дело - несложно: нужно погонять устройство без нее, и если глюки прекратятся, то дело в ней.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • драствуйте после замены всех ключей инвертор работает,но ток не регулируется держит 40 Ампер на балласте,на кручение резистора тока,нет реакции где копать уже не знаю за рание спасибо.схема та что давал олег на 1 странице
    • пофлужу малость,  играюсь с миниатюрной пальчиковой лампочкой, триодик  304TL, накал 5в х 25А  
    • Читал, ничего там нет особенного. В полумосте переменка через электролиты протекает? Естественно. А если бы электролиты в нем не участвовали, что тогда она не протекала бы? Никуда они не денутся. ВЧ переменка течет и через электролиты в варианте с пленочным делителем, каким бы это странным не казалось. И всегда течет, когда имеется импульсное потребление тока от них. Приведенный вами случай отличный пример китайской халтуры, но не приговор полумосту с электролитами. У меня на фото ЗУ с максимумом 14,5В 20А. Делитель полумоста - пленка, а электролиты 2*220мкФ 400В параллельно (вне моста). Компактно. Эквивалентный вариант - 2*820мкФ 200В (последовательно как делитель) - более габаритно, да и нет у меня таких электролитов. Оба варианта смоделированы по отдельности. Но собран первый. Результаты такие (при 250Вт на выходе): В делителе на пленке протекает только ВЧ-ток по 1,2А на плечо. Через фильтрующий электролит также протекает НЧ и ВЧ, но меньше - 2,5А действ. В делителе на электролитах протекает НЧ и ВЧ-ток, действующее значение около 2,76А действ. на каждое плечо.   Видно, что токи через электролиты не сильно различаются - всего на 250мА
    • Да, они есть разные. Но может проще заказать с одним контроллером
    • Прочитал всё. Полное ощущение, что все "постулаты" я уже неоднократно читал в статьях о развеянии аудио-мифов, которые ещё в прошлом веке писал Сухов и литературе разных лет наших и зарубежных авторов.
    • Я традиционно за "радиаторы по бокам", особенно если для домашнего использования, хотя если объективно, то для дома обе версии рабочие при грамотном исполнении. Только если в таком формате делать модель компоновки, то разверните так, как оно будет при установке в корпусе - у Вас все перевернуто, сложно оценить.