Infrardeči senzorji gibanja. Senzor gibanja na MK PIC in PIR senzor Infrardeči senzor gibanja arduino

Senzor gibanja Arduino omogoča sledenje gibanja predmetov, ki oddajajo toploto (ljudje, živali) v zaprtem prostoru. Takšni sistemi se pogosto uporabljajo v domačih razmerah, na primer za vklop osvetlitve na vhodu. V tem članku si bomo ogledali povezovanje senzorjev PIR v projektih Arduino: pasivnih infrardečih senzorjev ali piroelektričnih senzorjev, ki se odzivajo na gibanje. Majhne dimenzije, nizki stroški, enostavnost delovanja in pomanjkanje težav pri povezovanju omogočajo uporabo takšnih senzorjev v različnih vrstah alarmnih sistemov.

Zasnova senzorja gibanja PIR ni zelo zapletena - sestavljena je iz piroelektričnega elementa, ki je zelo občutljiv (valjasti del s kristalom v sredini) na prisotnost določene stopnje infrardečega sevanja v območju delovanja. Višja kot je temperatura predmeta, večje je sevanje. Na vrhu senzorja PIR je nameščena polobla, razdeljena na več sekcij (leč), od katerih vsaka poskrbi za fokusiranje sevanja toplotne energije na različne segmente senzorja gibanja. Najpogosteje se kot leča uporablja Fresnelova leča, ki zaradi koncentracije toplotnega sevanja omogoča razširitev območja občutljivosti infrardečega senzorja gibanja Arduino.

Senzor PIR je strukturno razdeljen na dve polovici. To je posledica dejstva, da je za alarmno napravo pomembna prisotnost gibanja v območju občutljivosti in ne sama stopnja sevanja. Zato so deli nameščeni tako, da se ob zaznavi ene višje stopnje sevanja na izhod pošlje signal z visoko ali nizko vrednostjo.

Glavne tehnične značilnosti senzorja gibanja Arduino so:

  • Območje zaznavanja premikajočih se predmetov je od 0 do 7 metrov;
  • Razpon kota sledenja – 110°;
  • Napajalna napetost – 4,5-6 V;
  • Delovni tok - ​​do 0,05 mA;
  • Temperaturno območje - od -20 ° do +50 ° C;
  • Nastavljiv čas zakasnitve od 0,3 do 18 s.

Modul, na katerega je nameščen infrardeč senzor gibanja, vključuje dodatno električno napeljavo z varovalkami, upori in kondenzatorji.

Načelo delovanja senzorja gibanja na Arduinu je naslednje:

  • Ko je naprava nameščena v praznem prostoru, je doza sevanja, ki jo prejme vsak element, konstantna, prav tako napetost;
  • Ko se oseba pojavi v sobi, najprej vstopi v območje gledanja prvega elementa, na katerem se pojavi pozitiven električni impulz;
  • Ko se oseba premika po prostoru, se toplotno sevanje premika skupaj z njim, ki zadene drugi senzor. Ta element PIR že ustvarja negativni impulz;
  • Večsmerne impulze beleži elektronsko vezje senzorja, ki sklepa, da je v vidnem polju Pir-senzorja Arduino oseba.

Za zanesljivo zaščito pred zunanjim hrupom, spremembami temperature in vlažnosti so elementi senzorja Pir na Arduino nameščeni v zaprtem kovinskem ohišju. Na vrhu ohišja v sredini je pravokotnik iz materiala, ki prepušča infrardeče sevanje (najpogosteje na osnovi silikona). Senzorski elementi so nameščeni za ploščo.

Shema povezave senzorja gibanja z Arduinom

Priključitev senzorja Pir na Arduino ni težavna. Najpogosteje so moduli s senzorji gibanja opremljeni s tremi priključki na zadnji strani. Pinout vsake naprave je odvisen od proizvajalca, najpogosteje pa so v bližini izhodov ustrezni napisi. Zato se morate pred priključitvijo senzorja na Arduino seznaniti s simboli. En izhod gre na maso (GND), drugi zagotavlja potreben signal iz senzorjev (+5V), tretji pa je digitalni izhod, iz katerega se jemljejo podatki.

Priključitev senzorja Pir:

  • "Ozemljitev" - na katerega koli od priključkov GND Arduino;
  • Digitalni izhod – na kateri koli digitalni vhod ali izhod Arduina;
  • Napajanje – +5V na Arduinu.

Diagram za povezavo infrardečega senzorja z Arduinom je prikazan na sliki.

Primer programa

Skica je programska koda, ki pomaga preveriti delovanje senzorja gibanja po vklopu. Njegov najpreprostejši primer ima številne pomanjkljivosti:

  • Verjetnost lažnih alarmov zaradi dejstva, da traja ena minuta, da se senzor sam inicializira;
  • Pomanjkanje izhodnih naprav izvršnega tipa - releji, sirene, LED indikatorji;
  • Kratek časovni interval signala na izhodu senzorja, ki mora biti programsko zakasnjen v primeru premikanja.

Te pomanjkljivosti so odpravljene z razširitvijo funkcionalnosti senzorja.

Najenostavnejša vrsta skice, ki jo lahko uporabimo kot primer dela s senzorjem gibanja na Arduinu, izgleda takole:

