Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Czujnik ruchu (HC-SR501) sterujący listwą LED

grykar 11 Sie 2015 14:22 10557 28
  • Witam,

    Czujnik ruchu powstał w celu włączania listwy LED umieszczonej pod szafkami w kuchni. Został zainstalowany i działa z powodzeniem od jakiegoś czasu. Układ wykorzystuje ogólnie dostępny moduł detektora ruchu HC-SR501 oraz mikrokontroler Attiny13.

    Czujnik ruchu (HC-SR501) sterujący listwą LED

    Układ zasilany jest napięciem 12V z zasilacza impulsowego, który stanowi również źródło zasilania listwy diod. Napięcie w układzie jest stabilizowane do 5V. Przekaźnik zasilany jest napięciem 12V bezpośrednio z zasilacza w celu uniknięcia obciążania stabilizatora napięcia.
    Czujnik ruchu (HC-SR501) sterujący listwą LED

    Na wyjściu detektora ruchu po wykryciu ruchu pojawia się napięcie 3,3V, które steruje tranzystorem T2. T2 z kolei podaje sygnał 5V na wejście PB0 mikrokontrolera gdzie obsługiwane jest przerwanie programowe. W wyniku przerwania w mikrokontrolerze dokonywany jest pomiar natężenia światła (pomiar spadku napięcia na fotorezystorze FOT1). Jeśli natężenie światła jest poniżej określonego progu wówczas następuje załączenie przekaźnika 12V (K1) za pośrednictwem tranzystora (T1) sterowanego przez wyjście mikrokontrolera (PB1). W przeciwnym przypadku sygnał z czujnika ruchu jest ignorowany.
    Po załączeniu czujnika HC-SR501 czas utrzymywania się napięcia na wyjściu określany jest jednym z potencjometrów czujnika HC-SR501. Drugi z potencjometrów służy do określenia czułości.
    Po załączeniu przekaźnika w pewnych interwałach czasowych ustalonych programowo (w moim układzie około 3s) sprawdzane jest wyjście czujnika. Jeśli stan jest niski wówczas przekaźnik jest wyłączany. Pozwala to ustalić czas włączenia przekaźnika za pomocą potencjometru czujnika HC-SR501. Czas ten można też wydłużyć programowo zmieniając interwał czasowy (więcej szczegółów w komentarzach w kodzie programu). Próg natężenia światła ustala się potencjometrem w układzie. Programowo dokonuje się wstępnych ustawień w celu dopasowania fotorezystora.

    Być może istnieje możliwość podłączenia fotorezystora, fotodiody etc. bezpośrednio do czujnika HC-SR501. Oryginalnie czujnik nie jest wyposażony w element światłoczuły, chociaż na schemacie w nocie na nóżce 9 układu czujnika jest chyba możliwość włączenia elementu światłoczułego. Jeśli ktoś ma doświadczenia w tym obszarze chętnie się dowiem jak to zrobić.

    W załączniku schemat i płytka w Eagle oraz specyfikacja HC-SR501.


    Fajne!
  • #2 11 Sie 2015 15:38
    burur
    Poziom 12  

    Witam
    Na schemacie przekaźnik podłączony pod 12V tak jak to opisałeś, ale w symbolu wkradł się mały błąd, jest na 5V.
    Pozdrawiam

  • #3 11 Sie 2015 15:47
    grykar
    Poziom 9  

    burur napisał:
    Na schemacie przekaźnik podłączony pod 12V tak jak to opisałeś, ale w symbolu wkradł się mały błąd, jest na 5V.


    O faktycznie - zapewne dlatego, że prototyp był z przekaźnikiem 5V, ale stabilizator grzał się zbyt mocno i przerobiłem na 12V - dzięki za info

  • #4 11 Sie 2015 16:00
    Freddy
    Poziom 43  

    Zadam proste pytanie, do czego jest ten procesor ?
    Czujnik oświetlenia jest w samej czujce.
    Ruch w trakcie trwania "świecenia" powoduje wydłużenie czasu pracy - do tego jest zworka auto-reset, lub jak w Twoim PDF trigger.

  • #5 11 Sie 2015 16:23
    grykar
    Poziom 9  

    Freddy napisał:
    do czego jest ten procesor ?
    Czujnik oświetlenia jest w samej czujce.

    Podłączałem układ bezpośrednio i nie ma w nim czujnika światła - czy jest jasno czy jest ciemno detektor się załącza (podaje sygnał na wyjściu)
    Logicznie do tego podchodząc skoro jest czujnik oświetlenia w czujce to zapewne powinien być gdzieś potencjometr, który umożliwi ustawienie progu jasności, a takiego nie ma.
    Freddy napisał:
    Ruch w trakcie trwania "świecenia" powoduje wydłużenie czasu pracy - do tego jest zworka auto-reset, lub jak w Twoim PDF trigger.

    Tak dlatego tak jak napisałem ponieważ przekaźnik sterowany jest przez mikrokontroler muszę okresowo sprawdzać czy czujnik wciąż podaje na wyjściu sygnał.

  • #7 11 Sie 2015 16:50
    grykar
    Poziom 9  

    Freddy napisał:
    Mam identyczne czujki (ten sam typ i fotorezystor jest) sprawdź ustawienia zworek.


    To musi być inny model. U mnie nie ma zworek. Nie ma też fotorezystora.
    Ile masz potencjometrów w czujniku ?

  • #8 11 Sie 2015 17:23
    Freddy
    Poziom 43  

    Typ ten sam, dwa potencjometry, fotorezystor jest u mnie pod "kopułką" .
    Z tego można wnioskować, że chińczyk robi co mu się podoba.
    Nie mam fotek, bo zabudowane, ale sprawdziłem, typ ten sam, wygląd też :)

  • #12 11 Sie 2015 20:52
    gemiel
    Poziom 19  

    Dziwi mnie, że stosując mikrokontroler użyłeś przekaźnika. Wystarczy zamienić go na tranzystor MOSFET i użyć sterowania PWM do łagodnego rozjaśniania i gaszenie LED.
    Chyba, że przekaźnik jest dodatkowym sygnalizatorem akustycznym włączenia i wyłączenia światła :)

  • #13 11 Sie 2015 21:47
    kowal011
    Poziom 14  

    Kolego autorze, dokładnie dwa dni temu zrobiłem bardzo podobne urządzenie (czujnik jak u Ciebie - z dołączonym fotorezystorem + zasilacz beztransformatorowy + przekaznik). Początkowa wersja była oparta na operacyjce, pózniejsza na attiny, a staneło na modyfikacji czujnika i sterowanie przekaznikiem. Chwała Ci za włożony trud. Mojego projektu tutaj nie ma, bo nie widzę sensu, aby publikować połączenia tak "zawiłych i skomplikowanych" układów jak w w/w przypadku. Zacznijmy publikować poradniki z otwierania drzwi kluczem i chwalmy się zamontowaniem włącznika ściennego...

  • #14 12 Sie 2015 10:28
    grykar
    Poziom 9  

    Czy wnosi coś merytorycznego ten komentarz ?

    oprócz lansu

    kowal011 napisał:
    Kolego autorze, dokładnie dwa dni temu zrobiłem bardzo podobne urządzenie...


    i próby przezabawnej krytyki
    kowal011 napisał:
    ...Zacznijmy publikować poradniki z otwierania drzwi kluczem i chwalmy się zamontowaniem włącznika ściennego...


    Dodano po 2 [minuty]:

    gemiel napisał:
    Wystarczy zamienić go na tranzystor MOSFET i użyć sterowania PWM do łagodnego rozjaśniania i gaszenie LED.
    Chyba, że przekaźnik jest dodatkowym sygnalizatorem akustycznym włączenia i wyłączenia światła :)


    No właśnie przekaźnik jest denerwujący, a możesz podpowiedzieć kawałek schematu z MOFSET

    Dodano po 3 [minuty]:

    RAFAŁ.M napisał:
    Też mam te czujniki i faktycznie można dołożyć fotorezystor , jest do niego pole lutowania tam gdzie pokazuję śrubokrętem na zdjęciu.


    OK u mnie też są te pola lutownicze - wlutuje fotorezystor z potencjometrem sprawdzę czy zadziała - dzięki za podpowiedź

  • #15 12 Sie 2015 10:57
    kowal011
    Poziom 14  

    Nie potrzebuję się lansować więc skąd takie przypuszczenia? Taka krytyka jaki poziom prezentowanych rozwiązań.

    grykar napisał:
    No właśnie przekaźnik jest denerwujący, a możesz podpowiedzieć kawałek schematu z MOFSET
    do portu procka podpinasz poprzez rezystor mosfeta (n lub p - kwestia zmiany stanu w programie). Dla N-mosfeta gate do uP source do masy a drain do minusa taśmy. Dla P-mosfeta source do plusa zasilania a drain do plusa taśmy. Coś jeszcze?

  • #16 12 Sie 2015 16:04
    gemiel
    Poziom 19  

    Schemat jest z tranzystorem typu P, ale taki miałem pod ręką.
    Czujnik ruchu (HC-SR501) sterujący listwą LED

  • #17 12 Sie 2015 16:54
    grykar
    Poziom 9  

    gemiel napisał:
    Schemat jest z tranzystorem typu P, ale taki miałem pod ręką.


    Dzięki za odpowiedź.
    Mam pytanie czy ten tranzystor bipolarny jest konieczny ? Czy to zła praktyka podłączyć MOSFET'a bezpośrednio (przez rezystor) do mikrokontrolera ?

  • #18 12 Sie 2015 17:34
    zbyrek
    Poziom 23  

    grykar napisał:
    gemiel napisał:
    Schemat jest z tranzystorem typu P, ale taki miałem pod ręką.


    Dzięki za odpowiedź.
    Mam pytanie czy ten tranzystor bipolarny jest konieczny ? Czy to zła praktyka podłączyć MOSFET'a bezpośrednio (przez rezystor) do mikrokontrolera ?


    Jeśli mosfet nie jest typu "logic level" (a te są zazwyczaj małej mocy) to nie otworzy się w pełni przy napięciu na bramce wynoszącym niecałe 5V, czego efektem będzie mała wydajność prądowa takiego klucza, oraz większe straty na samym tranzystorze.

    Co do projektu, to moim zdaniem lekki przerost formy nad treścią (całe szczęście, że nie ma tu jakże popularnego w takich projektach arduino).

  • #19 12 Sie 2015 17:46
    pawlik722
    Poziom 20  

    Zastanawiam się co ma na celu krytyka publikowania projektów które nie mają w sobie stopnia skomplikowania rodem ze statków kosmicznych, jakoś mnie taki projekt nie przeszkadza a nawet się podoba. Może kogoś natchnie do zrobienia takiego samego? Może inni lubią czytać takie tematy? Może ma ktoś wrodzony ból w okolicach pośladkowych?
    Kowal nie widzę jakoś byś zamieścił projekt promu kosmicznego ani fotorelacji z naprawy silnika do mig28 czy chociaż by F16 więc zejdź z chłopaka.

    Projekt mnie się podoba, na pewno ułatwi życie autorowi, co do przekaźnika, wpisz w google, elektroniczny przekaźnik, wyskoczyć powinna strona gotowym wzorem płytki gdzie autor zrobił właśnie na mosfecie układ pasujący w gniazdo przekaźnika;) połowa roboty z płytką z głowy, ;)

  • #20 12 Sie 2015 17:55
    zbyrek
    Poziom 23  

    pawlik722 napisał:
    Zastanawiam się co ma na celu krytyka[...]


    Publikując projekt na forum, trzeba liczyć się z krytyką, nie tylko pochwałami. Ludzi najbardziej irytuje to, że kiedyś na tym forum do DIY trafiały tylko projekty, przy których tworzeniu ludzie poświecili dużo czasu i nerwów, czego efektem było wykonanie na bardzo wysokim, niemal fabrycznym poziomie, natomiast teraz, ludzie wrzucają do DIY "projekt" podłączenia diody elektroluminescencyjnej przez rezystor do baterii, głównie po to by zdobyć punkty i (ostatnio) różne bonusy za opublikowanie projektu.
    W tym projekcie, krytyka miała również na celu, pokazanie, iż można wykonać to prościej (co oznacza większą niezawodność) zamiast zaprzęgać wszędzie mikrokontroler.

  • #21 12 Sie 2015 18:55
    pawlik722
    Poziom 20  

    Kolego nie miałem na uwadze konstruktywnego krytycyzmu, który cenie i biorę pod uwagę a jedynie na myśli komentarze Pana "mechanika samolotów" które nic nie wnoszą do tematu.
    Kolejną sprawą czyli prostotą układu, nie zgodzę się z tobą, dla mnie człowieka który za informatyka się nie uważa ale jednak wykształcenie jako takie zdobył, prościej jest napisać program do procesorka za parę złotych dołożyć kilka elementów wykonawczych niż szukać i kombinować na układach analogowych przy których musiał bym mocno przysiąść i pogłębić wiedzę;) i nie uważam aby taki układ był bardziej awaryjny. W obecnych czasach mikroprocesory są w podobnej cenie o ile nawet nie tańsze niż garść analogów:)

  • #22 12 Sie 2015 20:30
    kowal011
    Poziom 14  

    pawlik722 napisał:
    Kowal nie widzę jakoś byś zamieścił projekt promu kosmicznego ani fotorelacji z naprawy silnika do mig28 czy chociaż by F16 więc zejdź z chłopaka.

    Prom mogę Ci pokazać z Kerbal Space Program :) Silników nie naprawiam ale bloki nadzorujące ich pracę owszem... niestety nie mogę opisać szczegółów, sam rozumiesz. Co do bólu pośladków i okolic to jedynym ich powodem może być jazda jednośladem a na pewno nie elektroda. Jak pisze kolega zbyrek nie chciałbym tutaj takich projektów oglądać, niestety nie ja wybieram je do zamieszczenia. Jeszcze raz szczerze gratuluję autorowi chęci i zapału, jednak osoby idące w jego ślady nadal będę odwodził od obniżania poziomu zamieszczanych tutaj niejednokrotnie ciekawych pomysłów. Pozdrawiam

  • #23 12 Sie 2015 22:52
    PiotrekpPl123
    Poziom 19  

    Witam.
    Już po raz któryś czytam dyskusje na temat obniżania poziomu działu DIY. Nie zgadzam się z tym. Nie każdy jest zaraz inżynierem elektronikiem. W większości są na tym forum amatorzy których cieszy jakikolwiek projekt wykonany samodzielnie, który niejednokrotnie ułatwia życie i którym się chcą pochwalić lub po prostu poddać ocenie bardziej doświadczonych użytkowników I chyba właśnie po to jest ten dział? Jako autor projektu oczekiwał bym konstruktywnej krytyki ale dotyczącej wad w projekcie lub sposobu jak go udoskonalić czy uprościć. Po co zaraz osobiste wycieczki o poziomie projektu? Nikt nikomu nie każe komentowania. Uważam że projekt jest słaby nie zabieram głosu. Proste.

    A może warto by podzielić dział DIY na amatorski i zaawansowany? Lub po prostu utworzyć jakiś osobny dział na najprostsze projekty żeby nie drażnić tych bardzo zaawansowanych?


    Pozdrawiam.

  • #24 12 Sie 2015 23:22
    grykar
    Poziom 9  

    Wstawiłem w pola lutownicze (wskazane przez RAFAŁ.M) fotorezystor z potencjometrem 1M (wystarczy 470k) - i można ustawić próg natężenia światła.

    Układ może faktycznie wygląda na przerost formy nad treścią. Powstał jako moduł większego układu, a samodzielnie działał na tyle dobrze, że zdecydowałem się usprawnić sobie życie :-)

    Generalnie dla zainteresowanych programowaniem AVR
    w programie można znaleźć:
    1. Obsługę timmer'ów programowych
    2. Obsługę przerwań programowych
    3. Obsługę przetwornika ADC
    4. programowanie w oparciu o event'y

    Główna funkcja programu jest dość przejrzysta.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Funkcję wykrycieRuchu_EVENT() skomentowałem dokładnie. Mam nadzieję, że ktoś skorzysta z tej wiedzy.

    Dodano po 9 [minuty]:

    PiotrekpPl123 napisał:
    ...A może warto by podzielić dział DIY na amatorski i zaawansowany? Lub po prostu utworzyć jakiś osobny dział na najprostsze projekty żeby nie drażnić tych bardzo zaawansowanych?


    "Poczekalnia DIY" to jest właśnie takie miejsce zgodnie z opisem:
    "Konstrukcje początkujących nie nadające do prezentacji na stronie głównej oraz konstrukcje niedokończone."

  • #25 13 Sie 2015 10:39
    SylwekK
    Poziom 28  

    Parę miesięcy temu dorobiłem zasilanie awaryjne (instalacja 12V) w garażu oparte na takiej czujce. W mojej też nie było fotorezystora, ale świetnie się tam sprawdził fototranzystor - przy świetle dziennym lub żarowym układ śpi, a to mi wystarczy.
    No i dochodzimy do stopnia końcowego... Ja bezpośrednio steruję małym mosfetem logic level IRLML2502 (to w zasadzie jedyny element dodatkowy w całym układzie, bo czujka może być zasilana do 20V), który ma obciążalność do 4A, a załączam nim lampą ledową około 500mA i wszystko działa bezbłędnie.
    Podsumowując jak pisali już poprzednicy uC nie jest tu absolutnie potrzebny.

  • #26 14 Lut 2017 17:19
    Orion045
    Poziom 11  

    grykar napisał:
    Wstawiłem w pola lutownicze (wskazane przez RAFAŁ.M) fotorezystor z potencjometrem 1M (wystarczy 470k) - i można ustawić próg natężenia światła.

    Jestem w tym początkujący wiec proszę o wyrozumiałość. Z zawodu jestem ślusarzem. Czujnik ruchu (HC-SR501) sterujący listwą LED Piszesz że fotorezystor i potencjometr 470k w miejsce wskazane przez RAFAŁ.M. czyli tam fotorezystor a w miejsce wyżej potencjometr? Dzisiaj dostałem czujnik HC-SR501 bo z zestawem miałem HC-SR505.Też chce zrobić na Attiny2313, czujniku HC-SR501 , zasilaczu 12V i rezystory 220 om,10k. To już posiadam. Jakie jeszcze części są potrzebne?Próbowałem też pisać program na razie na arduino uno i tu testuje.Program jest z przyciskiem załącz - wyłącz.Nie wiem jak napisać żeby działał z fotorezystorem zamiast przycisku
    Kod: c
    Zaloguj się, aby zobaczyć kod
    .

    Szukałem przykładów działania fotorezystora aby jak wynik oświetlenia spadnie do 100 to załączyło by urządzenie i światło by świeciło a czujnik powiedzmy co 1 minutę sprawdzał czy jest ruch jak nie było by to światło by wyłączyło się.Jak to napisać? Nie wiem czy dobrze rozumie. Nie znam angielskiego. W specyfikacji są dwa miejsca do ustawień czujnika - synsitivity adjust i time delay adjust. To czułość i opóźnienie?Gdzie w eagle jest biblioteka HC-SR501 bo nie znalazłem. Nie znalazłem też diody rgb dwukolorowej czerwonej - zielonej.

  • #27 16 Lut 2017 17:00
    Orion045
    Poziom 11  

    Trochę przerobiłem program. Dzisiaj dostałem przekaźnik.Działa.Nie wiem jak napisać to w programie aby czujnik ruchu załączał przekaźnik. Program wygląda teraz tak.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Próbowałem wpisać pod if (digitalRead(PIR))
    digitalWrite(PRZEKAZNIK, HIGH)

    Wyskakuje błąd exit status 1 "else" without a previous "if"

  • #28 16 Lut 2017 20:59
    grykar
    Poziom 9  

    Orion045 napisał:
    Trochę przerobiłem program. Dzisiaj dostałem przekaźnik.Działa.Nie wiem jak napisać to w programie aby czujnik ruchu załączał przekaźnik. Program wygląda teraz tak.


    Proponuję wykorzystać program i schemat, który załączyłem na początku postu, a następnie go modyfikować w miarę potrzeb. Układ, który zrobiłem działa z tym programem do dzisiaj więc wszystko wskazuje na to, że nie ma krytycznych błędów.
    Wydaje mi się, że kod jest skomentowany dość dokładnie, ale jeśli coś jest jeszcze niezrozumiałe postaram się wyjaśnić.

  • #29 16 Lut 2017 21:58
    Orion045
    Poziom 11  

    Ja mam to tak zrobione. Tylko czujnik ruchu mi nie załącza przekaźnika.Poskładałem wszystko na płytce stykowej Arduino Leonardo. Na razie mam podłączone dwa zasilacze - 5 V do Arduino i 12 V do listwy Led przez przekaźnik. Podpiąć może +5 z diody Led Światło do +5 V przekaźnika? Jak zrobić nitkę zasilania z zasilacz 12 V na 5 V?

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Podłączyłem przekaźnik do pinu 3 . Dalej program nie działa tak jak ma. Przekaźnik zamiast się zatłacza się wyłącza. Dioda załącz wyłącz pali się na czerwono , a po naciśnięciu przycisku na załącz się nie pali.Mimo że wyłączę (czerwona dioda) to czujnik daje impuls na przekaźnik.Pomocy,pliss.

 
Promocja -20%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
tme