ATNEL tech-forum
https://forum.atnel.pl/

odbiornik rc5 na attiny13
https://forum.atnel.pl/topic1772.html
Strona 1 z 1

Autor:  naelektryzowany [ 7 lis 2012, o 20:27 ]
Tytuł:  odbiornik rc5 na attiny13

Witam.
Nadal jako bardziej bascomowiec nić c'owiec stanąłem przed sporym problemem.
Może napisze po kolei.
Mam własnej konstrukcji robota - line followera, wyposażonego w TSOP4836, niestety projektowałem go dość dawno i nie pomyślałem o tym, aby wyjście tsop'a podpiąć pod jakiegoś int'a. A odczyt z "szablonu" w głównej pętli skutecznie pogarszał czas obiegu pętli, co skutkowało znacznym problemom przy większych prędkościach. Dlatego wpadłem na pomysł aby dać w pająku podklejonego pod tsop'em tiny13 w ssu który po odczytaniu kodu (zwykłe RC5) wystawiłby na kilkanaście / dziesiąt ms określony stan na jednym z I/O, który byłby odczytywany po prostu w pętli głównej procka głównego. Z przyjemnością zrobiłbym to sam... jednak albo moje umiejętności, albo ograniczenia bascoma mi to uniemożliwiają. Gotowe polecenie pod tiny13 nie działa, a ręcznie napisany odczyt nie mieści się we flashu. Dlaczego więc nie C? Em... powiedzmy, że póki co wystawianie/odczytywanie I/O to szczyt moich możliwości, a działający układ potrzebuję za niecałe dwa tygodnie - konkretnie 17, wliczając czas potrzebny na udoskonalanie głównego kodu + szkoła, raczej nie widzę możliwości, aby to zrobić samemu.
Dlatego proszę dobrego forumowicza, o programik, albo jakiś szkic/wskazówki. Nie chcę gotowego hex'a bo przy tym się nic nie nauczę i podobny problem pewnie pojawiłby się wkrótce, a kod byłby nie do przeróbki.
Jakie mam wytyczne? Zależy mi tylko aby:
1. Procek to tiny13, lub coś równie małego i możliwego do kupienia w rozsądnym czasie.
2. Brak elementów zewnętrznych, albo chociaż maksymalna ich minimalizacja (filtracja zasilania jest już na płytce, i to zraz obok, o to się nie martwcie ).
3. Odczyt z tsop4836 dowolnym i/o
4. Reakcja na RC5 adress: 0, komendy 1 i 13 (wystawienie stanu dla jednej komendy na powiedzmy 10ms, dla drugiej 20ms)
5. Stan wystawiany dowolnym I/O

Jeżeli ktoś ma chwilę czasu, lub pisał coś podobnego. Proszę o pomoc.
Co mogę dać w zamian... Jeżeli ktoś z łodzi, a najlepiej startujący w sumochallenge. To się dogadamy. . Na zbyciu mam kilkaset diod prostowniczych 10A, starsze EP/Edw i trochę innych "dzikich itemów".
Mogę też zrobić jakąś żmudną robotę.

Dziękuję.

