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

ATMEGA16 z GPS (FGPMMOPA2-P)

mojsamspam 26 Lip 2009 20:25 3636 10
  • #1 26 Lip 2009 20:25
    mojsamspam
    Poziom 10  

    Witam,

    aktualnie zastanawiam sie nad zakupem gotowego zestawu uruchomieniowego EvB 4.3 i nie jestem do końca pewien jak do tego zestawu dołączyć moduł GPS FGPMMOPA2-P (dystrybutorem modułu jest Maritex). Płytka EvB zasilana jest i programowana z portu USB napięciem 5V, moduł GPS natomiast zasilany jest w zakresie 3.0-3.6V. Przeglądając forum zauważyłem, że napięcie możemy zmniejszyć korzystając z diody zenera (lub odpowiednim rezystorem). Poniżej zamieściłem schemat mojej koncepcji podłączenia obu elementów (zapewne bardzo zły, bo się na tym wogóle nie znam - na codzień pracuję jako administrator systemowy). Nie jestem również pewien, czy moduł GPS nie powinien być czasem podłączony do grupy PORTD (USART).

    W Eagle'u nie udało mi się znaleźć przycisku reset, także pozwoliłem sobie na skorzystanie ze zwykłego switcha.

    Chciałbym poprosić o sprawdzenie poniższego schematu :)

    Pozdrawiam i dziękuję

    ATMEGA16 z GPS (FGPMMOPA2-P)

    0 10
  • #2 26 Lip 2009 20:58
    prz
    Poziom 20  

    Na pewno nie będzie działać bo jest źle podłączone. Daje się rezystor szeregowo ograniczający prąd a diodę podłącza się równolegle między + a masę. Lepiej wykorzystaj gotowy stabilizator 3,3V np. LM2574M, LM2575T-3.3. Następny problem...Dopasowanie sygnałów między uP a modułem.

    0
  • Pomocny post
    #3 26 Lip 2009 21:06
    atom1477
    Poziom 43  

    Zamiast diody Zenera 3V3 wstaw dwie połączone szeregowo diody 1N4148 albo 1N4001 (jak moduł pobiera więcej niż 100mA to 1N4001).
    Sygnał TTL_TX podłącz do TXD, a TTL_RX do RXD.
    Tyle że TXD nie bezpośrednio, lesz za pośrednictwem dzielnika napięcia który z 5V zrobi 3.3V.
    Powinno działać.
    Jak nie to najprędzej winny będzie sygnał RXD. Wtedy możesz spróbować tak:
    https://obrazki.elektroda.pl/88_1237424939.gif

    0
  • #4 26 Lip 2009 22:40
    mojsamspam
    Poziom 10  

    atom1477 napisał:

    Sygnał TTL_TX podłącz do TXD, a TTL_RX do RXD.

    hmm... chyba miało być TTL_TX do RXD a TTL_RX to TXD

    @Atom1477, naniosłem poprawki tak jak sugerowałeś. Nie jestem tylko pewien czy poprawnie umieszczona jest dioda D3 (kierunek) oraz czy wybrałem poprawne rezystancje przy dzielniku napięć (zgodnie z wzorem powinno wyjść 3.5V na wyjściu).

    ATMEGA16 z GPS (FGPMMOPA2-P)

    0
  • Pomocny post
    #5 26 Lip 2009 23:12
    atom1477
    Poziom 43  

    D3 jest źle.

    Dodano po 3 [minuty]:

    A dzielnik napięcie to odwrotnie.
    Myślałem że sygnały TXD i TXD w module oznaczają piny do jakich trzeba je podłączyć w procesorze i dlatego tak Ci napisałem. Oczywiście jeżeli to są nazwy pinów modułu a nie nazwy przyporządkowanych im pinów procesora, to trzeba skrzyżować TXD i RXD.

    0
  • Pomocny post
    #6 27 Lip 2009 08:55
    Anonymous
    Użytkownik usunął konto  
  • #7 27 Lip 2009 10:23
    mojsamspam
    Poziom 10  

    No to już chyba ostateczny schemat :)

    @Rocket_93, dzięki :)

    ATMEGA16 z GPS (FGPMMOPA2-P)

    Pozdrawiam

    0
  • Pomocny post
    #8 27 Lip 2009 14:16
    atom1477
    Poziom 43  

    Rocket_93: g***o prawda.
    Układ z diodą D3 jest prawidłowy.
    Napięcia 0...3.3V zostaną skonwertowane do zakresu 0,7...4,0V a to jest bardzo dobry zakres dla urządzeń z wejściami 5V.
    Klasyczne urządzenia mają zakresy dla „0” U =< 0,3VCC, a dla „1” U >= 0,7VCC.
    Czyli 1,5V i 3,5V.
    0,7V =< 1,5? Tak.
    4,0V >= 3,5V? Tak.


    Dodano po 1 [minuty]:

    A Twój schemat też nie jest bezbłędny. Przydały by się rezystory od baz tranzystorów do ich emiterów. A przynajmniej tranzystorowi T2.
    A rezystor R4 ma za dużą wartość. Jeżeli w procesorze zostanie włączony Pull-Up (około 30k) na linii RXD to układ będzie na granicy stanów podczas spoczynku. A z powodu histerezy po wymuszeniu stanu wysokiego taki stan może już na zawsze być rozpoznawany przez procesor (bo po wymuszeniu stanu wysokiego próg napięcia dla przełączenia na stan niski ulega obniżeniu).
    Ja bym wstawił max 4k7.

    0
  • Pomocny post
    #9 27 Lip 2009 14:57
    Anonymous
    Użytkownik usunął konto  
  • #10 27 Lip 2009 18:37
    atom1477
    Poziom 43  

    To 0,8V w stanie niskim dla modułu GPS to jest absolutne maksimum przy dużym prądzie wpływającym.

    No ale skoro ten moduł GPS ma takie niskie napięcie w stanie wysokim to Twój układ będzie lepszy.
    Trzeba było tak od razu.

    Dodano po 1 [minuty]:

    PS. Skoro napięcie w stanie niskim może wynościć 0,8V, to rezystor od bazy do emitera T1 jest konieczny ;p

    0
  • #11 04 Wrz 2009 19:22
    mojsamspam
    Poziom 10  

    Dzisiaj zrobiłem pomiary napięć wyjściowych przy określonym napięciu wejściowym. Testowałem linię TxD 3.3V -> RxD 5V (GPS->uC) - schemat podłączenia jak w poście kolegi Rocket_93. Poniżej zamieszczam tabelkę z pomiarami.
    Lewa część każdej z tabel zawiera konfigurację gdy na wejściu TxD 3.3V podawałem określone napięcie, a na wyjsćiu RxD 5V badałem je miernikiem. Prawa część tabelki to dokładnie ten sam pomiar, lecz linia RxD 5V była podłączona do uC.

    Pullup próbowałem wyłączyć PORTD&=~0x01, ale nie pomogło - cały czas jest stan wysoki.
    Próbowałem również wyłączyć pullup na wszystkich portach korzystając z flagi PUD rejestru SFIOR, ale niestety nie obniżyło to stanu portu PORTD0 (RxD) - według dokumentacji powinno wyłączyć pullup na wszystkich portach.
    ATMEGA16 z GPS (FGPMMOPA2-P)

    :/

    ---------------------
    Problemem z napięciami okazało się to, że na mojej płytce EvB 4.3 pewne elementy są podłączone na stałe (RS485 i FT232RL są podłączone do linii RxD i TxD). W przyszłym tygodniu podłączę procesor do płytki stykowej i dam znać jak poszło :).

    0