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

Płytka Testowa ATmega 8 do oceny

21 Mar 2020 11:16 588 15
  • Poziom 4  
    Witam wszystkich.
    Zajmuję się elektroniką od jakiegoś czasu ale nadal określam się jako początkujący, więc proszę o wyrozumiałość. Nadszedł czas na stworzenie płytki testowej, gdyż testowanie układów na płytce prototypowej stało się już uprzykrzające. O to podstawowe założenia i kilka kwestii/pytań dotyczących niektórych modułów.
    Schemat:
    Płytka Testowa ATmega 8 do oceny


    Poniżej moduły na mojej płytce:

    Moduł 1; Zasilanie + Filtracja:
    • Regulator napięcia na 5v i 3.3 V: Zworką ustawia się napięcie na płytce
    Pytanie: Czy tak to powinno być zrobione?
    • Wyjścia na Goldpinach na napięcie 3,3V i 5V
    • Zasilanie przez gniazdo DC 2.1 x 5 oraz Przez Gniazdo ARK

    Moduł 2; Atmega 8 + KANDA:
    • Mikrokontroler Atmega 8 + Filtracja
    Tutaj testowałem, i jest w porządku. Ewentualnie zastanawiam się nad wstawieniem zworki, w miejscu wyjścia reset, aby nie kolidowała z oprogramowaniem mikroprocesora. Proszę o poradę w tej kwestii.

    Moduł 3; Diody i Klawiatura

    • 8x tact switch: zmiana opcji na wyświetlaczu
    • 8 diody Led: Pokazywanie stanów
    • 1 Dioda RGB: Pokazanie różnych kolorów diody

    Nie przypadkowo jest tu 8 diod i 8 tact switchy. Słyszałem kiedyś o płytce gdzie własnie diody pokazywały standy poszczególnych stanów bitów w bajcie. Odnośnie tact switchy, zastanawiam się czy 8 to nie za dużo i czy w ogóle już nie pójść w drugą stronę i zrobić 16 klawiszową klawiaturę

    Moduł 4; Wyświetlacz 7-segm
    • 4 wyświetlacze 7-segmentowe wspólna anoda: Wyświetlanie rożnych funkcjonalności z mikrokontrolera
    Testowałem na płytce prototypowej - działa

    Moduł 5; LCD HD44780 Blue 2x16
    • Podstawka pod wyświetlacz LCD 2x16. Tu mam pytanie, jestem pewien, że podpinam dobrze wyświetlacz, ale nie ma w ogóle podświetlenia. Wiem, też że akurat mogę mieść serię bez podświetlenia tego wyświetlacza, jeżeli tak, da się to jakoś sprawdzić?

    Moduł 6; Buzzer i Przekaźnik
    • Buzzer z generatorem: Wydawanie dźwięku
    • 2x Przekaźnik 5V: Podpięcie zewnętrznych urządzeń w celu sterowania nimi

    Moduł 7; Dodatkowy uC
    • Podstawka pod dodatkowy uC + Wyprowadzenia + GND i VCC na goldpinach :

    Moduł 8; RTC; Zegar czasu rzeczywistego
    • Zegar DS1307 + koszyk na baterie
    Nie testowałem połączeń gdyż nie dostałem jeszcze zamówienia z potrzebnymi komponentami.

    Moduł 9; Złącze RS-232
    • Gniazdo kątowe D-SUB 9(RS-232)
    • Konwerter MAX232N – THT
    Nie testowałem połączeń gdyż nie dostałem jeszcze zamówienia z potrzebnymi komponentami.

    Wiem, że na płytce znajduje się dużo rzeczy i że można by utworzyć to modułami i dopiero podpinać pod płytkę stykową, ale przyjąłem sobie takie założenie, ze chce mieć wszystko w jednym miejscu.
    Nie wymyśliłem tego wszystkiego sam, korzystałem z wiedz internetu.

    Schemat wykonałem w programie KiCAD. Jak tylko zatwierdzę, że schemat jest prawidłowy toi przechodzę do zaprojektowania płytki pcb.
  • BotlandBotland
  • Poziom 4  
    Cześć,
    UART, czyli wyjscie TXD i RXD? Zostały bezpośrednio wpięte do pinów PD0 i PD1 w mikro-kontrolerze.
    dasej napisał:
    I2C, UART, SPI
    i
    dasej napisał:
    A symulacja pracy z baterii?
    byłbym wdzięczny jakbyś mógł rozwinąć
  • BotlandBotland
  • Poziom 36  
    To co robisz to wynajdywanie koła po raz enty.
    Kup za grosze Arduino Uno z Mega328 na pokładzie a do tego dokup moduły rozszerzeń: np schield z wyświetlaczem LED, potem kup gotowy schield CNC z gotowymi stickerami.
    Będziesz już daleko do przodu w programowaniu a tu zanim coś zrobisz to już będzie czegoś brakowało i takie przeprojektowywanie będzie trwało w nieskończoność.
  • Poziom 4  
    eurotips napisał:
    To co robisz to wynajdywanie koła po raz enty.
    Kup za grosze Arduino Uno z Mega328 na pokładzie a do tego dokup moduły rozszerzeń: np schield z wyświetlaczem LED, potem kup gotowy schield CNC z gotowymi stickerami.
    Będziesz już daleko do przodu w programowaniu a tu zanim coś zrobisz to już będzie czegoś brakowało i takie przeprojektowywanie będzie trwało w nieskończoność.


    Dzięki, być może kiedyś kupie ale najpierw chciałbym skończyć to co zacząłem.
  • Moderator Mikrokontrolery Projektowanie
    @Adall_PL Jak już się upierasz przy budowie takiej płytki (przejrzyj historię, było kilka wątków na ten temat, warto je przeczytać zanim zaczniesz tracić czas na kolejną płytkę), to kup sobie chociaż jakiś dev board od Atmela/Microchipa, typu Xplained mini, są też takie na PCB w formacie odpowiadającym DIP - możesz je użyć ze swoją płytką, dzięki temu zamiast archaizmu typu ATMega8 będziesz miał nieco lepszy MCU, co w sumie jest bez większego znaczenia. Ale co ma znaczenie - będziesz miał od razu zintegrowany programator i przede wszystkim debugger. Robienie dev boarda bez debuggera IMHO kompletnie mija się z celem. Poza tym zamiast co raz rzadziej używanego RS232 (jeszcze żyje jakoś UART-TTL), dodaj przejściówkę UART-USB, np. na FT232.
  • Poziom 30  
    ATMEGA8 to chyba najgorszy możliwy wybór, jeden z nielicznych mikrokontrolerów AVR nie posiadający opcji debugowania.

    Osobiście do takiej płytki wybrałbym ATMEGA4809 z najnowszej serii magaAVR-0.
    Układ jest dostępny w obudowie DIP, aktualnie chyba nawet tańszy niż ATMEGA8.
    Do programowania i debugowania zrobiłbym złącze zgodne ze SNAPem.
  • Poziom 4  
    Ok. To tak, do tej płytki testowej można podłączyć inne mikrokontrolery w obudowie DIP 28 z rodziny ATmega. Wiec ATmega328, ATmega88PA etc. W tytule dałem ATmega 8, ponieważ mam tych miktrokontrolerow kilka, nabyłem je niedawno z dobra cenę z chin.
    tmf napisał:
    Poza tym zamiast co raz rzadziej używanego RS232 (jeszcze żyje jakoś UART-TTL), dodaj przejściówkę UART-USB, np. na FT232.
    Tutaj, nie bardzo rozumiem? Jak to zaprojektować? W internecie widzę ze jest taki konwerter z wyjściami na 6 pinów: VCC, GND, TXD, RXD, RTS, CTS. I ok, mogę je wyprowadzić pod to złącze ale @tmf mógłbyś pokazać na schemacie jak by to miałoby być połączone? i rozumiem ze ta końcówka(FT232) zastępuje wejście DSUB-9
  • Pomocny post
    Poziom 17  
    O ile wszystkie posty kolegów są poprawne to dziwię się, że nikt nie poinformował o błędach.
    Dam wędkę, nie rybę. Podpowiem gdzie szukać błędu ale nie wskażę dokładnego miejsca aby kolega Adall_PL nauczył się przy okazji czytać dokumentację.

    Dokument: http://ww1.microchip.com/downloads/en/AppNotes/00002519A.pdf
    Z tego co zdążyłem zauważyć:
    1. L1 jest źle wpięty - strona 20 masz przykład poprawnego podłączenia. Co prawda jest inna ATMega ale zasada jest taka sama
    2. Przycisk RESET jest niezgodnie z zaleceniami. Na stronach 7 i 8 masz dokładnie jak należy podłączyć
    3. MAX232N nie zadziała przy 3,3V
    4. Kondensatory przy MAX232 są nieprawidłowe wartości oraz są braki. Sprawdź dokumentację: http://www.ti.com/lit/ds/symlink/max232.pdf

    Już nie mam czasu aby sprawdzać dalej ale ja zawsze robię w ten sposób, że zostawiam projekt na dłużej i potem podchodzę jeszcze raz. Powodzenia!
  • Poziom 4  
    Ok poprawiłem schemat wg zaleceń @Mscichu. Mam teraz dylemat z komunikacja , jeśli RS232 jest coraz rzadziej używany, to czy dobrym pomysłem byłoby zrezygnowanie z niego całkiem i zakupienia konwertera FT232 USB UART RS232, wyprowadzenia odpowiednich pinów i zrobienia dla niego miejsca na zamontowanie na pcb?
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Adall_PL napisał:
    jeśli RS232 jest coraz rzadziej używany, to czy dobrym pomysłem byłoby zrezygnowanie z niego całkiem i zakupienia konwertera FT232 USB UART RS232, wyprowadzenia odpowiednich pinów i zrobienia dla niego miejsca na zamontowanie na pcb?

    Zdecydowanie tak. Sam UART jest używany często, ale co raz rzadziej w wersji RS232 - czyli z transceiwerem i poziomami +/-12V.
  • Poziom 4  
    Mam jeszcze pytanie już odnośnie konwertera FT232. Wg wszelkich źródeł podłącza się pin TXD(uC) z pinem RXD(FT232) i pin RXD(uC) z pinem TXD w FT232.
    Płytka Testowa ATmega 8 do oceny
    I teraz pytanie:
    Czy piny w konwerterze FT232 są już przystosowane żeby do nich podłączyć odpowiednio: TXD do TXD(uC) oraz RXD do RXD(uC), czy mam sam zadbać o prawidłowe podłączenie? ( Czyli że podłączam na odwrót)
  • Moderator Mikrokontrolery Projektowanie
    W UART zawsze łączyć TxD z RxD i RxD z TxD. Także musisz skrosować połączenia.
    Co do procesora - przejrzyj ofertę płytek curiosity nano i pomyśl jak którąś z nich dostosować do twoich potrzeb. Przy okazji niejako będziesz miał załatwioną sprawę konwersji UART-USB.
  • Poziom 32  
    Jak już projektujesz płytę to daj własny konwerter np. FT230 tańszy od FT232

    Finalnie moja płyta testowa ATmega644 wygląda tak

    Płytka Testowa ATmega 8 do oceny

    Jak już skończysz soją płytę testową to dojdziesz do wniosku że nie spełnia twoich oczekiwań.
  • Poziom 4  
    Chodzi o to, że FT230 i FT232 są tańsze w gotowych modułach niż jako gołe klocki. Więc wole dołożyć moduł i wyprowadzić odpowiednie piny już do uC w mojej płycie testowej. Dzięki wielkie za pomoc.
  • Poziom 32  
    To w jakim celu to robisz. Kup stykówkę i po temacie.

    Dodano po 2 [minuty]:

    Adall_PL napisał:
    Chodzi o to, że FT230 i FT232 są tańsze w gotowych modułach niż jako gołe klocki. Więc wole dołożyć moduł i wyprowadzić odpowiednie piny już do uC w mojej płycie testowej. Dzięki wielkie za pomoc.


    Ale to są chińskie podróby i niektóre nie dają się konfigurować.