problém s LCD typ ATM12864D

Stavím digitální laboratorní napájecí zdroj z A Radia č.3/2007 a zásilková služba mi místo LCD typ MG12864A-SBC/H poslala typ ATM12864D. Tento displej se mi v uvedeném zapojení pouze rozsvítí a jde regulovat jeho jas, jinak je bez jakéhokoli znaku. Jsou prosím tyto displeje plně kompatibilní ? K MG12864A-SBC/H se mi nepovedlo najít datasheet, v zapojení zdroje nemohu najít chybu, pokud vložím PIC16F877 do programátoru a dám verifikaci s programem od p. Kubína, tak napíše OK.
Začíná mě chytat zoufalství. Prosím poraďte.

STN displej, podsvícený CCFL, řadič buď KS0107B nebo KS0108B. Máš tu PDF.
GDM-12864-05.pdf (530 KB)
ks0107.pdf (477 KB)

S tímto typem LCD si taky zrovna hraju, ale co jsem tak zjištoval, velkej rozdíl v komunikaci mezi nimi není, je to něco jako jako když vemeš LCD 16X2 od výrobce X a pak vemeš od výrobce Y, tak ty displeje budou chodit oba stejně.

Zkontroluj si vývody jestli ti souhlasí, nekteří výrobci mají 1 na 20 a opačně. Pokud vyloučíš jinou chybu jako studeňák atd), tak bych hledal chybu v připojení DB0-DB7, CS1, CS2, RW, RS a E jestli jsou připojené, tak kam patří. A signaál RESET, setkal jsem se, že reset byl v 1 místo 0.

Plošné spoje jsem zkontroloval a nikde žádný zkrat nebo přerušený spoj. Přiložený PDF soubor je pro 18-ti pinový displej a já mám 20-ti pinový. Displej nemá obrácené poředí pinů a je propojen s procesorem dle schématu. Na vývodech displeje jsem naměřil tato napětí: Vss=0V, Vdd=5V, VO=2,47V, RS=5V, R/W=5V, E=0V a 0Hz, DB0 až 7=0V, CS1=0V, CS2=5V, RSTB=0V, Vout=-9,7V, BLA=4,86, BLK=0V. Podle mých velice skromných zkušeností to vypadá, že procesor do displeje neposílá žádná data. Existuje prosím nějaké jednoduché zapojení pro odzkoušení displeje ? Třeba aby se zobrazil nějaký znak.

Tady se podívej na stránku k Atmelům elektronika.kvalitne.cz/ATMEL/necoteorie/teorie.html. Je tam slušný popis i v češtině. Přikládám Ti i PDF přímo k tomu displeji, který vlastníš.
ATM12864D.pdf (141 KB)

Připoj ho k LPT a otestuj programem LCDhype. A zkus připojit R/W na 0V.

A ještě k procesoru. Máš 16F877 nebo 16F877A?

Procesor mám 16F877-20/P.

Tak v procesoru by problém být neměl. Akorát me zarazilo, že na VO máš 2,47V, kontrast se řídí zaporným napětím z vývodu Vout. Na VO by mělo být tak -7V. Na mojim LCD mám -8,4V na VO, pod -7,5V už na něm není nic vidět.

A testni, jestli funguje procesor. Podle schématu na vývodech 16 a 17 by jsi měl naměřit nějakej kmitočet PWM.

Řízení kontrastu displeje jsem zapojil podle katalogového listu a funguje to stejně. Dále jsem připojil k taktovacímu krystalu 20MHz pro procesor osciloskop a objevila se sinusovka, překvapením pro mne ovšem bylo, že frekvenci mi to ukázalo 49,877Hz. To snad není normální ne ? Plošné spoje mám dva úplně stejné, se stejnými krystaly a oba se chovají stějně.