Autor:  krafin [ 10 lis 2012, o 23:25 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Witam

W załączniku kod w c oraz gotowy plik .hex (wyjście na PortB.0, a czujnik na PortB.2)

Kod zrealizowany na przerwania pin change interrupt, więc w sposób nie blokujący pętli głównej, dlatego można tam jeszcze sporo innych rzeczy wrzucić.
Kod działa dokładnie tak jak chciałeś, testowane na atmega 32 (co prawda na zwykłym incie ale to bez różnicy) i przerobione na attiny więc zobacz czy działa a jeżeli nie to daj znać, ale na 99% będzie ok.

Komentarze w obsłudze rc5 po angielsku dlatego że to moja minimalnie przerobiona obsługa rc5 z której korzystam od dawna a dla siebie komentarze zawsze po angielsku stawiam ale myślę, że się zorientujesz o co chodzi.

Autor:  naelektryzowany [ 12 lis 2012, o 16:10 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Jej :D
Dzięki wielkie... zaraz lutuję i wgrywam sofcik ;)

Autor:  krafin [ 12 lis 2012, o 16:30 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Ojjj sorki ale pomyliłem się pinami i teraz to zauważyłem jeśli masz już polutowane to masz tutaj zmienioną wersję(tsop na PortB.2 a out na PortB.0, w poprzednim było na odwrót)

Autor:  naelektryzowany [ 12 lis 2012, o 17:20 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Właśnie polutowałem zaprogramowałem i coś nie chodziło.. za 2 min sprawdzę nową wersję :D

------------------------ [ Dodano po: 3 minutach ]

na wyjściu cały czas 0.
Btw.. jak fusy ustawić?

------------------------ [ Dodano po: 33 minutach ]

Może to brak mojego doświadczenia, ale eclipse nie kompiluje tego, bo errory jakieś. :(

Autor:  naelektryzowany [ 12 lis 2012, o 20:00 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Chyba znalazłem przyczynę problemu... tiny ma znaczne mniejsze taktowanie niż powinien.
Zrobiłem toggla w pętli 500ms, czyli powinien mrugać raz na sekundę.
na oko 15 sekund w realu to 14 sekund dla tiny.
Można to jakoś skorygować, nie posiadając analizatora stanów logicznych, ani oscyloskopu?

Autor:  krafin [ 12 lis 2012, o 20:52 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Ustaw fusy na 9600000(oscylator wewnętrzny) oraz we właściwościach projektu tę częstotliwość.

Jeszcze raz zaraz to pyknę na Atmega32 i dam znać.

P.s. Tego toggla to w c zrobiłeś? Czy bascomie?

Autor:  naelektryzowany [ 12 lis 2012, o 21:13 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Toggle'a w bascomie, niemniej jednak rozbieżności nie powinno być.

Tak mam ustawione i nadal nie działa.
Jutro jeszcze pokombinuję. W każdym razie dzięki za pomoc. ;)

Autor:  krafin [ 12 lis 2012, o 21:58 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Ok

Sprawdziłem i było kilka błędów - m.in. brak volatile przy zmiennej oraz nie włącznie przerwań od tim0, ale teraz jest to poprawione oraz działa.

Więc tak gotowy hex:
-Dla komendy 1 (aby łatwiej testować, jak będzie ok to napisz i zmienię na już ostateczne) - 1 na PB.0 na ok 200ms
-Dla komendy 2 (to co wyżej) - 1 na PB.0 na ok 400ms
-Czujnik na PB.2
-Adres pilota 0

Autor:  naelektryzowany [ 13 lis 2012, o 18:06 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Jesteś wielki :D
Działa !!!!
i to dokładnie tak jak piszesz ;)

Miałbym tylko prośbę do przerobienia na te 10 i 20ms na kody 1 i 13 ;)

------------------------ [ Dodano po: 2 minutach ]

Znaczy się:
1 - 10ms
13 - 20ms

Swoją drogą.. jak zmniejszyć czułość tsop'a? łapie pod warunkiem, że pilota kieruję w druga stronę (na odbiornik pada światło odbite), lub pomiędzy ir pilota a odbiornikiem umieszczę 3-4 karki papieru. Bez papieru i na wprost.. 0 reakcji.

Autor:  krafin [ 13 lis 2012, o 20:31 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Ok zaraz przerobie tylko mam pytanie czy to koniecznie musi być 10/20ms czy może być np 7/14ms (wielekrotność 7) ponieważ tak nie ma kombinowania z timerami i jak tak to jakie dokładnie mają być czasy.

------------------------ [ Dodano po: 2 minutach ]

Co do czułości tsopa to miałem tak samo i jedno co zauważyłem to że stare tsop1736 miały najmniejszą czułość, te 4836 mają bardzo dużą, z drugiego końca 6-metrowego pokuju po odbiciu o poduszkę normalnie odbiera bez przekłamań.

------------------------ [ Dodano po: 47 minutach ]

Zrobiłem 2 wersje:
I - dla komendy 1 - 7 ms, dla 13 - 21 ms i ta na 100% będzie działać
II - dla komendy 1 - 10ms, dla 13 - 20 ms, niestety tej nie jestem pewien a nie mam jak sprawdzić.

Autor:  naelektryzowany [ 13 lis 2012, o 22:03 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Dzięki. Na dziś już odstawiłem proga, jednak jutro jak tylko będę w domu przetestuję. :)
Odnośnie czasów, oczywiście ze nie muszą być takie, ważne aby było to choćby kilkanaście ms dla jednej z nich, bo w petli w której będzie odczytywana jest sporo rzeczy.

A odnośnie czułości. Tsop u mnie jest zasilany przez rezystorek 220ohm, jednak jest to 0805 i to w bardzo kiepskim miejscu (słaby dostęp), dlatego najpierw wolę się spytać. Czy zwiększenie jego wartości obniży czułość?
Aktualnie celując "na wprost" łapie powyżej 3m, bliżej tylko po przesłonięciu diody ir, lub odbiornika, ale szczerze mówiąc nie jestem zwolennikiem takich rozwiązań. :D
To ma być wyłącznik bezpieczeństwa, który ma chronić przed uszkodzeniem całości, dlatego niezawodność jest dla mnie taka ważna.

Autor:  krafin [ 13 lis 2012, o 23:36 ]
Tytuł:  Re: odbiornik rc5 na attiny13

No ja z tym problemu nie miałem łapał nawet z centymetra każdy czujnik, jednak ja nie zasilałem go przez rezystor, za to miałem 100nF zaraz przy jego nogach zasilania, bez niego czasami występowały przekłamania.

Dlatego może by mądrzejsze głowy :D do nas dołączyły, i się wypowiedziały:D

Autor:  mirekk36 [ 13 lis 2012, o 23:42 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Zdecydowanie rezystor warto a nawet trzeba dać (jak jest zresztą w nocie) .... jego wartość 100R czy 200R nie ma żadnego znaczenia jeśli chodzi o zasięg odbiornika. Rezystor wraz z małym kondensatorkiem np 4,7uF (elektrolit) tworzy cenny filtr zasilania, co jest ważne właśnie ze względu na eliminację zakłóceń w pracy odbiornika.

Zasięgi to zależą panowie od prądu jaki podawany jest na diodę podczerwieni, jeśli więc sami robicie pilota to zwróćcie na to uwagę, a jeśli macie oryginalny pilot to sprawdźcie czy baterie nie są za stare i nie mają już zbyt małego napięcia.

Autor:  krafin [ 13 lis 2012, o 23:45 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Właśnie popatrzyłem do dokumentacji mojej EvB firmy microsense i odbieram na niej bez problemu:
Obrazek


Więc możliwe że po prostu farta miałem :?

Autor:  mirekk36 [ 13 lis 2012, o 23:50 ]
Tytuł:  Re: odbiornik rc5 na attiny13

ale w czym farta miałeś jak jest akurat poprawnie wykonany odbiornik ?

Za to na pewno masz za duże podciąganie przy DS18B20, 10K to duża przesada ale też - do testów na krótkim kablu wystarczy. Powinno być 4,7K albo nawet 2,2K

Autor:  krafin [ 14 lis 2012, o 00:09 ]
Tytuł:  Re: odbiornik rc5 na attiny13

To są schematy z mojego EvB, a farta to miałem z tym, że w innych układach zawsze stosowałem tsop'a bez rezystora, tylko 100nF i zawsze działało.

Autor:  naelektryzowany [ 14 lis 2012, o 15:49 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Pilot kupny.
Zaraz przy tsop mam 100nf ceramik+ 4,7uf w tantalu.
Diodę pilota zakleiłem taśmą... Teraz jest pawiej ok. co nie zmienia faktu, ze wolałbym elektroniczne rozwiązanie. :D

Autor:  naelektryzowany [ 14 lis 2012, o 18:51 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Widzę, że mój problem jest chyba dość niecodzienny.
Myślicie, że może być to uszkodzony egzemplarz tsop? Mam gdzieś taki sam, ale szczerze mówiąc, miałbym mały problem ze znalezieniem, a czas nagli. :D
Taśma na ir ma jedną zasadniczą wadę. w odległości kilku metrów nie łapie nawet na wprost, a kompromis znaleźć dość trudno.

Autor:  krafin [ 14 lis 2012, o 19:27 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Tym bardziej uważam, że to pewnie wadliwa wersja tsopa.

Może po prostu kup w sklepie inną, do zawodów zdążysz (domyślam się że to na nie ci się spieszy)

Autor:  naelektryzowany [ 14 lis 2012, o 20:14 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Przetrząsnąłem wszystko znalazłem 1szt z urwaną nóżką :D
Zaraz rozwiercę i sprawdzę.. jak będzie podobnie, to zostawiam tak jak jest.
Jak zasuwa na podłodze to 9/10 razy zareaguje poprawnie.

------------------------ [ Dodano po: 4 minutach ]

.. mogę to potwierdzić.. tsop jest wadliwy.
Jednak go zostawię na miejscu i narazie zakleję pilota taśmą. :D
Przy okazji zauważyłem, że nie łapią one gdy świecimy "na wprost". Zarówno wadliwy, jak i ten dobry.

------------------------ [ Dodano po: 20 minutach ]

No to ostatnia prośba. Mógłbyś ustawić czasy na:
Dla 1 - 200ms
Dla 2 - 20ms
tzn podobne, - tak aby tobie było łatwo.
?
Zrezygnowałem z 13 :D może to ona pecha przynosi. :P

Autor:  krafin [ 14 lis 2012, o 21:12 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Proszę bardzo.

Mam nadzieję, że stanie na podium:D

P.s. Startujesz z udoskonalonym SilverShaft'em czy jakaś nowa konstrukcja, może wrzucisz jakiś filmik.
Załącznik:
rx_20_210ms.rar


------------------------ [ Dodano po: 2 minutach ]

21 ms dla komendy 2, oraz 210 dla komendy 1

Autor:  naelektryzowany [ 14 lis 2012, o 21:36 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Dzięki zaraz zapodam tinówce. :D
Jej skąd wiesz o Silver Shafcie? :D
Tak. mowa właśnie o nim. Brak czasu, i funduszy na coś nowego.
Jednak udoskonaleń jest i co cały szereg. w 90% programowych... sam soft jest aktualnie w wersji którą oznaczyłem V7.0 aby go wyróżnić, bo w przeciwieństwie do pozostałych został napisany od początku. Za bardzo namieszałem w kodzie i prościej było zrobić od nowa a porządnie. (o ile można tak nazwać kod w bascomie) w każdym razie od teraz ma wsparcie dla bluetooth'a i dzięki tobie irdę. ;)

Czy stanie na podium? Szanse raczej marne, jeśli już to w kategorii lf z przeszkodami. Niemniej dopilnuję, aby wyciągnąć z jego tylko na ile pozwala mój stan wtajemniczenia w programowanie i wyczucie algorytmiczne. ;)

Będziesz w łodzi na zawodach?
Jak mogę Ci się odwdzięczyć, za pomoc? Sam na ten moment bym tego nie napisał. ;)

Autor:  krafin [ 14 lis 2012, o 22:23 ]
Tytuł:  Re: odbiornik rc5 na attiny13

Doskonale rozumiem brak funduszy, za to czasu to ja mam aż nadto (I klasa technikum mechatronicznego = totalny brak nauki a oceny i tak ok, i niestety wyszło leniuchowanie w gimnazjum, kiedy nie dostałem się na nic lepszego)

Byłem w tamtym roku na robomaticonie jako widz i widziałem go w akcji, w łodzi niestety nie będę ale jeśli mój robot pojedzie do 15 grudnia( a na razie to tylko połowa płytki zaprojektowana - niestety brak wyobraźni) to będę na RA w Wrocławiu.


Nie oczekuję niczego w zamian, cieszę się że mogłem pomóc, i jeśli będziesz miał jeszcze jakieś pytania śmiało pisz :D

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/