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

nadajnik RC5 na atmega8 nierozmowny...

sqpien 23 Lut 2010 23:14 2360 11
REKLAMA
  • #1 7741582
    sqpien
    Poziom 16  
    witam!

    Bardzo proszę o pomoc z takim problemem:
    nadajnik kodu rc5
    program z ogólnie znany (z książki "programowanie mikrokontrolerów AVR w języku BASCOM" i z przykładów w bascomie)
    jedyna zmiana:
    command = 6
    address = 25

    i $regfile = "m8def.dat"

    żadnych problemów z kompilacja

    problem z tym, ze nie nadaje kodu - nie odbiera go inny układ (reaguje na pilota od dvd gdy podaje komendę 6 prawidłowo)
    a dvd tez nie odbiera tego co leci z mojego nadajniczka
    Najśmiesniejsze, ze miesiąc temu program ruszył od pierwszego kopa. Tylko ze procesorków użyłem po przeprogramowaniu do czegoś innego, teraz mam z innej serii, ale w innych aplikacjach działają bez problemu - ot choćby odbiornik tego rc5. Płytka nadajnika ta sama co poprzednio, czyli tu też brak punktu zaczepienia.
    Układ generuje coś - paczki co na oscyloskopie wyglądają jak właściwa transmisja, ale nie podejrzę zależności czasowych na moim sprzęcie.

    Pracują z zewnętrznym kwarcem 4 MHz (poniżej ustawienia jakich używam, ale próbowałem tez różnych, a na tym na pewno się wzbudza - sprawdzałem oscyloskopem)
    Zaznaczam, że te mikroprocesorki z tymi ustawieniami i kwarcami w innych aplikacjach pracują prawidłowo.

    001100:Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms; [CKSEL=1100 SUT=00]

    Może jakiś pomysł, sugestje, moze Ktos z Was miał nieprzyjemność pzrechodzić pzrez podobny problem?
  • REKLAMA
  • #2 7741659
    ShEvU_elektro
    Poziom 25  
    Bez kodu, schematu itd. prócz jasnowidza nikt Ci nie będzie w stanie pomóc ;)
  • #3 7741681
    sqpien
    Poziom 16  
    Jak pisałem - program banalny, ale zamieszczam:

    $regfile = "m8def.dat"
    $crystal = 4000000
    
    Dim Togbit As Byte , Command As Byte , Address As Byte
    
    Command = 6                                                
    Togbit = 0                                                 
    Address = 25
    Do
       Waitms 500
       Rc5send Togbit , Address , Command
     
    Loop
    
    End


    Co do układu - kwarc z kondensatorkami, standardowo, wyjście sygnału z 15 łapy mikrokontrolera (PB1) dalej równolegle kondensator 10n i opornik 10k to na bazę tranzystora pnp, emiter do plusa, kolektor poprzez oporniczek 10ohm na diode nadawcza i do masy...
  • #4 7741730
    ShEvU_elektro
    Poziom 25  
    daj screena z fusebitów

    Ja mam u siebie zrobione 4,7k do bazy tranzystora npn emiter do masy, kolektor do katody i staly plus przez rezystor 100ohm. Hula bdb :)
  • REKLAMA
  • #5 7741770
    sqpien
    Poziom 16  
    bardzo proszę, wydaje mi się ze własnie wew fusach djabeł się czai:

    nadajnik RC5 na atmega8 nierozmowny...
  • REKLAMA
  • #6 7741875
    ShEvU_elektro
    Poziom 25  
    Nie używałem megi8 ale:

    1010 = zewnętrzny kwarc z kondensatorami 2-4MHz,
    1011 = zewnętrzny kwarc z kondensatorami 4-6MHz,
  • #7 7742061
    sqpien
    Poziom 16  
    tez testowałem, i chyba to nie tu, bo jak pisałem w innych układach działa to bez problemu, a na oscyloskopie widać, że kwarc pracuje.
    Mi osobiście wygląda jak by dostawał deklaracje , że kwarc ma 4MHz , a interpretował jak np. 3Mhz - to by tłumaczyło, że działa, paczki nadaje, ale nic tego nie dekoduje.
  • #8 7745418
    janbernat
    Poziom 38  
    Może kwarc uszkodzony- rzadko- ale się zdarza.
    Zrób jakiś wait 10s na LED i zmierz stoperem.
  • REKLAMA
  • #9 7745547
    sqpien
    Poziom 16  
    niestety, sprawdzałem na oscyloskopie i tam pomiar wykazał 4MHz , czyli niestety kwarc dział-a jak trzeba.
  • #10 7745976
    polprzewodnikowy
    Poziom 26  
    Spróbuj zobaczyć jakąś kamerą czy dioda w ogóle coś wysyła.
  • #11 7746135
    sqpien
    Poziom 16  
    tak wysyła.
    Paczki bardzo podobne do właściwych - i sprawdzane przy użyciu fotodiody, jak również oscyloskopem przebieg na wyjściu procesora
  • #12 7747558
    mirekk36
    Poziom 42  
    Moim zdaniem, żaden diabeł nie tkwi w fusebitach ani tym bardziej w nowej serii mikrokontrolerów.

    Z jednej strony aż trudno uwierzyć, że tak prosty układ komuś nie działa w Bascomie. Ale jak już nie działa to proponuję odłożyć na najgłbszą półkę domysły o problemach z procesorami czy na temat nie stabilności kwarców itp bo nigdy się przyczyny problemu nie znajdzie. (i nigdy w nie wracać nawet w innych projektach do pomysłów o tym że jak coś nie działa - to może procek jest zły)

    Fusy dla kwarca 4MHz oczywiście bez 2 zdań powinny być ustawione tak jak poniżej ale to wcale nie jest krytyczne i ustawienie ich o oczko niżej jak u ciebie nie powoduje, że procek jest taktowany 3MHz jak to ty się domyślasz - to nie ma nic wspólnego - ale jak masz coś robić dobrze to je ustaw poprawnie:

    nadajnik RC5 na atmega8 nierozmowny...

    czyli w szczegółach:

    nadajnik RC5 na atmega8 nierozmowny...

    i ten temat zostaw już w spokoju.

    Swoją drogą to nie wiem dlaczego wszyscy z takim uporem podłączają kwarce 4MHz i ograniczają sobie z marszu cały szereg możliwości. Ja nigdy nie używam kwarców mniejszych równych niż 8MHz. I dla takich projektów - a w szczególności do sterowania tylko czy odbioru podczerwieni i nie tylko zawsze pracuję na wewn. oscylatorze 8MHz. Bez żadnego kwarcu bo do podczerwieni potrzebny on jest jak dziura w moście. Ale ok - można się męczyć i z kwarcami 4MHz czy nawet 1MHz jak ktoś lubi.

    Kolejna sprawa - skoro to nie procek , skoro to nie fusebity to co????

    Skoro nie program - bo to kod w Bascomie a nie przez ciebie pisany (ten do obsługi podczerwieni) a to w Bascomie zawsze działa dobrze - to co ????

    .... wszystko inne na zewnątrz - to tam masz babola i to tam go szukaj.

    Wydaje się to zbyt proste żeby było możliwe ale zwykle wszyscy szukają błędu nie tam gdzie trzeba i tracą setki godzin czasu.

    Co ja bym zrobił?

    1. przede wszystkim ze 2 dobre fotki twojego ustrojstwa żeby zobaczyć jak to w ogóle połączyłeś (oczywiście tu je wklej na elektrodę) - bo wbrew pozorom to bardzo często pozwala szybko zobaczyć babola nad którym ktoś początkujący siedzi godzinami i go nie widzi - nie raz już się to sprawdziło

    2. sprawdziłbym na twoim miejscu czy twoja dioda podczerwieni w ogóle nadaje - wprawdzie pisałeś, że nadaje - ale aż mi ciarki po plecach przechodzą jak słyszę, że sprawdzałeś to za pomocą jakiejś tam fotodiody. Dla mnie wystarczy jak weźmiesz dowolny aparat cyfrowy czy kamerkę nawet z telefonu kom - i nawet najgorszej jakości a następnie za jej pomocą popatrzysz na tę diodę gdy masz nadawanie. Jeśli zobaczysz w diodzie fioletową poświatę to znaczy że nadaje. Jeśli zobaczysz ciemność to - albo ją wlutowałeś odwrotnie albo jest walnięta - wtedy ją wymień na sprawną.

    3. dałbym sobie spokój do celów testowych z tym kondensatorem 10nF równoległym z rezystorem do bazy tranzystora - i PRZEDE WSZYSTKIM zmniejszyłbym go do wartości 2,2K !!!!!!!! tak 2,2K a nie jakieś kosmiczne 10K ..... bo jeśli oczekujesz że będzie ci to dobrze pracować z rezystorem 10K to może pójdź dalej i włóż tam rezystor 1M i dalej się z tym męcz i główkuj.

    4. --- nie wspominaj już ani razu o tym że to przecież działało to dlaczego teraz miałoby nie działać. Jeśli takie mają być twoje argumenty tym bardziej, że tak było w książce to sorki, ale nie ma co dalej pisać ;)

    5. PDSTAWA - czy jesteś pewien, że twoje DVD odbiera kody w standardzie RC5 ????? bo często tak jest że komuś się coś wydaje, że coś tam raz zadziałało (może przypadkiem) a potem się okaże na końcu, że .......... "aaaaaach to pomyłka moje DVD nie odbiera RC5 tylko całkiem inny standard" A NIE ŁASKA SPRAWDZIĆ DOKŁADNIE SOBIE TYPU PILOTA I STANDARDU NA STRONCE www.lirc.org/remotes ???? Tam na 99,9% znajdziesz swojego pilota albo ciut podobnego i zobaczysz w jakich standardach one nadają - to podstawa

    6. ...... T O M U S I D Z I A Ł A Ć ;)
REKLAMA