Když dám ke krystalu měřák, ukazuje 19.978 Mhz, ale jak je to u osciloskopu, to nevím. Ten nevlastním. :blush:
Na R/W by měla být 0 pro zapis do LCD, pochybuji, že se z něj něco čte.
Ty stavíš 2 najednou? Zkus napsat o radu autorovi pogramu!

Pokud ti displej neukazuje, zapoj ho podle tohohlea otestuj programem LCDhype.

Já vlastním oba dva typy displejů. Když jsem s nimi začínal tak jsem dělal na tom ATM12864D Napsal jsem si rutiny na obsluhu. kupodivu funkční, ale když jsem připojil displej EL12864… tak semu nějak nechtělo zapisovat do levého řadiče… Jen tak z blbosti jsem k procáku hodil 8MHz krystal místo 16MHz a hle displej se rozjel… Tak jsem prodloužil dobu mezi hýbáním s vývodem E a tet jedou oba dva na 16Mhz v poho… Nevím sice jestli ti to k něčemu bude, ale je to muj poznatek…

To není špatnej nápad. Na zkoušku vyměnit 20Mhz krystal třeba za 8Mhz, a pak když to naběhne napsat autorovi, aby změnil o něco málo časovaní LCD.

jj říkám zkusit zpomalit taktování procáku, a pokud to nepoběží ani tehdy tak bude nejspíše problém někde jinde…

KDyž zpomalíte takt pocáku, tak uvědomujete si, že rozhodíte i jiný věci, který mohou mít na celý zdroj nějaké následky? Zmiňjovali jste tu někdo někde PWM výstupy, těm se například změní frekvence. Může to vadit, i nemusí.

Zkus tu frekvenci změřit jetě jednou, prosím bez chyby a bez překlepu (pokud tam byla chyba/překlep). Onot to může taky být tím, že Xtaly nad 16MHz nemusí být na první harmonické, výjmka je Xtal 24MHz, ten na první harm. JE. Proto když tam připojíte xtal 20MHz tak to nemusí běžet správně ten oscilátor. Nevím jak je to s harmonickými u piců, ale u atmelů (89S51,52), mám vyzkoušeno že: 18.432MHz - vůbec se to nerozběhne, 29,xyznMHz to sice běží, ale cca na 15ti MHz.
Zkus tam prdnout Xtal 16MHz (nebo 12MHz - ty sou spolehlivě na 1. harm.) jestli to poběží…
DAlší řešení je taky udělat k procíku externí oscilátor třeba s invertorem (Xtalový), a výstup oscíku zapojit na vstup XTAL1 procíku. Takle jsem přemluvil 89S51 aby jela na 29 a kus MHz.
Snad ti to pomůže. Pak dej vědět, jak si to vyřešil :slight_smile:
Honza

Zkoušel jsem několik procesorů PIC a ani s jedním krystal 20MHz nekmital. Naměřil jsem pouze 50Hz. Říkal jsem si , že se mi po napájecím napětí dostává do procesoru síťový kmitočet. To nebyla pravda (ověřeno). Po snížení hodnoty keramických kondenzátorů připojených ke krystalu z hodnoty 33pF na 18pF, krystal perfektně kmitá. Krystal kmitá a přesně, i když k němu žádné kondenzátory nepřipojím. Pro ty, kteří mají osciloskop, vlastní kapacita osciloskopické sondy výrazně ovlivňuje chování krystalu, a proto je lepší použít místo sondy jen koaxiální kabel.
Nyní se displej chová tak, jako by přes něj projížděla mořská vlna. Ještě někdy zkusím krystal s nižším kmitočtem.

Asi takhle:
používám jen a POUZE kondenzátory 18pF Problémy jsem neměl, až na výjmky: xtal 18.432MHz vůůůůůbec nekmital, asi je vadný, nevim jak to přezkoušet, ale nejrači bych ho GMákům omlátil o hlavu, stál mě 10 korun! :slight_smile:
Pak byl problém s xtalem 29,xyznMHz ten se vždycky rozkmitá na polovině frekvence… nevim proč , zase vadnej? (z GMe :wink: )

