logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

LCD od S65 sterowany przez ATmega16.

pmichniewski 28 Sty 2006 15:11 168701 366
REKLAMA
  • #31 3671676
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    tylko ze tę klatke "rysuje" w 1 sekunde a nie wyswietla ...;)

    efekt jest niestety fatalny ....

    pozostaje chyba jedynie ARM albo PLD
  • REKLAMA
  • #32 3673021
    pmichniewski
    Poziom 18  
    Posty: 242
    Pomógł: 22
    Ocena: 5
    J_Bravo napisał:
    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 ....


    32-bitowej ? Ten wyświetlacz ma 16-bitowy kolor... 20 klatek osiągniesz już przy 8 Mbit/s, co jest wykonalne przy sprzętowym SPI. W sumie niewiele większą przepustowość (raptem 13 Mbit/s) osiąga telefon, więc nie jest źle.
  • #33 3673080
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    Więc panowie jest realne to co ja wymyśliłem ?
    pozdrawiam
  • #34 3673379
    pmichniewski
    Poziom 18  
    Posty: 242
    Pomógł: 22
    Ocena: 5
    Mówiąc krótko - nie bardzo.
  • #35 3674066
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    fakt. wyswietlacz ma 16 bitowa palete barw ...

    sprzetowy clockrate ma minimalny clockrate = 4 czyli zeby osiagnac 8Mb/s trzeba procesor taktowac 32MHz. .. chyba ze cos przegapilem ....
  • #36 3674285
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    hmm ja sie na tym nie znam :p hihi :D
    tylko pytam
    Ale może jest jakiś sposób na to bo jakoś na telefonach to działa :P
    pozdrawiam
  • #37 3675566
    pmichniewski
    Poziom 18  
    Posty: 242
    Pomógł: 22
    Ocena: 5
    J_Bravo napisał:
    fakt. wyswietlacz ma 16 bitowa palete barw ...

    sprzetowy clockrate ma minimalny clockrate = 4 czyli zeby osiagnac 8Mb/s trzeba procesor taktowac 32MHz. .. chyba ze cos przegapilem ....


    Jest jeszcze coś takiego jak SPI2X, który zwiększa szybkość SPI do 1/2 częstotliwości pracy procka.
  • REKLAMA
  • #38 3675694
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    wiesz ja chodzę do 1kl tech. info.
    na razie to nic nie rozumie z tego
    pozdrawiam
  • #39 3675871
    pmichniewski
    Poziom 18  
    Posty: 242
    Pomógł: 22
    Ocena: 5
    Wiesz... zależy co tak naprawdę chcesz zrealizować. Jeśli chcesz zwykłą animację, to się da (tylko trzeba wziąć pod uwagę, że musisz podłączyć jakąś dodatkową pamięć pod procka).

    Natomiast przepuszczanie przez taki wyświetlacz światła i robienie z niego projektora mija się z celem, ponieważ nie jest on do tego zaprojektowany i uszkodzisz wyświetlacz nie uzyskując i tak pożądanego efektu.
  • #40 3675973
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    hmmm to co można by zastosować żeby prosto wyświetlić animację i zastosować w projektorze ?
    pozdrawiam
  • #41 3988558
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    A mnie się udało przekroczyć 13Mbit/s... i wyświetlacz już nie nadążył :(.
    Podkręciłem Atmegę do 30Mhz przy 5,4V i niestety musiałem zejść do 26Mhz bo przy tym kwarcu przy najszybszym SPI LCD jeszcze działa :)
  • #42 3989912
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    markosik20:

    super. pozostaje jeszcze kwestia obliczeń danych do wysłania.
    ile wyciągasz pełnych klatek na sekundę ?
    jaka atmega ?
    jaki język programowania ?
    jaki pobór prądu przez procesor ?
  • #43 3990198
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Narazie jest wszystko testowane :wink:
    uK to Atmega8 ,język C w AVR-GCC, narazie piszę funkcje rysujące (kwadraty, kółka, proste animacje). Mam zamiar podłączyć kartę SD i z niej wysyłać dane bezpośrednio do LCD. Kupiłem dzisiaj kwarc 48Mhz i...Atmega ruszyła...tylko nie wiem czy to jest rzeczywiście 48Mhz (a nie mam czym sprawdzić) :).
  • #44 3991643
    Fobos319
    Poziom 15  
    Posty: 179
    Pomógł: 7
    Ocena: 40
    witam najprostrza ,etoda sprawdzenia czy atmega ruszyla to sprawdzenie fusbitow :) ( czy bie jest na wew Xtalu )
    2 sposob to zmierzyc prad pobierany prza up i porownac z pradem prz Xtalu np 16Mhz :)
  • #45 3991865
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    No mnie bardziej chodziło o to czy kwarc podpięty pod Atmege to rzeczywiscie te 48Mhz (na pewno chodzi na kwarcu bo jak go wylutuję to Atmega stoi). Ale po wlutowaniu kilku wartosci okazało się że najszybciej chodzi właśnie na tych 48Mhz (wysłanie 46kB na LCD to tylko mrugnięcie :) ale musze zmierzyć ile dokładnie ms :wink: )
  • #46 3992305
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    myślę ze jakby program napisać w aseblerze to i kwarc 10-16MHz by wystarczył ...
  • REKLAMA
  • #47 3993249
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    No nie wiem czy na 16Mhz można uzyskac efekt (kolorowy deszczyk) taki jak na filmiku (od razu przepraszam za jakość).
    Okręgi są generowane w czasie rzeczywistym.

    link
  • #48 3994697
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    :O :P szczęka opada :)
    bardzo ładnie :D
    mi sie podoba
    duży koszt jest takie coś zmontować ? i czy można by zapisać kilka obrazków i żeby sie zmieniały same albo sterowanie z pc ?
    pozdrawiam bardzo ciekawy projekt :)
  • REKLAMA
  • #49 3994755
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Docelowo Atmega będzie pobierać dane z karty SD i wysyłać do LCD (może się nawet uda to zrobic bezposrednio z SD do LCD a Atmega tylko to pokieruje :wink: ). Dane na SD będzie można wgrać programem z PC (np: zdjęcia, grafikę a może nawet jakiś plik AVI - czytaj dane z pliku avi :wink:) narazie to testuje.
  • #50 3995078
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    a była by możliwość zapodania softa i schematu :P ??
    pozdrawiam
  • #51 4028002
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Pierwsze wyniki są obiecujące :).
    Atmega8 chodzi na 24Mhz (bo jak wiecej dostanie to sie automatycznie przełącza na wew. oscylator). Fakt, grzeje się ale jakoś wytrzymuje. Zapodany filmik to odczyt poszczególnych bmp z karty SD. Obsługa wymaga jeszcze udoskonalenia (małe zgaszone piksele :wink: ) ale narazie całe 10taktów zegara Atmega traci na zamianę 24bitowego koloru na 16bitowy dla każdego piksela więc można jeszcze to wszystko przyspieszyć (około 10-razy szybciej bo jeszcze dochodzi inny szybszy, sposób odczytu danych z karty).

    link do filmiku 8,9MB

    Przez ten czas trwania "filmiku" (24s) jest wyświetlonych 94 obrazki wiec wychodzi jakieś 3,5klatki/sek ....a da się jeszcze szybciej :wink:
    Załączniki:
    • LCD od S65 sterowany przez ATmega16. sam.JPG (46.58 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #52 4028082
    byrrt
    Poziom 21  
    Posty: 726
    Pomógł: 2
    Ocena: 833
    Dla mnie świetna sprawa... Chociażby wykonanie czegoś w rodzaju ramki do zdjęć.. Byłbym zainteresowany wykonaniem czegoś takiego - gdybyś tylko publikował układ w pełnej formie byłbym bardzo zainteresowany :)

    Pozdrawiam
  • #53 4029134
    mariuz
    Poziom 31  
    Posty: 1772
    Pomógł: 141
    Ocena: 108
    No właśnie :D

    Zmontować taką rameczke za 100zł to "bardzo wyczyn" :D
    podpinam się pod prośbę. Wrzuć jakiś schemat ideowy (nawet na papierze rozpiskę) to przemodze to na ideowy+ montażowy w eaglu.
    Dopiszesz soft, żeby raz na pół minuty zmieniał obrazek z karty SD i powstanie ramka do zdjęć. Patrząc po postępie prac to dużo ci nie zajmie taki soft ;)

    I podaj wymiary wyświetlacza(zewnętrzne) żebym nie zrobił czasem większej płytki ;)
  • #54 4029421
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    to moze zapisz BMP z 16nitowa paletą kolorow. Zyskasz cale 10 taktow.

    a co do filmiku to jestem pod wrazeniem.
  • #55 4029696
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Jest jeden szkopuł 16 bitowy kolor na kompie to nie to samo co dla tego LCD...
    Format z pc to 6-bitów RED, 5-G, 5-B...
    W przypadku tego LCD 5-R, 6-G, 5-B...
  • #56 4031909
    seba_x
    Poziom 31  
    Posty: 2071
    Pomógł: 29
    Ocena: 112
    pubus napisał:
    Jest jeden szkopuł 16 bitowy kolor na kompie to nie to samo co dla tego LCD...
    Format z pc to 6-bitów RED, 5-G, 5-B...
    W przypadku tego LCD 5-R, 6-G, 5-B...


    to może łatwiej będzie napisać konwerter obrazków na PC a potem wysłać do uP
  • #57 4042746
    tarpiote
    Poziom 12  
    Posty: 27
    Pomógł: 2
    markosik20, czy mógłbyś napisać jak rozwiązałeś problem zasilania podświetlenia wyświetlacza? Zastosowałeś przetwornicę impulsową taką jak na stronie o obsłudze wyświetlacza? Jeśli tak jak dobrałeś jej parametry? I czy stosujesz dla wyświetlacza jedno zasilanie? 2.9V czy może 3.3 czy jeszcze inaczej?

    pozdrawiam :)
  • #58 4043644
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Witam ponownie.
    Cytat:
    to może łatwiej będzie napisać konwerter obrazków na PC a potem wysłać do uP

    Tak też zrobiłem tylko musiałem sie na szybkiego nauczyć C++ dla PC :wink:.
    Rezultaty jakie uzyskałem są całkiem zadawalające. Ten sam filmik już prawie płynnie się wyświetla. Pozostaje jeszcze połączenie tych bmp w jeden plik (coby Atmega po każdej klatce nie musiała skakać w sektor alokacji plików i szukać gdzie jest następna klatka do wyświetlenia :wink:). Zyska sie na tym prawie ~800x8 taktów zegara na klatkę.
    SPI jest tylko buforem między LCD a SD (w jednym czasie odbiera następny i wysyła poprzedni bajt). Co do zasilania całości to zrobiłem to na przetwornicy (układ chodzi od 4 do 15V). Z wyjścia (~12V) jest zrobione 5V dla Atmegi i 3V na LM317 dla LCD i SD a między nimi 74LVC244. Może nie jest to zbyt optymalne rozwiązanie ale nie chcialem żeby Atmega zajmowała się jeszcze obsługą PWM dla podświetlenia LCD'ka. Jak pozbieram to wszystko w całość (schemat) to załączę, bo na razie sam nie wiem gdzie co mam :wink:.
    Z pozdr.
    MK
    C.D.N.

    link do filmiku 3,8MB
  • #59 4043944
    tarpiote
    Poziom 12  
    Posty: 27
    Pomógł: 2
    Wow, świetny efekt :-) Imponujące ;-)
    Dzięki za odpowiedź o tym napięciu, choć miałem na myśli co innego (przetwornicę z 5V na 12V.. zrobioną z PWM, cewki, diody shottkiego i kondensatora wewnątrz wyświetlacza..).
    Co do łączenia bmp w jeden plik.. możesz stworzyć dla tego urządzenia specjalny format, bo przecież zawsze będzie taki sam rozmiar obrazka i głębia koloru, i plik mógłby wyglądać np tak że byłyby tam tylko informacje o kolorach kolejnych pikseli, a układ po zakończeniu pierwszego obrazka po prostu od razu napotykałby pierwszy bajt następnego...
  • #60 4044040
    Uszol 1990
    Poziom 29  
    Posty: 1570
    Pomógł: 41
    Ocena: 72
    z niecierpliwością czekam na schemat :D
    mogę PCB zaprojektować :)
    pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy sterowania wyświetlaczem LCD Siemens S65 (model LS020) za pomocą mikrokontrolera ATmega16 oraz innych układów AVR i ARM. Autor projektu wykorzystał kod źródłowy Christiana Kranza, modyfikując go pod kątem kalibracji oscylatora i protokołu transmisji z kontrolą CRC16, aby poprawić stabilność komunikacji przez port szeregowy. Wątek porusza kwestie podłączenia wyświetlacza, zasilania podświetlenia (stosowanie przetwornic impulsowych, LM317, napięć 2.9V-3.3V), oraz problemów z prędkością transmisji danych i błędami wynikającymi z zakłóceń elektromagnetycznych. Dyskutowano o alternatywach dla RS232, takich jak USB z układem FT245BM, oraz o planach migracji na procesory ARM (np. LPC2103) dla zwiększenia wydajności i szybkości SPI (do 20-30 MHz).