#define PIN_PIR 2 #define PIN_LED 13 void setup() ( Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, OUTPUT); ) void loop() ( int pirVal = digitalRead(PIN_PIR); Serial. println(digitalRead(PIN_PIR)); //Če je zaznano gibanje if (pirVal) ( digitalWrite(PIN_LED, HIGH); Serial.println("Zaznano gibanje"); delay(2000); ) else ( //Serial.print( "Ni gibanja"); digitalWrite(PIN_LED, LOW); ) )

Možne možnosti projekta z uporabo senzorja

PIR senzorji so nepogrešljivi pri tistih projektih, kjer je glavna funkcija alarma ugotavljanje prisotnosti ali odsotnosti osebe v določenem delovnem prostoru. Na primer na mestih ali situacijah, kot so:

  • Samodejni vklop luči na vhodu ali pred vhodnimi vrati, ko se v njej pojavi oseba;
  • Vklop razsvetljave v kopalnici, stranišču, hodniku;
  • Alarm se sproži ob pojavu osebe, tako v zaprtih prostorih kot v lokalnem prostoru;
  • Samodejna povezava varnostnih kamer, ki so pogosto opremljene z varnostnimi sistemi.

PIR senzorji so enostavni za uporabo in ne povzročajo težav pri priklopu, imajo veliko območje občutljivosti in jih je mogoče uspešno integrirati v katerega od programskih projektov Arduino. Vendar je treba upoštevati, da nimajo tehnične zmožnosti zagotavljanja informacij o tem, koliko predmetov je v območju pokritosti in kako blizu so senzorju, sprožijo pa jih lahko tudi hišni ljubljenčki.

Glavni občutljiv element senzorjev gibanja in prisotnosti je piroelektrični infrardeči senzor. Piroelektričnost je električni potencial, ki nastane
v materialu pod vplivom infrardečega (IR) sevanja.

Senzor, ki uporablja material s temi lastnostmi, se lahko odzove na toploto, ki jo oddaja človeško telo. Senzor PIR (Pyroelectric InfraRed) ima krožni vzorec sevanja (360°) z rotacijskim kotom 120°.

Posebne rešitve vezja so omogočile ustvarjanje različnih infrardečih senzorjev gibanja za prižiganje luči in snemanje gibanja ljudi.

Območja pokritosti senzorja PIR

Paleta izdelkov B.E.G. Obstajajo senzorji gibanja in prisotnosti različnih izvedb in namenov:

  • za zunanjo uporabo;
  • za notranjo uporabo;
  • za pritrditev na steno;
  • za stropno montažo
  • oblikovalski senzorji.

Eden od glavnih parametrov IR senzorjev gibanja je območje pokritosti. Stropni senzorji imajo običajno krožno območje pokrivanja (360°). PIR stenski senzorji gibanja imajo, odvisno od modela, obseg pokrivanja od 120° do 280°.

V posebnih pogojih je včasih treba uporabiti senzor z nestandardnim vidnim kotom.
V takih primerih se uporabljajo zapiralne plošče (zavese). Izključujejo vire toplote (motnje) ali področja prostora iz območja zaznavanja.

Doseg senzorja je odvisen od tega, kako se oseba premika glede na senzor. Če se premika v smeri, ki je pravokotna na senzor, ima senzor največji doseg.

Če je gibanje proti senzorju (čelno), se območje pokritosti zmanjša skoraj za polovico. Senzorji imajo minimalni doseg, če se gibanje pojavi neposredno pod senzorjem.

PIR senzorji prisotnosti B.E.G. visoko občutljivo območje in se odzivajo na najmanjše premike. Občutljivost senzorja je nastavljiva.

Pri izvajanju projekta je pomembno zagotoviti, da območja pokritosti senzorjev pokrivajo celotno območje, ki ga bomo spremljali. Za to se uporablja več senzorjev s prekrivajočimi se območji pokritosti, s čimer se izognejo "mrtvim" območjem. Za odpravo izpustov in lažnih pozitivnih rezultatov se uporabljajo časovni zamiki.

Kako pravilno namestiti senzorje PIR

Na vhodu v objekt je nameščen stenski senzor gibanja PIR za zunanjo uporabo.
V njegovem območju delovanja mora obstajati pot do vhoda. Senzor prvi pozdravi obiskovalca in polepša podobo lokala.

Na hodnikih je posebna pozornost namenjena vhodom. Senzorji morajo biti nameščeni tako, da se človek niti za kratek čas ne znajde v temi. Za hodnike so bili razviti posebni stropni senzorji gibanja z ozkim in velikim dosegom.

Stopnišča veljajo za območja z visokim tveganjem. Tukaj ljudje ne bi smeli pasti zaradi nezadostne osvetlitve. Senzorji gibanja so nameščeni na stropu ali na steni podesta kot stenska stikala.

Posebnost razsvetljave v pisarni je, da je v enem prostoru potrebno zagotoviti različno osvetlitev na različnih delovnih mestih. Upoštevati je treba intenzivnost naravne svetlobe in imeti možnost izklopa osvetlitve na praznih območjih.

Zato vsako delovno mesto potrebuje svojo shemo za nadzor osvetlitve. Stropni senzorji prisotnosti PIR z možnostjo razširitve območja zaznavanja so kos tej nalogi.

V šolski učilnici ali univerzitetni avditorij se osvetlitev izvaja ob upoštevanju dnevne svetlobe. Prostor je razdeljen na cone tako, da se zagotovi enakomerna osvetlitev z nastavljivo umetno razsvetljavo.

Posebna pozornost je namenjena območju v bližini plošče. Prisotni morajo imeti dober pregled nad učiteljem in tablo, zato je potrebna zanesljiva osvetlitev in po možnosti dodatno ročno upravljanje. V takih prostorih se uporabljajo senzorji prisotnosti stropa.