jinak nikdy problém nebyl

A to že sonda oscíku ovlivňuje, neni nic novýho… Pokud používáš šrot sondy který mají zabudovanou děličku (třeba 10x) tak vevnitř jsou i kondenzátory pro kompenzaci aby signál byl přesnější, pokud máš sondu bez děličky (nebo jako kdysi já s přepínačem 1x/10x tak je to bez problému)
Ale ono to asi bude typ od typu…

Pan Stanislav Kubín mi dnes napsal, že mu můžeme poslat řídící desky s displeji, a že se nám na to podívá. Chce ale, aby mu to přišlo v jednom balíku a nenapsal vůbec nic o tom, co by za to chtěl (viz níže).

Dobrý den,
mám pro Vás návrh.
Pošlete mi plošné spoje, mikrokontroléry a displeje. Kouknu se na to. (Můžete oslovit i ostatní a přeposlat mi to od nich. Nechci, aby mi přišel od každého jeden balík!)
Na fórech těžko najdete lidi, kterým to chodí a zrovna brouzdají a hledají komu by pomohli.
Z vlastní zkušenosti vím, že hledat na fórech pomoc z oblasti HW není úplně totéž jako v případě počítačového SW.

S pozdravem
Stanislav Kubín

Po dotazu co by to asi stálo, mi od pana Kubína přišla tato odpověď.

Řekl bych to asi takto. Pokud používáte vše co je napsáno v návodu (nemáte
vlastní navržený pl. spoj apod.) tak to nebude stát nic - samotného mně
zajímá, kde všichni děláte chybu.
Pokud máte nějaké úpravy, tak nejsem schopen zajistit, že to bude fungovat,
ale mohu to zkusit.
Rozhodně nic neriskujete - když, tak bych se ozval, až se na to kouknu.
Jenom přibalte tolik korun, kolik Vás bude stát poštovné (až Vám to budu
posílat nazpět.)

S pozdravem
Stanislav Kubín

Dnes mi přišla odpověď od pana kubína.

Dobrý den,
Včera mi došel balíček od Vás.
Dnes jsem na tom dělal (do teď) a zjistil pár zajímavých věcí.
Aby se to “rozběhlo” musel jsem ošetřit některé vstupy a ani pak to
nechodilo 100%.

  1. Změnil jsem program tak, aby modul “chodil” i bez ošetřených vstupů.
  2. Změnil jsem časování řídicích signálů pro displej a doplnil prodlevu před
    inicializací displeje.

To že mně to chodilo bez problému ve třech kouscích je asi tím, že jsou
všechny v zapojení, kde jsou vstupy ošetřeny a taky používám trochu jiný typ
zobrazovače (typové číslo stejné, ale mám na desce víc součástek) - něco
staršího.

Naprogramoval jsem Vám všechny mikrokontroléry a dal do desek.
Chodí všechny desky i všechny displeje - nyní naprosto bez problému.

Přibalil jsem Vám do balíčku DVD (je na něm jak starší, tak upravený program
zdroje v HEX i ASM). Prosím nikde nezveřejňovat ASM!
HEX kód můžete zveřejnit, pošlu ho do AR aby nahradili ten starší.

Balíček pošlu během příštího týdne.

S pozdravem
Stanislav Kubín

Zdravím,dostal se mi do ruky displej ATM12864DG
postimg.org/image/j4pgb6eqz/
a nedaří se mi jej rozchodit.Displej svítí ,ale nereaguje ani na povel zap/vyp displeje (podle datasheetu):
//RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
//0 0 0 0 1 1 1 1 1 0/1 1= zap 0=vyp
Je třeba displej nějak inicializovat ?
Měl by někdo TIP,info,funkční kód (v Cčku) prostě uvítám jakoukoli pomoc.

:arrow_right: administrator: přiloženy externí soubory