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

ATmega8 dziwnie się zachowuje.

owocowy89 20 Mar 2009 16:53 1856 17
  • #1 6308087
    owocowy89
    Poziom 20  
    Witam, dopiero zaczynam zabawę z mikrokontrolerami i pojawił się problem, oczywiście nie za bardzo wiem jak go usunąć. Polega on na tym, że napisałem sobie prosty program w bascomie, wgrałem go do atmegi i działa(coś w stylu sygnalizacji świetlnej)No działa, ale diody bardzo słabo świecą, ledwo ledwo(a czerwona w ogóle). Jak mierzę napięcie na skonfigurowanych pinach, to jest coś koło 4.8V, a jak podłączam diodę, i mierzę to napięcie spada do 1.7V(bez rezystora) i dlatego diody słabo świecą, ale dlaczego tak napięcie spada? Wie ktoś co to może być?czyżby procesor był uwalony? kiedyś robiłem miganie ledów, nawet sterowanie RGB i wszystko działało dobrze. Programu myślę,że nie ma sensu zamieszczać, bo jest banalny i przede wszystkim działa. Oscylator jest ustawiony wewnętrzny 1MHz.
  • #2 6308209
    kaktus_c++
    Poziom 18  
    może jest zwarcie i procek się cały czas resetuje. zamieszczenie programu jest wskazane.
  • #3 6308231
    owocowy89
    Poziom 20  
    Ale to jest na płytce stykowej, połączone zasilanie z 7805 i 3 diody, z jedną diodą próbowałem i tak samo.Ale nie może się resetować, bo program cały czas działa, jak są podłączone diody, tylko, że ledwo świecą.
  • #4 6308258
    Dr_DEAD
    Poziom 28  
    Czy któryś z elementów się grzeje?? Mierzyłeś prąd pobierany przez układ??
  • #5 6308276
    owocowy89
    Poziom 20  
    Nic się nie grzeje, prądu pobieranego przez układ nie mierzyłem, zaraz to zrobię.
  • #6 6308293
    yokoon
    Poziom 29  
    Ja myślę, że źle włączasz diody. Anodę włącz pod +5 V a kodę do pinu portu gdzie stanem zaświecającym ma być 0 (zero). Oczywiście szeregowy rezystor.
  • #7 6308335
    owocowy89
    Poziom 20  
    Anodę podłączam do pinu, katodę do GND i działa, ale słabo, podłączając anodę do +5V i katodę do pinu nie działa w ogóle. a co do prądu, to nie mogę zmierzyć(pewnie dlatego, że badziewny miernik) bo ustawiam na 2000uA to skali brakuje, a jak przełączam na 20mA to układ w ogóle nie działa.
  • #8 6308431
    yokoon
    Poziom 29  
    owocowy89 napisał:
    Anodę podłączam do pinu, katodę do GND i działa, ale słabo, podłączając anodę do +5V i katodę do pinu nie działa w ogóle. a co do prądu, to nie mogę zmierzyć(pewnie dlatego, że badziewny miernik) bo ustawiam na 2000uA to skali brakuje, a jak przełączam na 20mA to układ w ogóle nie działa.


    Podłaczając w ten sposób nie uzyskasz wydolności prądowej, masz podłączyć tak jak napisałem. W programie neleży zmienić stany pinów, aby aktywnym był stan niski gdy mają świecić.
    Jeżeli chcesz aby świeciły według Tojej wersji to musisz dodać reaystory do +5V i anody danej diody czyli portu. Około 330 omów.
  • #9 6308467
    owocowy89
    Poziom 20  
    Tak świeci cały czas, jak włączę rezystor 330 do +5V i anody czyli też pinu pinu.
    A to program:
    Config Portc = Output
    Config Portc = 00000000
    
    Do
    Portc.1 = 1
    Wait 4
    Portc.1 = 0
    Waitms 50
    Portc.2 = 1
    Wait 2
    Portc.2 = 0
    Waitms 50
    Portc.3 = 1
    Wait 4
    Portc.2 = 1
    Wait 2
    Portc.2 = 0
    Portc.3 = 0
    Loop
    End
    Czyli mam zmienić stany 1-0, tak?
  • #10 6308481
    Konto nie istnieje
    Poziom 1  
  • #11 6308485
    janbernat
    Poziom 38  
    Daj kod i schemat, tak to nie da się nic poradzić.
    Tak się zastanawiam- może masz ustawione jako wejście i pull-up - ale to tak głupie ze aż niemożliwe.
  • #12 6308498
    Konto nie istnieje
    Poziom 1  
  • #13 6308500
    janbernat
    Poziom 38  
    "Config Portc = 00000000 "
    A co TO jest?
  • #14 6308507
    owocowy89
    Poziom 20  
    Ale jaki schemat?anody diod idą do pinów 1,2,3 portu C, a katody do GND. Ale wydaje mi się, że kiedyś też tak miałem ustawione i działało.

    Dodano po 1 [minuty]:

    janbernat napisał:
    "Config Portc = 00000000 "
    A co TO jest?

    A tak wpisałem, żeby był stan niski ustawiony na początku na wszystkich pinach, no może nie poprawnie, bo nie znam bascoma jeszcze zbyt dobrze, ale to się chyba i tak pomija jak jest źle. Bo w symulacji w bascomie od razu przechodzi do pierwszej komendy, czyli portc.1=1 i czeka 4s i leci do końca i od nowa..
  • Pomocny post
    #15 6308561
    yokoon
    Poziom 29  
    Port C ustawiłeś jako wejście.
    W miejsce zer wpisz jedynki, następnie Portc=&B00000000
  • #16 6308572
    owocowy89
    Poziom 20  
    a gdzieś kiedyś czytałem, że właśnie jest tak jak mówisz, zaraz to sprawdzę i dam znać.

    Oczywiście w tym tkwił błąd, teraz to zapamiętam na zawsze. Dzięki bardzo za pomoc.
  • #17 6308700
    janbernat
    Poziom 38  
    Że tez To się skompilowało...
  • #18 6308750
    owocowy89
    Poziom 20  
    A skompilowało i "jakoś" działało nawet:D teraz zostawiłem tylko config portc=output i od razu do[...]loop,end. diody podłączyłem przez rezystory 330ohm i jest ok.
REKLAMA