Pri avtomatizaciji razsvetljave konferenčnih in sejnih sob se uporablja pristop, podoben zgoraj opisanemu. V trgovini, lekarni ali storitvenem podjetju je blizu vhoda nameščen senzor gibanja z zvočnim signalom, tako da je osebje pozorno na vstopajočega obiskovalca.

Velika telovadnica je razdeljena na cone z neodvisnim nadzorom s stropnimi senzorji. Pomembno je tudi zagotoviti ročno upravljanje: tako bo mogoče zagotoviti osvetlitev samo tam, kjer poteka pouk.

V podzemni garaži je treba zagotoviti zanesljiv nadzor vhodnih prostorov in glavnih prehodov. Morebitna »mrtva« območja se kompenzirajo s časovnimi zamiki. Tukaj se uporabljajo samo stropni senzorji.

Splošne zahteve za namestitev PIR senzorjev

Domet PIR senzorjev je odvisen od smeri gibanja virov IR sevanja. Če zaradi velikega števila komunikacij ni mogoče namestiti senzorjev gibanja na strop, jih namestite na stebre in stene.

Domet senzorjev ne sme biti omejen z drevesi, pohištvom in predelnimi stenami (vključno s steklom). Optimalna višina vgradnje stropnih senzorjev je 2,5-3 metre, stenskih stikal pa od 1,1 do 2,2 metra. Senzorji za visoke strope so nameščeni na višinah do 16 metrov.

Ponudba PIR senzorjev je široka. Razlikujejo se po namenu, tehničnih parametrih in dizajnu. Da bi jih uporabili z največjo učinkovitostjo na določenem mestu, je bolje uporabiti storitve strokovnjakov.

Beračiti. Naši strokovnjaki bodo dali vse potrebne nasvete. In na naš blog, da ne zamudite koristnih gradiv o senzorjih gibanja in prisotnosti.

Pozdravljeni vsi, danes si bomo ogledali napravo, imenovano senzor gibanja. Mnogi od nas so že slišali za to stvar, nekateri so se celo ukvarjali s to napravo. Kaj je senzor gibanja? Poskusimo ugotoviti, torej:

Senzor gibanja ali senzor premika - naprava (naprava), ki zaznava gibanje kakršnih koli predmetov. Zelo pogosto se te naprave uporabljajo v varnostnih, alarmnih in nadzornih sistemih. Obstaja veliko oblik faktorjev teh senzorjev, vendar bomo razmislili o modulu senzorja gibanja za povezavo s ploščami Arduino,in posebej od podjetja RobotDyn. Zakaj to podjetje? Ne želim reklamirati te trgovine in njenih izdelkov, vendar so bili izdelki te trgovine izbrani kot laboratorijski vzorci zaradi kakovostne predstavitve njihovih izdelkov končnemu potrošniku. Torej, srečamo - senzor gibanja(PIR senzor) od RobotDyn:


Ti senzorji so majhni, porabijo malo energije in so enostavni za uporabo. Poleg tega imajo senzorji gibanja RobotDyn tudi svilene kontakte, to je seveda majhna stvar, a zelo prijetna. No, tisti, ki uporabljajo enake senzorje, vendar le drugih podjetij, ne bi smeli skrbeti - vsi imajo enako funkcionalnost in tudi če kontakti niso označeni, je pinout takšnih senzorjev enostavno najti na internetu.

Glavne tehnične lastnosti senzorja gibanja (PIR senzor):

Območje delovanja senzorja: od 3 do 7 metrov

Sledilni kot: do 110 o

Delovna napetost: 4,5...6 V

Poraba toka: do 50 µA

Opomba: Standardno funkcionalnost senzorja lahko razširite tako, da na priključka IN in GND priključite svetlobni senzor in takrat bo senzor gibanja deloval le v temi.

Inicializacija naprave.

Ko je senzor vklopljen, potrebuje skoraj minuto, da se inicializira. V tem obdobju lahko senzor daje napačne signale; to je treba upoštevati pri programiranju mikrokrmilnika s senzorjem, ki je nanj priključen, ali v aktuatorskih vezjih, če je povezava izvedena brez uporabe mikrokrmilnika.

Kot in območje zaznavanja.

Kot zaznavanja (sledenja) je 110 stopinj, obseg razdalje zaznavanja je od 3 do 7 metrov, spodnja slika prikazuje vse:

Nastavitev občutljivosti (razdalje zaznavanja) in časovnega zamika.

Spodnja tabela prikazuje glavne nastavitve senzorja gibanja, na levi strani je regulator časovnega zamika, v levem stolpcu pa je opis možnih nastavitev. Desni stolpec opisuje prilagoditve razdalje zaznavanja.


Povezava senzorja:

  • PIR senzor - Arduino Nano
  • PIR senzor - Arduino Nano
  • PIR senzor - Arduino Nano
  • PIR senzor - za svetlobni senzor
  • PIR senzor - za svetlobni senzor

Tipičen diagram povezave je prikazan na spodnjem diagramu; v našem primeru je senzor prikazan običajno z zadnje strani in povezan s ploščo Arduino Nano.

Skica za prikaz delovanja senzorja gibanja (uporabljamo program):

