Elektroda.pl
Elektroda.pl
X
Filament
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

"uLCD-test" Atmega32, Siemens LCD, Bascom.

dominon 06 Gru 2010 23:19 55642 151
  • "uLCD-test" Atmega32, Siemens LCD, Bascom.

    Witam.

    Przy okazji mojego ostatniego tematu "uŚciągi" jeden z forumowiczów poruszył temat który jak zauważyłem pojawiał się już na elektrodzie jednak opisy były różne, a wiadomości niejednokrotnie mylące. Tak się składa że udało mi się uruchomić wyświetlacz od Siemensa cx70, c65, itp. bo o takim LCD właśnie jest mowa. Postanowiłem podzielić się więc moją wiedzą a przy okazji konstrukcją. Jednocześnie chciał bym wyjaśnić niejasności związane ze sterowaniem tego wyświetlacza oczywiście z pomocą kolegów którzy również uruchomili ten wyświetlacz.


    Informacje wstępne:
    Układ został zaprojektowany tak aby oprócz samej możliwości testu wyświetlacza (złącze specjalnie pod LCD Siemensa) można było użyć go także w innej aplikacji.

    Mikro-kontroler: Atmega32L-8AU
    Wyświetlacz: Siemens cx70 (sterownik LS020B8UD06)
    Zasilanie: DC 12V

    Płytka została zaprojektowana w programie Eagle 5.10 a oprogramowanie napisane w programie Bascom. Mylący może być napis "Mini Oscyloskop" w porównaniu do tego co jest na filmiku jednak oprogramowanie nie otrzymało jeszcze ostatecznej wersji. I na razie jej nie będzie. Chodziło tylko o sprawdzenie możliwości i poprawności podłączenia.


    Schemat:

    "uLCD-test" Atmega32, Siemens LCD, Bascom.


    Opis układu:
    Instrukcje obsługujące wyświetlacz znajdują się w procedurach w programie. Posiadam bibliotekę do obsługi tego LCD jednak jeszcze jej nie testowałem więc mogę udostępnić ją chętnym. W temacie pojawi się po sprawdzeniu poprawności działania.

    Płytka Drukowana jest zaprojektowana na wymiar wyświetlacza. Nie użyłem przetwornicy do generowania napięcia do podświetlenia ponieważ miała to być płytka testowa dlatego napięcia nie zostały ujednolicone. Do wyrównania poziomów napięć w komunikacji wyświetlacza i Atmegi posłużyłem się dzielnikiem rezystorowym.

    Całość działa bez zarzutu jedynie zmienił bym stabilizator 5V z obudowy SO8 na D-Pack. Uwarunkowane jest to tym że D-Pack ma obciążalność do 500mA a SO8 100mA i w trakcie ciągłej pracy robi się dobrze ciepły.

    Oczywiście zapraszam do obejrzenia zdjęć i filmiku poniżej. Zamieszczam także materiały które zgromadziłem do tej konstrukcji.






    Budowa:
    "uLCD-test" Atmega32, Siemens LCD, Bascom."uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom."uLCD-test" Atmega32, Siemens LCD, Bascom.


    Działanie:

    "uLCD-test" Atmega32, Siemens LCD, Bascom."uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom."uLCD-test" Atmega32, Siemens LCD, Bascom.


    Filmik z działania:

    Link


    Jeśli konstrukcja Ci się spodobała oceń ją i skomentuj. Zapraszam do dzielenia się opiniami.


    Fajne!
  • Filament
  • #2 06 Gru 2010 23:56
    ugh123
    Poziom 13  

    Bardzo fajnie ze powstal watek na temat obslugi tego lcd od siemensa ;) moje urzadzonko wyglada podobnie ale jest "ogromne" w porownaniu do Twojego :D Zmontowalem je z nudow po prostu ;) Pozdrawiam Bartek a nizej zdjecia z mojich wyczynow ;)
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.

    Sorki za kiepska jakosc zdj ale robione byly tel ;)

  • #3 07 Gru 2010 00:19
    dominon
    Poziom 18  

    Mnie się bardzo podoba twoja konstrukcja. Nie każdy musi od razu projektować płytkę bo wiadomo że nigdy nie wiadomo jak się coś testuje czy uruchomi się "od kopa". Ja zaprojektowałem dla wprawy i okazało się że wszystko działa.

    Ta płytka na taśmę dwustronną na przedostatnim foto to jakiś RTC do zegarka?

  • #4 07 Gru 2010 00:28
    ugh123
    Poziom 13  

    A ta plyteczka to jest mini modul radia fm wyciagniety z jakiejs uszkodzonej mp3 , probowalem go uruchomic ale cos nie bardzo mi sie udawalo bo sterowanie odbywa sie przez i2c a nie do konca wiedzialem jak wysylac strojenie czestotliwosci w linkach ponizej wiecej informacji na temat tego modulu Link i
    Link ;)

  • #5 07 Gru 2010 09:35
    blackwolf1
    Poziom 2  

    a da rady zrobić to na wyświetlaczu od SE T230/T290 ??

  • Filament
  • #6 07 Gru 2010 12:34
    Freddy
    Poziom 43  

    No to ja jeszcze dorzucę znaleziony w sieci, sposób na detekcję typu wyświetlacza z S65.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.

  • #7 07 Gru 2010 13:27
    mateuszciupka
    Poziom 13  

    Witam
    Dodam swoje "trzy grosze" do tematu, bo widzę że temat wyświetlacza z telefonu siemens S65 powraca :)

    W załączniku zamieszczam plik z obsługa tego wyświetlacza - LCD jest sterowany prawie całkowicie "hardwerowo" przez mikroprocka.
    Sterowanie jest bardzo podobne jak u kolegów wyżej ale działa gdzieś dwa może trzy razy szybciej i wszystko napisane w Bascom :)
    prędkość transmisji do LCD = $crystal / 4 * 2
    Czyli przy kwarcu 16Mhz mamy transmisje 8Mhz

    Program który zamieszczam to przerobiony program oscyloskopu na AVR nie pamiętam przez kogo wykonany ale działał wolno i trzeba było trochę pozmieniać :)
    Mi osobiście były potrzebne jedynie procedury obsługi tego LCD i te zamieszczam w pliku.

    Najważniejsze zmiany:
    Konfiguracja SPI:
    Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 0 'konfiguracja SPI (LCD)
    Spiinit 'włączenie SPI
    Spsr = 1 'podwojenie prędkosci SPI


    Przy takiej konfiguracji nie trzeba programowo sterować linia CS, zrobi to za nas mikrokontroler i to dużo szybciej. Noga SS mikrokontrolera musi być podpięta do linii CS wyświetlacza.

    Wysyłanie do wyświetlacza:
    '######################################################
    16:
    Spiout A_22 , 1
    Spiout A_11 , 1
    Return


    Nie trzeba ładować biblioteki ze znakami do pamięci mikrokontrlera, znajdują się one w pamięci EEPROM (trzeba ją oczywiście zaprogramować).

    jak coś niejasne w programie to pytać :)
    Pozdrawiam

  • #8 07 Gru 2010 15:22
    wader_669
    Poziom 28  

    mateuszciupka testowales zrobic Hard Spi na wyswietlaczu od nokia 6100? Kiedys testowalem i mi sie nie udalo.

  • #9 07 Gru 2010 19:32
    mateuszciupka
    Poziom 13  

    wader_669 napisał:
    mateuszciupka testowales zrobic Hard Spi na wyswietlaczu od nokia 6100? Kiedys testowalem i mi sie nie udalo.


    Pewnie się da tylko pytanie czy ten wyswietlacz ma zwykle spi czy jakies udziwnione ?
    I jaka maksymalną prędkość wysyłania znaków mozna mu zapodać :)

  • #10 07 Gru 2010 21:28
    vcppp_p
    Poziom 12  

    Po raz kolejny podziwiam wykonanie płytki, gratuluję :)

    I od razu pytanie. Próbowałeś taktować uC zewnętrznym kwarcem?
    Bo z tego co pamiętam teorię (sam niestety nigdy nie kopnąłem się w 4 litery żeby w końcu zrobić układzik z ekranikiem) to niestety taktowanie w atmedze jest wąskim gardłem jak chodzi o ilość klatek na sekundę ...

  • #11 07 Gru 2010 21:38
    wladza13
    Poziom 14  

    PCF8833 (nokia) nie ma SPI to jest specyficzna transmisja. Lcd od s65 góruje nad nokia chociażby rozdzielczością i HW spi co jak pisał mateuszciupka znacznie poprawi szybkość działania, a w konsekwencji prędkość wyświetlania danych na lcd.

  • #12 07 Gru 2010 21:57
    profesorek_96
    Poziom 16  

    Czy na wyświetlaczu od noki można wyświetlać zdjęcia? Jak jest z kontrastem? Od jakich jeszcze modeli telefonów można wykorzystać wyświetlacz?

  • #14 07 Gru 2010 22:46
    dominon
    Poziom 18  

    vcppp_p napisał:
    Po raz kolejny podziwiam wykonanie płytki, gratuluję :)

    I od razu pytanie. Próbowałeś taktować uC zewnętrznym kwarcem?
    Bo z tego co pamiętam teorię (sam niestety nigdy nie kopnąłem się w 4 litery żeby w końcu zrobić układzik z ekranikiem) to niestety taktowanie w atmedze jest wąskim gardłem jak chodzi o ilość klatek na sekundę ...


    W tym przypadku taktowanie idzie z zewnętrznego kwarcu 16MHz. Sprawdzałem na wewnętrznym 8MHz i różnica jest kolosalna (zgodnie z tym co kolega napisał). Proszę poczytać kilka wcześniejszych postów tam był kod programu działający szybciej od tego który ja zamieściłem.

  • #15 07 Gru 2010 22:48
    Freddy
    Poziom 43  

    dominon napisał:
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    Przy okazji mojego ostatniego tematu "uŚciągi" jeden z forumowiczów poruszył temat który jak zauważyłem pojawiał się już na elektrodzie jednak opisy były różne, a wiadomości niejednokrotnie mylące. ...

    Czy próbowałeś uruchamiać wyświetlacz L2F50 ?

  • #16 07 Gru 2010 22:53
    dominon
    Poziom 18  

    Freddy napisał:
    Czy próbowałeś uruchamiać wyświetlacz L2F50 ?


    Niestety wszystkie Siemensy (było ich całe 3) miały wyświetlacz z tym samym sterownikiem. Ciekawi mnie jak duże zmiany trzeba wprowadzić w programie do obsługi pozostałych dwóch. Jeśli ktoś zmierzył się z tym problemem fajnie jak by dodał swoje doświadczenia do wątku :)

    Swoją droga szukając informacji na temat obsługi tego wyświetlacza nie spotkałem się z obsługą tylko tego sterownika o który pytasz. Może dlatego że szukałem tych najpopularniejszych. Jednak trafiłem na jeden czy dwa tematy zagraniczne z LPH88 (charakterystyczne zielone PCB z tyłu).

    Pozdrawiam D.P.

  • #17 08 Gru 2010 08:44
    goodbay
    Poziom 10  

    Witam.
    Czy ktoś może wie gdzie dostać wyświetlacze L2F50?
    Na Allegro już nie ma.
    Pozdrawiam
    Marcin

  • #18 08 Gru 2010 08:53
    Freddy
    Poziom 43  

    Najczęściej spotykane były modele LS020 i L2F50, a LPH88 chyba najrzadziej.
    Ja napotkałem dość ciekawą konstrukcję na stronie Juras'a. Zrobił płytę testową do wyświetlacz LS020. Jak z nim rozmawiałem, nie wykluczał on stosowania innych, przypominał jednak o dodatkowym napięciu wymaganym przez L2F50.
    Jeśli nie masz nic przeciwko temu zamieszczę krótki opis. Sądzę, że wszystkim sie przyda.

    Poniżej schemat, ciekawie rozwiązane zasilanie.
    "uLCD-test" Atmega32, Siemens LCD, Bascom.
    Projekt płyty drukowanej i widok gotowej płytki.
    "uLCD-test" Atmega32, Siemens LCD, Bascom. "uLCD-test" Atmega32, Siemens LCD, Bascom.

    Poniżej w pliku dla chętnych wzór płytki do metody foto i program do płytki demo.

    Poniżej zamieszczam jeszcze inną wersję z modyfikacją o którą poprosiłem autora, dodana została złączka UART.
    "uLCD-test" Atmega32, Siemens LCD, Bascom. "uLCD-test" Atmega32, Siemens LCD, Bascom. "uLCD-test" Atmega32, Siemens LCD, Bascom.

  • #19 08 Gru 2010 09:27
    Yaro126
    Poziom 20  

    Czy ma ktoś może bibliotekę obsługi wyświetlacza dla CodeVision i mógłgby się podzielić?

  • #20 08 Gru 2010 10:41
    pier
    Poziom 23  

    Witam.
    Świetnie zrobiona płytka. Tylko jakby zrobić jakieś lepsze połączenie wyświetlacz-płytka z procesorem. Projekt Juras'a który pokazał Freedy jest naprawdę fajnnie zrobiony ale ciężko lutować takie złącze pod wyświetlacz i tą blaszkę. Sam próbowałem i taką wylutować z telefonu i mi się nie udało.
    Ja ostatecznie zrobiłem płytkę przejściówkę do swoich wyświetlaczy i mam do nich podłączenie na zwykłych goldpinach, żałuję tylko że nie dałem na płytce konwertera napięć na rezystorach.

    Odpalałem wyświetlacz ze sterownikiem LS020... i L2F50 na bibliotekach znalezionych w sieci ale do L2F50 biblioteka jest skopana bo nie wyświetla się prawidłowo grafika, czasami tylko udało mi się utrafić z rozmiarem obrazka i wyświetleniem go w odpowiednim miejscu tak aby było go widać normalnie.


    Zastanawiam się tylko jak Kolega zrobił logo ATMEL-a na cały ekran?
    Jakim programem zrobić taki duży obrazek bgc?

  • #21 08 Gru 2010 10:54
    Freddy
    Poziom 43  

    pier napisał:
    Witam.
    Świetnie zrobiona płytka. Tylko jakby zrobić jakieś lepsze połączenie wyświetlacz-płytka z procesorem. Projekt Juras'a który pokazał Freedy jest naprawdę fajnnie zrobiony ale ciężko lutować takie złącze pod wyświetlacz i tą blaszkę. Sam próbowałem i taką wylutować z telefonu i mi się nie udało.
    Ja ostatecznie zrobiłem płytkę przejściówkę do swoich wyświetlaczy i mam do nich podłączenie na zwykłych goldpinach, żałuję tylko że nie dałem na płytce konwertera napięć na rezystorach.

    Odpalałem wyświetlacz ze sterownikiem LS020... i L2F50 na bibliotekach znalezionych w sieci ale do L2F50 biblioteka jest skopana bo nie wyświetla się prawidłowo grafika, czasami tylko udało mi się utrafić z rozmiarem obrazka i wyświetleniem go w odpowiednim miejscu tak aby było go widać normalnie.


    Zastanawiam się tylko jak Kolega zrobił logo ATMEL-a na cały ekran?
    Jakim programem zrobić taki duży obrazek bgc?

    Biblioteka dostępna w sieci do L2F50 jest dokładnie skopana.
    Przy próbie kompilacji, wychodzi błąd z biblioteki (załączam):
    "Duplicate label [_BOX]"

  • #22 08 Gru 2010 12:32
    pier
    Poziom 23  

    Nie, błąd o którym Piszesz nie jest błędem biblioteki. Pojawia się on zawsze przy tej funkcji BOX (służy do rysowania czworokątów) ale program i tak się skompiluje,błąd ten jest także z biblioteką do LS020....
    Biblioteka jest skopana ponieważ nie wyświetlają się prawidłowo grafiki.

    Jak zrobić grafikę na cały wyświetlacz o rozmiarze 132x176?
    Ja przy użyciu programu LCD RGB-8 Converter mogę zrobić obraz o rozdzielczości max 132x132.

    A i jeszcze moja płytka z LS020...
    "uLCD-test" Atmega32, Siemens LCD, Bascom.

  • #24 08 Gru 2010 22:08
    dominon
    Poziom 18  

    Freddy napisał:
    Jeśli nie masz nic przeciwko temu zamieszczę krótki opis. Sądzę, że wszystkim sie przyda.


    Ależ oczywiście że nie mam. Jestem bardzo wdzięczny i cieszę się że jest tak dużo osób zainteresowanych tematem :) Cieszę się podwójnie bo wiem że potrafi kolega oceniać surowo (czytałem komentarze gdzieniegdzie na forum).

    pier napisał:
    Zastanawiam się tylko jak Kolega zrobił logo ATMEL-a na cały ekran?
    Jakim programem zrobić taki duży obrazek bgc?


    Po pierwsze logo Atmel-a jest na białym tle co może tworzyć złudne wrażenie "pełnego ekranu". Po drugie było konwertowane Bascomowym konwerterem który zmienia obrazki o maksymalnej rozdzielczości 132x132pix do pliku .bgc a następnie wyświetlone możliwie po środku wyświetlacza. Jak widać poniżej nie wiem czy nie ma tak też w bibliotece do obsługi tego LCD można sobie wybrać tryb pracy w tej linijce kodu:
    Code:

    Const Landscape = 1                                         'Change to 0 if you want to use the display in portrait


    Pozdrawiam D.P.

  • #25 08 Gru 2010 22:32
    wladza13
    Poziom 14  

    Może mała podpowiedź dla tych którzy chcą wyświetlić obrazek na całym lcd bascomowym formatem bgc. Obrazek, który chcemy wyświetlić o rozdzielczości 132x176 podzielić na dwa obrazki(jeszcze przed konwersją) po 132X88 i wyświetlić jako 2 oddzielne obrazy składając je w jeden, ale już na lcd.

  • #26 08 Gru 2010 23:31
    Freddy
    Poziom 43  

    dominon napisał:

    ...Cieszę się podwójnie bo wiem że potrafi kolega oceniać surowo (czytałem komentarze gdzieniegdzie na forum).
    ...

    Może i surowo, ale staram sie zawsze być bezstronnym i sprawiedliwym.

    Koledzy wszystko jest fajnie ale z wyświetlaczem LS020, gorzej już jest z L2F50.
    Jest mniej popularny i mniej poznany.

  • #27 09 Gru 2010 08:06
    gafek
    Poziom 17  

    Yaro126 napisał:
    Czy ma ktoś może bibliotekę obsługi wyświetlacza dla CodeVision i mógłgby się podzielić?



    Ja coś tam dłubę w tej chwili, ale jest jeszcze za "surowa" by się nadawała do publikacji. :) Ale działa.

    A jeśli chodzi o regulację kontrastu, to testował to ktoś ? Wg informacji, które posiadam za regulacje kontrastu odpowiada rejestr R24h w banku 90h. Ale zmiana zawartości przynajmniej u mnie nie przynosi widocznych rezultatów. :(

  • #28 10 Gru 2010 00:01
    JStan
    Poziom 16  

    Musze przetestowac obsługe tego wyświetlacza, jedyny sposób pozyskania to Siemens, no właśnie jaki model z allegro wybrać aby był LS020?? Czy może są gdzieś te wyświetlacze dostępne "luzem"???

    No i druga sprawa w kwestii zasilania, w projekcje Jurasa widzę że użył tylko jednego napięcia 3,3V do zasilania, zostało ono podane na nóżkę 2,9V a nóżka 1,8V nie jest w ogóle podłączona, w tym projekcie obydwie nóżki są zasilane z 2,9V, więc jak to??

    Dzięki za odpowiedź!!

    Pozdrawiam
    Janek

  • #29 10 Gru 2010 08:26
    Freddy
    Poziom 43  

    Nie jesteś w stanie rozpoznać, montowane były różne wyświetlacze. Ja ostatnio trafiłem na LPH :) Kiedyś kupiłem S65 i w jednym był L2F50, a w drugim LS020.
    Dobrze by było potem spisać jakieś uwagi i biblioteki na temat wszystkich trzech modeli w jednym miejscu. W sumie, jak pozna się wszystkie trzy, to nie problem, a czasem taniej wychodzi kupić uszkodzonego Siemensa, niż sam wyświetlacz.
    Wyświetlacze były na Allegro po 30 zł, a S65 kupiłem za 20 z wysyłka.
    W sumie, to pasowałoby teraz, żeby odezwał sie ktoś z praktyką z LPH.

  • #30 10 Gru 2010 12:58
    dominon
    Poziom 18  

    JStan napisał:
    Musze przetestowac obsługe tego wyświetlacza, jedyny sposób pozyskania to Siemens, no właśnie jaki model z allegro wybrać aby był LS020?? Czy może są gdzieś te wyświetlacze dostępne "luzem"???

    No i druga sprawa w kwestii zasilania, w projekcje Jurasa widzę że użył tylko jednego napięcia 3,3V do zasilania, zostało ono podane na nóżkę 2,9V a nóżka 1,8V nie jest w ogóle podłączona, w tym projekcie obydwie nóżki są zasilane z 2,9V, więc jak to??

    Dzięki za odpowiedź!!

    Pozdrawiam
    Janek


    Co do LCD to jeśli kolega był by zainteresowany to mam jeszcze dwie sztuki tego LS020. Więc proszę o kontakt na maila a na pewno się dogadamy. Natomiast co do napięcia to o ile dobrze pamiętam to był pewien zakres najlepiej sprawdzić w PDF-ie. Podłączeń było jak widać kilka. Ja sprawdziłem na tym które zamieściłem i działa. U kolegi Jurasa też więc decyzja chyba należy do konstruktora :)