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 168713 366
REKLAMA
  • #91 5018515
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Albo ARM z serii SAM7 Atmela:)
  • REKLAMA
  • #92 5031389
    sitec
    Poziom 13  
    Posty: 135
    Ocena: 5
    J_Bravo mozesz podsumować swoje osiągniecia z wyświetlaniem (szybkością) na lcd z S65... Na jakim uC i z jakim zegarem??? No i kod napisany w ASM???
  • #94 5033776
    sitec
    Poziom 13  
    Posty: 135
    Ocena: 5
    A wypełnienie całego obrazu jakimś kolorem lub rysunkiem ile Ci zajmuje???
  • REKLAMA
  • #95 5035378
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    No właśnie, najlepszym punktem odniesienia będzie czas wypełnienia ekranu. U mnie na ARMie przy SPI na około 15MHz trwa to troszkę ponad 100ms. Program w całości mam w C.
  • #96 5036425
    jgrupa
    Poziom 15  
    Posty: 225
    Pomógł: 3
    Ocena: 12
    Mam 2 wyświetlacze do siemensa s55 i tak jak uszol chciałbym zamontować je w skanerze, czy jest to możliwe i czy są schematy do wyświetlacza s55?

    Pozdrawiam jgrupa
  • #97 5038249
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    cały obrazek 2-3fps bascom niestety szybkością nie grzeszy, ale mając dobry pomysł efekty pracy naprawdę zaskakują.

    np.

    http://serwis.tv/scroll_sin.mpg - scrollowany napis
    http://serwis.tv/scroll.mpg - 6 scrolliongow
    http://serwis.tv/termometr.mpg - termometr na bitmapach
    http://serwis.tv/3d_x_n6610.mpg - prosta animacja
    http://serwis.tv/3d_x_s65.mpg - prosta animacja
  • #98 5038273
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    J_Bravo, spodobał mi się Twój termometr:) Jak zrobiłeś te bitmapy i gdzie masz je przechowywane?
  • #99 5038545
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    cyfry w Photoshopie potem je pociąłem i wrzuciłem do flasha. atmega32 ma sporo pamięci i nie trzeba było kombinować z zewnętrzną pamięcią ani eepromem
  • #100 5039152
    greatlukas
    Poziom 14  
    Posty: 122
    Pomógł: 3
    Ocena: 7
    Witam, mam pytanie, czy ktoś robił przetwornice do podświetlania LCD (S65) ale z 3V, a nie z 5V.
    Zrobiłem dokładnie taką jak na ogólnodostępnym schemacie (dławik, dioda, tranzystor) i przy L=680uH maksymalne napiecie jakie udało mi sie uzyskać to 9,5V.
    Proszę o pomoc, bo już wymiękam :(

    procek chodzi na 8MHz

    
    	PORTB &= ~_BV(PB1);
    	DDRB  |= _BV(PB1);
    	TCCR1A = _BV(COM1A1) | _BV(COM1A0) | _BV(WGM11);
    	TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10);
    	TCNT1=0;
    	ICR1   = 160;
    	OCR1A =  25;
    
  • #101 5040447
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    ale 9.5V powinno wystarczyć na podświetlanie tego wyświetlacza...

    w ostateczności można diody podłączyć równolegle. i wtedy do podświetlania wystarczy 3-3.3V
  • #102 5066678
    beq
    Poziom 11  
    Posty: 14
    Jako, że nadal walczę z tym wyświetlaczem, znowu mam kilka pytań :D

    1. Jaki stan na pinie RESET resetuje? 0 czy 1?

    2. Przy wysyłaniu sekwencji startowej (i przy wgrywaniu danych) co jedno słowo ustawiać CS na 1? Jak tak to na ile czasu?

    3. RS przy wysyłaniu sekwencji startowej ma być ustawiony na 1 a przy wysyłaniu danych na 0?

    4. Mam opis wszystkich sekwencji ze strony Christiana Kranza. Tylko nie jestem pewien w którym momencie zacząć wysyłać dane. Czy wysłać wszystko w takiej kolejności jak jest w opisie?
    Tam jest miejsce w którym pisze --- Begin screen transfer, a po nim jeszcze 4 słowa. Co z tym zrobić?
  • #103 5066778
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2815
    A czemu nie wykorzystać jednego z pomysłów i to działających ?

    LCD od S65 sterowany przez ATmega16.
  • REKLAMA
  • #104 5067555
    greatlukas
    Poziom 14  
    Posty: 122
    Pomógł: 3
    Ocena: 7
    -> Freddy właśnie skożystałem z tego schematu, tylko ja mam VCC +3V a nie 5V, próbowałem z innym wypełnieniem i czestotliwościami (przyznam sie sczerze że troche na pałe) ale max to 9,5V - słabiutkie podświetlenie, a przecież ten LCD może świecić jak "latarka" :P
  • #105 5067594
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    greatlukas napisał:
    Witam, mam pytanie, czy ktoś robił przetwornice do podświetlania LCD (S65) ale z 3V, a nie z 5V.
    Zrobiłem dokładnie taką jak na ogólnodostępnym schemacie (dławik, dioda, tranzystor) i przy L=680uH maksymalne napiecie jakie udało mi sie uzyskać to 9,5V.


    Wymień na ~200uH. Ja 9V osiągam przy 100uH. Inna sprawa że trzeba dobrać częstotliwość i wypełnienie ale to można mniej więcej obliczyć lub zasymulować.
  • #106 5070979
    beq
    Poziom 11  
    Posty: 14
    No to ja się może pochwalę tym co udało mi się zrobić.

    Wgrałem dziś obrazek na ten wyświetlacz bezpośrednio podpinając go do portu LPT i zasilając go z USB.
    Sterowanie LPT z poziomu programu napisanego w Javie.
    Obrazek wgrywa się w mniej więcej 1,5 sekundy, ale mam nadzieję, że dam radę go bardziej rozpędzić.

    Projekt jest jeszcze niedopracowany, ale jak tylko wszystko będzie gotowe to wrzucę schematy podpięcia pinów i aplikację do sterowania.
  • REKLAMA
  • #107 5071679
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    beq napisał:

    Obrazek wgrywa się w mniej więcej 1,5 sekundy, ale mam nadzieję, że dam radę go bardziej rozpędzić.


    No nie bardzo, bo po LPT można wysłać dane z szybkością 2MB/s....równolegle, więc wychodzi ~260kbit/s dla pojedynczego pinu co daje ponad klatkę/1s :wink:.
  • #108 5073386
    beq
    Poziom 11  
    Posty: 14
    markosik20 napisał:
    beq napisał:

    Obrazek wgrywa się w mniej więcej 1,5 sekundy, ale mam nadzieję, że dam radę go bardziej rozpędzić.


    No nie bardzo, bo po LPT można wysłać dane z szybkością 2MB/s....równolegle, więc wychodzi ~260kbit/s dla pojedynczego pinu co daje ponad klatkę/1s :wink:.


    No właśnie też dziś to policzyłem...
    Troszkę szkoda, ale na zaliczenie przedmiotu powinno wystarczyć:D
    Ewentualnie mógłbym nadawać w trybie 8-kolorowym bodajże. Zawsze 3-bity na piksel a 16 to jakaś różnica. Tyle że nawet wtedy nie osiągnę płynnej animacji i chyba sobie to odpuszczę.
  • #109 5073565
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    beq napisał:

    Ewentualnie mógłbym nadawać w trybie 8-kolorowym bodajże. Zawsze 3-bity na piksel a 16 to jakaś różnica.


    Dla prędkości przesyłania to żadna róźnica...i tak musisz wysłać 16bit/piksel.
  • #110 5085323
    arus85lbn
    Poziom 12  
    Posty: 50
    Ja chcialbym wyswietlic tylko jeden obrazek na tym wyswietlaczu laczac go z jakas atmega. Czy ktos moglby mnie poratowac jakims programem w C badz chociaz jakimis wskazowkami jak skomunikowac procka z wyswietlaczem gdyz nigdzie nie znalazlem niczego konkretnego. Mile widziany rowniez jakis schemat.
  • #111 5085745
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    arus85lbn napisał:
    Ja chcialbym wyswietlic tylko jeden obrazek na tym wyswietlaczu laczac go z jakas atmega. Czy ktos moglby mnie poratowac jakims programem w C badz chociaz jakimis wskazowkami jak skomunikowac procka z wyswietlaczem gdyz nigdzie nie znalazlem niczego konkretnego. Mile widziany rowniez jakis schemat.

    Może przeczytaj ten temat od początku. W pierwszym poście masz link, w którym znajdziesz schemat oraz gotowe programy napisane w C.
  • #112 5085800
    zygfryd01
    Poziom 12  
    Posty: 48
    Witajcie! Może mógłby ktoś znający się np. na C napisać prosty programik - coś a'la elektroniczna ramka - aby można było zgrać zdjęcia na jakąś kartę i wyświetlać np co 2 sekundy? Nie znam się do końca na tym i proszę - oszczędźcie mnie, jeśli proszę o coś niewykonalnego ;), ale z tego co widzę po przeczytaniu tematu, to może nie jest to aż takie trudne :D. Pozdrowienia
  • #113 5085898
    arus85lbn
    Poziom 12  
    Posty: 50
    don diego napisał:
    arus85lbn napisał:
    Ja chcialbym wyswietlic tylko jeden obrazek na tym wyswietlaczu laczac go z jakas atmega. Czy ktos moglby mnie poratowac jakims programem w C badz chociaz jakimis wskazowkami jak skomunikowac procka z wyswietlaczem gdyz nigdzie nie znalazlem niczego konkretnego. Mile widziany rowniez jakis schemat.

    Może przeczytaj ten temat od początku. W pierwszym poście masz link, w którym znajdziesz schemat oraz gotowe programy napisane w C.


    No tak, niby wszystko jest ale nie moge niestety znalezc w jaki sposob moge wyswietlic zdjecie w formacie BMP. Znalazlem jedynie program wyswietlajacy tekst. Dalbym rade napisac taki program tylko nie wiem jak go "ugryzc" :) Ponad to nie wiem jakiego uzyc stabilizatora na niskie napiecie. Takiego modelu jak jest na schemacie z niemieckiej strony www nie moglem znalezc w sklepie a sprzedawca nie wiedzial jaki moze byc inny stabilizator z 5 na 3V. I w sumie chyba tylko tu tkwi moj problem bez rozwiazania ktorego nie moge dalej ruszyc z tym wyswietlaczem i bylbym wdzieczny za wszelka pomoc :)
  • #115 5086800
    greatlukas
    Poziom 14  
    Posty: 122
    Pomógł: 3
    Ocena: 7
    albo poprostu LM317 - to powinieneś dostać wszędzie, poczytaj karte katalogową i będziesz wiedział jak zrobić 3V :)
  • #116 5086958
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Jeśli chodzi o wyświetlanie BMP, to przerobiłem funkcję, która wypełniała ekran jednym kolorem. W pętli są pobierane dane dla poszczególnych pikseli. Programy do przerabiania BMP na bin były chyba w tym wątku wcześniej zamieszczane.
  • #117 5087096
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    don diego napisał:
    J Programy do przerabiania BMP na bin były chyba w tym wątku wcześniej zamieszczane.


    Ale nic nie trzeba przerabiać, wystarczy poczytać jak zbudowany jest BMP i piksel po pikselu go wyświetlić. Dane hex z bmp poprostu wkleić jako tabelę do kodu źródłowego. Żeby BMP nie zajmowało dużo miejsca wystarczy żeby był w 255 kolorach (bo w 16 to trochę za mało).
  • #118 5087189
    arus85lbn
    Poziom 12  
    Posty: 50
    greatlukas napisał:
    albo poprostu LM317 - to powinieneś dostać wszędzie, poczytaj karte katalogową i będziesz wiedział jak zrobić 3V :)


    no wlasnie tak chcialem zrobic ale slyszalem ze w tym przypadku trudno bedzie otrzymac dokladnie 3V, a poza tym to czy to musi byc dokladnie 2,9V czy tam 3,3V ? :) bo jesli nie to dam te 317 i bedzie po problemie
  • #119 5087220
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    markosik20 napisał:
    piksel po pikselu go wyświetlić. Dane hex z bmp poprostu wkleić jako tabelę do kodu źródłowego.

    No właśnie tak robiłem:) Używałem programu do przerobienia BMP na tablicę HEX o odpowiednim formacie RGB, którą można bezpośrednio wkleić do kodu programu. Masz jakiś inny sposób na wyłuskanie tablicy HEX?
  • #120 5088606
    arus85lbn
    Poziom 12  
    Posty: 50
    Mam jeszcze takie pytanie, otoz jakimi innymi tranzystorami mozna zastapic te ktore wystepuja tutaj na schematach a sa to BSS 84 (przy karcie SD) oraz BSS 123 (przy PWM wyswietlacza). Ponad to czy cewki 220uH i 820uH musza miec dokladnie takie wartosci? Bowiem objezdzilem chyba wszystkie sklepy w miescie i nie udalo mi sie znalezc ani takich tranzystorow ani cewek.

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