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

[ATmega128] niska wydajność prądowa portu F

duke_luke 06 Paź 2010 23:02 1928 10
REKLAMA
  • #1 8591898
    duke_luke
    Poziom 15  
    Witam

    Piszę, bo mam pytanie odnośnie ATmegi128. Sprawa wygląda następująco. Mikrokontroler ten mam zastosowany w jednym ze swoich projektów. Podczas modyfikacji układowej projektu zdarzyło mi się zwarcie zasilania. Po tym fakcie sprawdzałem pracę megi i zasadniczo niby nic się nie uszkodziło (poprawnie odczytywana sygnatura, bezbłędne programowanie, weryfikacja ok) wrzuciłem prosty programik mrugający diodą, żeby sprawdzić, czy nic się nie upaliło i tutaj zaczyna się dziwne zjawisko. Mianowicie, na wszystkich portach kiedy ma być "1" jest napięcie w okolicy VCC, kiedy podłącze pod jakiś pin diodę napięcie na pinie spada do ok. 3,5 V ale dioda mruga. Problem jest z portem F, napięcie na pinach tego portu jest w granicach 3,5 V dla stanu wysokiego, kiedy podłączę diodę spada do 1,7 V i dioda nie świeci. Diodę steruję "1". Kiedy steruję diodę "0" port F działa prawidłowo, wnioskuję zatem, że na porcie F jest za mała wydajność prądowa, jednak nie wiem, czy to efekt tego zwarcia, czy tak po prostu w tej medze jest ? Szukałem odpowiedzi w datasheecie ale nic konkretnego nie znalazłem. Wiem, że port F jako alternatywne funkcje ma JTAG i ADC, czy mniejsza wydajność prądowa może wynikać z tego faktu ? Będę wdzięczny za pomoc w wyjaśnieniu zaistniałej sytuacji.

    Pozdrawiam
  • REKLAMA
  • #2 8592193
    boohoo
    Poziom 12  
    Pokaż fragment kodu, gdzie ustawiasz porty, a najlepiej całość :) Może przez pomyłkę napisałeś coś w stylu:
    DDRF = (1 << LED1) | (1 << LED2)
    DDRF = (1 << RELAY)
    zamiast
    DDRF = (1 << LED1) | (1 << LED2)
    DDRF |= (1 << RELAY)
    wskutek czego piny traktowane są jako wejścia i dając logiczną jedynkę włączasz pull-upy... Jest 5[V], ale prąd niewielki. Sprawdź :)

    Pozdrawiam
  • #3 8592486
    tmf
    VIP Zasłużony dla elektroda
    To jest jedna z możliwości, A druga prawdopodobniejsza jest taka, że zwarcie jednak coś uszkodziło - wewnętrzne połączenie portu F.
  • REKLAMA
  • #4 8592678
    duke_luke
    Poziom 15  
    @boohoo : Program testowy był bardzo prosty, miał tylko mrugać diodką, ograniczał się do :

    
    DDRF = 0xff;
    for(;;)
    {
    PORTF = 0xff;
    _delay_ms(1000);
    PORTF = 0x00;
    _delay_ms(1000);
    }
    


    @tmf : Jeśli to faktycznie upaliło coś w atmedze, jest jakaś możliwość zewnętrznego podniesienia wydajności prądowej, np. przez tranzystory albo coś etc. ?
  • REKLAMA
  • #5 8592812
    gaskoin
    Poziom 38  
    tranzystor lub bufor lub wzmacniacz, do wyboru do koloru
  • REKLAMA
  • #6 8593063
    tmf
    VIP Zasłużony dla elektroda
    Przy czym trzeba pamiętać, że zmieniona wydajność zmieni czasy np. narastania, w efekcie obniży się maksymalna częstotliwość przełączania. Czy ma to znaczenie to już zależy od reszty. Poza tym uszkodzony procesor się wymienia, nie wiadomo co jeszcze padło i jak to się będzie zachowywać z czasem.
  • #7 8593182
    paw789
    Poziom 18  
    Czy wczesniej to wyjście działało ? Sprawdź czy funkcja JTAGa jest wyłączona na PORTF4-7
  • #8 8593322
    duke_luke
    Poziom 15  
    Wcześniej wyjście działało prawidłowo, fusebit JTAGEN w AVR Studio jest odznaczony, po czym wnioskuję, że JTAG jest wyłączony.
  • #9 8593614
    _Robak_
    Poziom 33  
    Doprecyzuj może co oznacza przez odznaczony;) Bo w ponyprogu odznaczony oznacza 0 co znaczy że bit jest zaprogramowany.
  • #10 8593732
    duke_luke
    Poziom 15  
    Odznaczony oznacza, ze JTAG jest nieaktywny :) AVR Studio przy zmianie fuse bitow pyta sie o potwierdzenie komunikujac, ze wylaczy to JTAG stad wiem, ze jest "odznaczony" ;)
  • #11 8594862
    janbernat
    Poziom 38  
    "Podczas modyfikacji układowej projektu zdarzyło mi się zwarcie zasilania."
    Ale zwarcie zasilania najwyżej spali zasilacz.
    Ale jeśli to zwarcie nastąpiło przez procesor- bo jakieś niewłaściwe napięcie było podane na niewłaściwą nózkę układu- to najlepiej taki procesor wymienić.
    Bo może się wkrótce stać źródłem wszelkich możliwych kłopotów.
REKLAMA