/* * Senzor PIR -> Arduino Nano * Senzor PIR -> Arduino Nano * Senzor PIR -> Arduino Nano */ void setup() ( //Vzpostavite povezavo z monitorjem vrat Serial.begin(9600); ) void loop( ) ( //Odčitajte vrednost praga iz vrat A0 //običajno je višja od 500, če obstaja signal if(analogRead(A0) > 500) ( //Signal iz senzorja gibanja Serial.println("Gibanje je! !!"); ) else ( / /Ni signala Serial.println("Vse je tiho ..."); ) )

Skica je običajni test delovanja zaznavala gibanja, ima veliko slabosti, kot so:

  1. Možni lažni alarmi, senzor zahteva samoinicializacijo v eni minuti.
  2. Toga vezava na port monitor, brez izhodnih aktuatorjev (rele, sirena, LED indikator)
  3. Čas signala na izhodu senzorja je prekratek, ob zaznavi gibanja je potrebno signal programsko zakasniti za daljši čas.

Z zapletanjem vezja in razširitvijo funkcionalnosti senzorja se lahko izognete zgoraj opisanim pomanjkljivostim. Če želite to narediti, boste morali vezje dopolniti z relejnim modulom in prek tega modula priključiti običajno 220-voltno svetilko. Sam relejni modul bo priključen na pin 3 na plošči Arduino Nano. Torej shematski diagram:

Zdaj je čas, da nekoliko izboljšamo skico, ki je testirala senzor gibanja. Na skici je predvidena zakasnitev izklopa releja, saj ima sam senzor gibanja prekratek signalni čas na izhodu ob sprožitvi. Program izvaja 10-sekundni zamik, ko se senzor sproži. Če želite, lahko ta čas povečate ali zmanjšate s spreminjanjem vrednosti spremenljivke DelayValue. Spodaj sta skica in videoposnetek celotnega sestavljenega vezja v akciji:

/* * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano * Relejni modul -> Arduino Nano */ //relout - pin (izhodni signal) za relejni modul const int relout = 3 ; //prevMillis - spremenljivka za shranjevanje časa prejšnjega cikla skeniranja programa //interval - časovni interval za štetje sekund pred izklopom releja unsigned long prevMillis = 0; int interval = 1000; //DelayValue - obdobje, v katerem je rele vklopljen int DelayValue = 10; //initSecond - spremenljivka iteracije inicializacijske zanke int initSecond = 60; //countDelayOff - statični števec časovnih intervalov int countDelayOff = 0; //sprožilec - zastavica sprožitve senzorja gibanja static bool trigger = false; void setup() ( //Standardni postopek za inicializacijo vrat, na katera je priključen relejni modul //POMEMBNO!!! - če želite, da relejni modul ostane v prvotno izklopljenem stanju //in se ne sproži med inicializacijo, morate da zapišete //vrednost HIGH na vhodna/izhodna vrata, s tem se boste izognili napačnemu "kliku" in //ohranili stanje releja, kakršno je bilo, preden je celotno vezje začelo delovati pinMode(relout, OUTPUT); digitalWrite(relout, HIGH); //Tukaj je vse preprosto - počakamo do 60 končnih ciklov (spremenljivka initSecond) //v trajanju 1 sekunde, v tem času se senzor "samoinicializira" za (int i = 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500). spremenljivka //vrednost milisekund, ki so pretekle od začetka //izvajanja programa unsigned long currMillis = millis(); //Primerjaj s prejšnjo vrednostjo milisekund //če je razlika večja od podanega intervala, potem: if(currMillis - prevMillis > interval) ( //Shrani trenutno vrednost milisekund v spremenljivko prevMillis prevMillis = currMillis; //Preverite števec zakasnitve tako, da ga primerjate z vrednostjo obdobja //v katerem naj bo rele v stanju ON if(countDelayOff >= DelayValue) ( ​​​​//Če je vrednost enaka, potem: //ponastavi sprožilec premika zastavice za aktiviranje senzorja = false; //Ponastavi števec zakasnitve countDelayOff = 0; //Izklopi rele digitalWrite( relout, HIGH); //Prekini prekinitev cikla; ) else ( //Če je vrednost še vedno manjša, potem //Povečaj števec zakasnitve za eno countDelayOff++; //Ohrani rele v stanju digitalWrite(relout, LOW); ) ) ) )

Program vsebuje naslednjo strukturo:

nepredznačeni dolgi prevMillis = 0;

int interval = 1000;

...

unsigned long currMillis = millis();

if(currMillis - prevMillis > interval)

{

prevMillis = currMillis;

....

// Naše delovanje je zaprto v telesu strukture

....

}

Za pojasnitev je bilo odločeno, da se ta zasnova komentira ločeno. Torej vam ta zasnova omogoča izvajanje vzporedne naloge v programu. Telo strukture deluje približno enkrat na sekundo, kar olajša spremenljivka interval. Prvič, spremenljivka currMillis vrednost, vrnjena ob klicu funkcije, je dodeljena milis(). funkcija milis() vrne število milisekund, ki so pretekle od začetka programa. Če razlika currMillis - prevMillis večja od vrednosti spremenljivke interval potem to pomeni, da je od začetka izvajanja programa minilo že več kot sekunda in morate shraniti vrednost spremenljivke currMillis v spremenljivko prevMillis nato izvedete operacije, ki jih vsebuje telo strukture. Če razlika currMillis - prevMillis manjša od vrednosti spremenljivke interval, potem med cikli skeniranja programa še ni minila sekunda in operacije v telesu strukture so preskočene.

No, na koncu članka video avtorja:

Omogočite javascript, da bodo komentarji delovali.

PIR (pasivni infrardeči) senzorji vam omogočajo zaznavanje gibanja.

Zelo pogosto se uporablja v alarmnih sistemih. Ti senzorji so majhni, poceni, porabijo malo energije, so enostavni za uporabo in se praktično ne obrabijo. Takšne senzorje poleg PIR imenujemo še piroelektrični in infrardeči senzorji gibanja.

Piroelektrični senzor gibanja - splošne informacije

Senzorji gibanja PIR so v bistvu sestavljeni iz piroelektričnega zaznavalnega elementa (valjastega kosa s pravokotnim kristalom v sredini), ki zaznava raven infrardečega sevanja. Vse okoli nas oddaja majhno stopnjo sevanja. Višja kot je temperatura, višja je raven sevanja. Senzor je pravzaprav razdeljen na dva dela. To je posledica dejstva, da nam ni pomembna stopnja sevanja, temveč takojšnja prisotnost gibanja v njegovem območju občutljivosti. Dve polovici senzorja sta nastavljeni tako, da če ena polovica zajame več sevanja kot druga, bo izhod ustvaril visoko ali nizko vrednost.

Sam modul, na katerega je nameščen senzor gibanja, je sestavljen tudi iz dodatne električne napeljave: varovalke, upori in kondenzatorji. Večina poceni senzorjev PIR uporablja poceni čipe BISS0001 ("Micro Power PIR Motion Detector IC"). Ta čip zaznava zunanji vir sevanja in izvaja minimalno obdelavo signala, da ga pretvori iz analognega v digitalnega.

Eden od osnovnih modelov piroelektričnih senzorjev tega razreda izgleda takole:

Novejši modeli PIR senzorjev imajo dodatne izhode za dodatno konfiguracijo in nameščene priključke za signal, napajanje in maso:

PIR senzorji so odlični za projekte, kjer je potrebno zaznati prisotnost ali odsotnost osebe v določenem delovnem prostoru. Poleg zgoraj navedenih prednosti takih senzorjev imajo veliko območje občutljivosti. Vendar upoštevajte, da vam piroelektrični senzorji ne bodo dali informacij o tem, koliko ljudi je v bližini ali kako blizu so senzorju. Poleg tega lahko delujejo tudi na hišnih ljubljenčkih.

Splošne tehnične informacije

Te specifikacije veljajo za senzorje PIR, ki se prodajajo v trgovini Adafruit. Načelo delovanja podobnih senzorjev je podobno, čeprav se tehnične lastnosti lahko razlikujejo. Zato se pred delom s senzorjem PIR seznanite z njegovim podatkovnim listom.

  • Oblika: pravokotnik;
  • Cena: približno 10,00 $ pri Adafruit;
  • Izhodni signal: digitalni impulz visok (3V), ko je gibanje in digitalni signal nizek, ko ni gibanja. Dolžina impulza je odvisna od uporov in kondenzatorjev na samem modulu in se razlikuje v različnih senzorjih;
  • Območje občutljivosti: do 6 metrov. Vidni kot 110° x 70°;
  • Napajanje: 3V - 9V, vendar je najboljša možnost 5 voltov;

>Za naročilo pri Aliexpressu:

Princip delovanja piroelektričnih (PIR) senzorjev gibanja

PIR senzorji niso tako enostavni, kot se morda zdi na prvi pogled. Glavni razlog je veliko število spremenljivk, ki vplivajo na njegove vhodne in izhodne signale. Za razlago osnovnega delovanja senzorjev PIR uporabljamo spodnjo sliko.

Piroelektrični senzor gibanja je sestavljen iz dveh glavnih delov. Vsak del vključuje poseben material, ki je občutljiv na infrardeče sevanje. V tem primeru leče ne vplivajo posebej na delovanje tipala, zato vidimo dve občutljivi območji celotnega modula. Ko senzor miruje, oba senzorja zaznata enako količino sevanja. To je lahko na primer sevanje iz sobe ali zunanjega okolja. Ko gre mimo toplokrvni predmet (človek ali žival), prečka območje občutljivosti prvega senzorja, kar ima za posledico dve različni vrednosti sevanja, ki se generirata na modulu senzorja PIR. Ko oseba zapusti območje občutljivosti prvega senzorja, se vrednosti izravnajo. Spremembe v odčitkih obeh senzorjev so tiste, ki se zabeležijo in ustvarijo VISOKE ali NIZKE impulze na izhodu.

Zasnova senzorja PIR

Občutljivi elementi senzorja PIR so nameščeni v zaprtem kovinskem ohišju, ki ščiti pred zunanjim hrupom, temperaturnimi spremembami in vlago. Pravokotnik v sredini je narejen iz materiala, ki prepušča infrardeče sevanje (običajno je material na osnovi silikona). Za to ploščo sta nameščena dva občutljiva elementa.

Slika iz podatkovnega lista Murata:

Slika iz podatkovnega lista RE200B:

Slika iz podatkovnega lista RE200B prikazuje dva občutljiva elementa:

Zgornja slika prikazuje diagram notranje povezave.

Leče

Infrardeči senzorji gibanja so po strukturi skoraj enaki. Glavne razlike so v občutljivosti, ki je odvisna od kakovosti občutljivih elementov. V tem primeru ima optika pomembno vlogo.

Zgornja slika prikazuje primer plastične leče. To pomeni, da je območje občutljivosti senzorja dva pravokotnika. Toda praviloma moramo zagotoviti velike kote gledanja. Če želite to narediti, lahko uporabite leče, podobne tistim v fotoaparatih. V tem primeru mora biti leča za senzor gibanja majhna, tanka in izdelana iz plastike, čeprav dodaja šum meritvam. Zato večina senzorjev PIR uporablja Fresnelove leče (slika iz revije Sensors Magazine):

Fresnelove leče koncentrirajo sevanje in znatno razširijo obseg občutljivosti piro senzorjev (slika iz BHlens.com)

Slika iz Cypress appnote 2105:

Zdaj imamo bistveno večji razpon občutljivosti. Hkrati se spomnimo, da imamo dva občutljiva elementa in ne potrebujemo toliko dveh velikih pravokotnikov, temveč veliko število majhnih občutljivih območij. Da bi to naredili, je leča razdeljena na več delov, od katerih je vsaka ločena Fresnelova leča.

Na spodnji sliki si lahko ogledate posamezne razdelke – Fresnelove leče:


Na tem makro posnetku opazite, da je tekstura posameznih leč drugačna:

Posledično se oblikuje cel niz občutljivih območij, ki medsebojno delujejo.

Slike iz podatkovnega lista NL11NH:

Spodaj je še ena risba. Svetlejši, a manj informativen. Upoštevajte tudi, da ima večina senzorjev vidni kot 110 stopinj, ne 90.

Slika iz IR-TEC:

Priključitev senzorja gibanja PIR

Večina modulov infrardečih senzorjev gibanja ima na zadnji strani tri priključke. Pinout se lahko razlikuje, zato preverite pred povezavo! Običajno so poleg priključkov narejeni ustrezni napisi. En konektor gre na maso, drugi proizvaja signal, ki nas zanima iz senzorjev, tretji je na tleh. Napajalna napetost je običajno 3-5 voltov, DC. Vendar pa včasih obstajajo senzorji z napajalno napetostjo 12 voltov. Nekateri veliki senzorji nimajo ločenega signalnega zatiča. Namesto tega se uporablja rele z maso, močjo in dvema stikaloma.

Za prototip vaše naprave z uporabo infrardečega senzorja gibanja je priročno uporabiti vezje, saj ima večina teh modulov tri konektorje, razdalja med katerimi je izračunana točno za luknje na mizi.

V našem primeru rdeči kabel ustreza napajanju, črni ozemljitvi, rumeni pa signalu. Če kable priključite nepravilno, se senzor ne bo poškodoval, vendar ne bo deloval.

Testiranje senzorja gibanja PIR

Sestavite vezje v skladu z zgornjo sliko. Posledično, ko senzor PIR zazna gibanje, se na izhodu ustvari signal VISOK, ki ustreza 3,3 V, LED pa zasveti.

Upoštevajte, da se mora piroelektrični senzor "stabilizirati". Namestite baterije in počakajte 30-60 sekund. V tem času lahko LED utripa. Počakajte, da utripanje preneha in lahko začnete mahati z rokami, hoditi okoli senzorja in opazovati, kako sveti LED!

Konfiguriranje ponovnega zagona senzorja

Piroelektrični senzor gibanja ima več nastavitev. Najprej si bomo ogledali "ponovni zagon".

Po priključitvi si oglejte zadnjo stran modula. Konektorji morajo biti nameščeni v zgornjem levem kotu L, kot je prikazano na spodnji sliki.

Upoštevajte, da pri tej možnosti povezave LED ne sveti nenehno, ampak se vklopi in izklopi, ko se približate. To je možnost brez ponovnega sprožitve.

Sedaj namestite priključek v položaj H. Po testiranju se izkaže, da lučka LED stalno sveti, če se nekdo premakne znotraj območja občutljivosti senzorja. To je način "ponovnega zagona".

Spodnja slika je iz podatkovnega lista senzorja BISS0001:

V večini primerov je način "ponovnega zagona" (konektor v položaju H, kot je prikazano na spodnji sliki) boljši.

Prilagoditev občutljivosti

Veliko infrardečih senzorjev gibanja, vključno s tistimi iz Adafruita, ima majhen potenciometer za prilagajanje občutljivosti. Zasuk potenciometra v smeri urinega kazalca poveča občutljivost senzorja.

Spreminjanje časa impulza in časa med impulzi

Pri PIR senzorjih sta pomembna dva "zakasnitvena" časa. Prvo časovno obdobje -Tx: kako dolgo lučka LED ostane prižgana po zaznavi gibanja. Pri mnogih piroelektričnih modulih se ta čas prilagaja z vgrajenim potenciometrom. Drugo časovno obdobje je Ti: koliko časa je zagotovljeno, da LED ne bo zasvetila, ko ni gibanja. Spreminjanje tega parametra ni tako enostavno, za to boste morda potrebovali spajkalnik.

Oglejmo si podatkovni list BISS:

Senzorji Adafruit imajo potenciometer z oznako TIME. To je spremenljivi upor 1 mega ohm, dodan uporom 10 kiloohmov. Kondenzator C6 ima kapacitivnost 0,01 mikrofarata, torej:

Tx = 24576 x (10 kOhm + Rtime) x 0,01 µF

Ko je potenciometer Rtime v položaju "nič" - popolnoma v nasprotni smeri urnega kazalca (0 megohm):

Tx = 24576 x (10k ohmov) x 0,01 µF = 2,5 sekunde (približno) Ko potenciometer Rtime obrnete do konca v smeri urinega kazalca (1 megaohm):

Tx = 24576 x (1010 kOhm) x 0,01 µF = 250 sekund (približno)

V srednjem položaju RTime bo čas približno 120 sekund (dve minuti). To pomeni, da če želite slediti gibanju predmeta enkrat na minuto, obrnite potenciometer za 1/4 obrata.

Za starejše/drugačne modele senzorjev PIR

Če vaš senzor nima potenciometrov, lahko prilagodite z uporabo uporov.

Zanimajo nas upori R10 in R9. Kitajci žal zmorejo veliko. Vključno z zmedenimi napisi. Zgornja slika prikazuje primer, ki kaže, da je R9 zamenjan z R17. Sledite povezavi z uporabo podatkovnega lista. R10 je priključen na pin 3, R9 - na pin 7.

Na primer:

Tx je = 24576 * R10 * C6 = ~1,2 sekunde

R10 = 4,7 K in C6 = 10 nanofaradov

Ti = 24 * R9 * C7 = ~1,2 sekunde

R9 = 470K in C7 = 0,1 mikrofarada

Čas zakasnitve lahko spremenite z namestitvijo različnih uporov in kondenzatorjev.

Priključitev senzorja gibanja PIR na Arduino

Napišimo program za branje vrednosti iz piroelektričnega senzorja gibanja. Priključitev senzorja PIR na mikrokontroler je preprosta. Senzor proizvaja digitalni signal, tako da je vse, kar morate storiti, prebrati signal HIGH (zaznano gibanje) ali LOW (brez gibanja) iz zatiča Arduino.

Ne pozabite namestiti konektorja v položaj H!

Na senzor priključite napetost 5 voltov. Povežite zemljo z zemljo. Po tem priključite signalni zatič senzorja na digitalni zatič na Arduinu. V tem primeru je uporabljen pin 2.

Program je preprost. V bistvu spremlja stanje pina 2. In sicer: kakšen signal je na njem: LOW ali HIGH. Poleg tega se prikaže sporočilo, ko se stanje zatiča spremeni: premikanje je ali ni premikanja.

* Preverjanje senzorja gibanja PIR

int ledPin = 13; // inicializiraj pin za LED

int inputPin = 2; // inicializirajte zatič za sprejem signala iz piroelektričnega senzorja gibanja

int pirState = LOW; // zagon programa ob predpostavki, da ni premika

int val = 0; // spremenljivka za branje stanja zatiča

pinMode(ledPin, IZHOD); // deklariraj LED kot IZHOD

pinMode(inputPin, INPUT); // deklariraj senzor kot INPUT

Serial.begin(9600);

val = digitalRead(inputPin); // preberite vrednost s senzorja

if (val == HIGH) ( // preveri, če se prebrana vrednost ujema z HIGH

digitalWrite(ledPin, HIGH); // vklopi LED

if (pirState == LOW) (

// pravkar smo ga vklopili

Serial.println("Zaznano gibanje!");

pirState = VISOKO;

digitalWrite(ledPin, LOW); // izklopi LED

if (pirState == HIGH)(

// pravkar smo ga izklopili

Serial.println("Gibanje končano!");

// izpišemo spremembo v serijski monitor, ne v stanje

Ne pozabite, da za delo s piroelektričnim senzorjem ne potrebujete vedno mikrokrmilnika. Včasih se lahko rešite s preprostim relejem.

Pregled prostorskega senzorja HC-SR501

Modul senzorja gibanja (ali prisotnosti) HCSR501, ki temelji na piroelektričnem učinku, je sestavljen iz senzorja 500BP PIR (slika 1) z dodatno električno izolacijo na čipu BISS0001 in Fresnelove leče, ki se uporablja za povečanje radija gledanja in ojačanje infrardečega sevanja. signal (slika 2). Modul se uporablja za zaznavanje gibanja predmetov, ki oddajajo infrardeče sevanje. Občutljivi element modula je 500BP PIR senzor. Njegov princip delovanja temelji na piroelektriki. To je pojav pojava električnega polja v kristalih, ko se njihova temperatura spremeni.

Delovanje senzorja krmili čip BISS0001. Na plošči sta dva potenciometra, s prvim lahko nastavite razdaljo zaznavanja objekta (od 3 do 7 m), z drugim pa lahko nastavite zakasnitev po prvi aktivaciji senzorja (5 - 300 sec). Modul ima dva načina – L in H. Način delovanja se nastavi z mostičkom. Način L – način enojnega aktiviranja, ko je zaznan premikajoči se predmet, se izhod OUT nastavi na visoko raven signala za čas zakasnitve, nastavljen z drugim potenciometrom. V tem času se senzor ne odziva na premikajoče se predmete. Ta način se lahko uporablja v varnostnih sistemih za pošiljanje alarma sireni. V načinu H se senzor sproži vsakič, ko je zaznano gibanje. Ta način lahko uporabite za vklop luči. Ob vklopu se modul kalibrira, trajanje kalibracije je približno ena minuta, po tem pa je modul pripravljen za delovanje. Priporočljivo je, da senzor namestite stran od odprtih virov svetlobe.

Slika 1. Senzor PIR 500 BP

Slika 2. Fresnelova leča

HC-SR501 Specifikacije

  • Napajalna napetost: 4,5-20 V
  • Poraba toka: 50 mA
  • Izhodna napetost OUT: VISOKA – 3,3 V, NIZKA – 0 V
  • Interval zaznave: 3-7m
  • Trajanje zakasnitve po aktivaciji: 5 - 300 sek
  • Vidni kot do 120
  • Čas blokade do naslednje meritve: 2,5 sekunde.
  • Načini delovanja: L - enkratno proženje, H - proženje ob vsakem dogodku
  • Delovna temperatura -20 do +80C
  • Dimenzije 32x24x18 mm

Priključitev infrardečega senzorja gibanja na Arduino

Modul ima 3 izhode (slika 3):
  • VCC - napajanje 5-20 V;
  • GND - ozemljitev;
  • OUT - digitalni izhod (0-3,3 V).

Slika 3. Dodelitev pinov in nastavitev HC-SR501

Povežimo modul HC-SR501 na ploščo Arduino (Shema povezave na sliki 4) in napišimo preprosto skico, ki bo signalizirala z zvočnim signalom in sporočilom serijskim vratom, ko bo zaznan premikajoči se predmet. Za beleženje operacij mikrokontrolerja bomo uporabili zunanje prekinitve na vhodu 2. To je prekinitev int0.

Slika 4. Priključni diagram za priključitev modula HC-SR501 na ploščo Arduino

Naložimo skico iz seznama 1 na ploščo Arduino in poglejmo, kako se senzor odziva na ovire (glej sliko 5). Nastavimo modul na način delovanja L. Listing 1 // Skica za pregled senzorja gibanja/prisotnosti HC-SR501 // mesto // kontakt za povezavo izhoda senzorja #define PIN_HCSR501 2 // zastavica sprožitve boolean flagHCSR501=false; // priključek zvočnika int soundPin=9; // frekvenca zvočnega signala int freq=587; void setup() ( // inicializacija serijskih vrat Serial.begin(9600); // začetek obdelave prekinitev int0 attachInterrupt(0, intHCSR501,RISING); ) void loop() ( if (flagHCSR501 == true) ( ​​​​/ / Sporočilo v serijskih vratih Serial.println("Pozor!!!"); // zvočni alarm za 5 sekund tone(soundPin,freq,5000); // ponastavitev zastavice sprožilca flagHCSR501 = false; ) ) // prekinitev obdelave void intHCSR501() ( // nastavitev zastavice sprožilca senzorja flagHCSR501 = true; )

Slika 5. Izhod monitorja serijskih vrat

S potenciometri eksperimentiramo s trajanjem signala na izhodu OUT in občutljivostjo senzorja (razdalja fiksacije objekta).

Primer uporabe

Ustvarimo primer pošiljanja SMS sporočila, ko se na varovanem objektu sproži senzor gibanja/prisotnosti. Za to bomo uporabili GPS/GPRS ščit. Potrebovali bomo naslednje dele:
  • Arduino Uno plošča
  • GSM/GPRS ščit
  • NPN tranzistor, na primer C945
  • upor 470 ohm
  • zvočnik 8 Ohm 1W
  • žice
Sestavimo povezovalni diagram v skladu s sl. 6.

Slika 6. Diagram povezave

Ko se senzor sproži, pokličemo postopek pošiljanja sms s sms sporočilom Pozorcija!!! na TELEFONSKO številko. Vsebina skice je predstavljena v listingu 2. GSM/GPRS ščit v načinu pošiljanja SMS porablja tok do 2 A, zato uporabljamo zunanji napajalnik 12V 2A. Seznam 2 // Skica 2 za pregled senzorja gibanja/prisotnosti HC-SR501 // pošiljanje SMS-a ob sprožitvi senzorja // spletno mesto // kontakt za povezavo izhoda senzorja #define PIN_HCSR501 2 // zastavica sprožitve boolean flagHCSR501 false; // priključek zvočnika int soundPin=9; // frekvenca zvočnega signala int freq=587; // Knjižnica SoftwareSerial #include // telefonska številka za pošiljanje sms #define PHONE "+79034461752" // Izhodi za SoftwareSerial (imate lahko 2,3) SoftwareSerial GPRS(7, 8); void setup() ( // inicializacija serijskih vrat Serial.begin(9600); // začetek obdelave prekinitve int0 attachInterrupt(0, intHCSR501,RISING); // za izmenjavo z GPG/GPRS ščitom GPRS.begin(19200); ) void loop() ( if (flagHCSR501 == true) ( ​​​​// Sporočilo serijskim vratom Serial.println("Pozor!!!"); // zvočni alarm za 5 sekund tone(soundPin,freq,5000) ; // pošlji sms SendSMS(); // ponastavi prožilno zastavico flagHCSR501 = false; ) ) // prekinitev obdelave void intHCSR501() ( // nastavitev prožilne zastavice senzorja flagHCSR501 = true; ) // podprogram za pošiljanje sms-ov void SendSMS () ( // besedilni način nastavitve ukaza AT GPRS.print("AT+CMGF=1\r"); delay(100); // telefonska številka GPRS.print("AT + CMGS = \""); GPRS. print(PHONE); GPRS. println("\""); delay(200); // GPRS message.println("Pozor!!!"); delay(200); // ASCII koda ctrl+z – konec GPRS prenos.println((char) 26); zakasnitev(200); GPRS.println(); )

Pogosta vprašanja FAQ

1. Modul ne deluje, ko se predmet premika
  • Preverite, ali je modul pravilno priključen.
  • Nastavite razdaljo sprožilca s potenciometrom.
2. Senzor se prepogosto sproži
  • Nastavite zakasnitev trajanja signala s potenciometrom.
  • Nastavite mostiček na način enojnega delovanja L.
Nalaganje...Nalaganje...