Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

attiny2313 i atmega8 UART przez podczerwień

pawel26021995 24 Cze 2013 09:12 2769 17
  • #1 24 Cze 2013 09:12
    pawel26021995
    Poziom 12  

    Witam, czy można połączyć 2 mikrokontrolery stosując komunikacje uart ale wysyłając dane przez podczerwień? Chodzi mi o zbudowanie własnego pilota i odbiornika. Z jaką prędkością musiałyby być wysyłane dane i jaką częstotliwość powinien mieć odbiornik ir?

    Schematy układów, wiem, że może być jakiś błąd w schematach.
    attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień

  • #2 24 Cze 2013 09:31
    BlueDraco
    Specjalista - Mikrokontrolery

    W tych schematach są niemal wyłączeni błędy - zacznij od obejrzenia jakichś gotowych schematów działających urządzeń. Zwróć uwagę na kondensatory blokujące zasilanie. Dioda podłączona katodą do plusa raczej nie zaświeci. Nie potrzebujesz transoptorów do sterowania LED. Jako odbiornik podczerwieni wygodnie jest zastosować coś podobnego do TSOP1xxx, ale nie można go "napędzić" dowolnym strumieniem danych - trzeba nadawane dane zakodować w postaci impulsów o odpowiednich własnościach. Sam odbiornik też musi być podłączony zgodnei z zaleceniami producenta - rezystor i kondensator.
    Na Twoim schemacie przyciski nie są podłączone do masy.

  • #3 24 Cze 2013 09:42
    Steryd3
    Poziom 31  

    Ogólnie to wszystko można zrobić jeżeli tylko nasz rozwój cywilizacyjny na to pozwala-zawsze to kwestia zdolności, czasu poświęconego na projekt i środków na niego przeznaczonych:) Ogólnie -mówiąc najprościej- w komunikacji za pomocą podczerwieni (w pilotach zdalnego sterownia) stosuje się technikę polegającą na tym, że w czasie w którym chcemy wysłać stan wysoki wysyłana jest paczka impulsów o częstotliwości 30-40 kHz. Do odbioru tego typu sygnałów stosuje się gotowe odbiorniki w postaci układu z trzema wyprowadzeniami(znalazłem taki na Twoim schemacie) który to układ jest czuły na określoną częstotliwość impulsów(np.33kHz) i z niewielkim opóźnieniem przerabia paczki impulsów na impulsy odpowiadające czasem trwania długościom trwania paczek. Jest o tym nawet napisana książka: "Mikrokontrolery w systemach zdalnego sterowania" wydawnictwa BTC.
    Co do schematów...nie wiem do czego się tu odnieść. Straszny na nich bałagan. Nie wiem po co np. są tam transoptory skoro i tak obwody nie są separowane.
    Jeżeli chodzi o prędkość transmisji -zbyt dużej prędkości z uwagi na stosowaną modulację impulsową się nie uzyska. Myślę, że prędkość bodowa 9600 może być trudna do osiągnięcia.

  • #4 24 Cze 2013 11:05
    tmf
    Moderator Mikrokontrolery Projektowanie

    pawel26021995 napisał:
    Witam, czy można połączyć 2 mikrokontrolery stosując komunikacje uart ale wysyłając dane przez podczerwień? Chodzi mi o zbudowanie własnego pilota i odbiornika. Z jaką prędkością musiałyby być wysyłane dane i jaką częstotliwość powinien mieć odbiornik ir?


    Koledzy powyżej dużo już ci napisali. Do takiej komunikacji potrzebujesz diodę IR i odbiornik IR. Możesz zastosować na 38 kHz, wtedy uzyskasz ok. 3000 bps, lub na 56 kHz, wtedy uzyskasz 5-6 kbps. Ograniczenie transmisji wynika z właściwości odbiornika - musi on odebrać kilka impulsów IR, po czym musi wystąpić odpowiednia przerwa. Problemem jest modulacja diody IR - odpowiednio 38 lub 56 kHz. Mozna to zrobić semisprzętowo na zwykłym AVR - timer i modulować jego wyjście, lub zastosować XMEGA, gdzie modulację wyjścia USART dowolnym przebiegiem można zrealizować sprzętowo. Tego typu przykład komunikacji po IR znajdzie się zresztą w mojej nowej książce (już za miesiąc wydanie) - a piszę o tym dlatego, że jak zwykle przykłady do niej będą za free, w efekcie stosowny przykład sobie możesz po prostu ściągnąć.
    Jeśli takie szybkości transmisji cie nie interesują to możesz zastosować IrDA - tu znowu XMEGA ma sprzętowy moduł IrDA, możesz na nim wycisnąć do 128 kbps, albo możesz kupić parę odbiornik/nadajnik IrDA, wtedy możesz osiągnąć nawet do kilku Mbps.

  • #5 24 Cze 2013 14:19
    pawel26021995
    Poziom 12  

    Prędkość nie musi być bardzo duża. chodzi mi o zrobienie takiej komunikacji jak pilot z telewizorem, projekt będzie oświetleniem sufitu, a pilotem będe sterował diodami.

  • #6 24 Cze 2013 15:28
    Brutus_gsm
    Poziom 25  

    Nie lepiej zastosować transmisję np. RC5? Będzie dużo łatwiej i będziesz mógł korzystać ze zwykłego pilota uniwersalnego RC5.

  • #7 24 Cze 2013 16:40
    tmf
    Moderator Mikrokontrolery Projektowanie

    pawel26021995 napisał:
    Prędkość nie musi być bardzo duża. chodzi mi o zrobienie takiej komunikacji jak pilot z telewizorem, projekt będzie oświetleniem sufitu, a pilotem będe sterował diodami.


    Dokładnie taki przykład znajdziesz w mojej nowej książce :)
    Jak pisałem, dioda nadawcza IR, na ktorą podajesz zmodulowany sygnał, standard obojętny, może być to wprost sygnał z USART, może być to RC5, NEC, czy cokolwiek. W części odbiorczej scalony odbiornik podczerwieni.
    Akurat na XMEGA najłatwiej to zrobić bo łączysz diodę IR wprost pod TxD z USART, na którym włączasz modulację np. 38 kHz, a w części odbiorczej odbiornik IR łączysz z RxD USARTA i masz po prostu USART w podczerwieni. XMEGA D4, albo E5 jest w cenie ATMega8 lub nawet taniej.
    Oczywiscie na klasycznym AVR, typu ATMega8 też to zrobisz, różnica taka, że program będzie nieco większy, bo będziesz musiał programowo włączać/wyłączać modulację po stronie nadajnika. Odbiornik pozostanie taki sam.

  • #8 24 Cze 2013 22:14
    pawel26021995
    Poziom 12  

    Jeżeli podłącze diodę ir i odbiornik bez pośrednio pod port UART i będę wysyłał dane przez UART i na drugim uC odbierał dane, to czy to będzie działało? czy muszę wykorzystać do tego jakieś protokoły takie jak RC5? Jaką częstotliwość ma port uart? (w Hz a nie w b/s)
    Wiem, że diodę ir mam podłączyć przez tranzystor i rezystor.

  • #14 27 Cze 2013 09:14
    BlueDraco
    Specjalista - Mikrokontrolery

    Odbiorniki do sterowania w podczerwieni mają ograniczenia co do długości paczki impulsów i odstępów pomiędzy paczkami, dlatego nie można bezpośrednio modulować nośnej tym, co wychodzi z wyjścia UART. Tzn. czasem to zadziała, ale w ogólnym przypadku gwałci się w ten sposób parametry odbiornika i odbiornik ma prawo nie odbierać takich danych.

  • #15 27 Cze 2013 15:57
    tmf
    Moderator Mikrokontrolery Projektowanie

    Owszem, ale te ograniczenia dotyczą raczej minimalnej ilości impulsów i przerwy między nimi. Stąd też nie można przesadzać z szybkością transmisji. Bez problemu to działa z bezpośrednią modulacją danych z USART, który pracuje w rozsądnym dla danego odbiornika zakresie - do około 3-5 kbps.

  • #16 24 Maj 2014 18:29
    pawel26021995
    Poziom 12  





    Witam po dłuższej przerwie. Mam się podzielić sposobem rozwiązania mojego problemu. Użyłem pilota RC5 i odbiornika SFH5110-36, jak na razie działa. testowałem też Przedłużacz na podczerwień do UART i nie byłem zadowolony z jego działania, działał ale nie dokładnie, nie za każdym razem dostałem to co wysłałem, może to przez użyte rezystory, nie były dokładne.
    próbowałem też użyć RX/TX433 ale też nie działa prawidłowo, no chyba, że się zastosuje HT12D/E wtedy działa bez problemu ale sygnał z nadajnika jest mocniejszy od nadajnika w pilocie do kompa (medion RF vista remote control) i odbiornik w komputerze przestawał działać. Sam odbiornik RX433 łapał duże zakłócenia, nawet jeżeli nadajnik był wyłączony. Poczytałem trochę o RC5 i stwierdziłem, że to będzie dobre rozwiązanie. Do chłodzenia diod LED użyłem stary aluminiowy karnisz, który pociąłem na odcinki około 3 cm. Użyłem 9 diod super zimnych 3W i 6 diod RGB 1W. Do zabezpieczenia diod zastosowałem rezystory dla białych 4,7 Ohm 3W, czerwonego 18 Ohm 1W, zielonego i niebieskiego 10 Ohm 1W. Diody połączyłem po trzy szeregowo i zasiliłem napięciem 12V. Całość zasilałem zasilaczem do komputera 200W, bo akurat taki miałem nie potrzebny. Jako drugie awaryjne źródło zasilania stosuje akumulator 12V 4,5Ah, który poprzez 2 przekaźniki jest włączany lub wyłączany, zależy to od zasilacza. Światło można oświecić za pomocą klaśnięcia lub z pilota. Wykorzystując pilot można ustawić za pomocą przycisku:
    0 i wł/wył wyłącza wszystkie diody
    1 - świecą na biało tylko środkowe 3 diody
    2 - świecą na biało pierwsze 3 diody i ostatnie diody 3 diody
    3 - świecą na biało wszystkie 9 diod
    4 - animacja na wszystkich diodach, będzie pokazana na filmiku
    5 - świecą czerwone
    6 - świecą zielone
    7 - świecą niebieskie
    8 - świecą czerwone i zielone (na żółto)
    9 - świecą czerwone i niebieskie (na różowo)
    -/-- - świecą zielone i niebieskie (kolor morski)
    C/P - świecą wszystkie
    W przyszłości planuje zastosować PWM do sterowania jasnością białych diod, bluetooth które łączyło by się z telefonem/komputerem. Projekt jeszcze nie jest skończony, z powodu braku czasu, ale jak mam chwile to coś robię. Całość będzie zakryta płytami gipsowymi (sufit podwieszany). Macie może jakieś pomysły co można jeszcze zrobić? Czym sterować w niby inteligentnym pokoju?? Co o tym myślicie??

    Schemat układu:
    attiny2313 i atmega8 UART przez podczerwień

    Zdjęcia projektu:
    attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwieńattiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień attiny2313 i atmega8 UART przez podczerwień

  • #17 24 Maj 2014 19:21
    BlueDraco
    Specjalista - Mikrokontrolery

    Na Twoim miejscu zacząłbym jednak od lekcji ortografii.
    Schemat, który pokazałeś, z całą pewnością nie jest prawdziwy, a każdy transoptor można zastąpić kawałkiem drutu bez wpływu na działanie układu.

  • #18 24 Maj 2014 22:39
    pawel26021995
    Poziom 12  

    Transoptory są zastosowane żeby nie uszkodzić procesora. Ortografia poprawiona! Schemat rysowałem z pamięci i jest taki jak rzeczywisty układ, całość działa bez żadnych zarzutów.

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo