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

Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

mirekk36 30 Lip 2009 13:57 25977 67
  • Czujnik podczerwieni do robota - strefy: lewa, prawa, środek
    Witam,

    Ponieważ ostro wziąłem się za zrobiene robota samobieżnego, sterowanego przez IR a także BT - zmuszony zostałem do przygotowania sobie narzędzi. Prezentowane tu narzędzie to:

    Strefowy czujnik podczerwieni , który potrafi rozpoznawać położenie obiektów lub ich ruch przed czujnikiem odbywający się z lewej na prawo lub odwrotnie.


    . . . . . . . . . . . . . . . . . . . . . . . . . .

    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    Widziałem w necie podobnie działający układ tyle że na samych bramkach TTL - i do tego trzeba było jeszcze później obrabiać to wszystko samemu w procesorze. Postanowiłem to sobie uprościć, i tak przygotować sterowanie, żeby podłączenie do głównego procka robota oraz obsługa tegoż była już bajecznie prosta - no i mi się jakby udało ;)

    Układ bazuje na 2 diodach IR, czujniku IR 36kHz, Tiny13 i kilku diodach LED. Te diody służą na bieżąco do wskazywania stanu pracy urządzenia - tak aby można było łatwo je sobie kalibrować gdyż są takie możliwości.

    1. Czujnik potrafi wykrywać przedmiot w 3 różnych pozycjach: LEWA, ŚRODEK, PRAWA

    2. można regulować sobie zasięg - czyli odległość w zakresie od ok 2cm do 1,5m ! (tym jedynym potencjometrem, który widać na schemacie i na płytce)

    3. posiada ciekawe wyjścia do podłączenia do nadrzędnego procesora w robocie. Wyjście L, R oraz IRQ. Zawsze gdy wykryta jest jakakolwiek zmiana stanu obiektu znajdującego się w polu widzenia - następuje generowanie sygnału PRZERWANIA (IRQ) na zewnątrz. Dzięki temu procek nadrzędny w procedurze obsługi tego przerwania wystarczy, że odczyta stan wejść L oraz R i już wie co się dzieje. Możliwe sytuacje:

    L R
    0 0 - brak obiektu w polu widzenia
    1 0 - obiekt znajduje się z lewej strony
    0 1 - obiekt znajduje się z prawej strony
    1 1 - obiekt znajduje się w środku





    najlepiej jest to zobrazowane poniżej na obrazku typu animowany GIF
    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    4. Pomimo to że diody działają na nośnej 36kHz to nie koliduje to z pracą pilotów IR - no chyba że specjalnie świecimy pilotem w oczy i długo to czasem się coś tam wzbudzi ;) - ale generalnie robiłem to z myślą, że przód będzie badany przez ten czujnik a na plecach robot będzie miał drugi odbiornik IR ale już do sterowania - i będzie to ładnie działać - już wstępnie sprawdzałem.

    5. Przerwanie IRQ - jest generowane nie tylko w momencie gdy coś się pojawi w zasięgu "wzroku" czujnika - ale także gdy to coś zniknie z pola widzenia - to strasznie ułatwia pracę procesorowi nadrzędnemu - można powiedzieć, że po odczytaniu w takiej procedurze obsługi przerwania - stanu widoku czujnika - można także od razu zaimplementować na gotowo sterowanie komendami do sterowania silników kół napędowych czy innych rzeczy - bez specjalnej dodatkowej analizy ;)

    (prezentuję całą dokumentację z wykonanej pracy poza małym wyjątkiem czyli - bez kodów źródłowych, wsadu i projektu płytek)

    generalnie sam program nie jest skomplikowany - polega na generowaniu nośnej 36kHz przez Timer0 oraz podawanie jej na przemian na jedną i drugą diodę IR - po czym jest dokonywana analiza - tego co się dzieje.
    Trochę zabawy tylko miałem z dobraniem czasów i optymalizacji nie kodu ale całości, żeby ładnie śmigało. Układ wykorzystuje pin RESET procesora - tak więc po przeprogramowaniu FUSEBITU - RSTDISBL - już nie można dalej nic z nim zrobić - no ale po co skoro działa - ten pin służy do generowania właśnie przerwania na zewnątrz.

    poniżej przedstawiam schemat:
    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    płytki wykonane własnoręcznie z użyciem lakieru termoutwardzalnego wg przepisu kolegi Markosik20 ;) - ale muszę przyznać, że to jest taaaaak zarąbiaszczo pracochłonne że szok - aż mi się odechciewa - ale z drugiej strony w miarę fajny efekt no i miedź ładnie zabezpieczona ;)

    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek



    tutaj filmik na żywo:


    Link


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • #2 30 Lip 2009 16:22
    rpal
    Poziom 27  

    Mnie się osobiście podoba, jednak skoro nie chcesz publikować nawet schematu PCB a tym bardziej wsadu pamięci to rozumiem że jedynie chcesz zaspokoić swoją próżność i liczysz na pochwały ? Ode mnie masz zatem pochwałę :)
    Tak przy okazji przy całym szacunku dla niejakiego markosika20 to jego produkty są nieco przereklamowane przez samego "producenta". Wytrawiacz to zwykły nadsiarczan amonu,środek do cynowania jest wrażliwy na pH roztworu i bardzo szybko wytrąca osad,papier do termotrasferu to zwykły papier kredowy (a i procent udanych płytek jest mocno wątpliwy) natomiast metoda z lakierowaniem to istny horror z drapaniem PCB w tle. Lepszy jest już zwykły lakier elektroizolacyjny w spray-u a lakiero światłoczułego lub gotowego laminatu nic nie zastąpi. PZDR

  • #3 30 Lip 2009 16:43
    KJ
    Poziom 31  

    Bez przesady z tym drapaniem to nie jest aż taki wielki problem. Fakt zajmuje trochę czasu ale jak się ma odpowiednie narzędzie - śrubokręt nie za ostry i nie za tępy tak żeby zdzierał lakier ale nie kaleczył miedzi pod nim to efekt jest bardzo przyzwoity. Sam stosuję od dłuższego czasu. Za to jego cynowanie jest do d... opracowałem z kolegą lepsze ale trzeba je podgrzać do około 80 stopni. Co do samego lakieru to próbujemy ustalić co to jest. Bo prawie na pewno jest to coś dostępnego w handlu do innych celów i prawdopodobnie znacznie tańszego.

  • #4 30 Lip 2009 16:53
    ElektroTME
    Poziom 14  

    Projekt fajny, z kodami sobie poradzę, akurat w porę zrobiłeś ten czujnik, bo miałem się za takie cuś zabierać do mojego robota.

    Mam jeszcze pytanie:
    Jaki moduł bluetooth użyjesz do odbioru danych, jakie biblioteki są potrzebne aby w ogóle napisać komunikacje między kompem a robotem?

    Czy nie lepiej sprawdziło by się połączenie ich modułem radiowym?
    Taki moduł jest pod USB i nie jest większy od pendrajwa, a bliźniaczy moduł do robota ma odpowiednie piny danych.
    Przecież zasięg bluetooth to max 50m
    radiowy to lekko 150m

    Wiem że odpada sterowanie telefonem, ale jeżeli robisz go na pilota od TV to na co Ci sterowanie telefonem, czyż nie?
    Poza tym z tym bluetooth chodzi Ci pewnie o bezprzewodowe programowanie robota, ale jak mówiłem, przez radio też to działa i na dodatek ma większy zasięg.

    Pozdrawiam konstruktorów robotów mobilnych

  • #5 30 Lip 2009 17:05
    sobieraj_100
    Poziom 12  

    Mam pytanie do autora. Czy odbiornik IR nie reaguje na sygnały z pilota ? A może zostało to w jakiś sposób ( jaki ? ) rozwiązane ? Pozdrawiam

  • #6 30 Lip 2009 17:12
    mirekk36
    Poziom 42  

    ElektroTME --> służę pomocą jak już będziesz pisał kod ;)

    pytasz dlaczego chcę uzyć BT i sterowania IR jednocześnie.

    Jak by nie patrzeć BlueTooth to też połączenie radiowe a stosując moduły BTM-222 można uzyskiwać zasięg do 100m. Zresztą mi aż tyle nie jest potrzebne - przecież to nie będzie samo łaziło po lesie ;)

    Tak jak wspomniałeś - po BT będę zapewne dokonywał programowania procka za pomocą własnej konstrukcji także bootloadera. Dzięki BT mogę to robić b.szybko bo z prędkością 115200. (taką komunikację mam już przetestowaną do bólu)

    ale BT będzie także służyło do sterowania robotem bezpośrednio z kompa - jeśli będzie taka potrzeba (a takie mam założenia)

    równolegle będzie możliwość sterowania z pilota IR (TV) a to dlatego, że np gdy wybiorę się z robotem na spacer a nie będę taszczył ze sobą PC'ta czy laptoka - to też przyda się coś małego poręcznego czym można wydawać podstaowe rozkazy

    generalnie to i tak ten robot będzie służył głównie dzieciom.

    Ma on być wielozadaniowy (tzn połączenie kilku cech jak np: światłolub, linefolower i jeszcze coś innego - ale nie będę uprzedał faktów - najpierw muszę to zrobić)

    Robot będzie miał dwa czujniki - jeden to ten, który tu prezentuję a drugi to czujnik odległości na ultradźwięki - też muszę zrobić taki uniwersalny moduł jak ten.

    plus kilka drobniejszych czujniczków linii itp itp ;)

    Dodano po 5 [minuty]:

    sobieraj_100 ---> tak - jest to zrobione w dużym stopniu programowo - jak?

    - procesor w czasie analizy sygnałów z obydwu czujników po wstępnej obróbce działa za pomocą algorytmu podobnego do tego, którego używa się do eliminacji drgań styków w zwykłych microswiczach ;) - tak więc w ogromnej większości wypadków nadlatujące ciągi szybko zmieniająych się stanów - są ignorowane.

    to była właśnie ta cała zabawa z optymalizacją wszystkiego.

    oczywiście jeśli zdarzy się pilot który ma długi okres GAP (przerwy) pomiędzy paczkami danych - to wskoczy czasem zakłócenie - ale to można pominąć jeśli chodzi o stwarzanie jakichś szczególnych problemów. Mam np własnej produkcji pilota do aparatu OLYMPUS - i ten skubaniec czasem spowoduje, że czujnik zobaczy na moment jakby ducha ;) - no ale to można jeszcze zweryfikować już w programie sterujacym w procku głównym ;)

  • #7 30 Lip 2009 18:15
    MasMas
    Poziom 16  

    Nie wiem czy się tak ośmieszać, ale zapytam ;)

    Jestem dość bardzo początkujący i szczerze mnie ten projekt zaciekawił (może nie w takim zastosowaniu, ale ogólnie)...

    Jak ten czujnik właściwe działa ? To jest tak, że diody nadawcze wysyłają podczerwień na daną odległość (ust. potencjometrem) i gdy jest jakiś przedmiot to ten odbija podczerwień, i która odbita jest wyłapywana przez czujnik ?

    A jeśli to tak działa, to skąd czujnik "wie" (tj. jak to odczytać) z której diody pochodzi podczerwień ?

    A co do projektu to bardzo profesjonalnie i przede wszystkim prosto (patrząc po ilości elementów).

  • #8 30 Lip 2009 18:59
    mirekk36
    Poziom 42  

    MasMas --> mało elementów bo prawie całą "brudną" robotę odwala procek ;)

    a co do sposobu działania to jest dokładnie tak jak napisałeś ;)

    a co do dalszego etapu - skąd czujnik wiek z której diody pochodzi podczerwień? - to nie czujnik wie - tym już się zajmuje procesor - to on sekwencyjnie wysyła sygnały raz do jednej a raz do drugiej diody - to później wie skąd one nadlatują - prawda?

    pozdrówka

  • #9 30 Lip 2009 19:04
    rpal
    Poziom 27  

    KJ napisał:
    Bez przesady z tym drapaniem to nie jest aż taki wielki problem. Fakt zajmuje trochę czasu ale jak się ma odpowiednie narzędzie - śrubokręt nie za ostry i nie za tępy tak żeby zdzierał lakier ale nie kaleczył miedzi pod nim to efekt jest bardzo przyzwoity. Sam stosuję od dłuższego czasu. Za to jego cynowanie jest do d... opracowałem z kolegą lepsze ale trzeba je podgrzać do około 80 stopni. Co do samego lakieru to próbujemy ustalić co to jest. Bo prawie na pewno jest to coś dostępnego w handlu do innych celów i prawdopodobnie znacznie tańszego.

    To ja koledze pomogę, np. lakier używany do nadruków na puszkach metalowych, jest wypalany w piecu ale neistety jest pakowany w beczki po 200 litrów. Mam taki ale niestety biały. Mimo że można to zabarwić dałem sobie spokój i pozostaję przy fotopolimerach oraz przy zwykłym sprayu z lakierem elektroizolacyjnym. Cynowanie także nie jest problemem bo przepisów na chemiczne cynowanie jest masa. Tylko trzeba od razu zakupić całe kilo chlorku cynowego i tiomocznika. A to już dość drogo wychodzi. Pytanie do kolegi od robota modół BT ciężko się programuje ?

  • #10 30 Lip 2009 19:25
    ElektroTME
    Poziom 14  

    Cytat:
    służę pomocą jak już będziesz pisał kod

    Dziękuje, być może skorzystam ;]

    Cytat:
    Jak by nie patrzeć BlueTooth to też połączenie radiowe a stosując moduły BTM-222 można uzyskiwać zasięg do 100m. Zresztą mi aż tyle nie jest potrzebne - przecież to nie będzie samo łaziło po lesie


    No ok, cena ok 60-70zł łączność radiowa to ok 120zł, prędkość BT kusi, więc zapewne rozszerzysz robota o jakąś kamerkę z mic?
    Podsumowując, bt tańszy o połowę od radia, i ma 2x szybszy przesył, ale gdzie mogę znaleźć do niego biblioteki pod c++? kiedyś szukałem, ale bez skutku.

    Cytat:
    Tak jak wspomniałeś - po BT będę zapewne dokonywał programowania procka za pomocą własnej konstrukcji także bootloadera.

    Bootloader do hex'a naturalnie potrzebny, pomyśl także nad jakimś programowaniem drogi, albo łądowaniem do pamięci jezyka skryptowego, który robot wykona. Jeżeli to ma być dla dziecie, to pomyśl także o graficznym interfejsie programowania owego cuda.

    Co do IR się zgodzę, przydaje sie taki mały pilot XD
    Ja też robię robota modułowego, pierwsza wersja jest oparta na mega32, ma uln2803 do sterowania krokowym unipolarnym i L293D do silników.
    Naturalnie gniazdo USB, komunikacja awaryjna, gdyby łączność radiowa zawiodła, zasilanie i ładowanie bat.


    Cytat:
    drugi to czujnik odległości na ultradźwięki - też muszę zrobić taki uniwersalny moduł jak ten

    Ciekawy jestem konstrukcji takowego i jego kosztów, ten sprzęt nie jest taki tani jak IR.

    Co do zakłuceń tego czujnika IR, można obudować go prostokątnym pudłem, tak aby wyłapywał tylko to co do niego przyjdzie z przodu, a nie np z góry, no i nie świecić mu w "oczy";)

  • #11 30 Lip 2009 19:56
    Ture11
    Poziom 34  

    Witam.
    Projekt bardzo przypadł mi do gustu, tymbardziej, że już od paru ładnych miesięcy próbuje coś wykombinować, ale zupełnie sobie nie radzę (jak ktoś ma jakiś dobry temat o radarach ultradzwiękowych to, tak na oftopie, poproszę).
    Przede wszystkim pochwalam pomysł. Jako, że bardzo chciałbym coś podobnego zrobić, poprosiłbym o wsad do procka :-).
    Czy nie ma problemu z zakłóceniami od diody nadawczej (z powodu małej odległości nadajnika od odbiornika?) i czy, jeżeli nie ma, wyeliminowałeś to za pomocą czekania po nadaniu? Dobrze myślę?

  • #12 30 Lip 2009 20:02
    mirekk36
    Poziom 42  

    rpal --> jeśli chodzi o moduły BT czyli w moim przypadku BTM222 albo BTM-112 - to ich w zasadzie się nie programuje. Je tylko raz trzeba dobrze ustawić (można z terminala na PC) i po kłopocie - no chyba że robisz komunikację pomiędzy dwoma BT i jeden jest masterem - no to trzeba za pomocą jednego polecenia AT nawiązać połączenie i to wszystko. A samo polecenie to: ATA ENTER ;)

    ElektroTME --> pytasz o biblioteki do BTM'ow o ktorych pisałem wyżej - nie potrzeba takich bibliotek - cała komunikacja odbywa się tak na prawdę po RS232 - tylko BT stanowi taki wirtualny "sznurek" ;) (samo uruchomienie tych modułów jest banalnie proste - jak coś to służę pomocą w moim skromnym zakresie wiedzy na ten temat)

    o takich rzeczach jak kamerka itp też myślałem - no ale spokojnie powoli ;)

    Odnośnie szkieletu robota to widzę, że podobnie zaczynamy - u mnie też podstawa to na razie ATmega32 oraz L293D - za chwilę zapewne dojdzie ULN - bo jestem w trakcie robienia schematu ;)

    ..... co do czujnika odległości na ultradźwięki - to jestem optymistą co do kosztów. Właśnie już lecą do mnie nadajniczki - więc wkrótce nowy procek w rękę i jazda ;) - nie omieszkam pokazać tu wtedy tego projekciku jeśli wyjdzie poprawnie - a sądzę, że podobnie jak ten skończy się na procku, nadajniczkach ultradźwięków (2szt) i paru drobiazgach jak rezystorki, kondensatorki itp. Opiszę więc co i jak - po testach

    Dodano po 3 [minuty]:

    Ture11 ---> nie ma problemu z zakłóceniami od diody nadawczej - a w zasadzie to nie od jednej diody - bo tu są aż DWIE DIODY IR ;) - żadnych zakłóceń tego typu o jakich piszesz - a zasada podobna do tej o jakiej wspominasz ;)

    jak widzisz wyżej, wkrótce robię podobny czujnik tyle że na ultradźwięki

  • #13 30 Lip 2009 20:35
    Kakalia
    Poziom 18  

    mirekk36 w czym robiles ta animacje - jakiego softu uzywales, bardzo mi sie podoba :)

  • #14 30 Lip 2009 20:36
    FastProject
    Poziom 28  

    mirekk36 napisał:

    generalnie sam program nie jest skomplikowany - polega na generowaniu nośnej 36kHz przez Timer0 oraz podawanie jej na przemian na jedną i drugą diodę IR - po czym jest dokonywana analiza - tego co się dzieje.


    Czy rozpoznanie kierunku w programie wykonujesz może za pomocą wysyłania i odbierania komend i dresów np w RC5? Czyli ustawiasz komendę lewej diody np na 5, a prawej np na 10 i na zmianę i najszybciej jak się da je pobudzasz?

  • #15 30 Lip 2009 20:48
    mirekk36
    Poziom 42  

    Kakalia ---> Photoshop + ImageReady - w tym zrobiłem tego animowanego GIF'a ;)

    Daro_Elektronik --> nie, nie - nie jest to tak skomplikowane żeby wysyłać jakieś polecenia jak w pilotach IR - bo to jest zupełnie niepotrzebne a po drugie byłoby to wzajemnie zakłócające się z pilotami TV. Jest dokładnie jak opisałem w tym cytacie, którym się posłużyłeś. Procek na przemian generuje tylko samą nośną 36kHz i niczym jej nie moduluje, kluczuje itp

  • #16 30 Lip 2009 20:56
    markosik20
    Poziom 33  

    Na początku muszę pogratulować autorowi kolejnej udanej konstrukcji.
    Czy algorytm obsługi czujnika nie łapie śmieci (jakieś wielokrotne odbicie promieni słonecznych)?
    Za poniższą wypowiedź z góry kolegę Mirka przepraszam że umieszczam to w jego poście ale niektóre tutaj wypowiedzi dobitnie uderzają we mnie.

    rpal napisał:
    Wytrawiacz to zwykły nadsiarczan amonu

    Wytrawiacz to zwykły nadsiarczan sodowy i nie ma w tym żadnej tajemnicy
    rpal napisał:
    środek do cynowania jest wrażliwy na pH roztworu i bardzo szybko wytrąca osad


    W instrukcji jest jasno napisane że woda ma być DESTYLOWANA, jak się leje inną to niestety wychodzą cyrki

    rpal napisał:
    papier do termotrasferu to zwykły papier kredowy (a i procent udanych płytek jest mocno wątpliwy)


    Proszę sobie kupić w pierwszej lepszej hurtowni....zapłacicie może trochę taniej a co hurtownia to będzie on inny....nawet jak jest ten sam producent.
    Procent udanych płytek zależy tylko i wyłącznie od umiejętności wykonującego płytki. Jak ktoś nie umie odkręcić śrubki śrubokrętem to i wkrętarką nic nie zdziała.

    rpal napisał:
    natomiast metoda z lakierowaniem to istny horror z drapaniem PCB w tle.


    Jest jeszcze druga metoda, szybsza, łatwiejsza i dokładniejsza którą stosuję z powodzeniem gdy ilość padów przekracza 20.

    rpal napisał:
    Lepszy jest już zwykły lakier elektroizolacyjny w spray-u a lakiero światłoczułego lub gotowego laminatu nic nie zastąpi. PZDR


    Laminatu światłoczułego może i nic nie zastąpi....jak ktoś ma nieograniczony budżet "amatorskiej elektroniki".
    Ależ proszę sobie "smarować" płytki lakierem elektroizolacyjnym.......a później wylutować elementy które nie pasują.......życzę powodzenia.
    Czy nikt nie rozumie że solder maska nie jest tylko po to żeby zabezpieczyć miedź przed utlenianiem ale także przed "wylewaniem się cyny" na wszystkie ścieżki obok (w SMD zwłaszcza).....solder maska ułatwia również znacznie lutowanie i późniejsze poprawianie urządzenia...jak to bywa w prototypach.

    kj napisał:

    Za to jego cynowanie jest do d... opracowałem z kolegą lepsze ale trzeba je podgrzać do około 80 stopni.


    Pozostaje mi tylko pogratulować. Osobiście uważam że cynowanie chemiczne w ogóle jest do d.. :wink:.

    kj napisał:
    Co do samego lakieru to próbujemy ustalić co to jest. Bo prawie na pewno jest to coś dostępnego w handlu do innych celów i prawdopodobnie znacznie tańszego.


    Życzę sukcesów w szukaniu i proszę pamiętać że jak dojdziecie do składu proszę sobie przygotować 7 do 8 tyś na zakup poszczególnych komponentów (inaczej producent, hurtownia nie będzie z wami rozmawiał).

    Nigdzie nie napisałem że lakier En-Solder zastępuje fabryczną solder maskę. To jest ręczna robota (żeby było taniej), jak komuś nie wychodzi albo się nie podoba niech sobie zamówi płytki w "fabryce". Jak ktoś ma dwie lewe ręce i nie umie czytać instrukcji to niech też się nie bierze za "amatorską elektronikę" bo do takich właśnie konstrukcji stworzony jest En_Solder (jeden , dwa prototypy..czasami jednostkowe układy docelowe).
    Obecnie jestem na opracowywaniu instrukcji video....może do miesiąca ukaże się na youtube i wszelkie wątpliwości zostaną rozwiane.

    Swoją drogą metoda sitodruku i profesjonalnej solder maski jest do wykonania w domu bez problemu (i nie trzeba mieć jakiś bardzo skomplikowanych narzędzi)...ale jest to całkowicie nieopłacalne.

    Jeszcze raz Mirku bardzo cię przepraszam za powyższą wypowiedź.

  • #17 30 Lip 2009 21:08
    mirekk36
    Poziom 42  

    markosik20 ---> jeśli chodzi o śmieci to nie łapie - z jednej strony po to zastosowałem zasilanie odbiornika TSOP przez rezystor i do tego mały elektrolit, plus dobre podciągnięcie linii danych do VCC. Z drugiej strony - wiadomo, że zapalenie zwykłej świetlówki powoduje pojawienie się szpilek na wyjściu takiego odbiornika i to normalne zjawisko - no ale od czego jest procek ;) on radzi sobie w zupełności z tymi nidociągnięciami praktycznie w 100% - jak pisałem tylko niektóre piloty (jak mój do OLYMPUSA) czasem choć rzadko po zaświeceniu "w oczy" czujnika spowodują, że mrugnie lewym bądź prawym okiem ;)

    odnośnie twoich wypowiedzi co do polecenych przez ciebie metod - to już sam chciałem odpowiedzieć mniej więcej to co ty w pewnym momencie - ale dałem sobie spokój. A podstawową rzecz, którą chciałem też powiedzieć kolegom narzekającym - to poczytanie twoich dobrych instrukcji PDF nad którymi też trzeba się natrudzić (ja doceniam to - sam nie cierpię pisać instrukcji) tymczasem tam wyjaśnione jest 99% problemów na które koledzy niepotrzebnie narzekają ;)

    .... ja sam - na koniec dzisiejszego dnia (bo prawie całe przedpołudnie zajęła mi walka z płytką, solder maską, wierceniami itp) i mówiłem że to strasznie pracochłonne - ale już coś czuję, że i tak jeszcze raz się zabiorę za tą metodę - bo coraz bardziej podoba mi się efekt (jak przechodzi zmęczenie)

    ..... a ponieważ sam wszystko prawie robię w SMD - to także wiem co to znaczy soldermaska jeśli chodzi o lutowanie ;)

    przydały się wiertełka i wszstkie porady jakie opisałeś w mailach ;) - dzięki

  • #18 30 Lip 2009 22:42
    KJ
    Poziom 31  

    Cytat:
    kj napisał:
    Co do samego lakieru to próbujemy ustalić co to jest. Bo prawie na pewno jest to coś dostępnego w handlu do innych celów i prawdopodobnie znacznie tańszego.


    Życzę sukcesów w szukaniu i proszę pamiętać że jak dojdziecie do składu proszę sobie przygotować 7 do 8 tyś na zakup poszczególnych komponentów (inaczej producent, hurtownia nie będzie z wami rozmawiał).


    Ależ ja nie twierdzę że będę ten lakier robił ;) ja twierdzę że to jest jakiś gotowy lakier. Ponieważ ma za dobre parametry jak na produkcję w skali laboratoryjnej czy nawet półtechnicznej. A nie wieżę że kolega makrosik robi go w skali przemysłowej :) tak więc gdzieś on być produkowany musi :) Pierwsze podejrzenie to farba do druku solventowego. Drugie ta rzeczona wyżej farba do puszek. Notabene podejrzewam ze zdobycie składników nie jest aż takim wielkim problemem. Wystarczy kilku znajomych w fabryce farb :) Co do cynowania. podstawową wadą chemicznego jest fakt że nie osadza stopu tylko czystą cynę co nieco pogarsza lutowność. Ale jeżeli skład kąpieli jest odpowiedni to powłoka jest na tyle gruba i szczelna że bardzo dobrze chroni przed korozją. Jako ciekawostkę dodam że istnieje możliwość osadzenia stopu SnPB za pomocą kąpieli bez prądowych. Jeżeli jednak lakier jest robiony przez kolegę makrosik to zapytam czemu nie ma innych kolorów ? Chętnie bym zobaczył i z pewnością zakupił czarny, pomarańczowy, żółty, fioletowy, biały czy jakiś jeszcze inny fikuśny i rzadko spotykany na soldermaskach :)

  • #19 30 Lip 2009 22:48
    Duch__
    Poziom 31  

    Projekt jak zwykle ciekawy. Pogratulować. Możesz napisać kolego mirek36 ile razy na sekundę jest sprawdzana każda z diód? Bo z tego co wyczytałem to sygnał jest modulowany z częstotliwością 36kHz, aby go odebrał odbiornik, ale jak często każda z diód wysyła "paczkę"?

    Z niecierpliwością czekam na sonar, bo osobiście się z tym męcze już długi czas.

  • #20 30 Lip 2009 22:56
    mirekk36
    Poziom 42  

    Duch__ --> no żeby to ładnie działało nawet dla wykrycia w miarę szybkiego ruchu np ręką przez czujnik - musi być w miarę często .... nie może być jednak za często - bo stracimy czułość ... wprowadziłem też buforowanie kilku odczytów i dopiero porównanie kilku takich samych powoduje wyzwolenie sygnału przerwania - to właśnie żeby uodpornić się także na różnego rodzaju zakłócenia w tym od innych pilotów typu TV (dlatego też - nie wiem tylko czy to dobrze widać na filmiku - gdy któreś niebieskie oko zamruga szybko kilka razy - to czerwona dioda sygnalizujący sygnał przerwania odpala się tylko raz!. Dzięki czemu czujnik nie będzie zawracał głowy głównemu procesorowi jakimiś stanami niestabilnymi - gdy obiekt znajduje się na skraju - zbyt często albo prawie w ogóle. Robiłem to po prostu dla siebie aby w procku głównym robota - mieć odwaloną już największą "czarną robotę" takich pomiarów przez procek czujnika - muszą się mikrokontolery dzielić jakoś pracą - prawda? ;)

    reasumując i uśredniając czasy wykonywania się całego algorytmu, że tak powiem korekcji błędów i trochę uogólniając - paczki są wysyłane średnio co kilkadziesiąt milisekund z każdej diod IR

  • #21 30 Lip 2009 23:29
    rpal
    Poziom 27  

    wiem ze to dyskusja nie o lakierze ale kolega się dopytuje więc odpowiadam. Z pewnością niejaki markosik20 sprzedaje lakier do druku solventowego. Jest w różnych kolorach także czarny. Istotnie nie warto sobie zawracac głowy w robienie go bo można np. zakupić lakier w sprayu teraz nei podam symbolu ale mam taki właśnie elektroizolacyjny. Jednak jest w kolorze rdzawo czerwonym i bez połysku czyli matowy.
    Podam jutrzo jak zerknę na puchę. Natomiast z tym cynowaniem to jest tak że w pokryciu galwanicznym cyna musi zostać przetopiona w gorącym oleju co poprawia jej właściwości lutownicze. Cynowanie chemiczne szczerze wątpię czy podda się temu zabiegowi z racji zbyt cienkiej powłoki. Takie przetopienie dodatkowo powoduje że powłoka staje się błyszcząca. To tak na marginesie. PZDR

  • #22 31 Lip 2009 04:51
    skynet_2
    Poziom 26  

    Bardzo ciekawy układ, szczególnie użycie IRQ, sam coś takiego planuje zbudować.
    Zastanawiam się dlaczego użyłeś 36Khz, przecież to najczęściej spotykana częstotliwość na jakiej pracują piloty TV, mogłeś zejść do 30 Khz[TSOP1730] i problem błędów sam się częściowo rozwiązuje no chyba że świecisz po oczach z 5cm ;)

    Pozdrawiam

  • #23 31 Lip 2009 08:23
    maly_elektronik
    Poziom 23  

    KJ-> gwarantuje że to nie jest jakaś tam sobie farba :) Sam przez jakiś czas próbowałem uzyskać solder maskę :) Robiłem ją na bazie żywicy dokładniej jest to żywica fenolowo-formaldehydowa + utwardzacz i pigment :) Ale to wcale nie jest takie proste :) Robiłem wiele testów i zawsze jest z czyjś problem :)

  • #24 31 Lip 2009 08:27
    mirekk36
    Poziom 42  

    skynet_2 --> gwarantuję ci ,że zmiana częstotliwośi (o ile występowałyby w ogóle zakłóecenia od pilotów - a pisałem , że praktycznie są wyeliminowane) - to zmiana 36kHz na 30kHz jak piszesz czy może na 44kHz albo na 48kHz - nic by w tym przypadku nie zmieniła.

    długo już działam z takimi nadajniczkami odbiorniczkami i troszkę to zagadnienie już znam - dlatego podpowiem ci , że jeśli zmienisz sobie w takim okładzie np na 30kHz to i tak na 100% taki odbiornik TSOP36kHz będzie to odbierał i odwrotnie. Te odbiorniki mają wprawdzie wbudowane filtry żeby "widzieć" zadaną częstotliwość - ale spójrz sobie na charakterystyki .....

    przy zmianach częstotliwości nośnej jeśli chodzi o piloty możesz uzyskać tylko jedno tak na prawdę - zwiększenie bądź zmniejszenie skutecznego maksymalnego zasięgu takiego pilota. A z niewielkiej odległości - to nie ma żadnego znaczenia. Przy czym ta "niewielka odległość" to 1-2 metrów ....

    reasumując - lepiej więc sprawdza się programowa eliminacja zakłóceń od pilotów TV itp

  • #25 31 Lip 2009 12:10
    OldSkull
    Poziom 27  

    Polecam osłonić układ IR od boków i od góry, aby nie zakłócały go sztuczne (i naturalne) źródła światła. Zapewne juz się przekonałeś, że wadą tego czujnika jest niestabilny zasięg - z dużej odległości może wyłapywać jasne bądź dobrze odbijające światło elementy tła, a matowych i ciemnych z dość bliskiej odległości może nie zawsze widzieć. Sprawę pogarszają jeszcze zewnętrzne źródła światła, które moga go oślepić (lub ich brak jeśli skalibrowałeś diody przy mocnym świetle). Występuje opisany przez mnie efekt?

    @skynet: jeśli się wysyła odpowiednie "paczki" to wykrycie pilota nie grozi, co najwyżej zakłócenie widzenia przez świecącego z boku pilota.

    @markosik20: tak już z ludźmi jest, krytykują, a sami nawet sie nie starają. Jak ktoś już umie to nawet na papierze z kolorowej gazety wydrukuje i zrobi dobra płytkę (chociaż sporo zależy od toneru - ale z oryginalnym nie ma problemów), a jak ktoś nie umie to nawet z najodpowiedniejszym papierem nie zrobi.
    A cynowanie chemiczne jest do kitu, nie wygląda zbyt dobrze, jest kosztowne, a cynowanie mechaniczne wcale dużo czasu nie zajmuje, jest ładniejsze i wytrzymalsze, tylko potem czasem trzeba oczyścić płytkę z pasty lutowniczej.

    @wszyscy krytykujący i nierozumiejący: kalibrując układ elektroniczny bez procesora uzyskacie 3-4 razy mniejszy zasięg niż gdy uzywając mikrokontrolera i dając jakąklwiek programową eliminację/ignorowanie zakłóceń. Wystarczy zwykłę sprawdzanie czy odbiera sie to samo ci sie wysyła oraz ignorowanie zbyt krótkich sygnałów.

  • #26 31 Lip 2009 13:27
    mirekk36
    Poziom 42  

    OldSkull napisał:
    Polecam osłonić układ IR od boków i od góry, aby nie zakłócały go sztuczne (i naturalne) źródła światła. Zapewne juz się przekonałeś, że wadą tego czujnika jest niestabilny zasięg - z dużej odległości może wyłapywać jasne bądź dobrze odbijające światło elementy tła, a matowych i ciemnych z dość bliskiej odległości może nie zawsze widzieć. Sprawę pogarszają jeszcze zewnętrzne źródła światła, które moga go oślepić (lub ich brak jeśli skalibrowałeś diody przy mocnym świetle). Występuje opisany przez mnie efekt? .


    nie przeczę, że można zasłonić czujnik IR z boków , z góry i z tyłu ale - opisane tu efekty przez ciebie w ogóle nie występują jeśli chodzi o jakiekolwiek sztuczne a tym bardziej naturalne światła ... chyba, że zbliżysz czujnik na 20cm albo bliżej jego oczami do świetlówki i ją zapalasz i gasisz - to wtedy rzeczywiście czasem diody zamrugają - choć przerwanie włączy się tylko raz albo dwa.

    No ale tego typu roboty nie fruwają na wysokości świetlówek, lampek stołowych itp - po pierwsze a po drugie nie jest ich zadaniem zaglądanie oczami z bliskiej odległości w takie świetlówki ;)

    testowałem i testuję nadal w pomieszczeniu naszprycowanym świetlówkami. Zrobiłem proste testy - właśnie - gdy zbliżam czujnik na odległość 20-30 cm do świetlówy to coś (tzn świetlówka) go zakłóca

    ale - gdy jest dalej to zapomnij o jakimś nawet przypadkowym minimalnym zakłóceniu

    nie wiem dlaczego wszyscy próbują mi wytłumaczyć że ten czujnik reaguje na zakłócenia - skoro tyle się rozpisywałem co zrobiłem zarówno jeśli chodzi o stronę sprzętową (odpowiednie zasilanie czujnika z dobrym filtrowaniem - rzuć okiem na schemat zasilania czujnika, poza tym podciągnięcie linii danych do VCC przez rezystor10K)

    jeśli chodzi o stronę programową - to nawet jeśli dostają się jeszcze jakieś szpilki zakłóceń (a pracuję z oscylem monco przy takich testach to widzę co robię) ..... to są one zupełnie ignorowane przez oprogramowanie ZUPEŁNIE

    tak więc nie przekonałem się o tej wadzie mojego czujnika o którym wspominasz ;)

    poza tym muszę przyznać, że o wiele wiele lepiej a w zasadzie najlepiej sprawuje się ten typ czujnika TSOP1136 (on sam w sobie ma najlepsze charakterystyki odnośnie wyłapywania z zewnątrz całego niepotrzebnego badziewia) - mówię to ponieważ posiadam na składzie kilka różnych innych tego typu - i w trakcie testów odpadły. A kilka TSOP1136 zawsze zachowuje się tak samo dobrze.

    Podstawowym celem budowy tego czujnika było zminimalizowanie prawie do ZERA wpływu takich czynników o jakich piszesz i to się udało. Jeszcze raz tylko przypomnę że tylko niektóre piloty o dużej przerwie GAP - gdy świeci się w oczy czujnika - to potrafią raz na jakiś czas wzbudzić lewe lub prawe oko czujnika.

    proszę poniżej schemat tego czujnika na TTL'ach . To właśnie gdy go zobaczyłem to przyszedł mi pomysł aby to zrobić od razu na procku .... co pozwala nie tylko:

    Czujnik podczerwieni do robota - strefy: lewa, prawa, środek

    - zmniejszyć koszty ale także
    - zmniejszyć problemy przy uruchomieniu i kalibracji (u mnie kalibrujesz tylko prąd diod IR, dzięki czemu zwiększasz lub zmniejszasz zasięg i to bardzo fajnie i zawsze powtarzalnie działa - jeśli działa na odległość kilku-kilkunastu cm to już nie zadziała z odległości metra i więcej. Oczywiście masz rację co do tego, że te odległości różnią się nieco dla jasnych i ciemnych przedmiotów - no ale to jest właśnie tolerancja tejże odległości.) a w tym na TTLach z obrazka - musisz jeszcze kalibrować nośną - co bez oscyla bywa trudne i gdy robi się to na oko - to wiadomo że bywa różnie - a u mnie nośna jest równa jak brzytwa ;)

    - pozwala dokonać dodatkowej programowej analizy zachowania całości (samo generowanie tak ładnie przerwań wymagało już niezłych kombinacji) plus jak pisałem wyżej pozwala na dodatkową programową korekcję błędnych odczytów i to ładnie działa

    - pozwala podać na wyjściu w ładny , bardzo prosty i zjadliwy dla każdego obrobionych już informacji

    ....... a te wady o których piszesz - hmmmm tak możliwe że występują nagminnie w tym czujniku na bramkach TTL bez procka

  • #27 31 Lip 2009 14:36
    skynet_2
    Poziom 26  

    mirekk36 napisał:
    przy zmianach częstotliwości nośnej jeśli chodzi o piloty możesz uzyskać tylko jedno tak na prawdę - zwiększenie bądź zmniejszenie skutecznego maksymalnego zasięgu takiego pilota.
    Właśnie o to mi chodziło żeby zmniejszyć czułość na zakłócenia.
    mirekk36 napisał:
    reasumując - lepiej więc sprawdza się programowa eliminacja zakłóceń od pilotów TV itp
    Oczywiście programowa eliminacja zakłóceń jak najbardziej jest potrzebna, ale może "jej pomagać" cześć sprzętowa :D.

  • #28 31 Lip 2009 15:40
    hubertfab
    Poziom 21  

    Cytat:
    Trochę zabawy tylko miałem z dobraniem czasów i optymalizacji nie kodu ale całości, żeby ładnie śmigało. Układ wykorzystuje pin RESET procesora - tak więc po przeprogramowaniu FUSEBITU - RSTDISBL - już nie można dalej nic z nim zrobić - no ale po co skoro działa - ten pin służy do generowania właśnie przerwania na zewnątrz.


    Czyli nie możesz już zmienić softu ?

    Jak wgrywałeś soft a okazało by się, że coś nie działa to trzeba nowy ATTiny13 ?

  • #29 31 Lip 2009 15:54
    mirekk36
    Poziom 42  

    hubertfab --> tak po przeprogramowaniu RSTDISBL - już nie da rady zwykłym programatorem zmienić softu. Dlatego - tego fusa ustawiam gdy już jestem pewien na 1000%, że wszystko jest w porządku z softem.

    Przeprogramowałem go więc po zakończeniu testów i teraz działa wszystko b.dobrze.

    Jednak masz rację - może się okazać że np jeszcze za jakiś czas przyjdzie mi do głowy mały pomysł na zmianę albo konieczność wprowadzenia jakiejś poprawki czy modyfikacji. I jeśli to będzie bardzo istotne - to cóż - kolejny procek - a stary zostanie poświęcony. W końcu nie poprawia się takiego softu latami - to niewiele pamięci i kodu nie aż tak dużo.

  Szukaj w 5mln produktów