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

wysyłanie IR przy użyciu UART w oparciu o atmega8

wojtektorr 10 Sty 2014 18:42 2085 9
REKLAMA
  • #1 13161371
    wojtektorr
    Poziom 14  
    Posty: 205
    Ocena: 6
    Witam serdecznie, chciałem zrealizować nadajnik RC5 przy użyciu UART a mianowicie tworzyć ramkę wysyłając dane na linie TxD, sposób podłączenia jak na poniższym schemacie. Zobaczcie czy konfiguracja timera jeśli chodzi o częstotliwość nośną jest ok i czy schemat jest poprawny.
    wysyłanie IR przy użyciu UART w oparciu o atmega8

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 13161414
    Konto nie istnieje
    Poziom 1  
  • #3 13161610
    wojtektorr
    Poziom 14  
    Posty: 205
    Ocena: 6
    Właśnie tak chciałem zrobić (pkt. 3) sygnał z OCR2 to wyjscie PWM i do tego dokładamy TxD. Jak zmodyfikować schemat jeśli ten sie nie nadaje do twojej trzeciej koncepcji z pwm i UART? I jak programowo to zrobić?
  • REKLAMA
  • #4 13162283
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Czy jest jakiś powód do tego, żeby nie kluczować po prostu programowo (np. przez zmianę wypełnienia lub włączanie/wyłączanie sterowania wyjściem) wyjścia timera zaprogramowanego na generowanie przebiegu 38 kHz?

    Wreszcie, jak już upierasz się na bardziej sprzętowe rozwiązanie - weź mikrokontroler który my wyjście IR (z kluczowaniem podnośnej przez timer). Dostaniesz taki za < 5 zł.
  • #5 13162464
    Konto nie istnieje
    Poziom 1  
  • #6 13163327
    wojtektorr
    Poziom 14  
    Posty: 205
    Ocena: 6
    Hmmm byłem przekonany że przy takim podlaczeniu będzie wszsytko ok nie przewidziałem że na UART będzie stan wysoki nawet przy braku nadawania, co gorsza mam zrobioną już płytkę i nie chciałbym modyfikować połączeń, czy da się to jakoś sensownie zrobić programowo przy moim schemacie połączeń? Docelowo układ ma nadawać załóżmy kod 0x10 wówczas kiedy odbierze np. 0x01, po odebraniu dodatkowo może przesłać ten kod innemu urządzeniu przez UART po kabelkach. Przedstawiam pełny schemat. wysyłanie IR przy użyciu UART w oparciu o atmega8
  • REKLAMA
  • #7 13163340
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    To proste - nie montuj diod w bazie tranzystora i połącz przewodem bazę (przez rezystor) z którymś wyjściem OC1x. Oczywiście rezystor podciągający bazę do plusa jest w takim przypadku zbędny.
  • #8 13163486
    wojtektorr
    Poziom 14  
    Posty: 205
    Ocena: 6
    Więc wykorzystanie UART do przesyłania danych na diode IR mija się z celem?
  • REKLAMA
  • #9 13163515
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Mija się. Kluczuj wyjście timera programowo w przerwaniu timera. Ponieważ przerwanie to będzie zgłaszane z częstotliwością 38 kHz, procesor musisz pędzić na minimum 8 MHz (lepiej więcej) i praktycznie żadnego innego przerwania już nie obsłużysz - w tym musisz zrobić wszystko.
  • #10 13163701
    wojtektorr
    Poziom 14  
    Posty: 205
    Ocena: 6
    Gdzieś kiedyś na elektrodzie znalazłem "ładny" program dla nadajnika i odbiornika nie mogę teraz dotrzeć do tego tematu mam jedynie kod, ktoś zna autora? Mam kilka pytań.
    Załączniki:
    • Rc5.rar (57.34 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Użytkownik planuje zrealizować nadajnik RC5 przy użyciu UART na mikrokontrolerze ATmega8, jednak napotyka problemy z wysokim stanem na linii TxD, co powoduje ciągłe włączanie diody IR. Uczestnicy dyskusji sugerują różne podejścia, w tym wykorzystanie PWM z timera do generowania sygnału nośnej 38 kHz oraz programowe kluczowanie wyjścia timera. Zwracają uwagę na możliwość zmiany mikrokontrolera na bardziej funkcjonalny, co może uprościć programowanie. Użytkownik poszukuje również sposobu na modyfikację schematu, aby dostosować go do swoich potrzeb bez konieczności przekształcania płytki.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA