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

[ATMEGA32] - czy konieczne jest podciąganie linii wej?

19 Cze 2008 16:40 3008 22
  • Poziom 15  
    Witam.

    Pytanie jak w tytule: Czy konieczne jest podciąganie do 5V pinu pracującego jako wejście? Do tej pory tak robiłem, ale podobno przy ustawieniu pinu jako wejściowy włączane jest wewnętrzne podciąganie pinu.

    Z góry dziękuję za odpowiedź.

    Pozdrawiam.
  • Poziom 32  
    Nie ma potrzeby stosowania zewnętrznego rezystora podciągającego. Wystarczy uaktywnić wewnętrzny. Szczegóły oczywiście w nocie katalogowej:)
  • Poziom 35  
    pmmisiek napisał:
    ....Czy konieczne jest podciąganie do 5V pinu pracującego jako wejście? Do tej pory tak robiłem, ale podobno przy ustawieniu pinu jako wejściowy włączane jest wewnętrzne podciąganie pinu.....
    Co prawda linia portu skonfigurowana jako wejściowa jest wewnętrznie podciągana do +Vcc. Problem polega jedynie na tym że mało kiedy działa to poprawnie. Ja nie baczą na to jaki to AVR, nie zależnie od właściwego skonfigurowania danego portu, linie wejściowe podciągam do +5V.
  • Poziom 38  
    Eeee to chyba mało Kolega avrów używał. Jeśli nie ma to być urządzenie pracujące w szafie ze stycznikami to nie ma sensu dawać R podciągających.

    (Szafa ze stycznikami synonimem zaszumionego środowiska).
  • Poziom 35  
    Balu napisał:
    ....Eeee to chyba mało Kolega avrów używał....
    Fakt że nie wiele. No bo co to jest te kilka tysięcy sztuk w porównaniu z roczną produkcją ATMELA.
    Balu napisał:
    ....Jeśli nie ma to być urządzenie pracujące w szafie ze stycznikami to nie ma sensu dawać R podciągających.....
    A jest sens za kilka zaoszczędzonych groszy zastanawiać się dlaczego urządzenie nie działa tak jak powinno :?:
  • Użytkownik usunął konto  
  • Poziom 24  
    Przykłady:
    -Stosuje się dla 1-Wire i I2C.
    -A dla odbiornika podczerwieni nie stosuje się.
  • Poziom 27  
    technics6 napisał:


    - kiedy nie odpowiada nam rezystancja wejsciowa wejścia, np. chcemy mieć 500kΩ a rezystor wewnątrz mikrokontrolera ma kilka kΩ (układy energooszczędne itp)


    Wewnętrzny PullUp ATmegi to 50k, podłączenie zewnętrznego rezystora może jedynie zmniejszyć rezystancję wejściową. Taka drobna poprawka :)
  • Poziom 32  
    adamusx napisał:
    technics6 napisał:


    - kiedy nie odpowiada nam rezystancja wejsciowa wejścia, np. chcemy mieć 500kΩ a rezystor wewnątrz mikrokontrolera ma kilka kΩ (układy energooszczędne itp)


    Wewnętrzny PullUp ATmegi to 50k, podłączenie zewnętrznego rezystora może jedynie zmniejszyć rezystancję wejściową. Taka drobna poprawka :)

    Chyba, że wewnętrzny pullup jest wyłączony.
  • Poziom 38  
    Uściślając to 20...50k.

    Co do kilku tysięcy sztuk, moje cudactwo pracowało (pracuje?) w typowej szafie ze stycznikami, i przyznam się, że nie ma dodatkowego podciągania...i jeszcze nie zwisło ni razu, działać też działa jak powinno:>
  • Poziom 35  
    Tomasz.W napisał:
    pmmisiek napisał:
    ....Czy konieczne jest podciąganie do 5V pinu pracującego jako wejście? Do tej pory tak robiłem, ale podobno przy ustawieniu pinu jako wejściowy włączane jest wewnętrzne podciąganie pinu.....
    Co prawda linia portu skonfigurowana jako wejściowa jest wewnętrznie podciągana do +Vcc. Problem polega jedynie na tym że mało kiedy działa to poprawnie. Ja nie baczą na to jaki to AVR, nie zależnie od właściwego skonfigurowania danego portu, linie wejściowe podciągam do +5V.


    1.Linia portu ustawiona jako wejście jest podciągnięta wewnętrznie do VCC przez rezystor 20k-50k tylko wtedy, gdy odpowiedni bit rejestru PORTx ma ustawioną "1". Normalnie linia ta nie jest podciągnięta do VCC.

    2.W mojej firmie produkujemy kilkanaście urządzeń na różnych AVR, od ATMega8 do ATMega128 i nigdy nie było z tym żadnych problemów.
    Teoretycznie można dawać do wszystkich linii rezystory, ale:
    a) są to koszty (nie tylko rezystorów, ale też układanie elementów na płytce, projektowanie itd.)
    b) więcej elementów -> większa płytka, a czasem bardzo nam zależy na miniaturyzacji.
  • Poziom 36  
    W przypadku sterowania portu z elementów TTL, czy CMOS podciąganie nie ma żadnego sensu. W przypadku sygnału z aktywnym zerem (przełącznik, tranzystor OC, również z transoptora), dodanie opornika podciągającego poprawia warunki pracy elementu sterującego i zwiększa odporność na zakłócenia i z pewnoscia warto to rozważyć w konstrukcji, niezależnie od takich, czy innych doświadczeń w szczególnych przypadkach opisanych wyżej (generalnie im większa rezystancja wejściowa, tym mniejsza odporność na zakłócenia).

    Z tymi kosztami i płytką bym nie przesadzał, bo ewentualne odkłócanie i dokładanie w biegu elementów jest zawsze kosztowniejsze od zainstalowania ich w pierwotnym projekcie.
  • Użytkownik usunął konto  
  • Poziom 17  
    A jakiej wartości rezystor dać? Ponieważ jak ustawię port na wejście to czasem potrafi samoistnie się załączyć...

    Pozdrawiam
  • Poziom 10  
    ciekawy wątek, czy te zewnętrzne podciąganie polega na ustawieniu tylko portu w mikrokontrolerze na wejście, nie podciąganie go wewnętrznym rezystora podciągającym, i do lini wchodzącej w mikrokontroler dodanie najpierw rezystor 3,3K a pożniej zasilanie 5V? czy coś jeszcze trzeba umieścić?
  • Poziom 17  
    Czyli jeżeli dobrze rozumiem to należy robić rak:

    np. Port D
    piny 0,1,2,3 ------------wyjścia
    piny 4,5 ------------------wejścia

    To muszę doprowadzić +5V poprzez rezystor? (czasami wejścia same się załączą) Tylko jaki rezystor? 4.7kOhm czy może 3,3kOhm a może inny?

    Pozdrawiam i przepraszam za tak banalne pytania lecz jestem dopiero początkujący w uC..
  • VIP Zasłużony dla elektroda
    Nie ma uniwersalnej odpowiedzi na pytanie "czy podciągać?". Wszystko zależy od funkcji, jaka pełni urządzenie, wiec do czego jest podłączane. Wewnętrzne podciągnięcie (DDRX=0 PORTX=1) może być wystarczające przy zachowaniu pewnych reguł projektowania (oblewanie ścieżek GND, minimalna odległość od potencjalnych źródeł zakłóceń itp.). Na zakłócenia impulsowe można dołożyć kondensator niewielkich rozmiarów o niedużej pojemności np. w wersji SMD.
  • Poziom 17  
    A czy jak ustawie końcówkę portu na wejście to mogę w jakiś sposób zdefiniować czy wejście to ma być podciągane czy nie?

    Dodano po 21 [sekundy]:

    Jeśli tak to w jaki sposób?
  • Poziom 10  
    W Bascomie robi się to tak:

    Code:

    config pind.1 as input
    set portd.1 'ustawiony rezystor podciągający wewnętrzny
  • Poziom 17  
    Ooo tego właśnie szukałem.. Bardzo dziękuję!
  • Poziom 33  
    Po podaniu zasilania lub po resecie (np. z watchdoga) każdy pin jest ustawiany jako wejście bez podciągania i w tym momencie nie jest niczym chroniony przed zakłóceniami oraz ma nieustalony poziom napięcia.
    Poprawny projekt powinien to uwzględnić.
    Pzdr. N.
  • Poziom 17  
    No i właśnie dlatego mi się czasem potrafiły samoistnie załączać... I wszystko szalało.. Okej wielkie dzięki.. W schemacie uwzględniłem sobie miejsce na rezystorki podciągające na wszelki wypadek.. A teraz spróbuję robić tak jak kolega grafiksaba powiedział...

    Pozdrawiam