Проблемы с подключением LCD1602

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Открыл глаза
Сообщения: 60
Зарегистрирован: Вт июл 17, 2018 09:52:27

Сообщение Foxhound »

Странные проблемы с подключением LCD1602 конкретно у меня WH1602D-YGH-CT(K)
Собирая схему управления ванной для травления плат: управление подогревом, подачей воздуха и вывод инфы о режиме работы на этот самый экран.
Схема вот такая.

Изображение

В целом плата работоспособна, в контроллер я могу залить софт, экодер управление нагревом и компрессором работают. В последовательный порт все выводиться правильно (для отладки). Но вот на экран лезит всякая фигня.
Вот при таком скетче:

Код: Выделить всё

#include <Arduino.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // (RS, E, DB4, DB5, DB6, DB7)

void setup() {
    Serial.begin(115200);
    while(! Serial) {
        delay(20);
    }

    Serial.println("Start MCU ");

    lcd.begin(16, 2); 
    lcd.clear();
}

void loop() {
    unsigned long a = millis()/1000;

    Serial.print("Uptime :");
    Serial.println(a);

    lcd.clear();
    lcd.print("Uptime : ");   
    lcd.print(a);         

    delay(1000);
}
На экране имеем вот это. Повторюсь, что в последовательный порт все выводиться правильно.
Изображение

Если я заливаю этот же скетч в Arduino uno и подключаю дисплей к тем же пинам, то все работает замечательно!
Изображение

Вот собственно и прибываю в полном недоумение что не так....
Дисплей подключен проводами которые припаяны к дисплею, с другой стороны собрана колодка вот так
Изображение

Цепи подключения дисплея проверил от контакта на экране до ножки контроллера. Все хорошо.

Вот собственно и вопрос что не так в моей плате, что с ней не работает? Куда копать дальше?

Ну и вот так выглядит плата....
Изображение Изображение
Реклама
Самсусамыч

Сообщение Самсусамыч »

Первое что бросилось в глаза, это неправильное подключение вывода 3 (управление контрастностью). Он подключается таким вот образом:
1.png
Всё остальное смотрите в алгоритме…
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Если от адуриньи работает, а от самопального устройства не хочет - смотрим схему (при абсолютной аналогии тест программы).
8)
Зачем было такой вариант собирать?
Можно ведь про-мини в качестве DIP микросборки поставить.
А уже остальное - делаем как собственную плату.
Тогда и проверка проще выполняться будет.
Обычные ошибки при попытках самостоятельного проектирования при базировании
на ардуино-IDE.
:sleep:

Ну и с какого бодуна у кварцевого резонатора кондейки 0,1uF!
:shock:
Да и сам кварц надоть под "стандарт" подгонять - 16МГц.
:wink:
Открыл глаза
Сообщения: 60
Зарегистрирован: Вт июл 17, 2018 09:52:27

Сообщение Foxhound »

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3685669#p3685669"]Первое что бросилось в глаза, это неправильное подключение вывода 3 (управление контрастностью). Он подключается таким вот образом:
1.png
[/uquote]

Да, эта проблема была осознана уже после изготовления платы. И решена вот таким образом.
Изображение

Сейчас дело похоже в чем то другом.

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3685669#p3685669"]Всё остальное смотрите в алгоритме…[/uquote]
А что с ним не так?
У меня была мысль, что контроллер не инициализируется правильно. На фотках видно, что в случае подключения к ардуино на экране светятся две строки, а с моей платой только одна...
Изображение Изображение

Думал, что может задержек при инициализации не хватает. Поменял код вот так, но это ничего не дает.

Код: Выделить всё

#include <Arduino.h>
#include <LiquidCrystal.h>

LiquidCrystal* lcd;

void setup() {
    Serial.begin(115200);
    while(! Serial) {
        delay(20);
    }
    Serial.println("Start MCU ");

    delay(1000);
    lcd = new LiquidCrystal(2, 3, 4, 5, 6, 7); // (RS, E, DB4, DB5, DB6, DB7)
    delay(1000);
    lcd->begin(16, 2); // Инициализируем LCD 1602
    delay(1000);
    lcd->clear();

}

void loop() {
    unsigned long a = millis()/1000;

    Serial.print("Uptime :");
    Serial.println(a);

    lcd->clear();
    delay(500);
    lcd->print("Uptime : ");       // Выводим текст
    delay(500);
    lcd->print(a);         // Выводим текст
    delay(1000);
}
Добавлено after 6 minutes 7 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=3685957#p3685957"]Если от адуриньи работает, а от самопального устройства не хочет - смотрим схему (при абсолютной аналогии тест программы).
8)
Зачем было такой вариант собирать?
Можно ведь про-мини в качестве DIP микросборки поставить.[/uquote]
Хотелось в устройстве одну управляющую плату иметь, да и место меньше занимает, да и кучу проводов не надо тянуть, что тоже качество результата ухудшает...

[uquote="BOB51",url="/forum/viewtopic.php?p=3685957#p3685957"]Обычные ошибки при попытках самостоятельного проектирования при базировании
на ардуино-IDE.
:sleep:[/uquote]

Вы имеете в виду при использование библиотек от Arduino?

