Elektroda.pl
Elektroda.pl
X
Strona może nie wyświetlać się poprawnie, ponieważ używasz AdBlock.
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

LCD od S65 sterowany przez ATmega16.

pmichniewski 28 Sty 2006 15:11 166556 366
Texa Poland
  • Witam,

    udało mi się dzisiaj uruchomić ten wyświetlacz ! (model LS020 kupiony na Allegro) Co prawda na razie potrafi jedynie mrygać na różne kolory, ale jestem na dobrej drodze. Początkowo miałem problemy z uruchomieniem, ale po znalezieniu błędów ruszył bez problemu.

    Schematy podłączenia oraz sposób programowania pochodzi ze strony
    http://www.superkranz.de/christian/S65_Display/DisplayIndex.html

    Od razu mówię, że wyświetlacz lutowany był zwykłą transformatorówką... Strasznie się przy tym napociłem, ale wyszło całkiem nieźle i nawet działa :D

    Jak tylko uda mi się wyświetlić na nim coś sensownego, od razu dam znać.

    Fajne? Ranking DIY
    O autorze
    pmichniewski
    Poziom 18  
    Offline 
    Specjalizuje się w: mikrokontrolery
    pmichniewski napisał 242 postów o ocenie 4, pomógł 22 razy. Mieszka w mieście Starachowice / Warszawa. Jest z nami od 2005 roku.
  • Texa Poland
  • #2
    ghost666
    Tłumacz Redaktor
    Fajne, ciekawe :). Pokaż jeszcze tylko układ może? :)
  • #3
    pmichniewski
    Poziom 18  
    Układ to typowa płytka z ATmega. Zmontowałem ją na płytce uniwersalnej zakupionej ok. 4 lat temu. Płytka miała służyć do zmontowania komputerka na Z80, ale mi się znudziło. Ostatnio ją reaktywowałem i wymieniłem Z80 na ATmega, potem podłączyłem parę peryferiów (przyciski, wyświetlacz od Bolka), potem LCD od 3310, a teraz odpaliłem LCD od S65.
  • Texa Poland
  • #4
    macio8888
    Poziom 22  
    Ciekawy projekt:)
    Mógłbyś zamieścić schemat tego??
    macio8888
  • #5
    pmichniewski
    Poziom 18  
    Schematu nie mam, gdyż mój "projekt" powstawał na bieżąco (co zresztą widać). Jeśli chodzi o podłączenie wyświetlacza, to informacje na ten temat znajdują się na stronie, którą podałem w pierwszym poście. Nie ma sensu ich tu powtarzać...

    Niedługo umieszczę zdjęcia z czymś sensowniejszym na wyświetlaczu, tylko dopracuję oprogramowanie, bo na razie to kawałek bardzo pomieszanego kodu

    Moderowany przez androot:

    Nie pisz postu pod postem! Uzyj przycisku "Zmień"



    Udało mi się przesłać na wyświetlacz obrazek. Program na komputerze wczytuje obrazek PNG i wysyła go po porcie szeregowym do procka, a on przekazuje go na wyświetlacz. Niestety port szeregowy jest bardzo powolny (obrazek przesyła się ok. minuty) i czasem zdarzają się błędy. Muszę nad tym popracować :). W niedługim czasie planuję przerobienie LCDproc (linuksowy program do raportowania stanu systemu na wyświetlacz) tak, by działał z moim urządzeniem.
  • #6
    ghost666
    Tłumacz Redaktor
    A moze podłącz go pod USB? Nie ma żadnych Atmeli z USB?
  • #7
    pmichniewski
    Poziom 18  
    Są, ale na razie pozostanę przy tym, co mam. Później i tak zamierzam się przesiąść na ARMy, więc nie ma sensu w to więcej inwestować. Poza tym wystarczy odpowiednio zaimplementować oprogramowanie do Atmela i ograniczyć komunikację z komputerem do minimum. Wolę napisać dobre oprogramowanie niż tłumaczyć się słabościami sprzętu. No i znalazłem też stos USB na ATmega, więc myślę, że przesiadka na razie nie będzie konieczna.

    Właśnie pracuję nad ulepszonym protokołem, który zawierać będzie kontrolę CRC, by uniknąć błędów (jak zwiększyłem jasność podświetlenia, pokazało się więcej błędów, gdyż przetwornica pracuje z częstotliwością zegara). Zastanawiam się, czy umieścić tu kod, ale mój program po stronie komputera jest napisany pod Linuksa, więc niewielu osobom może się przydać, a ten po stronie ATmega to tylko lekko przerobione oprogramowanie Christiana Kranza.
  • #8
    Zumo
    Poziom 21  
    Fajny , ale ile za niego dales ?
  • #9
    pmichniewski
    Poziom 18  
    Zumo napisał:
    Fajny , ale ile za niego dales ?


    47 zł + przesyłka.

    Dzisiaj trochę popracowałem i udało mi się zrobić prosty protokół z korekcją błędów CRC16 (przetwornica do podświetlania chodzi na podobnej częstotliwości, co port szeregowy, co przeszkadza w bezbłędnej transmisji). Muszę jeszcze nad nim popracować, ale chyba jednak zdecyduję się w końcu na zakup układu FT245BM, bo szeregowiec ma zbyt małą prędkość transmisji i się po prostu nie nadaje...
  • #10
    pmichniewski
    Poziom 18  
    Witam,

    postanowiłem umieścić na Elektrodzie mój kod do obsługi wyświetlacza. Składa się z dwóch części:
    1. W katalogu avr_studio - projekt AVR Studio 4. Przerobiony kod Christiana Kranza z dodaną kalibracją częstotliwości wbudowanego oscylatora (nie udało mi się znaleźć w moim mieście kwarcu 7,37 MHz) oraz prostym protokołem transmisji. Wymaga dopracowania, dodania komentarzy itd., ale myślę, że jest w miarę zrozumiały. Oryginalnym autorem części programu jest Christian Kranz.
    2. W katalogu linux - prosty program do wysyłania obrazków PNG. Muszą to być obrazki o rozdzielczości 132x176 bez kanału alfa. Domyślnie wysyła na /dev/ttyS1. Zmiana parametrów pracy wymaga przerobienia źródeł - w tak wczesnej wersji trudno się spodziewać przyjaznego interfejsu :P. Program pisany pod Linuksa, ale da się go pewnie przerobić do działania pod Windows.

    Oczywiście na programy nie udzielam żadnej gwarancji. Jeśli uszkodzi Twój sprzęt, to nie jest mój problem :P
  • #12
    Artur k.
    Admin grupy audio
    Witam

    Tak z ciekawości:

    Co da zmiana z RS na USB ?? przecież procek i tak posługuje sie RS, a ten układ FT245 to chyba przejściówka USB--->RS.

    Pozdrawiam
  • #13
    pmichniewski
    Poziom 18  
    Artur k. napisał:
    Witam

    Tak z ciekawości:

    Co da zmiana z RS na USB ?? przecież procesor i tak posługuje sie RS, a ten układ FT245 to chyba przejściówka USB--->RS.

    Pozdrawiam


    USB -> 8-bit. Na szeregowcu uzyskam jedynie 115200 kbit/s. ATmega potrafi obsługiwać SPI z prędkością aż do 8Mbit/s (w praktyce mniej, choć i tak więcej, niż potrzeba do tego wyświetlacza), więc dzięki temu uzyskam nawet kilka klatek/s. Zresztą niestety projekt został wstrzymany z powodu braku czasu w wakacje (ach ten wrzesień...) aż do terminu nieustalonego...

    Jednak najprawdopodobniej w niedługim czasie pojawi się tu gra Pong zrobiona z wykorzystaniem tego wyświetlacza (o ile znajdę czas...).
  • #14
    adamusx
    Poziom 27  
    pmichniewski jakim programem odczytywales dane obrazka i przesyłałes po RSie?
  • #15
    pmichniewski
    Poziom 18  
    Napisałem własny. Kod źródłowy jest dołączony w paczce. Niestety działa tylko pod Linuksem.
  • #16
    vonteq666
    Poziom 13  
    Mam pytanko:
    Czy kolega pmichniewski sprawdzał ten soft pod kątem wyświetlania liter na LCD? Chodzi mi o to, że podczas moich bojów z tym LCD pojawił się następujący problem, który przedstawiłem tutaj:
    https://www.elektroda.pl/rtvforum/topic688035.html
    Byłbym wdzięczny gdyby kolega mógł się ustosunkować do tego :)

    Pozdrawiam
  • #17
    pmichniewski
    Poziom 18  
    Sprawdzę dokładnie wieczorem, ale na pewno pisałem literki na swoim wyświetlaczu i wszystko działało ok. Z tego, co pamiętam, używałem przy tym zmiany adresowania, ale głowy nie dam...
  • #18
    vonteq666
    Poziom 13  
    Witam

    Problem został rozwiązany. Napisałem od nowa swoją bibliotekę i wszystko działa jak należy. Dziękuję i przepraszam za kłopot.

    Pozdrawiam
  • #19
    CNK
    Poziom 11  
    Adrik, ale trochę to drogo wyszło:
    Mouse: 45 euros
    LCD+driver: 30 euros
  • #20
    vonteq666
    Poziom 13  
    U mnie obrazek (*.bmp) wczytuje się lekko ponad sekundę, efektem czego jest taka oto panna :P :
    LCD od S65 sterowany przez ATmega16.
  • #21
    pmichniewski
    Poziom 18  
    U mnie wczytuje się trochę dłużej, bo mam jakieś dziwne błędy w transmisji (zapewne dlatego, że nie mam kwarcu :) ) i muszę albo zmniejszyć prędkość transmisji albo dołożyć kontrolę błędów...
  • #22
    vonteq666
    Poziom 13  
    A czy kolega wysyłając czeka na jakąś odpowiedź ze strony kontrolera? bo jeśli nie to być może uC nie wyrabia z przetwarzaniem danych i stąd te błędy.
  • #23
    the_one
    Poziom 12  
    takie pytanko czy ten program ze strony Christiana Kranza jest w jakis sposob zalezny od zegara? bedzie dzialac na 8mhz? bo taki wyswitlacz moge kupic w serwisie a sklepu gdzie maja kwarce u mnie w okolicy nie ma ;)
  • #24
    vonteq666
    Poziom 13  
    Ze tego co widziałem w źródłach to będzie działał na każdym zegarze, po prostu będzie działał wolniej na wolniejszym. Ja osobiście w celu optymalizacji kodu zamiast procedury oczekiwania w pętli wstawiłem kilka rozkazów "NOP" oszczędzając tym samym kilka cykli procesora :) tym niemniej jednak uzależniłem z lekka kod od współczynnika preskalera (MCU_CLOCK / SPI_CLOCK)
  • #25
    J_Bravo
    Poziom 27  
    vonteq666 napisał:
    U mnie obrazek (*.bmp) wczytuje się lekko ponad sekundę, efektem czego jest taka oto panna :P :


    ponad sekunde to nadal malo ...daleko do plynnej animacji ...
    czy komus udalo sie osiagnac kilka fps ??
  • #26
    Uszol 1990
    Poziom 29  
    interesuję mnie podłączenie jakiegoś wyświetlacza (wymiary 3cm x 3cm) chodzi mi o zrobienie prostego skanera na imprezki który będzie wyświetlał wzorki ruchome
    i chodzi i o to żeby wgrać np. 8 obrazków gif i żeby one się wyświetlały ewentualne sterowanie przyciskami i przez RS'a :)
    jest to możliwe ?
    pozdrawiam
  • #27
    pmichniewski
    Poziom 18  
    Wyjaśnij dokładnie o co Ci chodzi, bo nie rozumiem. Do czego i jak chcesz ten wyświetlacz podłączyć i jaki to ma związek ze skanerem na imprezy ? Chcesz przepuszczać światło przez ten LCD ?
  • #28
    Uszol 1990
    Poziom 29  
    pmichniewski napisał:
    Chcesz przepuszczać światło przez ten LCD ?


    tak

    O to mi chodzi
    chcę zrobić taki projektor który będzie wyświetlał animacje z pamięci
    albo z kompa (najlepiej)
    nie chcę robić rotacyjnych wzorów bo jest to dość trudne a zrobić taką animacje to banał
    pozdrawiam
    a może macie jakieś lcd takie małe 3x3 żeby podpiąć pod tv-out ?
  • #29
    J_Bravo
    Poziom 27  
    animacje z pamieci ??

    Mi na atmega32 / 8MHz i sprzetowym SPI wyswietla jedna klatke na sekudne ...

    i chyba atmega wiecej nie pociagnie. Wyswietlacz o rozdzielczosci 176/132 i przy 32 bitowej palecie kolorow potrzebuje 743 Kb/klatke.

    Chcac zrobic plynna animacje trzeba minimum 20 klatek/s a to wymaga przeplywu 15Mb/s ....
  • #30
    Uszol 1990
    Poziom 29  
    nie musi być aż tak płynna :D
    1kl/s wystarczyło by :P
    pozdrawiam