Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

jaki mikrokontroler do nadajnika/odbiornika?

mrgr 05 Kwi 2005 00:35 2832 29
  • #1 05 Kwi 2005 00:35
    mrgr
    Poziom 14  

    Układ ma obsługiwać około 30 przycisków, naciśniecie któregokolwiek powinno powodować zapalenie przyporzadkowaniej mu diody w odbiorniku.

    Transmisja powinna odbywać sie bezprzewodowo rzecz jasna :).

    Pytanie jak w temacie:

    Na jakim mk można to zrealizować by to było rozawiazanie jak najprostsze + każda rada mile widziana w kwestii doboru elementów i nawet samej teorii... pierwszy raz na coś takiego sie porywam... :roll:

    Pozdrawiam

    0 29
  • Computer Controls
  • #2 05 Kwi 2005 10:55
    Panda02
    Poziom 32  

    A nie można wykorzystać do tego celu typowego układu do zdalnego sterowania np. TV? Będzie pewniej i łatwiej.

    0
  • #3 05 Kwi 2005 12:41
    milik
    Poziom 23  

    Napisz jeszcze czy to ma być IR czy radio

    0
  • #4 05 Kwi 2005 13:04
    mrgr
    Poziom 14  

    Ma byc to droga optyczna przesylane :) czyli raczej radio odpada.... za duzo mieszania z przemianami modulacjami itd :)

    Co do pilota z TV.. moze byc.. tyle ze to ma byc praca dyplomowa i musze go wtedy sam zaprojektowac i zbudowac :), a zamiast przerabiac jakis projeky chyba lepiej samemu cos zrobic i napisac programik obslugujacy urzadzenie... ;)

    Pozdrawiam i dziekuje za dotychczasowe wypowiedzi.... oczekuje kolejnych :)

    0
  • Pomocny post
    #5 05 Kwi 2005 13:24
    MEGUSMAN
    Poziom 14  

    Ja bym proponował na mikroprocesorze 89C51 przez port szeregowy (TXD i RXD) najprościej na podczerwień jeśli jestes zainteresowany sterowaniem RC to patrz www.gamma.pl są tam gotowe moduły nadawcze i odbiorcze sam chce zrobic to co ty ale mam inny problem niewiem jak napisac ten program

    0
  • #6 05 Kwi 2005 13:27
    Oineh
    Poziom 20  

    Tu na elektrodzie gdzieś jest schemat takiego urządzenia. Działa na kod RC5 i Sony. Ja sobie zrobiłem mutację tego. Fajnoie działa

    0
  • #7 05 Kwi 2005 14:42
    mrgr
    Poziom 14  

    Coz, to nie musi być zgodne z żadnymi standardami :)... nawet jak norm kompatybilnosci em nie bedzie spełniać to trudno :)...

    Co do samego programu to nie widze problemu :)... jak napisze to moge podesłać zainteresowanym.. czas na oddanie pracy.. koniec bierzącego miesiąca :) czyli program niedlugo się zrobi :)


    Z ta strona.. hmm coś z nią nie działa :) zdaje się ze jej admini coś namieszali w mysqlu :D

    *89C51 :D:D.. pytanie tylko czy ma ktoś pomysł jak rozwiązać kwestie samych przycisków... głównie chodzi mi o samo badanie ich stanów i jak się zabezpieczyć przed kilkoma przyciskami jednocześnie wciśnietymi... drgania styków to chyba programowo da się rozwiązać...

    0
  • Computer Controls
  • #8 05 Kwi 2005 16:36
    MEGUSMAN
    Poziom 14  

    Tak co do przycisków to ostatnio pisałem troche programów na przyciski jest to bardzo proste ale co do zdalnego sterowania to jak narazie sam pracuje nad tym ale bez skutku szukam pomocy na elektrodzie ale nikt nieodpowiada

    0
  • #9 05 Kwi 2005 20:49
    mrgr
    Poziom 14  

    Cytat:

    Tak co do przycisków to ostatnio pisałem troche programów na przyciski jest to bardzo proste ale co do zdalnego sterowania to jak narazie sam pracuje nad tym ale bez skutku szukam pomocy na elektrodzie ale nikt nieodpowiada

    Pytanie czy sugerujesz do kazdego przycisku dawać kondensatory dla likwidowania odbić, czy też całkiem softowo likwidować efekty...

    hmm jak zdązyem sprawdzić to ten mk ma 32 wejscia, 4 porty po 8 czyli w zasadzie należy chyba przypisac przycisk do 1 linii portu, ustawić jakieś priorytety przeszukiwania linii danych z wejść tych portów ...

    czyli byloby to cos takiego ze na diode nadawczą wysyłałbym ciąg 32 bitów danych + bit startu, stopu i cośtam :)
    czyli np ciag 1 101000(0)...0 1 ozanczalby ze zapalona ma być dioda pierwsza i trzecia...

    Jeżeli popełniam jakiś błąd w założeniach to prosze go wskazać zanim zacznę lutować :D

    POMOCY, CZAS UCIEKA :)

    0
  • #10 08 Kwi 2005 18:26
    mrgr
    Poziom 14  

    Czy ilość pamięci jaką ma ten mk wystarcza zeby umieścić w niej programik napisany w C??

    0
  • #11 09 Kwi 2005 01:20
    elektryk
    Poziom 42  

    A może użyć keyloq? Są gotowe chipy do pilotów i dekoderów a schematy aplikacyjne nadajników i obiorników (na gotowych modułach radiowych) dostarczone przez producenta.

    0
  • #12 09 Kwi 2005 15:33
    mrgr
    Poziom 14  

    hmm no nie wiem...
    w sumie juz kupiłem częsci

    0
  • #13 20 Kwi 2005 12:41
    mrgr
    Poziom 14  

    tragedia....
    10 dni do oddania.. at u sie okazuje ze ten mk daje za maly prad na portach zeby choc dioda sie zapalila :(
    chyba podlacze na wyjsciach jakies inverty jako bufory... nie wiem czy to cos da... ?????
    inna kwestia... czy mozna do Rdx i Tdx podpiąć bezpośrednio diode na podczerwien?? nie musi tam byc jakis uklad dopasowawczy??
    POMOCY!!!

    0
  • #14 20 Kwi 2005 13:10
    Witgol
    Poziom 19  

    Witam
    Podaj więcej informacji, to pomogę - krok po kroku - co zrobić i się nie narobić i żeby jako-tako działało.
    Tak na razie - w procku typu '51 nie spodziewaj się wydajności dla prądu wypływającego. Jednak i tutaj można podłączyć LEDy bez dodatkowych wzmacniaczy: (oczywiście z oponikiem ograniczającym prąd) od +Vz (przez opornik) do portu procesora. Niestety - LEDy muszą być jasno świecące niskoprądowe - aby można było je jasno zapalić. Można ciągnąć typowo prąd do 2mA (!!!) z pojedynczego portu typowego 8051 (ale prądu WPŁYWAJĄCEGO do pinu).
    Co do diody nadawczej - niestety potrzebny większy prąd i tu tylko przez tranzystor pośredniczący.
    Dodatkowo proponuję dać nośną 36kHz, bo do obiornika wystarczy wówczas najtańsza metoda - scalony odbiornik wraz z układami wzmacniania i detekcji w jednym "oczku" i proste podłączenie do procesora. Zaięgi do 7-10m gwarantowane.
    Pozdrawim

    0
  • #15 20 Kwi 2005 13:53
    mrgr
    Poziom 14  

    a nie ma jakis gotowych modułów nadawczo-odbiorczych z wbudowaną diodą, tak abym mogł to pod wyjścia RxD i TxD podpiąć ??....

    czy mk sie uszkodzi jak na wszystkich wyjściach podłacze diody i dam 1??

    czyli jak nalezy ten rezystor podpiąć??? od napięcia zasilania do linii portu jak dobrać wartość) ?

    ostatnie pytanie... czy takie najtansze diody za 20 gr.. malutkie zielone/ czerwone są niskoprądowe??

    0
  • #16 20 Kwi 2005 14:10
    Witgol
    Poziom 19  

    Aby nie zaśmiecać forum, proponuję kontakt na maila. O ile program masz napisany tak, że bezpośrednie połączenie DRUTEM procesorka nadajnika i procesorka odbiornika (tzn. TxD uP nadajnika z RxD uP odbiornika powoduje przesyłanie informacji w prawidłowy sposób (niekoniecznie przez zapalenie LEDów ale np. przez przełącznie napięć na odpowiednich pinach) to wszystko o'k i gwarantuję ci, że w ciągu góra dwu dni reszta też będzie działać i to całkiem nieźle.
    Ale jeżeli nie funkjonuje ci bezpośredni przesył danych - to najwyższy czas to uzyskać.
    Dostępny powinienem być póżnym wieczorkiem albo jutro od rana.
    Pozdrawiam

    0
  • #17 20 Kwi 2005 17:20
    mrgr
    Poziom 14  

    programu jeszcze nie mam.... po prostu nagle uległem uświadomieniu, ze ten mk daje za mało :)

    wstępnie zrobiłem projekt... jak w załączniku.. dodałem rezystory podciągające przy każdej diodzie...

    co mnie zastanawia.. to , czy nie daloby sie podlaczyć samej diody na podczerwien do rxd, txd bez zadnych układow dopasowujących ... ew jakis tranzystor zeby prąd wzmocnić?

    0
  • Pomocny post
    #18 20 Kwi 2005 21:20
    Witgol
    Poziom 19  

    Sam procesorek w zupełności wystarcza do prostej transmisji 30 różnych sygnałów (nawiasem mówiąc najprostszy Atmelek serii AT90S2313 z pamięcią 1k słów potrafi wyczyniać znacznie bardziej skomplikowane cuda, a co dopiero 4 lub 8kB!). Nawet używając Bascoma free z limitem objętości kodu (do 1kB) bez problemu zmieścisz cię w około 0.5 kB.
    To do procesorków. I dalej:
    Oczywiście można podłączyć diodę podczerwoną do portu TXD bardzo prosto przez pojedynczy tranzystor (tranzystor MUSI być, bo trzeba wyciągnąć impulsy minimum 100mA - jako że nie jest to ciągłe promieniowanie, stały prąd nie musi wcale być taki duży...). Tylko że wysyłane informacje będą zwykłym sygnałem rs-owym i trudno będzie uzyskać daleki zasięg. Starczy może na 1 do 2m. I dalej prawie niemożliwe, aby uzyskać stabilne przesyłanie danych. Proszę uwierz, że to wszysto można usyskać na prawdę prostym sposobem.
    Niestety NA POCZĄTKU musisz mieć jak powiedziałem - transmisję po kabelku między dwoma prockami (tu za wiele trzeba by tłumaczyć - chyba że chcesz napisać na priva - na maila). Jeśli już tylko zostanie tobie zamiana sygnałów elektrycznych na podczerwień i transmisja, to raz dwa można ten problem rozwiązać. UWAGA: pisząc program stosuj transmisję nie szybszą niż 1200 bodów. To graniczna możliwość transmisji przy kosztach na poziomie pojedynczych złotówek dla układu podczerwieni!!!
    (Jestem teraz dostępny przez ponad godzinę - do ok. 22.00)

    Dodano po 25 [minuty]:

    Acha - na schemacie błędy!!!!
    Tak nie można podpinać LEDów bo upalisz procesorka!!!
    Zraraz spróbuję coś namalować i umieśić - cierpliwości.
    (net mi chodzi tak, że schemat wczytywało jakieć 20 minut....)

    Dodano po 21 [minuty]:

    Oto prosty przykład podłączeń. LED (czerwony) nie będzie mocno świecił, bo będzie zasilany zaledwie 2mA, ale powinno wystarczyć, żeby go zobaczyć. Uwaga - jak już pisałem LED NIE JEST sterowany jedynką, tylko ZEREM. Jedynka na porcie gasi LED, zero go zapala - zwykła negacja. Port 51 na wydajność TYLKO w zerze, a nie potrafi dostarczyć prądu na zewnątrz w stanie jedynki logicznej...Zwykła zamiana stanów logicznych chyba nie jest problemem w programie???
    Zasilanie LEDa podczerwonego przez pomocniczy tranzystor. Prąd nie jest wyżyłowany (zaledwie ok.100mA w impulsie, ale to wystarcza do zasięgów rzędu 5-7 m - ale TYLKO jeżeli będzie DODATKOWA modulacja nośną, która NIE JEST wrysowana na schemacie...)
    Ale jak wspomniałem nie polecam tak prosto, bo będą kłopoty z odbiorem.
    Tym nie mniej, jeśli tylko ktoś chce...

    0
  • #19 20 Kwi 2005 23:27
    mrgr
    Poziom 14  

    hmm a takie male pytanko... gdybym tak na wyjsciu portow podopinał ttl.. inverty (7404)... dzialaly by one jak bufory separujace procek od ledow....
    te ttl mająchyba taką wydolność prądową żeby udźwignąć 30 zapalonych ledow??

    wtedy by już nie miało znaczenia czy zapalam je stanem niskim czy wysokim...

    w kwestii samej podczerwieni...
    odleglość na jaką bedzie dokonywana transmisja nie ma znaczenia.. byle działało...
    chciałbym raczej uniknąć modulacji
    prędkość transmisji moge ustawić programowo??.. na mk przewidzialem kwarc 12Mhz

    0
  • Pomocny post
    #20 21 Kwi 2005 08:33
    Witgol
    Poziom 19  

    No to niestety musze trochę się pobawić w dydaktyka...
    Ale najpierw krótka informacja - jeżeli chodzi o transmisję w podczerwieni - chodzi mi o stopień nadawczy i odbiorczy, to możesz prawie bezpośrednio wziąć rozwiązanie z postu: "Jak zrobić nadajnik podczerwieni" (https://www.elektroda.pl/rtvforum/topic277012.html)
    I wykorzystać tylko ideę: od WYJŚCIA specjalizowanego scalaczka, tzn zaczynamy kopiować już uwzględniając kostkę 555 (to jest właśnie ten modulator) , a kopiowanie kończymy na wyjściu z odbiownika, tuż przed kostką specjalizowaną. Do 555 u ciebie dochodzi sygnał z wyjścia TxD, a sygnał z wyjścia odbiornika podczerwieni wchodzi na wejśie RxD procesorka odpiornika. (uwaga - wyjśie odpiornika jest open colector i wymaga opornika podciągającego). Wszystko proste, łatwe, tanie i przyjemne. Oczywiście trzeba ustawić czestotliwośc generacji 555 na częstotliwośc odbiornika (njczęściej 36 - 38kHz).

    Co do wyjść do strowania LEDami w odbiorniku. Niestety, muszę cię rozczarować. Technika TTL też NIE jest technologią, gdzie jest aktywna jedynka. WSZĘDZIE typowe układy TTL mogą wysterować: 16mA dla poziomu logicznego "0" na wyjściu i jakieś ułamki mA dla stanu "1".
    Są co prawda chematy wykorzytujące sterowanie "1" dla TTL i to nawet dla załącznie LEDów, ale - błagam - nie ucz cię nieprawidłowych rozwiązań...
    Dobra - nie ważne...
    Jeżeli chcesz koniecznie sterować LEDami dla "1" aktywnej na wyjściu procesorka, to NAJPROŚCIEJ będzie zastosować garść pojedynczych tranzystorków. Oczywiście są nawet specjalne układy będące drajverami. Zamieszczę za chwilę obie propozycje i sam sobie wybierz, którą chcesz.

    Dodano po 2 [minuty]:

    Acha. Co do szybkości transmisji - oczywiście jest regulowana programowo. Trzeba powpisywać odpowiednie wartośći w rejestry timera będącego generatorem dle portu szeregowego...

    0
  • #21 21 Kwi 2005 09:17
    mrgr
    Poziom 14  

    w zadnym razie nie upieram sie przy aktywnej 1 :)
    zmierzałem do tego, że prąd jaki moge pobrać z TTL'a jest dużo większy niż dla mk bez buforów....
    co do tranzystorów.. zagęścilyby mi troche płytke ;)....
    ktoś mi poradził ostatnio na forum układ ULN2803A.... ma on 8 we i obciażalność do 500mA.. tyle co mnie w jego przypadku męczy to że pobiera również z wyjścia mk prąd i to całkiem spory gdy jest włączony... jakieś 1,3 mA

    0
  • #22 21 Kwi 2005 10:50
    Witgol
    Poziom 19  

    O'K.
    Trochę minut minęło, ale nie mogłem wcześniej.
    Teraz dokończenie. Jak zobaczysz na rysunku - właśnie proponuję albo tranzystorki, albo - właśnie UN2803. Nie ma strachu co do prądu - połączenie zgodnie ze schematem musi działać. Zauważ, że prąd do ULN dostarcza nie procek, ale oporniki podciągające. Natomiast dla stanu "0" na wyjściu '51 prąd portu nie przekracza 2mA. Oczywiście dla dużej ilości LEDów musisz powielić ileś tam razy ukłąd z ULN i odpowiednio dużo oporników podciągających (najlepiej zastosować drabinki rezystorowe - zbierają mało miejsca i pięknie się je montuje - dokładnie pasują w rozstawie z nogami procesora.
    Pozdrawiam

    0
  • Pomocny post
    #23 21 Kwi 2005 11:14
    Witgol
    Poziom 19  

    Acha - mimo, że LEDy nadal są dodpięte do + zasilania, to stan "1" na porcie zapala diodę - ULN wprowadza negację sygnałów.

    Dodano po 21 [minuty]:

    I jeszcze jedno we wspomnianym wcześniej poście dot. nadajnika podczerwieni są błędy - może niezbyt wyrażnie to napisałem. WIęc jeszcze raz- wyjście ze scalonego odbiornika podczrwieni (np. TFMS...) jest typu otwarty kolektor. MUSI być do wyjścia dołączony opornik podciągający do +5V. Inaczej nie ma czego odbierać. Co prawda jest w procesorze słabe podciągnięcie do +5V i układy jako tako mogą coś przyjmować, ale do transmisnji danych trzeba dołączyć opornik podciągający. Zresztą zawsze polecam zaględania do not aplikacyjnych i PDFów dla danych układów. Warto poświęcić trochę czasu i wyszukać np. przez Google wpisując nazwę układu i dopisując dodatkowo skrót "pdf". Nie będzie wtedy tylu będów, ile się spotyka - i wtedy ewidentnie widać, że dana osoba nawet nie zaglądnęła do danych technicznych. A to jest już niewybaczalny błąd w postępowaniu elektronika...

    0
  • #24 21 Kwi 2005 15:56
    mrgr
    Poziom 14  

    coz.. dziś odwiedziłem sklep... i zamiast ULN kupilem bufory 74HCT241...
    działać powinny tak samo tyle że pobierają jescze mniejszy prąd no i obciażalność jest mniejsza.. do 64 mA.... ale dla diody i tak wystarczy :)

    0
  • #25 22 Kwi 2005 00:07
    mrgr
    Poziom 14  

    zaprojektowałem sobie płytke na tych HCT... tragedia...
    tyle ścieżek... zastanawiam się czy jednak nie wrocić do ULN...
    płytka byłaby chyba prostsza.. a juz na pewno 1 warstwowa....

    czy nie byłoby dobrze zamiast tranzystora przed diodą na podczerwiń również użyć tego ULN??

    0
  • #26 22 Kwi 2005 07:45
    Witgol
    Poziom 19  

    Co do odbiornika - oczywiście płytka byłaby prostsza... Sygnały w ULN przechodzą: z jadnej strony wejścia - z drugiej wyjścia. Nie ma problemu.
    (nie zapomnij o rezystorach podciągających...)

    Co do nadajnika: pewnie, że można użyć ULN (trzeba zmienić podłączenia i przeliczyć opornik). Tylko po co stosować całą kostkę - po to tylko, żeby wziąć z niej tylko jeden driver? Bo rozumiem, że w nadajniku masz tylko klawiaturę i nic więcej do podłączania do procesora nadajnika. To tak, jakby kupić cały samochód, żeby wziąć od niego tylko jedno koło... można, tylko po co?

    Pozdr.

    0
  • #27 22 Kwi 2005 14:19
    mrgr
    Poziom 14  

    odbiornik zaprojektowany... narazie bez samego modułu nadawczego w postaci podczerwieni... gotowy do prób na kabelkach...

    załączam plik do programu PCB123, czy wszysktko jest ok...

    pytanie jszcze tylko o nadajnik... czy przyciski w nim zwierać do 0, czy do 1 ??
    sa to przyciski chwilowe...

    0
  • Pomocny post
    #28 22 Kwi 2005 14:33
    Witgol
    Poziom 19  

    -> mrgr !!!
    Z zasady NIE otwieram plików typu exe. I nie będę tego robił. Jeżeli chciałbyś coś pokazać, dawaj pliki typu jpg, tif, gif i jakie tylko chcesz inne. Ale NIE EXE!!! I to niezależnie od tego, czy jest to np. archiwum samorozpakowujące. Chcesz dać coś zapakowanego - daj zip. I nic więcej.
    Pozdr.

    0
  • #30 22 Kwi 2005 16:08
    Witgol
    Poziom 19  

    Niestety - otworzyłem zipa, ale nie mam softu, by go odczytać....
    Ale nie chciałbym wtrącać się w oprogramowanie....

    Teraz co do klawiszy. Teoretycznie (...) można by i tak, i tak.
    Ale nie do końca. Jeżeli miałbyś sie nauczyć prawidłowego projektowania, to trzeba rozpatrzyć wszystkie za i przeciw.
    A więc po kolei.
    1. W procesrku '51 musimy ustawić portów tak ,aby z nich wczytywać dane (tzn. wpisać odpowiednio jedynki w rejestry wyjściowe)
    2. po tym ustawieniu na portach możemy fizycznie pomierzyć "1"
    Dlaczego? do tak ustawiony port posiada włączone słabe źródła prądowe podciągające wyjścia do plusa. Jaki to prąd? U różnych producentów procesorków jest różnie. Można przyjąć z wielkim przybliżeniem, że mamy tak jakby opornik 50 kOhm (!!!) podłączony między plusem a pinem portu.

    I teraz: jeżeli chciałbym podłączyć piny wejściowe procesora do klawiszy zwierających do plusa, musiałbym wstępnie wymusić stan "0" na porcie, aby wciśnięcie klawisza powodowało zmianę stanu na "1". Po puszczeniu klawisza - stan powinien powrócić na "0". Ale przecież port ma opornik do +V !!! Więc jedyną metodą byłoby podłączyć porniki do każdego pinu wejściowego do - zasilania, aby "sciągnąć" napięcie do zera. podłączony opornik do -V powinien mieć oporność ok. 1kOhm, aby uzyskać pewne "0". Pamiętajmy, że cały czas płynie przez niego prąd "wypływający" z pinu procesora. To jednak względnie mała oporność. I wciśnięcie klawisza powoduje przepływ prądu ok. 5mA na jedno wejście. Jak podłąszymy tak wszystkie pory procesora - opornikami do masy, aby uzyskać wstępne "0" na wejściach - wymusimy ciągły przepływ prądów w SUMIE ze wszystkich pinów procesora do minusa. PO CO????
    Spróbujmy pomyśleć, co będzie jak podłączymy przyciski między masą a pinem procesora. W stanie normalnym- przycisk puszczony - na wejśiu procesora panuje stan wysoki. Prąd żaden nie płynie - no bo gdzie? A teraz zwieramy przycisk. Pojawia się "0" na porcie. Jak go puscimy ,to znowu pojawia się "1" i prąd przestaję płynąć. Logiczne? Dla pewności działanie przełączników najczęściej dokłada sie dodatkowe rezystory ok. 10kOhm (10x wiecej niż poprzednio) połączone między plus zacilania a pin procesora. Tak jakby dodatkowe zewnętrzne podciągnięcie pinu do +V zasilania. W stanie spoczynku ŻADEN prąd nie płynie . A po wciśnięciu klawisza - popłynie dodatkowy prąd 5/10=0.5 mA (poprzednio pojedynczy klawisz dawał dodatkowy prąd ok. 5mA. Jest różnica?
    A prądy tem moglibyśmy pomnożyć przez ilość jednoczećnie wciśniętych klawiszy (30x5mA lub 30x0.5ma) Maleńka różnica....

    Jeśli jasne . to ok. Wiadomu już, że dla '51 lepiej jest umieszczać klawisze zwierające do masy. (Uwaga: analiza dla klawiatury multipleksowanej musi byc nieco inna...)

    Uwaga: nie wiem, czy moderator nie wkurzy się na takie długie moje wywody i ciągnący sie post.... Proponuję może kontakt mailowy...


    Chociaż - niech trwa... o ile jest pomocne.
    Pozdrawiam

    0