LCD 2004 s HD44780 jen černé znaky

Zdravím, mám stavebnici čítače 1300Mhz z zajic.cz. Je to pravděpodobně pro 1602 LCD s HD44780, ale já jsem k tomu připojil doma se povalujcí 2004 LCD. Je možné, že plně černé všechny matice pro zobrazení znaků jsou právě proto? Program bude psaný asi v assembleru, ale já jsem spíš na C, kde pro LCD používám knihovnu. Definuje se v assembleru velikost LCD a při špatné deklaraci to nefunguje nebo nefungují jen nedeklarované pozice?

:arrow_right: administrator: příspěvek byl upraven
Pozměněn zápis odkazu.

Nemáš jen nastavenej kontrast na max?
Myslim, že obsluha pro 16x2 by měla na 20x4 využívat jen její část. Co si pamatuju, tak vnitřní zapojení bylo takové, aby bylo kompatibilní. Teprve na 40x2 by neměla obsluha chodit.
Teda jesli jsem neměl nějaké vidění :slight_smile:.

mělo by to být tak, jak píše plityy, snad ještě bych zkontroloval, že tvůj 2004 má kompatibilní řadič. Teoreticky kdyby program přesně počítal s 2x16, tak by třeba něco nemělo být vidět, ale vše černé se mi nezdá.

Kontrastním poťákem jsem kroutil na obě strany. Ten se mi nezdá. Jako je možné že jsem někde udělal chybu při osazování. Ale dával jsem si přesně pozor. Navíc po ohledání jestli se někde něco nějak výrazně nehřeje bylo vše v pořádku. Jediné co bylo teplé byl 7812 na zdroji. Čipset je HD44780. Jedná se o hwkitchen.com/products/lcd-d … haracters/ No zkusím to ještě jednou projít a kdyžtak napíšu Zajícovi jestli netuší co to může být. Že nemám zapojené podsvícení by vadit nemělo.

Tak jsem to zkoušel znovu a kontrast nastavovat jde, je vidět že se LCD ztmavuje a zesvětluje. Odběr je kolem 93mA což by odpovídalo, ale znaky jsou jen černé. Fakt netuším kde může být chyba.

Pokud připojíš LCD 20x4 kde původně mělo byt 16x2, tak se 20x4 bude chovat jako 16x2. Opačně by to nešlo, ale to co popisuješ musí normálně fungovat.
Pokud jsou všechny 4 řádky černé, je LCD v elektronickém nebi. Pokud je černej 1 a 3, není zinicializovanej, to může být tím, že potřebuje delší časy při inicializaci a program s tím nepočítá.
LCD s HD44780 vyrábí snad už každej. Jediné, co určitě dodržují jsou ty časy při provozu, 1.6ms a 40us, ale co se týká časů při inicializaci, jsou tam dosti velké rozdíly, i 50ms.

To bys mě nepotěšíl, nahodím ho teda ještě na arduino, kde fungoval a zjistím jestli je tam kam slunce nesvítí.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Tak Arduino s tím komunikuje v pohodě. Ještě mě tak napadá, někde jsem se dočetl o 4bit a 8bit komunikaci a pak že to může zlobit. Na arduinu jsou totiž v testovacím tutorialu použité jen porty 4-7 pro data a na kitu od Zajíce je použito asi všech 8. Ale zas to by se mělo po odpojení všechno vymazat a chodit normálně ne?

4 a 8 bit kominikace se nastavuje při inicializaci LCD v programu. tak je teď jasné, že LCD, které máš je od nějakého perfektního výrobce a má delší časy než normální LCD.

To je úžasné, a dá se to nějak léčit? Pro jistotu jsem sice doobjednal autorem doporučovaný LCD, ale tohle mě nešlo do hlavy.

Dáse to léčit, po zapnutí dát čas větší jak cca 120 ms než program začne komunikovat s LCD (inicializace). Většinou se dává 40ms. Já už pro jistotu dávám 200ms. Ať se vyvaruju tomu co se stalo tobě :open_mouth:
Sranda bude, když ti nepůjde ani to doobjednané :smiley:

No do programu se mi zrovna hrabat nechce. Nemám zdroják. Zajíc posílá už naprogramovaný MCU. Ta varianta 4 a 8 bit je uložena v nějaké flash? Mě napadlo hodit to LCD na 8bit arduino jestli se přeskočí a pak bude fungovat. Z toho článku o tom řadiči dvakrát moudrý nejsem. Jinak v knihovně v arduinu je čekačka 50ms a stačí to. Potom se testuje jestli to bude 4 nebo 8 bit a to trvá 45ms.

Nějak jsi asi nepochopil, jak se komunikuje s LCD. Do LCD musíš nejdřív zapsat pár věcí, aby LCD věděl, jak má pracovat. Jedna z těch věcí je nastavení 4/8 bit komunikace.


Už se snad chytám. Takže vypnutím a zapnutím v podstatě nic nezískám. Vše se znovu a znovu nastavuje při zapnutí LCD. Takže probém může být v tom, že v programu je nastaveno přesně 40ms na inicializaci a LCD je ujeté a potřebuje třeba 42ms?

Myslím si, že to tak nějak bude.

Mám tu jedno LCD a to vyžaduje 110ms a pak co tam je 37us, tak tohle 40ms, pak už šlape normálně.

Napsal jsem Zajícovi a optal jsem se ja to má nastavené. Jinak to bude “vybíraný” LCD. Co se týče zapojení tak vizuální kontrola nezjistila žádnou chybu a těch 93mA mi nepříjde destruktivní. I když co já vím v mikroelektronice co co snese.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Není to trochu moc pro napájení LCD?

Hned na vstupu je stabilizátor 7805 takže to je v pohodě. Stejně nechápu kde je problém. Podle informací od Zajíce z toho moudřejší nejsem. Chyby na které upozorňoval jsem si dal pozor. Jedná se o zajic.cz/1300lcd/1300lcd.pdf a tohle jsem dostal od Zajíce:

Už se mi i stalo, že černou naběhlo jen druhý a čtvrtý řádek, první a třetí nic. Na 99% se jedná o HD44780, je kupovaný z USA a cenově odpovídá originálu, kopie jsou tak o 50% levnější. Podle datasheetu je taky HD44780. Osciloskop přímo doma nemám, musím si vyjednat na ústavu elektroniky aby mě pustili do laboratoře a změřit to tam. Multiodpor je v pořádku. Schválně jsem to kontroloval podle datasheetu jak má být zapojený.

Asi fakt zařízení mají na sebe averzi nebo je nějaká součástka tiše mrtvá.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Vzal bych pipátko a proměřil zkraty. I vlasový zkrat, který není vidět je zkrat :slight_smile:

To taky zkusím. Bohužel jsem mimo domov takže do čtvrtka to bude čekat na další kolo zjišťování závady. Zatím díky za rady.

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.