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

ATmega8 - Samoistne uziemienie pinu

mateuszn4 01 Sie 2014 20:54 1611 15
  • #1 01 Sie 2014 20:54
    mateuszn4
    Poziom 9  

    Witam.
    Korzystam z wejść ATmegi8 w sposób pokazany na obrazku, tzn. kiedy wcisnę przycisk to na pinie pojawia sie wartość "0" i mikrokontroler wykrywa zdarzenie (pin programowo ma podciągnięcie do rezystora). Problem polega na tym, że jeśli nie wcisnę przycisku, a przyłożę sondę lub kawałek druta do pinu w punkcie oznaczonym 1 to mikrokontroler reaguje tak jakbym przycisk nadusił. Często zdarza się samoistne zerowanie pinu bez wciśnięcia przycisku. Dlaczego jest to tak czułe?
    ATmega8 - Samoistne uziemienie pinu

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 15
  • Arrow Multisolution Day
  • #2 01 Sie 2014 21:32
    kokapetyl
    Poziom 43  

    Jedyne co mi przychodzi na myśl, to wartość rezystora jest zbyt wielka i z tego wynika duża czułość układu,

    0
  • #3 01 Sie 2014 22:51
    Eagle
    Poziom 23  

    Jeśli dotknięcie palcem/sondą powoduje zmianę pinu, to nie masz załączonych rezystorów pull up. Jednym słowem pin wisi. Łatwo to sprawdzić podłącz woltomierz, jeśli wystawiłeś poprawnie pull up to będziesz miał na nim VCC, jeśli jest tam coś innego, to masz wejście w trybie wysokiej impedancji czyli Z. Normalnie dla ATmega 8 masz rezystor 20k -50k ohm i typowo jest wystarczający.

    0
  • Arrow Multisolution Day
  • #4 02 Sie 2014 10:47
    mateuszn4
    Poziom 9  

    Na każdym pinie jest 5V, więc podciągnięcie do rezystora widocznie jest poprawne.

    0
  • #5 02 Sie 2014 11:04
    Eagle
    Poziom 23  

    To zmierz napięcie na pinie podczas jak podłączasz sondę lub kabel który ci zakłóca. Jesteś pewien, załączasz rezystory pull up ? Nie raz korzystałem z rezystorów pull up i nie było problemu, DDR na wejście oraz PORT na stan H, to musi działać. Jeszcze jakbyś to multipleksował to może i mogłyby być delikatne problemy z przełączaniem z wyjścia na wejście, ale przy statycznym odczycie, nie widzę problemu.

    Możesz wykonać jeszcze jeden test podłącz zewnętrzny rezystor 20k - 50k ohm, jeśli problemy znikną nie załączasz pull up'ów.

    0
  • #6 02 Sie 2014 12:53
    szczywronek
    Poziom 27  

    A może kostka jest uszkodzona? Próbowałeś na innej Atmedze?

    Jesteś pewien, że kontroler się nie resetuje? Jeśli układ pracuje w zakłóconym środowisku, to dołączenie anteny do wyprowadzenia może resetować Atmegę.

    0
  • #7 02 Sie 2014 15:30
    mateuszn4
    Poziom 9  

    Próbowałem na innej ATmedze i to samo. Na pewno się nie resetuje, ponieważ dalej program działa dobrze.

    Dodano po 16 [minuty]:

    Podłączyłem rezystor zewnętrzny 47k i nie robi różnicy. Nadal ok. 5V. Ledwo przyłożę sondę by zmierzyć napięcie i już pin się zeruje.

    0
  • #10 02 Sie 2014 18:40
    mateuszn4
    Poziom 9  

    Miernik w porządku. Mogę nawet wziąć wkrętak to i tak będzie zerowanie pinu. Nie dzieje się tak za każdym razem, ale nie powinno w ogóle.

    ATmega8 - Samoistne uziemienie pinu

    ATmega8 - Samoistne uziemienie pinu

    0
  • #11 02 Sie 2014 19:12
    atom1477
    Poziom 43  

    Masa na płytce jest nieciągła (masa procka nie łączy się z masą stabilizatora i w ogóle całej reszty, dalej nie sprawdzałem ale może inne elementy też nie mają podłączenia).

    0
  • #12 02 Sie 2014 21:10
    mateuszn4
    Poziom 9  

    Masa faktycznie jest połączona. Po prostu nie poprawiałem w programie.

    0
  • #13 03 Sie 2014 00:55
    94075
    Użytkownik usunął konto  
  • #14 03 Sie 2014 11:06
    mateuszn4
    Poziom 9  

    Transformator toroidlany 230v/12v 300W. Miałem kiedyś 150W ale działało tak samo.

    0
  • #15 12 Sie 2014 11:21
    mateuszn4
    Poziom 9  

    Zamontowałem nową ATmegę. Z początku wszystko było dobrze. Później okazało się, że ten sam problem znowu się pojawił, ale tym razem na innym pinie tego samego portu. Nie wiem gdzie szukać przyczyny.

    0
  • #16 12 Sie 2014 11:37
    BlueDraco
    Specjalista - Mikrokontrolery

    Ja bym szukał w braku połączenia masy...

    0