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

Prosty projekt z wykorzystaniem Atmega8

Dj Haker 19 Mar 2011 12:41 6896 24
  • #1 9295152
    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ź :)
  • Pomocny post
    #2 9295177
    landy13
    Poziom 31  
    Na wszystkie te pytania odpowiedzi już były.
    Większość tu, tu i tu.
  • #3 9295369
    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 ?
  • #4 9295377
    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.
  • #5 9295433
    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 ?
  • Pomocny post
    #6 9295443
    piotrva
    VIP Zasłużony dla elektroda
    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
  • #7 9295473
    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.
  • #8 9295486
    piotrva
    VIP Zasłużony dla elektroda
    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
  • #9 9295539
    Dj Haker

    Poziom 35  
    Póki co dziękuję za odpowiedzi. Postaram się zaopatrzyć w odpowiednie elementy i napiszę co i jak.
  • #10 9295550
    piotrva
    VIP Zasłużony dla elektroda
    Z miłą chęcią pomożemy początkującemu koledze ;-)
    Dobrze, ze znacz już jakieś języki programowania, bo nauka dzięki temu będzie dużo łatwiejsza.
  • #11 9295808
    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
  • #12 9295843
    piotrva
    VIP Zasłużony dla elektroda
    cóż, wszystko fajnie, ale dla mnie ogromnym minusem jest to, iż całość podłączona na LPT... W nowych PC takiego portu nie ma...
  • #13 9295882
    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.
  • #14 9296215
    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ł.
  • #15 9296246
    piotrva
    VIP Zasłużony dla elektroda
    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Ω
  • #16 9297064
    dondu
    Moderator na urlopie...
    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ą.
  • #17 9309582
    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 ?
  • #18 9310096
    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
  • #19 9310294
    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
  • #21 9310572
    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.
  • #22 9310914
    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ć.
  • #23 9310938
    dondu
    Moderator na urlopie...
    Tak idą do ATMEGi tak jak na twoim schemacie.
    Zauważ jak wpięta jest dioda. 1N4148 - ona zasila programator (74HC244) z zasilania które masz podpięte do ATMEGA (zasilacz, bateria, czy elektrownia atomowa).
  • #24 9312356
    Dj Haker

    Poziom 35  
    Czyli zasilania nie podaję bezpośrednio do pinu 20 tylko przed diodą tak ?
  • #25 9312461
    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.
REKLAMA