Sari la conținut
ELFORUM - Forumul electronistilor

LCD stricat?


ohamoha

Postări Recomandate

Salut

Va rog aruncati o privire pe chestia asta ca simt ca o iau razna.

M-am apucat sa fac un proiect cu un PIC16F877 de 4Mhz. Nu m-am prins eu din prima ca-i trebuie oscilator extern, asa ca i-am adauga unul de 8867.238 Khz. Am scris un program in C in MPLAB si l-am compilat cu CCS. Aprindea si stingea doua beculete. Mergea foarte frumos.

Pasul doi a fost sa-i adaug un LCD. M-am chinuit o zi intreaga sa-l fac sa afiseze ceva, dar nimic. LCD-ul este compatibil HD44780 (scrie in datasheet la pagina 7) asa ca nu ar fi trebuit sa existe nicio problema. Pentru LCD am folosit un driver pentru CCS deoarece am conectat LCD-ul la alti pini decat cei oferiti implicit de CCS. Ok, o fi driverul de vina. Ca sa nu dezlipesc tot ansamblul, am compilat o sursa exemplu oferita de MikroC (folosind MikroC Pro bineinteles). De asemenea niciun rezultat. Beculete functioneaza, alterneaza frumos, dar pe LCD nu apare nimic.

Ambele surse functioneaza fara probleme in schema similara construita in ISIS.

Deoarece am un PICkit 2 Debug Express (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805), m-am apucat sa conectez LCD-ul la acesta, pentru a indeparta orice suspiciune ca am gresit eu ceva in schema mea. Acesta foloseste un PIC16F887, dar este aproximativ acelasi lucru. Rezultatul este acelasi, LCD-ul nu afiseaza nimic. Am incercat sa leg D0,D1,D2,D3 la masa pentru ca am vazut in fisierul help de la MikroC ca asa au legat si ei. Am incercat si cu pinii nelegati la nimic.

Am pus mai jos un filmulet cu ansamblul in functionare.

LCD-ul este legat la portul D, iar led-urile sunt de asemenea legate la portul D. Dupa cum se vede, portul D este activ.

Este prima oara cand ma joc cu un PIC si cu un LCD asa ca nu-mi dau seama unde am gresit, sau daca LCD-ul este stricat.

Conexiunile sunt bune, verificate de nenumarate ori, scurt nu exista. In datasheet scrie ca pe pinul 3 (V0) sa pun o rezistenta intre 10K si 30K. Am pus 15K. Dar am incercat si una de 1K. Singurul lucru care merge la acest LCD este backlight-ul. Alimentat printr-o rezistenta de 300R lumineaza frumos.

Dati-mi va rog un sfat cu ce sa mai incerc ca mie mi s-a golit capul.

Multumesc frumos.

Link spre comentariu
  • Răspunsuri 8
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • ohamoha

    4

  • pavcostel

    1

  • externvero

    1

  • ramsesrr

    1

Top autori în acest subiect

Nu scriam aici daca nu ar fi mers simularea in Proteus. De aia ma scoate din sarite. Ca totul e facut ca la manual, si verificat de zeci de ori. Poate-mi scapa mie vreo chichita...

 

Link spre comentariu

Cu acea rezistenta se regleaza contrastul fizic al lcd. Daca ai cum verifica daca ai semnale pe pinii de comanda, si tot nu se aprinde, incearca sa mergi cu valori DE PROBA intre 100 Ohmi si 10kOhmi. Totul presupune ca ai scris rutinele de initializare corect,etc, si simularea in Proteus lucreaza. Vezi in datasheet la LCD ce tensiune necesita pe pinul de contrast.E o abordare.Bafta!CostelL.E. - normal eu am folosit mereu un semireglabil in locul acelei rezistente fixe. Pentru ca si display-ul are contrast diferit in functie de temperatura. Cred ca si in datasheet arata la fel, semireglabil.

Link spre comentariu
Vizitator yo9hnh

Salut,incearca asa : alimenteaza doar lcd-ul si vezi daca apare ceva pe prima linie si incearca sa dai pinul de contrast la masa(contrast full),normal ar trebui sa iti apara un set de 16 caractere pe prima linie.Daca nu inseamna ca sunt probleme la lcd.

Link spre comentariu

Poti incerca cu o baterie de 1,5V legata cu + la pinul 1 LCD (masa)... Polul negativ al bateriei legat la capatul unui semireglabil de 10K... Celalat capat al semireglabilului legat la pinul 2 LCD (VDD)... Cursorul semireglabilului se leaga la pinul 3 LCD (VEE). Inainte de a alimenta montajul muta cursorul semireglabilului la capatul spre VDD.Dupa ce alimentezi, muta treptat cursorul catre celalalt capat.Am intalnit multe LCD-uri care necesita valoare negativa pe pinul de contrast.

Link spre comentariu

Eheeei! Apoi va datorez nenumarate beri.Am pus un varirezistor pe pinul 3 (V0) si lcd-ul s-a trezit la viata. Functioneaza impecabil.Asta e cu incepatorii. Nu vad padurea din cauza copacilor..Multumesc mult.

Link spre comentariu
  • 2 săptămâni mai târziu...

Salut!

 

Datele D4 - D7 sunt legate corect la portul microcontrolerului, insa (E) de la LCD se leaga in continuare la portul PIC-ului, la fel si (RS). Adica:

 

LCD - PIC

D7 - D7

D6 - D6

D5 - D5

D4 - D4

E - D3

RS - D2

VEE - GND (Contrast) Atentie! Daca e vorba de un LCD blue, contrastul VEE se leaga la VDD printr-o resistenta de 6,8k.

 

Incearca asa pentru ca si eu tot asa il folosesc. Ideea este cum ai libraria compilerului setata, adica pinii care ii foloseste PIC-ul pentru controlul LCD-ului. Sa pui si un oscilator la PIC.

 

Bafta!

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări