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 168695 366
REKLAMA
  • #301 9201445
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    drzasiek: A może łatwiej będzie przejść na inną rodzine procesorów? Na STM32 wyświetlacze od S65 śmigają z szybkością kilkudziesięciu klatek na sekundę.
  • REKLAMA
  • #302 9201729
    pier
    Poziom 24  
    Posty: 2446
    Pomógł: 40
    Ocena: 1893
    Drzasiek napisał:

    Udało się komuś uruchomić LCD L2F50 po dzielnikach napięcia z 5V na 16MHz?
    Mam taki LCD z siemensa CX75, na atmedze 8 działa mi ładnie nawet na przetaktowanej na 26MHz, ale robię troszkę poważniejszy projekt i mi pasuje atmega 128, wersja L nie bardzo wchodzi w grę bo mi zależy na częstotliwości (chodzi o odświeżanie ekranu), dałem dzielnik na małych rezystancjach 330 do 470R uzyskując z 5V przekładkę na 2.9V, takie same dzielniki zostały podłączone na liniach jak i do zasilania LCD ale niestety LCD nie rusza na takich dzielnikach, czy ktoś jakoś uruchomił na dzielnikach taki LCD z 5V?


    Myślę że problemem jest zasilanie lcd z dzielnika rezystorowego. Dzielniki na liniach sterujących ok ale zasilanie ze stabilizatora np LM1117 3.3V.
  • REKLAMA
  • #303 9201843
    drzasiek
    Specjalista CNC
    Posty: 2212
    Pomógł: 106
    Ocena: 3233
    Dzięki za odp, nie dopatrzyłem sobie, że mam M128A, więc już całość poleciała po stabilizatorze 3,3V i działa. Co do STM itp to na wszystko przyjdzie czas, w AVR siedzę dopiero niewiele ponad 2 miesiące więc jak opanuję AVR to wtedy przerzucę się na inne.
  • #304 9212983
    drzasiek
    Specjalista CNC
    Posty: 2212
    Pomógł: 106
    Ocena: 3233
    Witam ponownie.
    Piszę znowu w sprawie LCD z siemensa i M128. Czy ktoś uruchamiał ten LCD na M128? Głównie chodzi mi o LCD ze sterownikiem L2F50. Ja używam bibliotek kolegi saper_2, uniwersalne biblioteki pod wszystkie typy sterowników, na M8 i M32 działają a na M128 nie chcą się kompilować. Do tej pory omijałem to, kompilując pod M32 a potem zmieniając w MAKE na M128 i wtedy programowałem i działało. Ale potrzebuję uruchomić ADC i niestety nie da się już kompilować pod M32 chociażby przez to, że wejścia ADC w M128 są pod portem F.. Zmieniałem w avr/iom32 makrodefinicje, kopiowałem te od M128 dotyczące ADC ale dalej nie działa. Już nie mam cierpliwości do tego, ktoś na forum pytał o taki sam problem z bibliotekami od saper_2 i też mu nie działały na M128, jeden z elektrodowiczów powiedział, że może być to związane z trybem adresowania pamięci w M128, pytałem autora bibliotek, też mi to powiedział. Ma ktoś może biblioteki które kompilują się pod M128?
  • #305 9491497
    Pawel365
    Poziom 11  
    Posty: 38
    Ocena: 1
    Witam.

    Mam problem z działaniem wyświetlacza ls020.
    Podpiołem go do atmegi644p ( w bibliotece ze stronki http://superkranz.de/christian/S65_Display/DisplaySoftware.html w pliku lcd.h zmieniłem porty na odpowiadające im w mojej atmedze) i nic bały ekran..
    Trzeba jeszcze gdzies cos zmienic????

    układ podłaczony jak na schemacie na tej stronce... kwarc podpiety...
  • #306 9491596
    drzasiek
    Specjalista CNC
    Posty: 2212
    Pomógł: 106
    Ocena: 3233
    Biblioteki ze strony kranza mają sprzętowe SPI które jest skonfigurowane pod Atmegę 128. Wyprowadzenia sprzętowego SPI nie koniecznie się muszą zgadzać we wszystkich Atmegach.. Sprawdź na których M644 ma SPI (MOSI, SCK, SS) i tam podepnij. I zmień na te właśnie porty i inicjalizację SPI również sprawdź czy się zgadza (przykład w C powinieneś mieć w datasheet do Atmegi)
  • REKLAMA
  • #309 9513456
    Pawel365
    Poziom 11  
    Posty: 38
    Ocena: 1
    A powiedzcie mi, czemu w bibliotekach od "kranza" trzeba deklarować miso, jak nigdzie się go nie podpina... Męczę się już trochę i nie mogę ogarnąć mojego LS020.

    Zmieniłem porty oraz inicjalizację SPI, bo w 644p jest inna i nic.

    Wrzuciłem to, co mam też na ATmegę16, ale też nic (oczywiście obsługuje SPI) zostawiłem taką sama jak w 128).

    Mógłby ktoś napisać, jak u siebie zdefiniował porty (bo ATmega 16 i 32, i moja 644 mają tak samo porty) bądź gotową bibliotekę na M16. Oczywiście w C.

    Bo może to jednak wina wyświetlacza...

    Z góry dziękuję.
  • #310 9516589
    sweter_007
    Poziom 14  
    Posty: 139
    Pomógł: 3
    Ocena: 15
    Witam. Próbuję podświetlić wyświetlacz za pomocą PWM (schemat ze strony http://www.superkranz.de/christian/S65_Display/DisplayHardware.html).

    LCD od S65 sterowany przez ATmega16.

    Zakupiłem tranzystory 2N7000 oraz BS108. Oba powinny działać. Zamiast BAT54 użyłem BAT85, oraz cewki 1mH. Po podłączeniu zasilania tranzystor grzeje się niemiłosiernie(oparzyłem się). I mam pytanie, czy w tym układzie z BSS123 do cewki jest podłączony dren? czy jednak dren idzie do masy ? Zrobiłem, że dren idzie do cewki i się grzeje.
    Powinno być 47% wypełnienia przy 62.5kHz.
    Przy zegarze atmegi8 na 14.7456Mhz i ustawieniu PWM:
    PORTB &=~(1 << PB1);
    DDRB |= (1 << PB1);
    TCCR1A = (1<<WGM11) | (1<<COM1A1) | (1<<COM1A0);
    TCCR1B = (1<<CS10) | (1<<WGM13) | (1<<WGM12);
    ICR1 = 236;
    OCR1A = 111;
    uzyskuję 4.3V klapa:/

    EDIT:
    Udało się. Tranzystor grzał się ,ponieważ nie graniczyłem prądu. Trzeba dać rezystancje szeregowo miedzy cewkę a +5V(dałem 220ohm).
    Dla ustawień:
    ICR1 = 20;
    OCR1A = 7;
    uzyskuję 10.55V (jak uzyskam więcej to napiszę)
    Jednak co mnie BARDZO zdziwiło to,że musiałem zamienić dren ze źródłem aby układ działał prawidłowo...ma ktoś na to wyjaśnienie? Jednak umiem czytać noty katalogowe i prawidłowo zinterpretowałem końcówki tranzystora.
  • #311 9517853
    Pawel365
    Poziom 11  
    Posty: 38
    Ocena: 1
    Z dzielnika napięcia, jaki jest na liniach danych wychodzi napięcie 2,8 V, a nie powinno być wyższe??
  • #312 9713835
    sweter_007
    Poziom 14  
    Posty: 139
    Pomógł: 3
    Ocena: 15
    Witam. Mam problem z podświetlaniem ekranu. Przetwornica ze strony: http://www.superkranz.de/christian/S65_Display/DisplayHardware.html
    działa prawidłowo. Jednak wygląda na to, że podczas włączonego przebiegu PWM nie mogę wysyłać prawidłowo danych do wyświetlacza...
    Zrobiłem test. Po kolei:
    inicjuję wyświetlacz -> rysuję linię -> czekam sekundę -> załączam generowanie PWM -> czekam sekundę -> rysuję drugą linię
    Po załączeniu PWM widać na ekranie pierwszą linię. Po sekundzie, kiedy ma być narysowana druga linia wyświetlacz "szaleje"(albo robi się biały, lub innego koloru, albo inne dziwne efekty)
    Jeśli jednak odłączę połączenie podświetlenia LED+, i po wykonaniu tego testu znowu podłączę(fizyczne połączenie, PWM jest załączany po pierwszej linii) to na wyświetlaczu widoczne są dwie linie.
    Jeśli generacje PWM dam przed inicjacją wyświetlacza. Wyświetlacz również szaleje przy wysyłaniu danych.
    Jeśli podłączę woltomierz do zacisków LED+ oraz GND(pokazuje 10.5V) test wykonuje się prawidłowo(wszystko działa jak należy), czyli po sekundzie załącza się podświetlenie z widoczną pierwszą linią, po drugiej sekundzie pokazuje się kolejna linia.
    Jeśli do zasilanie LED używam 12V (+opornik) z zasilacza komputerowego również wszystko działa.
    Jeśli podłączę równolegle do wyjścia przetwornicy drugie podświetlenie LED(od innego wyświetlacza) również działa.
    Co może być przyczyną takiego stanu rzeczy?

    EDIT:
    Udało się rozwiązać problem. Zmieniłem ustawienia generacji przebiegu PWM. Najbardziej znaczącą zmianą była zamiana ustawienia "Set OC1A on Compare Match" na "Clear OC1A on Compare Match"
    PORTB &=~(1 << PB1);
    DDRB |= (1 << PB1);
    TCCR1A = (1<<WGM10) | (1<<COM1A1);
    TCCR1B = (1<<CS10) | (1<<WGM12);
    OCR1A = 120;
  • REKLAMA
  • #313 9714289
    Krzysiek007
    Poziom 20  
    Posty: 528
    Pomógł: 13
    Ocena: 53
    Kondensatory odsprzęgające 100nF przy uP i LCD są?
  • #314 9868474
    regn0l
    Poziom 11  
    Posty: 27
    A ja mam pytanie czy komuś udało się uruchomić ten lcd przy zasilaniu 3,3V? Będę miał układ oparty na akumulatorku li-pol 3,7V, a ze schematów wynika, że do cewki dochodzi 5V. Czy będę w stanie otrzymać wymagane 10V z groszami?
  • #315 9869298
    Krzysiek007
    Poziom 20  
    Posty: 528
    Pomógł: 13
    Ocena: 53
    Ja do podświetlenia użyłem mc34063a aplikacja step-up i zaczynała podświetlać lcd grubo poniżej 3V na zasilaniu mc34063a
    (też w swoim projekcie mam zamiar użyć li-pol.).
  • #316 9977804
    regn0l
    Poziom 11  
    Posty: 27
    Czy ktoś mógłby mi łopatologicznie wyjaśnić jak działa ta przetwornica do podświetlenia ze strony superkranz.de? Tzn. dlaczego tam jest ta dioda Schottky'ego i dlaczego woltomierz pokazuje mi wyższy potencjał na jej katodzie?
  • #318 9978439
    regn0l
    Poziom 11  
    Posty: 27
    Ok, zasada jest tam wyjaśniona i to już znalazłem wcześniej. Wyszukałem też, że dioda to tzw. flyback, czyli dioda zabezpieczająca, ale przecież taka dioda jest połączona katodą i anodą z cewką - np. w przekaźnikach. A tu tylko anodą, więc jak działa to zabezpieczenie?
  • #319 9978885
    Konto nie istnieje
    Poziom 1  
  • #320 9978999
    regn0l
    Poziom 11  
    Posty: 27
    Czyli rozumiem, że w tym układzie kondensator znajduje się w środku lcd jak napisane jest na stronie i jest to 'block capacitor'? I dioda blokuje upływ prądu z tego kondensatora przez pracujący tranzystor?
  • #321 9979403
    Konto nie istnieje
    Poziom 1  
  • #322 10090246
    gaspaccio
    Poziom 20  
    Posty: 327
    Pomógł: 35
    Ocena: 93
    Udało mi się wstępnie uruchomić wyświetlacz L2F50. wyświetla napisy i linie, ale napotkałem coś na co nie mogę znaleźć odpowiedzi.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Chciałem przetestować kolory i mam ich 256 (8bit)
    LCD od S65 sterowany przez ATmega16.
    Wyświetlacz obsługuje kolor 16bit ale jak go do tego zmusić? Dla tekstu nie ma to właściwie znaczenia, ale obrazki stają się niewyraźne.

    Wygląda to tak, że ze zmiennej kolor wysyłane jest 8 najmłodszych bitów. Dlaczego?
  • #324 10196691
    Konto nie istnieje
    Poziom 1  
  • #326 10197208
    Konto nie istnieje
    Poziom 1  
  • #328 10201001
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    snnaap: Jaka ilość wyświetlaczy cie interesuje? Alternatywy są od 2 do 4 cali. Zależy co cie interesuje.

    gaspaccio: biblioteka LCD-EPSON_L2F50_C.LBX obsługuje tylko tyle kolorów. Jeśli chcesz więcej to napisz sobie obsługę wyświetlacza sam.
  • #329 10201287
    snnaap
    Poziom 25  
    Posty: 677
    Pomógł: 83
    Ocena: 10
    J_Bravo napisał:
    snnaap: Jaka ilość wyświetlaczy cie interesuje? Alternatywy są od 2 do 4 cali. Zależy co cie interesuje.

    gaspaccio: biblioteka LCD-EPSON_L2F50_C.LBX obsługuje tylko tyle kolorów. Jeśli chcesz więcej to napisz sobie obsługę wyświetlacza sam.


    Wiem że można 2 lub 4 cale zamiast tego maleństwa, tylko zastanowić się trzeba czy avr to obsłuży i jakim kosztem oraz z jaką szybkością. Ważna też jest ilość wyprowadzeń potrzebnych do sterownia.
    W moim przypadku dotychczas nie robiłem projektu do którego byłby potrzebna "aż" 2'' wyświetlacz.
    Ale tak z ciekawości jaki jest popularny 2'' łatwy w obsłudze - najlepiej z bogatym opisem na elektrodzie ??
  • #330 10201502
    Konto nie istnieje
    Poziom 1  

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