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

Jak zasilić ATmega8 i FT232RL napięciem 3.3V z RFM12B?

stardamos 09 Sty 2013 21:12 9630 32
REKLAMA
  • #1 11766640
    stardamos
    Poziom 9  
    Posty: 13
    Witam wszystkich

    Przepraszam z góry jeśli temat nie znajduje się w odpowiednim dziale, ale jestem początkującym użytkownikiem forum i myślę że to odpowiedni dział.

    Dużo już czytałem na forum na temat połączenia układu scalonego FT232RL połączonego z ATmega8 ale żaden z postów nie zadowolił mnie informacjami, które chciałem uzyskać.

    Mianowicie chciałbym połączyć się z z komputerem PC poprzez USB z mikrokontrolerem ATmega8. Nie było by problemu jeśli zasilał bym cału układ napięciem 5v. Niestety w skład mojego układu wchodzi jeszcze transeiver RFM12B, który może być zasilany maksymalnym napięciem 3.6V z tego też względu całość zasilam napięciem 3.3V (również mikrokontroler). (przegapiłem fakt że są produkowane również takie RFM, które można zasilić napięciem 5V).

    Problem polega na tym, że chciałbym wykorzystać układ scalony FT232RL do komunikacji mikrokontrolera z komputerem. Niestety w dokumentacji tego układu niejasno (jak dla mnie) jest wytłumaczona konfiguracja na napięcie 3.3V.

    Jak zasilić ATmega8 i FT232RL napięciem 3.3V z RFM12B?

    Czy ktoś mógłby podpowiedzieć jak należy to zrobić?
    Kombinowałem już z podłączeniem dlatego zamieszczam obrazek na którym jest część związana z połączeniem układu FT232RL z ATmega8. Czy jest on wykonany prawidłowo? czy należy coś w nim zmienić?

    Dziękuję za podpowiedzi.
  • REKLAMA
  • #2 11766668
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    Prosto - na pinie nr 17 układu FT232RL masz pożądane przez ciebie napięcie 3,3V, z którego możesz zasilać dalszą część (Atmega + RFM12B)... Pamiętaj, że wydajność prądowa tego wyjścia jest ograniczona - a jaka - odsyłam do datasheet FT232RL.
    Sprawdź, zanim obciążysz go zbyt mocno.
    Być może LM1117 stanie się zbędny.
  • #3 11766710
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    A jeśli już to do VCCIO podepnij napięcie 3v3 podawane przez stabilizator LM1117.
    Poza tym niestety stabilizator 3v3 w FT232RL jest bardzo poddany na skoki poboru prądu - czasami może to powodować nieoczekiwane zawieszanie się układu i komunikacji z PC nawet pomimo odpowiedniego filtrowania. Dlatego bym zostawił ten stabilizator, tylko na nogę FT232RL-VCCIO podaj napięcie zasilające procesor, a wyjście 3v3 z FT232RL przez kondensator do masy.
    Dalej masz coś nie tak z zasilaniem za LM1117 - dlaczego VCC do procesora idzie przez diodę LED?
    Dalej jeśli to FT232RL i nie przeprogramujesz mu jednego bitu konfiguracyjnego to oscylator zewnętrzny jest zbędny - kość domyślnie pracuje na wewnętrznym oscylatorze.
    Poza tym pomyśl co się stanie jak podepniesz jednocześnie USB i zasilanie jackiem - jeśli komputer da Ci 5V, a zasilacz 5,1V to spalisz bezpiecznik na płycie główniej PC w najlepszym razie. Tu musisz albo zostawić tylko jedno połączenie, albo dodać 2 diody. A tak wogóle czy to urządzenie ma działac bez komputera? Bo jeśli ma ono zawsze być podłączone do PC to nie ma sensu zasilania zewnętrznego...
  • Pomocny post
    #4 11766725
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    Jeszcze jedno - powyłączaj w Atmega to, czego nie używasz. To powinno dość mocno ograniczyć pobór prądu. Gdzieś był fajny film o tym, ale nie mogę znaleźć.
    Patrząc na pobór prądu - myślę, że na te 2 układy (Atmega i RFM12B) nawet wspomniane w dokumentacji 50 mA spokojnie powinno wystarczyć.
    Ograniczajmy zużycie prądu - to nie tylko jest "cool", ale i niezła nauka :)
  • #5 11766750
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    A i jeszcze pin TEST FT232RL - z tego co pamiętam (sprawdź w DS) też do masy.
    I to samo RESET - chyba powinien iść do VCC bezpośrednio lub przez pull-up'a.
  • REKLAMA
  • #6 11766773
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    Mam jeszcze pytanie - czym podyktowany jest wybór kwarcu w twoim układzie - 10MHz?
    Czy w ten sposób nie ograniczasz sobie maksymalnej prędkości UART ?
    Czy nie lepiej przetaktować go na 11.0592 MHz (albo w dół na 7.3728 MHz)?

    Jest jeszcze parę innych błędów - jaka jest np. zasadność włączenia diody D1 w szeregowo w obwód zasilania? tak zasilana Atmega - "nie pójdzie".
    Co z Avcc i ARef?
    Po co kwarc do FT232? On dobrze działa bez :)
    Co ze złączem programatora?

    Zacznij od tego:
    http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
  • #7 11766850
    stardamos
    Poziom 9  
    Posty: 13
    Odpowiadam na pytanie PIOTRVA

    Urządzenie to ma służyć do tego, aby były odbierane informacje na temat stany miejsca parkingowego dlatego też będzie podłączony cały czas do komputera.

    Diodę LED znalazła się za układem LM1117, aby sygnalizowała czy układ jest zasilany. Jednak jest to zły pomysł?

    Jeśli dobrze rozumiem kwestie wewnętrznego oscylatora w FT232RL to jeśli VCC nie będzie podłączone do zasilania tylko VCCIO zasilę napięciem 3.3V z wyjscia układu LM1117 to będzie on działać prawidłowo?

    Jeśli usunę zewnętrzne zasilanie to poprostu podłączyć 5V z USB na wejście LM1117?

    Dodano po 6 [minuty]:

    MICPR

    Wybrałem kwarc 10MHz ze względu na to że tak podpowiedział mi znajomy więc zdałem się na jego podpowiedź. W takim razie można go przetaktować już w samej części kodu??

    Wezmę pod uwagę stronę internetową wysłaną przez Ciebie i zaraz zmodyfikuję układ
  • REKLAMA
  • #8 11766901
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    stardamos napisał:
    Diodę LED znalazła się za układem LM1117, aby sygnalizowała czy układ jest zasilany. Jednak jest to zły pomysł?
    Podłącz ją więc (wraz z szeregowym rezystorem) między 3,3V a masę, a nie VCC Atmegi.
    stardamos napisał:
    Jeśli dobrze rozumiem kwestie wewnętrznego oscylatora w FT232RL to jeśli VCC nie będzie podłączone do zasilania tylko VCCIO zasilę napięciem 3.3V z wyjscia układu LM1117 to będzie on działać prawidłowo?
    VCCIO jak nazwa wskazuje służy do zasilania portów I/O - czyli na schemacie są to piny po prawej stronie FT232. Jak widzisz - domyślnie FT232RL jest zasilany 5V, ale porty I/O w tym przykładzie są w "standardzie" 3,3V.
    Bez zasilania +5V FT232 nie będzie działać - bo i jak i po co? Zasilając samo VCCIO będziesz jedynie utrzymywał zasilanie portów IO - które będą "martwe".
    stardamos napisał:
    Jeśli usunę zewnętrzne zasilanie to poprostu podłączyć 5V z USB na wejście LM1117?
    Tak
    stardamos napisał:
    Wezmę pod uwagę stronę internetową wysłaną przez Ciebie i zaraz zmodyfikuję układ
    Czekamy, w miarę możliwości pomożemy :)

    Jeszcze jeden błąd TX FT232 musi iść do RX Atmegi, a RX FT232 - do TX Atmegi.
    Inaczej transmisji nie będzie :)

    stardamos napisał:
    Wybrałem kwarc 10MHz ze względu na to że tak podpowiedział mi znajomy więc zdałem się na jego podpowiedź. W takim razie można go przetaktować już w samej części kodu??
    Nie.
    Kwarce, które podałem umożliwią ci transmisję aż do maksimum standardowego interfejsu COM czyli 115200 bodów.
    Kwarc 10MHz ograniczy prędkość UART do około 14400 bodów. Na większych prędkościach zaczną pojawiać się błędy transmisji.
    Gdy urządzenie końcowe ma pracować powiedzmy z prędkością 9600 - nie ma to znaczenia.

    Pamiętaj również, że teoretyczna maksymalna częstotliwość kwarcu dla Atmegi zasilanej z 3,3V to około 8MHz. Wszystko inne mieści się poza "granicami", choć są to granice umowne - i wspomniane 11 czy nawet 12 MHz - spokojnie Atmega uciągnie. Więcej w datasheet :)
  • #9 11767208
    stardamos
    Poziom 9  
    Posty: 13
    Zmodyfikowałem schemat zgodnie z zaleceniami.Atmegę połączyłem minimalnie jak się dało ponieważ nie będę korzystał z ADC więc myślę że takie podłaczenie wystarczy.
    Na schemacie nie umieściłem diody LED ale myślę że jest to mało ważne.

    piotrva napisał:
    I to samo RESET - chyba powinien iść do VCC bezpośrednio lub przez pull-up'a.


    W dokumentacji FT232RL tylko w jednym przypadku reset jest podłączony do VCC gdy jest w KONFIGURACJI SELF POWERED.

    zamieszczam cały schemat ze wględu na to aby łatwiej było dyskutować na temat problemu.

    mickpr napisał:
    Co ze złączem programatora?

    Które to dokładnie złącze bo pierwszy raz spotkałem się z tym określeniem

    Dodano po 48 [sekundy]:

    Jak zasilić ATmega8 i FT232RL napięciem 3.3V z RFM12B?
  • #10 11767233
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    stardamos napisał:
    Które to dokładnie złącze bo pierwszy raz spotkałem się z tym określeniem
    A jak chcesz zaprogramować Atmegę?
    Jeśli w zewnętrznym programatorze - to nie musisz mieć złącza.
    W przeciwnym przypadku - złącze ISP. (MISO, MOSI, SCK, RESET i masa muszą być wyprowadzone. Dodatkowo możesz wyprowadzić Vcc).
    Widzę, że używasz Altium Designer - lub Protel'a - użyj jako masę elementu GND - to ułatwi czytanie schematu.
    Kwarc z RFM12B chyba źle podłączyłeś.
    Antena RFM12B ma być podłączona do zasilania? Chyba nie.
  • REKLAMA
  • #11 11767240
    stardamos
    Poziom 9  
    Posty: 13
    jeszcze zrodziło się pytanie z mojej strony czy jeśli zasilam układ 5V na VCC oraz 3.3V na VCCIO, to czy jest to konfiguracja SELF POWERED?

    Dodano po 2 [minuty]:

    mickpr napisał:
    A jak chcesz zaprogramować Atmegę?
    Jeśli w zewnętrznym programatorze - to nie musisz mieć złącza.


    Chcę zaprogramować w zewnętrznym programatorze

    Dodano po 1 [minuty]:

    I używam Altium Designer
  • Pomocny post
    #12 11767280
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    RFM12B ma kwarc na płytce, więc po co drugi?
  • #13 11767291
    stardamos
    Poziom 9  
    Posty: 13
    mickpr napisał:
    Kwarc z RFM12B chyba źle podłączyłeś.
    Antena RFM12B ma być podłączona do zasilania? Chyba nie.


    Racja antena nie powinna być podłączona do zasilania

    A kwarc powinien być podłączony do wyprowadzenia XTL/REF niestety RFM12 w SMD nie posiada takiego wyprowadzenia. Czy w taki razie ma on już fabrycznie dodany kwarc?
  • #14 11767313
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    stardamos napisał:
    A kwarc powinien być podłączony do wyprowadzenia XTL/REF niestety RFM12 w SMD nie posiada takiego wyprowadzenia. Czy w taki razie ma on już fabrycznie dodany kwarc?
    Musisz sprawdzić na podstawie dokładnego numeru tego modułu.
    Ja przez wyszukiwarkę Google jakoś nie mogę znaleźć modułu bez kwarcu.
    To wygląda tak?
    http://www.robotshop.com/wireless-smd-transceiver-rfm12b.html


    Zauważyłem przy Atmega kwarc 8MHz.
    Taką częstotliwość może Atmega może wygenerować sobie sama wewnątrz układu (bez tego kwarcu i jego kondensatorów).
    Tyle, że nadal będzie taki sam problem, o którym pisałem w związku z RS232 i błędami transmisji.
  • #15 11767329
    stardamos
    Poziom 9  
    Posty: 13
    Zgadzam się z tym że ma kwarc w obudowie bo ja używam SMD i wygląda on tak:

    Dodano po 25 [sekundy]:

    Jak zasilić ATmega8 i FT232RL napięciem 3.3V z RFM12B?

    Dodano po 2 [minuty]:

    stardamos napisał:
    Zauważyłem przy Atmega kwarc 8MHz.
    Taką częstotliwość może Atmega może wygenerować sobie wewnątrz (bez kwarcu i jego kondensatorów).
    Tyle, że nadal będzie to samo co pisałem w związku z RS232 i błędami transmisji.


    W takim razie zastosować większy kwarc? 12MHz o którym była mowa?

    Dodano po 1 [minuty]:

    Czy od strony USB już teraz jest wszystko w porządku po wprowadzeniu poprawek?

    Oczywiście w tej chwili usunąłem kwarc przy RFM oraz antenę odłączyłem od VCC
  • #16 11767369
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Jeszcze musisz pociągnąć odpowiednią nogę rfm12b żeby aktywowac bufor fifo.
    I zrób 6-cio pinowe złącze isp do programowania, bo to nie lata 90-te gdzie trzeba było przekładać układy do programowania.
    Podłączenie ft232rl to coś ala self powered - podciagnij tak czy siak ten reset - to dobry nawyk i eliminuje problemy.

    Dodano po 1 [minuty]:

    Co do fifo ok, masz już nfss podłączone
  • #17 11767382
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    FT232RL wygląda w porządku. Atmega też. Zamień tylko kwarc na jeden z tych - które podałem. Jeśli chcesz łączyć się z tym urządzeniem z prędkością 9600 bodów - wtedy możesz nawet zrezygnować z kwarcu i kondensatorów (C4 i C5). Ja bym jeszcze dał rezystor 10k między pin 16 Atmegi (sterujący nSEL'em RFM12B) a VCC (3,3V) - celem podciągnięcia do "H". Wtedy masz pewność że jeśli Atmega nie wystawi nic na ten pin - RFM12B jest zablokowany.
    Nie wiem jak z pozostałymi pinami RFM12B - czy mogą "wisieć w powietrzu" - to musisz doczytać z dokumentacji.
  • #18 11767401
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Z podciaganiem cs rfma masz racje, co do reszty pinow rfm z tego co pamiętam mogą wisieć w powietrzu.
  • #19 11767454
    stardamos
    Poziom 9  
    Posty: 13
    piotrva napisał:
    Z podciaganiem cs rfma masz racje, co do reszty pinow rfm z tego co pamiętam mogą wisieć w powietrzu.


    CS to który dokładnie pin na moim schemacie?
  • #21 11767486
    stardamos
    Poziom 9  
    Posty: 13
    Uwzględniłem wszystkie poprawki dotyczące mojego schematu:

    Jak zasilić ATmega8 i FT232RL napięciem 3.3V z RFM12B?

    Czy został prawidłowo podciągnięty reset? (korzystałem z dokumentacji FT232RL)

    Czy pin 16 łączący się z nSEL'em RFM jest prawidłowo połączony?
  • #22 11767532
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    stardamos napisał:
    Czy został prawidłowo podciągnięty reset? (korzystałem z dokumentacji FT232RL)
    Ja bym go zostawił niepodłączonego.
    W dokumentacji jest napisane
    Cytat:
    Active low reset pin. This can be used by an external device to reset the FT232R. If not required can be left unconnected, or pulled up to VCC.

    Nigdy nie spotkałem się z problemami - a nie podłączałem tego pinu nigdy!
    Podłączenie pull-up i jednocześnie pull-down, które zastosowałeś jest złe!
    Zwłaszcza, że sztucznie wymuszasz potencjał 5*10/14,7 = 3,4 V.
  • #23 11767546
    stardamos
    Poziom 9  
    Posty: 13
    Ok w takim razie usuwam ze schematu

    Dodano po 4 [minuty]:

    W takim razie reszta jest w porządku i mogę zacząć projektować płytkę PCB?
  • #24 11767559
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    Ewentualnym dodatkiem może być wpięcie bezpiecznika SMD 0.3-0.5A w linię VBUS (5V) bezpośrednio przy USB.
    Zabezpieczy to nieco komputer przez zwarciem zasilania 5V (a często to się może zdarzyć).
    Możesz też dodać dodatkowo w tym miejscu dławik (jak zalecają w FTDI).
    Dodatkowo - jeśli chcesz widzieć że UART działa - możesz wykorzystać piny CBUS0..1 do podłączenia diód LED (z rezystorami) pamiętając o ustawieniu sygnalizacji transmisji na tych liniach w FT232RL programem FT_PROG.
    Bezpiecznik wstaw - koszt bezpiecznika SMD to pare groszy - a koszt zasilacza PC - to stówka, lub więcej.
    Pamiętaj, że maksymalnie port USB 1.0/2.0 ma wydajność prądową 500 mA.
  • #25 11767571
    stardamos
    Poziom 9  
    Posty: 13
    Gdzie mogę taki program nabyć?

    I kiedy go wykorzystać?
  • #26 11767574
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    Program pobierasz ze strony FTDI http://www.ftdichip.com/Support/Utilities.htm
    Pamiętaj też o sterownikach :) W końcu to normalne urządzenie USB (ze strony PC'ta).

    stardamos napisał:
    I kiedy go wykorzystać?

    Programem tym zmieniasz parametry (i między innymi funkcje bitów CBUSx) - ale oczywiście z sensem.
    Nie ruszaj VID i PID - mają być takie - jakie są.
    Opis programu - na stronie FTDI.
  • #27 11767581
    stardamos
    Poziom 9  
    Posty: 13
    Myślę że ograniczę się do zmiany parametrów tylko na ustawieniu sygnalizacji transmisji.

    Dodano po 15 [minuty]:

    mickpr napisał:
    Ewentualnym dodatkiem może być wpięcie bezpiecznika SMD 0.3-0.5A w linię VBUS (5V) bezpośrednio przy USB.


    Czy może być to zwykły bezpiecznik, a nie SMD? Ciężko mi znaleźć bibliotekę do altiuma.
  • #28 11767782
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    stardamos napisał:
    Czy może być to zwykły bezpiecznik, a nie SMD? Ciężko mi znaleźć bibliotekę do altiuma.
    Jeśli już nie chce ci się rysować - dopasuj jakiś element, choć wiem, że rysowanie elementów (schamatowych i pcb) to równie dobra zabawa jak rysowanie schematów. Wstawianie zwykłego bezpiecznika mija się z celem.

    Mała dygresja - w jakim standardzie robisz płytkę - skoro:
    1. FT232RL jest tylko w obudowie SMD,
    2. Chcesz programować Atmegę w zewnętrznym programatorze (więc pewnie w obudowie DIP (THT)). Posłuchaj kolegi piotrva i mnie - i wstaw złącze ISP.
    3. Bezpiecznik chcesz dać zwykły...
    4. Płytka RFM128 masz w standardzie SMD - choć tutaj akurat można dolutować piny - więc wtedy będzie standard THT.

    To trochę mija się z celem.
    Zrób od razu wszystko w SMD.
    Naprawdę prostsze niż THT - choć wygląda początkowo na trudniejsze.
  • #29 11769055
    wojekkk
    Poziom 18  
    Posty: 212
    Pomógł: 14
    Ocena: 32
    I oczywiscie Atmega8 w wersji L :)


    Napisze jeszcze że RFM12B jest BARDZO czuły na tętnienia zasilania, Spada mu zasieg a jak przekroczą pewien próg to wogóle traci komunkacje. Tak że jak bedziesz chciał zasilić to ustrojstwo z jakiejś przetworniczki impulsowej np. z baterii to oscyloskop jest podstawą i dobranie odpowiedniej filtracji zasilania bo potem sie mogą cuda dziać i spedzisz poł dnia myśląc co jest nie tak ze nie działa albo raz chodzi raz nie...
  • #30 11769074
    mickpr
    Poziom 39  
    Posty: 4630
    Pomógł: 579
    Ocena: 295
    wojekkk napisał:
    I oczywiscie Atmega8 w wersji L

    Masz rację.
    ...albo w wersji A... w wersji V chyba Atmega 8 nie występuje , jedynie jej młodsza siostra Atmega 88 :)

Podsumowanie tematu

✨ Użytkownik poszukuje informacji na temat zasilania układów ATmega8 i FT232RL napięciem 3.3V w kontekście współpracy z transceiverem RFM12B. W dyskusji podano, że pin 17 FT232RL dostarcza 3.3V, ale jego wydajność prądowa jest ograniczona, co należy uwzględnić. Zaleca się podłączenie napięcia 3.3V do VCCIO FT232RL przez stabilizator LM1117, aby uniknąć problemów z komunikacją. Użytkownicy sugerują również, aby wyłączyć nieużywane funkcje w ATmega8, co ograniczy pobór prądu. Wskazano na konieczność poprawnego podłączenia pinów, w tym nSEL RFM12B oraz resetu FT232RL. Użytkownik został również poinformowany o znaczeniu odpowiedniej filtracji zasilania dla RFM12B oraz o możliwości użycia programów do konfiguracji FT232RL.
Wygenerowane przez model językowy.
REKLAMA