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

Prosty projekt z wykorzystaniem Atmega8

Dj Haker 19 Mar 2011 12:41 6335 24
  • #1 19 Mar 2011 12:41
    Dj Haker
    Poziom 35  

    Witam. Ostatnio na praktykach uczyłem się programować komputery przemysłowe PLC. Ponieważ bardzo mi się to spodobało postanowiłem, że nauczę się programować inne układy.

    Chciałbym zaprogramować układ w taki sposób aby na wyświetlaczu ukazał się tekst, który wprowadzimy podczas tworzenia programu.

    Nie wiem czy mnie dobrze zrozumieliście.

    Chciałbym wiedzieć co potrzębuję.
    Programator - jaki ?
    Mikroprocesor - jaki ? Czy Atmega8 wystarczy ?
    Wyświetlacz - Jaki ?

    Chciałbym zacząć zabawę z mikrokontrolerami jednak chciabłym zacząć od podstaw czyli jako 1szy cel obrałem właśnie wyświetlenie tekstu - stworzenie programu, który wyświetli tekst.

    Mam jeszcze pytanie. Czy jest możliwość aby stworzyć / zaprogramować układ, który wyświetli na ekranie utwór który aktualnie odtwarzany jest na komputerze ? Układ byłby podłączony do komputera za pomocą USB.

    Pozdrawiam i czekam na odpowiedź :)

    0 24
  • Arrow Multisolution Day
  • Pomocny post
    #2 19 Mar 2011 12:47
    landy13
    Poziom 29  

    Na wszystkie te pytania odpowiedzi już były.
    Większość tu, tu i tu.

    0
  • Arrow Multisolution Day
  • #3 19 Mar 2011 13:37
    Dj Haker
    Poziom 35  

    Przeglądałem wcześniej te tematy, jednak każdy proponował inny układ, każdy proponował inny programator, tak samo sprawa ma się z oprogramowaniem i językiem programowania. W tych tematach układy miały pełnić inną rolę.

    Chciałbym aby ktoś udzielił mi jasnych odpowiedzi:
    - Czy może to być układ Atmega8 ?
    - Czy programator STK 200/300 będzie dobry aby zaprogramować taki układ ?
    - Jaki wyświetlacz ?

    0
  • #4 19 Mar 2011 13:39
    tadzik85
    Poziom 38  

    Eh! Kolego! Mega8 może być ale sprawdź sobie ceny i jeśli już weź nowszą 88.
    Programator może być jak masz port LPT.
    Wyświetlacz. Przejrzyj sklepy.

    0
  • #5 19 Mar 2011 13:52
    Dj Haker
    Poziom 35  

    W pobliskim sklepie dostępny jest układ:

    ATMega8-16PU DIP28

    8kB-FL 1kB-RAM 512B-EE 23I/O ISP 4,5÷5,5V 3xtimer 6A/D UART SPI RTC -40÷85°C Zamiennik dla: ATMEGA8-16PC, ATMEGA8-16PI, AT90S4433-8PC, AT90S4433-8PI

    Co do programatora. Posiadam port LPT więc nie ma z tym problemu.

    Do tego programatora potrzebna jest także płytka na której mocujemy układ Atmega ?

    0
  • Pomocny post
    #6 19 Mar 2011 13:54
    piotrva
    Moderator na urlopie...

    Na początek najlepiej albo kup sobie płytkę testową (np. http://www.zestawyuruchomieniowe.pl/product.php?id_product=20 lub http://sklep.atnel.pl/opis/964750/plytka-testowa-avr-atb-rev101.html )
    albo:
    1. procesor (tylko nie mega8, błagam - droga, przereklamowana, stosunkowo uboga) polecam np. atmega168/328/644p (ostatni dosyć rozbudowany, 2 uarty na pokładzie) Tym lepszy procesor to na bardziej rozbudowane eksperymenty starczy i można wykorzystać jako uniwersalną platformę testową.
    2. programator - np. jakiś klon stk500, najlepiej ze sprzętowym konwerterem usb<>rs232 lub stk200/300 (ten drugi idealny i tani bo masz lpt w PC)
    3. płytkę stykową - na niej podłączysz zasilanie do procesora, programator i wyświetlacz
    4. wyświetlacz polecam zacząć od 16*2 na sterowniku hd44780 lub zgodnym
    5. przejściówkę usb<>rs232ttl na układzie ft232RL lub konwerter rs232<>rs232ttl (na układzie max232), jeśli masz w komputerze port COM - posłuży do komunikacji z komputerem
    6. garść elementów (diody, przyciski, rezystory, tranzystory, ...) - czyli wszystko co może być potrzebne do przyszłej nauki bardziej rozbudowanej niż wyświetlanie tekstu na LCD

    Ewentualnie zawsze kolega może polutować coś na płytce uniwersalnej, zamiast montować na stykowej

    do nauki programowania (bo rozumiem, że o samej elektronice pojęcie masz i prawidła nie są Ci obce) polecam książkę: http://sklep.atnel.pl/opis/1919346/ksiazka-mi...olery-avr-jezyk-c-podstawy-programowania.html

    Co do pytania o program wyświetlający nazwę utworu to da się to zrobić, ale musisz wtedy napisać zarówno program na procesor jak i na komputer, które będą się ze sobą komunikowały np. za pomocom wspomnianej przejściówki na układzie ft232rl

    0
  • #7 19 Mar 2011 14:00
    Dj Haker
    Poziom 35  

    Takiej odpowiedzi oczekiwałem. Wielkie dzięki :)
    Znam podstawy języka C++ i Pascal więc myślę, że nie było by z tym problemów.

    Ja liczyłem, że to będzie wyglądało tak:
    1 płytka: programator
    2 płytka: na niej umieszczamy atmegę i podłączamy ją do programatora. Po wgraniu oprogramowania układ wyciągamy ( byłby zamontowany na podstawce, tak jak niektóre układy bios w komputerach PC )
    3 płytka: zaprogramowany układ + wyświetlacz, ewentualnie jakieś potrzebne elementy.

    Chodziło mi o to, że gdybym chciał kiedyś stworzyć jakieś inne płytki to mógłbym posługiwać się tylko jednym mikroprocesorem.

    0
  • #8 19 Mar 2011 14:04
    piotrva
    Moderator na urlopie...

    Dj Haker napisał:
    Takiej odpowiedzi oczekiwałem. Wielkie dzięki :)
    Znam podstawy języka C++ i Pascal więc myślę, że nie było by z tym problemów.

    Ja liczyłem, że to będzie wyglądało tak:
    1 płytka: programator
    2 płytka: na niej umieszczamy atmegę i podłączamy ją do programatora. Po wgraniu oprogramowania układ wyciągamy ( byłby zamontowany na podstawce, tak jak niektóre układy bios w komputerach PC )
    3 płytka: zaprogramowany układ + wyświetlacz, ewentualnie jakieś potrzebne elementy.

    Chodziło mi o to, że gdybym chciał kiedyś stworzyć jakieś inne płytki to mógłbym posługiwać się tylko jednym mikroprocesorem.


    tak to wyglądało kiedyś, n lat temu, gdy królowały procesory z rodziny 8051. teraz procesory mają ISP (In System Programming - programowanie w układzie) i nie ma konieczności ich wymontowywania. Oczywiście możesz sobie polutować takie podstawki i wkładać wyjmować mikrokontroler, ale:
    1. jak zrobisz to nieumiejętnie to połamiesz nogi i kośc do śmieci
    2. podstawki ZIF (specjalnie do częstego przepinania) kosztują tyle co nowy procesor tej klasy
    3. wygodniej mieć kilka procesorów :D

    0
  • #9 19 Mar 2011 14:15
    Dj Haker
    Poziom 35  

    Póki co dziękuję za odpowiedzi. Postaram się zaopatrzyć w odpowiednie elementy i napiszę co i jak.

    0
  • #11 19 Mar 2011 15:20
    Dj Haker
    Poziom 35  

    Witam ponownie. Znalazłem w internecie program LCD Smartie 5

    LCD Smartie jest oprogramowaniem służącym do obsługi wyświetlacza LCD z interface'm do PC'a. Aplikacja umożliwia wyświetlanie na LCD np. informacji dot. Winampa, Internetu, sieci, statystyk serwerów gier, sprzętu. Program daje użytkownikowi ogromne możliwości konfiguracyjne.


    Przykładowe działanie znajduje się tutaj:
    http://www.youtube.com/watch?v=Z878gcUWQeQ&feature=related

    Mniej więcej o podobny efekt mi chodziło :)


    Edit: Czy poniższy schemat jest prawidłowy ?
    http://www.realitynet.pl/articles/lcd/schemat_2.jpg

    0
  • #13 19 Mar 2011 15:41
    Dj Haker
    Poziom 35  

    Tak wiem ale chciałem to wszystko testować na starych maszynach po to by w przypadku złego podłączenia nie uszkodzić nowego sprzętu.

    Do czego służy 16 pin wyświetlacza i jaka wartość opornika powinna się znaleźć ( R1 ) ? Nie chcę przesadzić z jego wartością by na dzień dobry nie spalić LCD.

    0
  • #14 19 Mar 2011 16:51
    Samuraj
    Poziom 35  

    15 i 16 to podświetlenie - zazwyczaj. Najlepiej poszukaj pdf'a do konkretnego wyświetlacza i będziesz wiedzieć co jest na którym pinie.
    Co do płytki prototypowej proponuje zakupić płytkę stykową i trochę elementów. Wyjdzie taniej niż dedykowane zestawy uruchomieniowe.
    Dodatkowo możesz sobie podłączyć dowolny element a nie tylko łączyć przewodami te które są na płytce.
    Jednocześnie możemy zakupy rozłożyć w czasie. Dziś kupisz mikrokontroler i wyświetlacz LCD, za miesiąc jakieś wyświetlacza LED a za jakiś czas to co w danej chwili potrzebujesz. Zakupując gotowy zestaw musisz jednorazowo zapłacić za całość a mogą tam być elementy z których nigdy nie będziesz korzystał.

    0
  • #15 19 Mar 2011 16:59
    piotrva
    Moderator na urlopie...

    Samuraj napisał:
    15 i 16 to podświetlenie - zazwyczaj. Najlepiej poszukaj pdf'a do konkretnego wyświetlacza i będziesz wiedzieć co jest na którym pinie.
    Co do płytki prototypowej proponuje zakupić płytkę stykową i trochę elementów. Wyjdzie taniej niż dedykowane zestawy uruchomieniowe.
    Dodatkowo możesz sobie podłączyć dowolny element a nie tylko łączyć przewodami te które są na płytce.
    Jednocześnie możemy zakupy rozłożyć w czasie. Dziś kupisz mikrokontroler i wyświetlacz LCD, za miesiąc jakieś wyświetlacza LED a za jakiś czas to w danej chwili potrzebujesz. Zakupując gotowy zestaw musisz jednorazowo zapłacić za całość a mogą tam być elementy z których nigdy nie będziesz korzystał.

    Co od płytek testowych to zgadzam się w większości, jedynym minusem płytki stykowej jest konieczność liczenia pinów. co do tego rezystora to on ogranicza prąd podświetlania, żeby nie spalić portu komputera. Poeksperymentuj z wartościami zaczynając od ok 50-100Ω

    0
  • #16 19 Mar 2011 19:58
    dondu
    Moderator Mikrokontrolery Projektowanie

    piotrva napisał:
    1. procesor (tylko nie mega8, błagam - droga, przereklamowana, stosunkowo uboga)

    A ja przekornie:
    - dla 1 sztuki 2 zł nie robi wielkiej różnicy.
    - na ATMEGA8 znajdziesz setki, a może nawet tysiące projektów (z dowolnego zakresu) w sieci, gdzie pobrany kod od razu będzie działać i to jest kolosalna zaleta właśnie tego procesora.

    Dodano po 3 [minuty]:

    Dj Haker napisał:
    ... chciałem to wszystko testować na starych maszynach po to by w przypadku złego podłączenia nie uszkodzić nowego sprzętu.

    Dlatego procesor w obudowie DIP + płytka stykowa + parę elementów(LED, switch itp) + LCD jest bezpieczną i elastyczną opcją.

    0
  • #17 22 Mar 2011 19:26
    Dj Haker
    Poziom 35  

    Witam. Niestety nie udało mi się zakupić wyświetlacza. Zbuduję więc sam programator i spróbuję wrzucić jakiś program.

    Proszę mi tylko powiedzieć czy do 20pinu ( tego układu na programatorze ) mam doprowadzić dodatkowe zasilanie +5V ?

    0
  • #18 22 Mar 2011 20:37
    Szumlus
    Poziom 17  

    Witam,

    Napięcie +5V służy do zasilania układu docelowego (np. w USBasp) bądź programatora (np. pod LPT stk200/300).
    Tak czy inaczej łączysz +5V programatora z +5V układu i zawsze będzie śmigać.


    Pozdrawiam

    0
  • #19 22 Mar 2011 21:06
    Dj Haker
    Poziom 35  

    Albo ja CIebie albo ty mnie źle zrozumiałeś.

    Czy port LPT zasila programator STK200 ?

    Czytałem w internecie, że czasem trzeba ten programator zasilić dodatkowym napięciem +5V, stąd moje pytanie czy podać takie napięcie a jeśli tak czy na 20 pin...

    Pozdrawiam

    0
  • #21 22 Mar 2011 21:44
    mirekk36
    Poziom 42  

    Dj Haker napisał:

    Czytałem w internecie, że czasem trzeba ten programator zasilić dodatkowym napięciem +5V,


    Czasem trzeba ? ;) tzn że czasem nie trzeba i bez zasilania będzie działać ? ;)

    .... nie ma że czasem, zawsze trzeba zasilać z zewnątrz programator STK200. Widać to chyba dokładnie na schemacie który wyżej pokazał kolega.

    0
  • #22 22 Mar 2011 22:40
    Dj Haker
    Poziom 35  

    A czy te piny: POWER, RESET itd nie idą czasem do płytki z Atmegą ?

    W sieci jest kilka schematów dla STK200, np taki:

    Prosty projekt z wykorzystaniem Atmega8

    Cytat:

    Czasem trzeba ? Wink tzn że czasem nie trzeba i bez zasilania będzie działać ? Wink


    Ktoś pisał tutaj na tym forum, że "czasem LPT nie zasila programatora". Wydawało mi się to dziwne więc wolałem się upewnić.

    0
  • #24 23 Mar 2011 13:22
    Dj Haker
    Poziom 35  

    Czyli zasilania nie podaję bezpośrednio do pinu 20 tylko przed diodą tak ?

    0
  • #25 23 Mar 2011 13:52
    Samuraj
    Poziom 35  

    Zasilanie podajesz na 2 pin gniazda opisanego jako "Target circuit", masa to odpowiednio piny 4,6,8,10 resztę widać na schemacie.

    0