Wielu uczestników dzieliło się doświadczeniami z wyświetlaniem grafik BMP i animacji, wskazując na ograniczenia prędkości transmisji i konieczność optymalizacji kodu (np. asembler, sprzętowe SPI, buforowanie danych z karty SD). Poruszono też temat konwersji obrazów do formatu zgodnego z wyświetlaczem (16-bitowa paleta kolorów 5R-6G-5B) oraz narzędzi do generowania tablic danych w C. Wspomniano o problemach z dostępnością elementów, takich jak tranzystory BSS84, BSS123, cewki indukcyjne oraz stabilizatory 3.3V, a także o projektach schematów i płytek PCB w Eagle.

Dyskusja obejmuje również praktyczne zastosowania, takie jak elektroniczne ramki na zdjęcia, wyświetlanie parametrów sprzętu, proste animacje, a nawet oscyloskop na bazie wyświetlacza S65. Użytkownicy wymieniali się linkami do filmów prezentujących efekty działania, kodów źródłowych i schematów. Podkreślono, że wyświetlacz działa poprawnie bez podświetlenia, przy zasilaniu 3.3V, a podświetlenie wymaga osobnego zasilania i sterowania PWM. Wskazano, że prędkość transmisji i stabilność działania zależą od taktowania mikrokontrolera, jakości protokołu komunikacji oraz zastosowanego sprzętu.

Podsumowując, projekt sterowania LCD S65 za pomocą ATmegi jest wykonalny, ale wymaga starannego doboru elementów, optymalizacji oprogramowania i odpowiedniego zasilania, a dla bardziej zaawansowanych zastosowań rekomendowane jest użycie szybszych mikrokontrolerów ARM i interfejsów SPI o wysokiej prędkości.
Wygenerowane przez model językowy.
REKLAMA