[uquote="BOB51",url="/forum/viewtopic.php?p=3685957#p3685957"]Ну и с какого бодуна у кварцевого резонатора кондейки 0,1uF!
:shock:
Да и сам кварц надоть под "стандарт" подгонять - 16МГц.
:wink:[/uquote]
Да, на схеме ошибка. Реально там конденсаторы на 32pF. На схеме поправил. И кварц на 16MHz как у ардуины.
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Там не 32пика, а 22-27 обычно ставится.
В случае теста на "чистокровной адуринье" остальная часть программы как я понимаю НЕ ЗАДЕЙСТВОВАНА?
Следовательно ошибка во взаимодействии различных фрагментов программы.
Если тестовый фрагмент одинаков (без излишних частей) то тогда явный намек на ошибку разводки самоделки.
Возможны и ошибки монтажа на самодельной плате.
Чудес не бывает.
8)
Кстати... Схемотехника сброса платки НЕВЕРНА.
Конденсатор С9 стоит не на том конце резистора R6 - должно быть от вывода reset на GND, а не дополнением к фильтру пульсаций/помехогашения.
:wink:
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Вт июл 17, 2018 09:52:27

Сообщение Foxhound »

[uquote="BOB51",url="/forum/viewtopic.php?p=3686023#p3686023"]Там не 32пика, а 22-27 обычно ставится.
В случае теста на "чистокровной адуринье" остальная часть программы как я понимаю НЕ ЗАДЕЙСТВОВАНА?[/uquote]

Ну как не задействована. Она в последовательный порт тот же "Uptime" пишет. Причем эта часть работает хорошо...

[uquote="BOB51",url="/forum/viewtopic.php?p=3686023#p3686023"]Следовательно ошибка во взаимодействии различных фрагментов программы.
Если тестовый фрагмент одинаков (без излишних частей) то тогда явный намек на ошибку разводки самоделки.
Возможны и ошибки монтажа на самодельной плате.
Чудес не бывает.
8)[/uquote]

Есть одна версия.... сегодня уже коллеги после рассмотрения фоток обратили внимание.
Изображение
Это D7 экрана который возможно закорочен на землю.... Вечером проверю.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ну и кондей сброса переставить не помешает.
Да повнимательнее самому и качество сборки и правильность разводки дорожек проверить.
При "вечно нулевом" бите (а при тетрадном обмене это два нулевых на байт данных)
вряд-ли вообще работа с дисплеем возможна, а в Вашем случае некорректность не столь уж высока - где-то еще ошибки имеются.
8)
Открыл глаза
Сообщения: 60
Зарегистрирован: Вт июл 17, 2018 09:52:27

Сообщение Foxhound »

[uquote="BOB51",url="/forum/viewtopic.php?p=3686041#p3686041"]Ну и кондей сброса переставить не помешает.[/uquote]

Ну кажется логичным, посмотрел откуда этот кондей появился, а вот отсюда
Изображение
т.е. это как бы не совсем кондей сброса :) Хотя по схеме все очень на это похоже...
Собственно сама статья http://easyelectronics.ru/podklyuchenie ... ikbez.html

[uquote="BOB51",url="/forum/viewtopic.php?p=3686041#p3686041"]Да повнимательнее самому и качество сборки и правильность разводки дорожек проверить.
При "вечно нулевом" бите (а при тетрадном обмене это два нулевых на байт данных)
вряд-ли вообще работа с дисплеем возможна, а в Вашем случае некорректность не столь уж высока - где-то еще ошибки имеются.
8)[/uquote]

Вот под правильностью разводки вы что подразумеваете? Соответствие логической схеме? Или реальное размещение дорожек и возникновение в следствии этого всяких помех?
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вообще-то в стандартной адуринке вида про-мини (ободранный до минимума UNO) конденсатор в цепи сброса нету (а следовательно под такую конфигурацию и фузы выставлены)...
Arduino-Pro-Mini-schematic.pdf
(59.12 КБ) 206 скачиваний
Кондей там только для работы бутлоадера (вывод DTR СОМ порта ПК).
А вот касательно монтажа самодельной печатки... да еще в двустороннем варианте...
Размещение полевика "под брюхом" у МК... как-то .... МНДЯ....
:roll:
Ну и AVCC соединять через дроссель, ежли не требуется особой предвзятости к работе АЦП явно излишнее...
:roll:
Открыл глаза
Сообщения: 60
Зарегистрирован: Вт июл 17, 2018 09:52:27

Сообщение Foxhound »

Ну в общем проблема решилась.....
Опять же проблема была в качестве монтажа, если конкретнее то контакт D7 бы о закорочен на землю каплей припоя.... ((

Изображение

Добавлено after 4 minutes 23 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=3686128#p3686128"]Вообще-то в стандартной адуринке вида про-мини (ободранный до минимума UNO) конденсатор в цепи сброса нету (а следовательно под такую А вот касательно монтажа самодельной печатки... да еще в двустороннем варианте...
Размещение полевика "под брюхом" у МК... как-то .... МНДЯ....
:roll:[/uquote]

Да, про это не подумал....
Надо вообще уже общими усилиями свод полезных советом ну или методику какую то формировать....
Конкретно моя проблема с некачественным монтажом и не очевидным поиском что не так....

Я же контакты проверил от контактов дисплея до ножек контроллера.... Все было ОК. Проверял прозвонкой.
И то что соседние контакты (на контроллере и на дисплее) не закорочены тоже проверил. Проверял тоже прозвонкой.
А вот то что какой то контакт на землю закорочен, естественно не проверял....
:(
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ну этакая проблема не столь и страшная -
хуже ежли питание наоборот тыкнуть и пару минут разбираться
"чего это моя самоделка вместо работы вдруг попахивает"??
"Вроде все правильно собрано...?"
:shock:
:beer:
Ответить

Вернуться в «Периферия»