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

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

pmmisiek 19 Cze 2008 16:40 3392 22
  • #1 5264943
    pmmisiek
    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.
  • #2 5264979
    don diego
    Poziom 32  
    Nie ma potrzeby stosowania zewnętrznego rezystora podciągającego. Wystarczy uaktywnić wewnętrzny. Szczegóły oczywiście w nocie katalogowej:)
  • #3 5264987
    Tomasz.W
    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.
  • #4 5264995
    Balu
    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).
  • #5 5265015
    Tomasz.W
    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 :?:
  • #6 5265447
    Konto nie istnieje
    Konto nie istnieje  
  • #7 5265548
    Mariuszek15
    Poziom 24  
    Przykłady:
    -Stosuje się dla 1-Wire i I2C.
    -A dla odbiornika podczerwieni nie stosuje się.
  • #8 5265596
    adamusx
    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 :)
  • #9 5265603
    don diego
    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.
  • #10 5265709
    Balu
    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:>
  • #11 5265775
    MirekCz
    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.
  • #12 5265924
    marek_Łódź
    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.
  • #13 5266579
    Konto nie istnieje
    Konto nie istnieje  
  • #14 5443069
    klops_mops
    Poziom 17  
    A jakiej wartości rezystor dać? Ponieważ jak ustawię port na wejście to czasem potrafi samoistnie się załączyć...

    Pozdrawiam
  • #15 5443289
    grafiksaba
    Poziom 11  
    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ć?
  • #17 5444853
    klops_mops
    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..
  • #18 5445059
    LordBlick
    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.
  • #19 5445145
    klops_mops
    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?
  • #21 5446547
    klops_mops
    Poziom 17  
    Ooo tego właśnie szukałem.. Bardzo dziękuję!
  • #22 5446902
    Nawigator
    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.
  • #23 5446917
    klops_mops
    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
REKLAMA