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

"uŚciąga" - Atmega32, LCD i karta pamięci

dominon 27 Sty 2011 05:23 61873 134
  • #91
    pier
    Poziom 23  
    U mnie obsługa przycisków też będzie w osobnym programie. A to na szybkiego zostało napisane aby sprawdzić działanie.
  • IGE-XAO
  • #92
    JoMiRo
    Poziom 1  
    Witam Szanownych Kolegów,

    Równiez bawię się tym tematem: ATmega, LCD, karty SD/MMC, SPI.
    Dopiero teraz dotarłem do waszej korespondencji, gratulacje dla Dominika!
    Ale, ale co LCD z Nokii 3100, 6100... itp, kolor taśmy nie jest tak istotny aby rozpoznać rodzaj kontrolera Philips, czy inny. Są i pomarańczowe i zielone (LDS176).
    Dla Philipsa-PCF8833 cecha charakterystyczna mały wąski kontroler (górna część srebrna płytka). Epson-S1D15G00(10) i klony Epsona mają z reguły kontroler prawie dwa razy szerszy i znacznie dłuższy.
    Dla zainteresowanych link do strony gdzie temat jest opisany: http://www.electricstuff.co.uk/noklcd.html
    Pozdrawiam
    JoMiRo
  • #93
    dominon
    Poziom 18  
    Dzięki JoMiRo za rozwinięcie tematu oraz słowa uznania. Na pewno wielu osobom pomoże Twój link oraz opis w rozpoznaniu typu sterownika w LCD. Zachęcam także inne osoby do dzielenia się doświadczeniami w temacie. Jak i zgromadzonymi materiałami.

    Dziękuję i pozdrawiam.
    Dominik Packi
  • #94
    dezinformator
    Poziom 2  
    Jakie wartości powinny mieć elementy L1 i L2? Na schemacie nie zostały one oznaczone.
    pozdrawiam
  • #95
    dominon
    Poziom 18  
    dezinformator napisał:
    Jakie wartości powinny mieć elementy L1 i L2? Na schemacie nie zostały one oznaczone.
    pozdrawiam


    L1: Według opisu tej przetwornicy od 100uH do 470uH ale to trzeba dobrać doświadczalnie tak jak i wartość sygnału PWM. Ja mam 330uH z wylutu z płyty głównej od jakiegoś starego laptopa bo z dostaniem tak małych elementów czasem może być problem.

    L2: Ma wartość 10uH.
  • #96
    zielnony
    Poziom 10  
    Dominiki, czy mógłbyś wrzucić projekt Twojej płytki PCB, bo mam problem z przerobieniem tego schematu na płytkę. Pozdrawiam i gratuluję wspaniałego projektu, bardzo mi się podoba:)
  • #97
    dominon
    Poziom 18  
    zielnony napisał:
    Dominiki, czy mógłbyś wrzucić projekt Twojej płytki PCB, bo mam problem z przerobieniem tego schematu na płytkę. Pozdrawiam i gratuluję wspaniałego projektu, bardzo mi się podoba:)


    Po pierwsze kolego to nie tylko dominon. A po drugie będzie powstawała wersja z naniesionymi poprawkami tak wiec płytki na razie nie będzie. Poza tym skoro nie możesz przerobić schematu na płytkę to wątpliwe żeby moja płytka Ci się udała...

    Pozdrawiam D.P.
  • IGE-XAO
  • #98
    Giero34x
    Poziom 9  
    Planujesz udostępnić wsad do procka?
  • #99
    dominon
    Poziom 18  
    Giero34x napisał:
    Planujesz udostępnić wsad do procka?


    Ze względu na prace nad kolejną (poprawioną i bogatszą) wersją urządzenia, programu źródłowego nie udostępnię w całości. Proszę pytać o interesujące procedury a ja je zamieszczę w formie listingów z komentarzami.
  • #100
    alexyalexy
    Poziom 1  
    witam, na jakim jesteś etapie tworzenia ?
  • #101
    dominon
    Poziom 18  
    Witam.

    Temat troszkę kuleje ale ostatnio mam sporo na głowie a do tego święta...

    Aktualnie kończę schemat. Zastanawiam się jeszcze jak rozwiązać zasilanie ponieważ wpadło mi w ręce parę ciekawych not katalogowych od układów zasilania.
    Kolejną trudnością będzie inicjacja dość niewdzięcznego sterownika S1D15G00 (Epson). Znalazłem tylko jeden w miarę konkretny artykuł w internecie. Co ciekawe po polsku :!:

    Obsługa wyświetlacza telefonu Nokia 6100 ze sterownikiem Epson S1D15G00

    Jeżeli ktoś miał już do czynienia z tym sterownikiem nie koniecznie w Bascom'ie może być C to było by bardzo pomocne gdyby dołączył swoje materiały do tematu. Za pomocne rady odwdzięczyć się mogę tylko punktami oraz pełną dokumentacją do urządzenia która po zakończeniu zostanie umieszczona w tym lub nowym temacie.

    Pozdrawiam i życzę smacznego jajka oraz mokrego ubrania w poniedziałek :D
    Dominik P.
  • #102
    Giero34x
    Poziom 9  
    Jak prace nad ową kolejną wersją? Studenci czekają z niecierpliwością. :D
  • #103
    dominon
    Poziom 18  
    Aktualnie oczekuje na dostawę wyświetlaczy OLED. Oprogramowanie docelowo ma powstać w C. Jednak dopiero zaczynam naukę tego języka. W Bascom'em jest problem ze stosem co powoduje że praca urządzenia nie jest stabilna. Głównie procedura tworząca listę plików. Rozważam także użycie dodatkowego EEPROM'u jako bufora lub do przechowywania większych zmiennych.

    Miło widziane wszystkie sugestie.
  • #104
    Giero34x
    Poziom 9  
    Co to za model i jak sie sprawują w praktyce, bo domniemam że już z nich korzystasz ? :D

    Ja również zamówiłem kiedyś fajne OLED'y 128 x 32 ale bardzo topornie idzie mi z nimi praca przez ich sterownik SSD1306.

    Jak ogólne postępy w projekcie? Wykorzystujesz jakieś niekonwencjonalne rozwiązania?

    Pozdrawiam.
  • #105
    dominon
    Poziom 18  
    Giero34x napisał:
    Co to za model i jak się sprawują w praktyce, bo domniemam że już z nich korzystasz ?


    OLED'y faktycznie doszły, jednak ich uruchomienie nie jest wcale takie proste jak myślałem. Są to bowiem całe panele przednie z MP3 (zdjęcie poniżej) razem z elektroniką przycisków dotykowych.
    "uŚciąga" - Atmega32, LCD i karta pamięci

    Na taśmie wyświetlacza widnieje napis SSD1338U2. Niestety nie ma do nich wiele dokumentacji. Aktualnie wysłałem zapytanie do producenta. Jedyne co udało mi się znaleźć to bardzo ogólna nota prawdopodobnie do tych wyświetlaczy. Zamieszczam ją w załączniku.

    Identyczne złącze jak i ilość pinów ma sterownik SSD1339. Jednak różni się nazwami niektórych pinów a co za tym idzie ich funkcjami... Może któryś z kolegów pomógł by w poszukiwaniach albo może chociaż podpowiedział za co odpowiedzialne są piny: CL, VDDB? Resztę można wywnioskować z dokumentacji SSD1339.

    Pozdrawiam Dominik P.
  • #106
    Giero34x
    Poziom 9  
    Jak wyżej wspominając, ja pracuje na wyświetlaczu na sterowniku SSD1306 i w moim przypadku(cytuje):

    CL - This is external clock input pin.
    When internal clock is enabled (i.e. HIGH in CLS pin), this pin is not used and should be
    connected to VSS. When internal clock is disabled (i.e. LOW in CLS pin), this pin is the
    external clock source input pin.


    VDDB - Power supply voltage for DC/DC.
  • #107
    dominon
    Poziom 18  
    Dzięki Giero34x.

    Jutro dokończę płytkę prototypową do tych wyświetlaczy i zrobię pierwsze próby podłączenia. Myślę że koło środy napisze jak poszło. Sekwencję inicjującą wezmę z noty SSD1335 ponieważ mają tyle samo linii danych i wg. informacji na stronie producenta zostały wprowadzone razem.

    Artykuł na stronie producenta: LINK
  • #108
    zulugula
    Poziom 15  
    Witam wszystkich
    Ostatnio zacząłem uruchamiać kartę sd i wszystko ładnie działa, jak zarazie pliki txt.
    Tylko mam pytanie jak odtworzyć większy plik? to znaczy chyba chodzi o drugi sektor.
    mam na karcie plik txt a w nim kolejno
    linia1 qwertyu
    linia2 qwertyu
    ....
    i tak 50 Lini , cały plik zajmuje ponad 800b a z tego co wiem avr-dos odczytuje po 512b a co z resztą?
    Komendą line input wyświetlam kolejno linie od 1 do 31, i przeskakuje od 1 do 20.

    Już wiem gdzie był błąd kartę mam podpiętą na prowizorycznej płytce i sygnał z danymi mam podpięty przez przycisk , żebym nie musiał wyciągać karty podczas programowania...
    Po skończeniu bufora buforuje się kolejna część :) i tylko muszę mieć ten przycisk zwarty :)
  • #109
    miachu
    Poziom 9  
    Witam mam do ciebie prośbę czy mógłbyś wrzucić cały kod bo nijak nie mogę sobie poradzić z kartą sd? Wyświetlacz uruchomiłem od strzała :D a to ustrojstwo nie może się ze mną dogadać byłbym bardzo wdzięczny.
  • #110
    Giero34x
    Poziom 9  
    Jak tam projekt. Na jakim jesteś etapie? Czy może już się z nim uporałeś? Jeśli tak to nie mogę doczekać się publikacji.

    Pozdrawiam.
  • #111
    dominon
    Poziom 18  
    Trochę to trwało ale skończyłem projekt płytki do kolejnej wersji. Nie będzie ona jednak używała OLED'a ze sterownikiem SSD1338 a SSD1335. Więcej informacji jak już coś zacznie działać. Generalnie karta micro-sd i OLED będą śmigać po SPI (oba po hardware'owym) wybór pinem CS. Ładowanie z USB (niestety tylko ładowanie, tak żeby było co rozwijać potem). No i przede wszystkim szybkość ładowania obrazków i innych elementów ma być dużo większa niż dotychczas. To tyle ze wstępnych założeń.

    Do usłyszenia (postaram się żeby na kolejne newsy nie trzeba było długo czekać).



    Dodano: 22.12.2011

    No i mamy okres przedświąteczny. Aby nie pisać post pod postem nowinki dopisuję w starym. Tak więc prace nad kolejną wersją zajęły mi prawie tydzień głównie ze względu na czas którego jak zawsze brakuje.

    Ale może do rzeczy. Wyświetlacz ze sterownikiem SSD1335 okazał się wadliwy tak wiec na szybko zorganizowałem się i zakupiłem odtwarzacz w którym siedzi poprzednik (SS1338). Taki manewr pozwolił mi na sprawdzenie 85szt które akurat mam. Testy wyszły zadowalająco gdyż jedynie 15 wyświetlaczy nie włączyło się wcale, 30 miało drobne wady uszkodzony jeden rząd/szereg bądź dominował kolor czerwony (ta ostatnia usterka może być skorygowana prawdopodobnie w trakcie inicjacji). Jak łatwo policzyć w pełni sprawnych pozostało 40szt. :D

    Wszystko fajnie ale oczywiście jeżeli ktoś szukał noty do sterownika SSD1338 przekona się że to wcale nie takie łatwe. Głównie potrzebowałem komend do jego inicjalizacji. Jakimś cudem na jednej z tych stron gdzie piszą tymi fajnymi krzaczkami (Chiny, Japonia, albo jeszcze jakaś inna, nie istotne) znalazłem ładnie spakowana notę wraz z dwoma przykładami implementacji na interfejs 8080 8-bit i 16-bit. Wszystko wraz z przykładowym kodem. W moim przypadku nie ma niestety miejsca na żaden z nich wiec jedynym rozwiązaniem jest SPI. No i zaczęły się schody...

    Tak wiec proszę pomóżcie. Komendy które wysyłam są identyczne jak te dla interfejsu 8080 8-bit tylko wysłane po SPI. Interfejs ustawiam pinami BS(0-2) w moim przypadku oba ściągnięte do masy.
    Próbowałem już:
    - Różnych trybów SPI
    - Rożnych prędkości SPI
    - Sprawdzałem podłączenie na ciągłość i poprawność

    Efekty:
    Czasem przy wgrywaniu wsadu do proca wyświetlacz mignie z różnymi szlaczkami i przy tym pierwszym włączeniu po wgraniu soft'u potrafi generować różne inne szlaczki co może wskazywać na to że jakieś dane do niego wchodzą. Niżej wrzucam program oraz notę katalogową wraz z przykładami które były wymienione wyżej.

    Główny plik main.c
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Plik z konfiguracją podłączenia hardware'u (poza SPI)
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Plik inicjujący OLED i SPI
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Plik ustawiający podłączenie OLED'a do mikroprocesora
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • #112
    dominon
    Poziom 18  
    Wybaczcie post pod postem ale osoby obserwujące temat po edycji ostatniego postu prawdopodobnie nie otrzymały informacji o tej zmianie i stąd brak odpowiedzi. Jak na razie temat nie drgnął :-(
  • #113
    creative301
    Poziom 9  
    Jak trudne jest wykonanie tego, jak można to poproszę jeszcze o liste zakupów i czas działania wersji z wyświetlaczem nokii bo takie coś chce zrobić a płytke na allegro można zamówić.
  • #114
    dominon
    Poziom 18  
    creative301 napisał:
    Jak trudne jest wykonanie tego, jak można to poproszę jeszcze o listę zakupów i czas działania wersji z wyświetlaczem nokii bo takie coś chce zrobić a płytkę na allegro można zamówić.


    Trudność wykonania ciężko jest ocenić bo nie wiem jak małe rzeczy kolega potrafi lutować. Tutaj wszystkie rezystory i kondensatory są w obudowach 0603 za wyjątkiem dwóch tantalowych w SMD o rozmiarze B. złącze od wyświetlacza też ma bardzo mały raster. Do tego przelotki... Zanim kolega się weźmie za projekt warto się zastanowić.

    Czas działania to około jeden dzień krótko bo wyświetlacz prądożerny.

    Płytkę jak i oprogramowanie do swojej wersji musisz zrobić samemu, wytłumaczenie znajdziesz w temacie.


    Korzystając z okazji zrobię szybki update postępu prac nad nową wersją z OLED 'em.

    Przekopując numery EP natrafiłem na trzy bardzo interesujące kolejno: 12/2010, 01/2011 i 02/2011.
    Są tam przykłady obsługi sterowników SSD i wyświetlaczy OLED. Jeden w BASCOM na AVR po interfejsie 8080, drugi w C na jakimś STM32 po programowym SPI. W opisach obu znalazłem kilka ciekawych rzeczy wartych rozważenia. Prędkość programowego SPI jest wolniejsza od tego w zaimplementowanego w procesor. Mamy za to większy wpływ na kolejność podawanych sygnałów co może okazać się powodem dla którego wyświetlacz nie chciał się uruchomić.

    Porównam także wartości wpisywane do rejestrów wyświetlacza w trakcie inicjacji z noty aplikacyjnej którą wrzuciłem wyżej i te które inicjują OLED oprogramowany w BASCOM.
  • #115
    creative301
    Poziom 9  
    Może jednak poczekam na wersje OLED ale ide ona pochodzi i czy funkcjonalność sie zmieni oraz jaka cena bo ekran do nokii 3100 kosztuje 15zł
  • #116
    dominon
    Poziom 18  
    Ciężko mi jest teraz ocenić żywotność nowej wersji ale w założeniach jest planowane około 3-5 dni pracy. Będzie to wymagało kilku rozwiązań mających ograniczenie poboru energii w trakcie "spoczynku" urządzenia takie jak wyłączenie wysokiego napięcia panela OLED lub przejście kontrolera w stan czuwania.

    Funkcjonalność nie powinna się zmienić, liczę nawet na poprawę szybkości i stabilności działania programu. Oprogramowanie jak już wspominałem pisane jest w C.
  • #117
    creative301
    Poziom 9  
    A koszty?

    PS:
    A może być Turbo Pascal?
  • #118
    dominon
    Poziom 18  
    Koszty jeszcze się ustalają, głównie zależeć będą od kosztów OLED 'a i akumulatora. Koszt panela OLED waha się między 45 - 90pln za to akumulator w tej wersji powinien być znacznie tańszy niż ten od iPoda.

    Myśląc o oprogramowaniu myślałem o wsadzie do procesora, ale kompilator na AVR z Pascala tez widziałem.


    Dodano: 25.02.2012

    Nareszcie udało mi się uruchomić wyświetlacz OLED ze sterownikiem SSD1338U2. Teraz dalsze prace powinny nabrać prędkości. Aktualnie Atmega32 i blok logiczny OLED 'a pracuje na 3,3V. Natomiast wysokie napięcie dla sterowników rzędów i kolumn wynosi 17V (generowane przez przetwornicę z 3,3V). Mikrokontroler pracuje na wewnętrznym oscylatorze 8MHz ale przeprowadzałem też próby z zewnętrznym kwarcem 12MHz i również działał stabilnie.
    Kolejny etap to napisanie procedur obsługi czcionek i inicjacji systemu plików fat32 dla kart pamięci. Jednocześnie powinien ukształtować się ostateczny schemat całości.

    Jutro postaram się nagrać krótki filmik i go zamieścić.
  • #119
    creative301
    Poziom 9  
    dominon napisał:
    Jutro postaram się nagrać krótki filmik i go zamieścić.


    A "Jutro" bedzie też schemat oraz jakie częśći potrzebne

    PS:
    Napisałeś, że ekrana waha się 45-90 zł a na allegro 200zł (jeżeli możesz to poprosze o podanie miejsca[strony] zakupu). Naprawde zależy mi na cenie gdyż mam ograniczony budżet. I jak to zaprogramować jak wtyk do porogramowania zrobić bo niekażdy wie.
  • #120
    dominon
    Poziom 18  
    creative301 napisał:

    A "Jutro" bedzie też schemat oraz jakie częśći potrzebne

    PS:
    Napisałeś, że ekrana waha się 45-90 zł a na allegro 200zł (jeżeli możesz to poprosze o podanie miejsca[strony] zakupu). Naprawde zależy mi na cenie gdyż mam ograniczony budżet. I jak to zaprogramować jak wtyk do porogramowania zrobić bo niekażdy wie.


    Dziś pojawi się filmik. Schematu na razie nie będzie z przyczyn oczywistych. Dopiero udało mi się uruchomić wyświetlacz na "pająka" tak więc ostateczna płytka będzie dopiero projektowana w najbliższych dniach. Co do cen wyświetlaczy to na allegro nie znalazłem żadnych OLED'ów. Niech kolega sprawdzi w hurtowni elektronicznej a nie serwisie aukcyjnym. Chociażby TME, Farnell itp.

    Filmik


    Link



    Na filmiku prosty program żeby tylko sprawdzić poprawność wyświetlanych kolorów. Między zmianami jest 2sek pauza (celowo) no i rzecz jasna w rzeczywistości nie widać żadnego migotania obrazu, jest to po części wina aparatu i techniki sterowania diodami panelu (PWM).