Infrapuna liikumisandur HC-SR501. Püroelektriline infrapuna (PIR) liikumisandur ja Arduino liikumisandur Arduino visandil

PIR-andurite tööpõhimõte ja seadme tüüpiline elektriahel. Iga inimene muutub soojuskiirguse allikaks. Selle kiirguse lainepikkus sõltub temperatuurist ja asub spektri infrapunases osas. Seda kiirgust tuvastavad spetsiaalsed andurid, mida nimetatakse PIR-anduriteks.

PIR on passiivsete infrapuna-andurite lühend. Passiivne - kuna andurid ise ei kiirga, vaid tajuvad ainult kiirgust lainepikkusega 7 kuni 14 mikronit. PIR-andur sisaldab sensorelementi, mis reageerib soojuskiirguse muutustele. Kui see jääb konstantseks, siis elektrilist signaali ei genereerita. Selleks, et andur reageeriks liikumisele, kasutatakse mitme teravustamisalaga Fresneli objektiive, mis jagavad üldise termopildi malemustris paiknevateks aktiivseteks ja passiivseteks tsoonideks. Anduri tööpiirkonnas viibiv inimene hõivab täielikult või osaliselt mitu aktiivset tsooni. Seetõttu toimub isegi minimaalse liikumise korral liikumine ühest aktiivsest tsoonist teise, mis käivitab anduri. Kuid taustsoojusmuster muutub väga aeglaselt ja ühtlaselt, nii et andur ei reageeri sellele. Aktiivsete ja passiivsete tsoonide suur tihedus võimaldab anduril usaldusväärselt tuvastada inimese olemasolu vähimagi liigutuse korral.

See ahel põhineb HT7610A kiibil, mis on täpselt ette nähtud kasutamiseks automaatsetes PIR-lampides või alarmides. See võib signaali edastamiseks töötada 3-juhtmelises konfiguratsioonis. See projekt kasutab türistori asemel releed, nagu sageli tehakse, mis tahes koormuse ühendamiseks. Kiibi sees on operatiivvõimendi, komparaator, taimer, nullpunkti detektor, juhtahel, pingeregulaator, ostsillaator ja ostsillaatori kella väljund.

PIR-andur tuvastab inimkeha liikumisest põhjustatud infrapuna-muutunud signaali ja muudab selle pingekõikumiseks. Ahel ei vaja astmelist trafot ja võib töötada otse 220 V pingest. Liiteseadisega kondensaator C7 peaks olema 0,33 uF/275 V või veel parem 400 V.

Anduri ahela omadused

  • Ahela tööpinge: 5V-12V.
  • Koormusvool on 80 mA, kui relee on sisse lülitatud.
  • Ooterežiimi vool: 100uA
  • ON/AUTO/OFF töörežiimid.
  • Automaatne lähtestamine, kui signaal kaob 3 sekundi jooksul.
  • Relee väljund koormuse ühendamiseks.
  • LDR fototakisti päeva/öise tuvastamiseks.
  • Jumper J1 režiimi seadistamiseks.
  • Takisti PR1 määrab anduri tundlikkuse.
  • Takisti PR2 määrab väljundi olekusignaali väljundi kestuse.

PIR-anduri ahel pakub kolme töörežiimi (ON, AUTO, OFF), mida saab käsitsi seadistada hüppaja J1 abil. CDS-süsteem on CMOS Schmitti päästik, mida kasutatakse päevase ja öö eristamiseks.

Täna analüüsime PIR-i (liikumisanduri) Arduinoga ühendamise projekti ja korraldame anduri käivitumisel automaatse e-kirja saatmise. Arduino on selle projekti süda – see loeb IR-andurit ja liikumise tuvastamisel annab arvutile USB-pordi kaudu käsu saata meilisõnum. Arvutisse siseneva signaali töötleme Pythoni programmi abil.

Mudeli kokkupanemiseks vajalike osade loend

Selles õpetuses kirjeldatud projekti kokkupanemiseks vajate järgmisi osi:

  • Arduino UNO või samaväärne (loe lähemalt, kuidas Arduinot valida);
  • PIR-andur (see 2 dollari eest sobib);
  • Bradboard (saab osta 2,4 dollari eest);
  • mees-mees juhtmed (saate osta sellise kimbu suure varuga).

Vajame ka internetiühendusega arvutit, mille kaudu saadame meili! Arvuti rolli selles tunnis saab mängida.

PIR-anduri ühendusskeem Arduinoga

Arduinoga tuleb selles projektis ühendada ainult PIR andur, nii et anduri juhtmed saab ühendada otse Arduinoga. Aga sest Sel juhul hoitakse juhtmeid veidi lõdvalt, mugavam on kasutada Bradboardi skeemi:

Arduino sketš

Arduino saadab liikumise tuvastamisel teate USB-jadaside kaudu. Aga kui saadate e-kirja iga kord, kui andur käivitatakse, võite saada tohutul hulgal kirju. Seega, kui viimasest signaalist on möödunud liiga vähe aega, saadame uue sõnumi.
int pirPin = 7;
int minSecsBetweenEmails = 60; // 1 min
long lastSend = -minSecsBetweenEmails * 1000;
tühine seadistus ()
{
pinMode(pirPin, INPUT);
Serial.begin(9600);
}
void loop ()
{
pikk nüüd = millis();
if (digitalRead(pirPin) == HIGH)
{
if (now > (lastSend + minSecsBetweenEmails * 1000))
{
Serial.println("LIIKUMINE"); lastSend = kohe;
}
muidu
{
Serial.println("Liiga vara"); )
}
viivitus(500);
}

Muutujat "minSecsBetweenEmails" saab muuta mõne muu mõistliku väärtuse vastu. Näites on selleks seatud 60 sekundit ja e-kirju ei saadeta üle ühe minuti. E-kirja saatmise käsu viimati väljastamise jälgimiseks kasutatakse muutujat “lastSend”. Initsialiseerime selle negatiivse arvuga, mis võrdub muutujas „minSecsBetweenEmails” määratud millisekundite arvuga. See tagab, et töötleme PIR-anduri päästiku kohe pärast Arduino visandi käivitamist. Loop kasutab Millis() funktsiooni, et saada Arduinost millisekundite arv ja võrrelda seda ajaga, mis kulus viimasest anduri käivitumisest ja vastava MOVEMENT sõnumi saatmisest. Kui võrdlus näitab, et viimasest anduri käivitamisest on möödunud liiga vähe aega, siis vaatamata liikumise tuvastamisele saadame teate “Liiga vara”. Enne Pythoni programmi kirjutamist, et töödelda Arduinost arvutisse või Raspberry Pi-sse tuleva signaali USB kaudu, saate programmi Arduinos testida, avades lihtsalt Arduino IDE-s Serial Monitor.

Pythoni ja PySeriali installimine

Kui projekt kasutab Linuxi operatsioonisüsteemi (nt Raspberry Pi) töötavat arvutit, on Python juba installitud. Kui kasutate Windowsi operatsioonisüsteemiga arvutit, peab Python olema installitud. Igal juhul peate Arduinoga suhtlemiseks installima PySeriali teegi.

Pythoni installimine Windowsi

Pythoni installimiseks Windowsis laadige installiprogramm alla aadressilt https://www.python.org/downloads/. On teateid PySeriali probleemidest Windowsis Python 3 kasutamisel, seega kasutame Python 2. Peale Pythoni installimist ilmub Start menüüsse vastav grupp. Kuid PySeriali installimiseks peate kasutama Pythonit käsurealt, nii et lisame Windowsi PATH muutujale vastava kataloogi.
Selleks peate minema Windowsi juhtpaneelile, leidma seal System Properties. Seejärel klõpsake nuppu Environment Variabes ja valige ilmuvas aknas System muutujate allservas "Path". Klõpsake nuppu Redigeeri ja seejärel lisage "Muutuja väärtus" lõppu olemasolevat teksti kustutamata "; C:\Python27". Ära unusta ";" iga määratud kausta järel. Muutuja PATH õige muutmise kontrollimiseks sisestage käsureale käsk "python". Ilmuma peaks selline pilt:


PySeriali installimine

Olenemata kasutatavast operatsioonisüsteemist laadige PySerial 2.6 installipakett .tar.gz alla aadressilt https://pypi.python.org/pypi/pyserial Saame faili nimega pyserial-2.6.tar.gz Windowsi kasutamisel peate faili kausta lahti pakkimiseks. Kahjuks ei ole see tavaline ZIP-fail, mistõttu võib tekkida vajadus alla laadida näiteks 7-zip (http://www.7-zip.org/). Kui kasutate arvutit, kus töötab Linux, näiteks selles projektis Raspberry Pi, peate avama terminali seansi, käivitama käsu „CD”, määrates kausta, kuhu laadisite alla pyserial-2.6.tar.gz, ja seejärel käivitada. installiprogrammi ekstraktimiseks järgmine käsk:
$ tar -xzf pyserial-2.6.tar.gz
Järgmisena, olenemata kasutatavast operatsioonisüsteemist, käivitame käsureal käsu “CD”, mis näitab kausta pyserial-2.6, ja täidame käsu:
sudo python setup.py install

Pythoni kood

Nüüd loome Pythonis programmi. Selleks kopeerige see kood faili nimega "movement.py". Linuxis saab kasutada "nano" redaktorit, Windowsis on ilmselt lihtsaim viis faili tegemiseks Pythoni 'IDLE' redaktoriga (saadaval Start menüü Pythoni programmide grupist).

Impordi aeg
seeria import
import smtplib
TO = " [e-postiga kaitstud]"
GMAIL_USER = " [e-postiga kaitstud]"
GMAIL_PASS = "pane oma parool siia"
SUBJECT = "Sissetungimine!!"
TEXT = "Teie PIR-andur tuvastas liikumise"
ser = serial.Serial("COM4", 9600)
def send_email():
print ("E-kirja saatmine")
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo() smtpserver.starttls()
smtpserver.ehlo smtpserver.login(GMAIL_USER, GMAIL_PASS)
header = "Saaja:" + TO + "\n" + "Saatja: " + GMAIL_USER
päis = päis + "\n" + "Teema:" + SUBJECT + "\n"
prindi päis
msg = päis + "\n" + TEKST + "\n\n"
smtpserver.sendmail(GMAIL_USER, TO, sõnum)
smtpserver.close()
samas tõsi:
sõnum = ser.readline()
print (sõnum)
kui sõnum == "M":
saada email()
aeg.uneaeg (0,5)

Enne Pythoni programmi käivitamist teeme mõned muudatused (kõik need on programmi ülaosas). Programm eeldab, et meilid luuakse Gmaili kontolt. Kui seda seal pole, registreerime selle (isegi kui see on ainult selle projekti jaoks). Muudame muutuja "TO" väärtuse e-posti aadressile, kuhu teateid saadetakse. Muudame "GMAIL_USER" väärtuse Gmaili e-posti aadressiks ja vastavalt ka parooli järgmisel real (GMAIL_PASS). Samuti saate muuta saadetava sõnumi teemat ja teksti (“TEEMA” ja “TEKST”). Peate määrama jadapordi, millega Arduino on ühendatud reale ser = serial.Serial("COM4", 9600) Windowsi jaoks on see Linuxi jaoks midagi sellist nagu "COM4" – umbes nagu "/dev/tty". usbmodem621" . Vaatame paremas alanurgas olevat Arduino IDE-d, et näha, millise arvutiporti plaat on ühendatud.
Pärast neid muudatusi käivitage programm käsurealt / terminalist: python movement.py Valmis! Kui PIR andur rakendub, saadetakse varsti määratud e-mailile teade.

Mida veel saab PIR-anduriga teha?

Nüüd, kui olete Arduinoga meili saatmise vahendid selgeks õppinud, võite hakata projekti võimalusi laiendama. Saate lisada teisi andureid ja näiteks saata endale e-postiga tunnipõhiseid temperatuuriaruandeid. Loomulikult saab PIR-andurit kasutada otse Arduinoga ilma arvutiga ühendamata. Sellisel juhul saate anduri käivitumisel sisse lülitada hoiatusheli, vilkuda LED-tuli või lülitada ruumis sisse valgustuse (kõrgepingerelee kaudu).

Tere kõigile, täna vaatame seadet, mida nimetatakse liikumisanduriks. Paljud meist on sellest asjast kuulnud, mõned on selle seadmega isegi tegelenud. Mis on liikumisandur? Proovime selle välja mõelda, nii et:

Liikumisandur või nihkeandur - seade (seade), mis tuvastab mis tahes objektide liikumise. Väga sageli kasutatakse neid seadmeid turva-, häire- ja seiresüsteemides. Nende andurite tegurite vorme on väga palju, kuid plaatidega ühendamiseks kaalume liikumisanduri moodulit Arduino,ja konkreetselt ettevõttelt RobotDyn. Miks see firma? Ma ei taha seda kauplust ja selle tooteid reklaamida, kuid just selle poe tooted valiti laboriproovideks, kuna nende toodete kvaliteetne esitlus lõpptarbijale oli. Niisiis, me kohtume - liikumisandur(PIR-andur) RobotDynist:


Need andurid on väikese suurusega, tarbivad vähe energiat ja neid on lihtne kasutada. Lisaks on RobotDyn liikumisanduritel ka siidiekraaniga kontaktid, see on muidugi väike asi, aga väga meeldiv. Noh, need, kes kasutavad samu andureid, kuid ainult teistelt ettevõtetelt, ei peaks muretsema - neil kõigil on sama funktsionaalsus ja isegi kui kontaktid pole märgistatud, on selliste andurite pinout Internetist lihtne leida.

Liikumisanduri (PIR-andur) peamised tehnilised omadused:

Anduri tööala: 3 kuni 7 meetrit

Jälgimisnurk: kuni 110 o

Tööpinge: 4,5...6 volti

Voolutarve: kuni 50 µA

Märge: Anduri standardfunktsionaalsust saab laiendada, kui ühendada IN ja GND kontaktidesse valgusandur ning siis hakkab liikumisandur tööle ainult pimedas.

Seadme lähtestamine.

Kui see on sisse lülitatud, kulub anduri lähtestamiseks peaaegu minut. Sel perioodil võib andur anda valesignaale, sellega tuleks arvestada anduriga mikrokontrolleri programmeerimisel või täiturlülitustes, kui ühendus toimub ilma mikrokontrollerit kasutamata.

Tuvastamisnurk ja -ala.

Tuvastamise (jälgimise) nurk on 110 kraadi, tuvastuskauguse vahemik on 3 kuni 7 meetrit, allolev illustratsioon näitab seda kõike:

Tundlikkuse (tuvastuskauguse) ja viivituse reguleerimine.

Allolevas tabelis on näidatud liikumisanduri peamised seadistused, vasakul on vastavalt viivituse regulaator, vasakpoolses veerus on võimalike seadistuste kirjeldus. Parempoolne veerg kirjeldab tuvastuskauguse reguleerimist.


Anduri ühendus:

  • PIR-andur - Arduino Nano
  • PIR-andur - Arduino Nano
  • PIR-andur - Arduino Nano
  • PIR-andur – valgusanduri jaoks
  • PIR-andur – valgusanduri jaoks

Tüüpiline ühendusskeem on näidatud alloleval skeemil, meie puhul on andur näidatud tavapäraselt tagantpoolt ja ühendatud Arduino Nano plaadiga.

Sketš, mis demonstreerib liikumisanduri tööd (kasutame programmi):

/* * PIR-andur -> Arduino Nano * PIR-andur -> Arduino Nano * PIR-andur -> Arduino Nano */ void setup() ( //Loo ühendus pordimonitoriga Serial.begin(9600); ) void loop( ) ( //Loe läviväärtust pordist A0 //tavaliselt on see suurem kui 500, kui on signaal if(analogRead(A0) > 500) ( //Signaal liikumisandurilt Serial.println("Seal on liikumine! !!"); ) else ( / / Signaali pole Serial.println("Kõik on vaikne..."); ) )

Sketš on liikumisanduri töö tavaline test, sellel on palju puudusi, näiteks:

  1. Võimalikud valehäired, andur nõuab enesekäivitamist ühe minuti jooksul.
  2. Jäik sidumine pordimonitoriga, väljundajamid puuduvad (relee, sireen, LED-indikaator)
  3. Signaali aeg anduri väljundis on liiga lühike, liikumise tuvastamisel on vaja signaali programmiliselt pikemaks ajaks edasi lükata.

Ahelat keerulisemaks muutes ja anduri funktsionaalsust laiendades saate vältida ülalkirjeldatud puudusi. Selleks peate vooluringi täiendama releemooduliga ja ühendama selle mooduli kaudu tavalise 220-voldise lambi. Releemoodul ise ühendatakse Arduino Nano plaadi viiguga 3. Seega skemaatiline diagramm:

Nüüd on aeg liikumisandurit testinud sketši veidi täiustada. Just visandis rakendatakse relee väljalülitamise viivitust, kuna liikumisanduri enda signaaliaeg on käivitamisel väljundis liiga lühike. Programm rakendab anduri käivitamisel 10-sekundilise viivituse. Soovi korral saab seda aega suurendada või vähendada muutuja väärtust muutes DelayValue. Allpool on eskiis ja video kogu kokkupandud vooluringist töös:

/* * PIR-andur -> Arduino Nano * PIR-andur -> Arduino Nano * PIR-andur -> Arduino Nano * Releemoodul -> Arduino Nano */ //relout - kontakt (väljundsignaal) releemooduli jaoks const int relout = 3 ; //prevMillis - muutuja eelmise programmi skannimistsükli aja salvestamiseks //intervall - ajavahemik sekundite lugemiseks enne relee väljalülitamist märgita pikk prevMillis = 0; int intervall = 1000; //DelayValue - periood, mille jooksul releed hoitakse sisselülitatud olekus int DelayValue = 10; //initSecond – initsialiseerimistsükli iteratsioonimuutuja int initSecond = 60; //countDelayOff - ajaintervalli loendur staatiline int countDelayOff = 0; //trigger - liikumisanduri päästiku lipp staatiline bool trigger = false; void setup() ( //Standardprotseduur selle pordi lähtestamiseks, millega releemoodul on ühendatud //TÄHTIS!!! - selleks, et releemoodul jääks algselt väljalülitatud olekusse //ja ei käivituks lähtestamise ajal, on vaja kui sisestate //väärtuse HIGH sisend-/väljundporti , väldib see vale klõpsamist ja //säilitab relee oleku, nagu see oli enne kogu vooluringi tööle panemist pinMode(relout, OUTPUT); digitalWrite(relout, HIGH); //Siin on kõik lihtne – ootame, kuni 60 tsüklit (initSecond muutuja) //kestvad 1 sekund, mille jooksul andur “initsialiseerub” for (int i = 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) ( //Määrake liikumisanduri päästiku lipp if(!trigger) ( trigger = true; ) ) //While the motion sensor trigger flag on set while(trigger) ( //Käivitage järgmised juhised //Salvesta currMillis muutuja //programmi käivitamisest möödunud millisekundite väärtus //programmi käivitamise märgita pikk currMillis = millis(); //Võrdlege millisekundite eelmise väärtusega //kui erinevus on määratud intervallist suurem, siis: if(currMillis - prevMillis > intervall) ( //Salvestage millisekundite praegune väärtus muutujasse prevMillis prevMillis = currMillis; //Kontrollige viiteloendurit, võrreldes seda perioodi väärtusega //mille jooksul peaks relee olema ON olekus if(countDelayOff >= DelayValue) (//Kui väärtus on võrdne, siis: //lähtestage anduri aktiveerimise lipu liikumise päästik = false; //Lähtestage viivitusloendur countDelayOff = 0; //Lülita relee digitalWrite( relout, HIGH); //Katkesta tsükli paus; ) else ( //Kui väärtus on ikka väiksem, siis //Suurendage viivitusloendurit ühe countDelayOff++; //Hoidke relee sisselülitatud olekus digitalWrite(relout, LOW); ) ) ))

Programm sisaldab järgmist struktuuri:

märgita pikk prevMillis = 0;

int intervall = 1000;

...

märgita pikk currMillis = millis();

if(currMillis - prevMillis > intervall)

{

prevMillis = currMillis;

....

// Meie toimingud on suletud struktuuri kehasse

....

}

Selguse huvides otsustati seda kujundust eraldi kommenteerida. Niisiis, see disain võimaldab teil programmis paralleelset ülesannet täita. Konstruktsiooni keha töötab ligikaudu kord sekundis, seda hõlbustab muutuja intervall. Esiteks muutuja currMillis funktsiooni kutsumisel tagastatav väärtus on määratud millis(). Funktsioon millis() tagastab millisekundite arvu, mis on möödunud programmi algusest. Kui erinevus currMillis - prevMillis suurem kui muutuja väärtus intervall siis see tähendab, et programmi käivitamisest on möödunud juba üle sekundi ja peate salvestama muutuja väärtuse currMillis muutujaks prevMillis seejärel tehke struktuuri kehas sisalduvad toimingud. Kui erinevus currMillis - prevMillis väiksem kui muutuja väärtus intervall, siis pole programmi skannimistsüklite vahel veel sekundit möödunud ja struktuuri kehas sisalduvad toimingud jäetakse vahele.

Noh, artikli lõpus video autorilt:

Kommentaaride toimimiseks lubage JavaScript.

PIR (passiivne infrapuna) andurid reageerivad liikumisele, mistõttu kasutatakse neid sageli häiresüsteemides. Need andurid on väikesed, odavad, energiasäästlikud, hõlpsasti kasutatavad ja praktiliselt ei kulu. Lisaks PIR-ile nimetatakse selliseid andureid püroelektrilisteks ja infrapuna liikumisanduriteks.

Püroelektriline liikumisandur – üldteave

PIR-liikumisandurid koosnevad sisuliselt püroelektrilisest sensorelemendist (silindriline tükk, mille keskel on ristkülikukujuline kristall), mis tuvastab infrapunakiirguse taseme. Kõik meid ümbritsev kiirgab vähesel määral kiirgust. Mida kõrgem on temperatuur, seda kõrgem on kiirgustase. Andur on tegelikult jagatud kaheks osaks. See on tingitud asjaolust, et meie jaoks ei ole oluline mitte kiirgustase, vaid liikumise vahetu olemasolu selle tundlikkustsoonis. Anduri kaks poolt on seadistatud nii, et kui üks pool võtab rohkem kiirgust kui teine, tekitab väljund kõrge või madala väärtuse.

PIR-andurid sobivad suurepäraselt projektidele, kus on vaja tuvastada inimese olemasolu või puudumine teatud tööruumis. Lisaks eespool loetletud selliste andurite eelistele on neil suur tundlikkustsoon. Pange tähele, et püroelektrilised andurid ei anna teile teavet selle kohta, kui palju inimesi läheduses on või kui lähedal nad andurile on. Lisaks saavad nad töötada ka lemmikloomadega.

Üldine tehniline teave

Need spetsifikatsioonid kehtivad Adafruit poes müüdavatele PIR-anduritele. Sarnaste andurite tööpõhimõte on sarnane, kuigi tehnilised omadused võivad erineda. Nii et enne PIR-anduriga töötamist tutvuge selle andmelehega.

  • Kuju: ristkülik;
  • Hind: umbes 10,00 $ Adafruitis;
  • Väljundsignaal: digitaalne impulss kõrge (3 V) liikumise korral ja digitaalne signaal madal, kui liikumist pole. Impulsi pikkus sõltub mooduli enda takistitest ja kondensaatoritest ning on erinevates andurites erinev;
  • Tundlikkuse ulatus: kuni 6 meetrit. Vaatenurk 110° x 70°;
  • Võimsus: 3V - 9V, kuid parim valik on 5 volti;

Püroelektriliste (PIR) liikumisandurite tööpõhimõte

PIR-andurid pole nii lihtsad, kui esmapilgul võib tunduda. Peamine põhjus on suur hulk muutujaid, mis mõjutavad selle sisend- ja väljundsignaale. PIR-andurite põhitöö selgitamiseks kasutame allolevat joonist.

Püroelektriline liikumisandur koosneb kahest põhiosast. Iga osa sisaldab spetsiaalset materjali, mis on tundlik infrapunakiirguse suhtes. Sel juhul läätsed anduri tööd eriti ei mõjuta, seega näeme kogu mooduli kahte tundlikkuse piirkonda. Kui andur on puhkeolekus, tuvastavad mõlemad andurid sama palju kiirgust. Näiteks võib see olla ruumi või väliskeskkonna kiirgus. Kui soojavereline objekt (inimene või loom) möödub, ületab see esimese anduri tundlikkustsooni, mille tulemusena genereeritakse PIR-anduri moodulil kaks erinevat kiirgusväärtust. Kui inimene lahkub esimese anduri tundlikkustsoonist, nivelleeritakse väärtused. Kahe anduri näitude muutused salvestatakse ja genereerivad väljundis HIGH või LOW impulsse.

PIR-anduri disain

PIR-anduri tundlikud elemendid on paigaldatud suletud metallkorpusesse, mis kaitseb välismüra, temperatuurimuutuste ja niiskuse eest. Keskel asuv ristkülik on valmistatud infrapunakiirgust läbivast materjalist (tavaliselt silikoonil põhinev materjal). Selle plaadi taha on paigaldatud kaks tundlikku elementi.

Joonis Murata andmelehelt:

Objektiivid

Infrapuna liikumisandurid on ehituselt peaaegu identsed. Peamised erinevused on tundlikkus, mis sõltub tundlike elementide kvaliteedist. Sel juhul mängib optika olulist rolli.

Ülaloleval pildil on plastläätse näide. See tähendab, et anduri tundlikkuse vahemik on kaks ristkülikut. Kuid reeglina peame tagama suured vaatenurgad. Selleks saab kasutada kaamerates kasutatavate objektiividega sarnaseid objektiive. Sel juhul peaks liikumisanduri objektiiv olema väike, õhuke ja plastikust, kuigi see lisab mõõtmistele müra. Seetõttu kasutab enamik PIR-andureid Fresneli läätsi (pilt ajakirjast Sensors):

Fresneli läätsed koondavad kiirgust, laiendades oluliselt püroandurite tundlikkuse vahemikku (pilt saidilt BHlens.com)

Joonis Cypressi lisamärkusest 2105:

Meil on nüüd oluliselt suurem tundlikkuse vahemik. Samal ajal peame meeles, et meil on kaks tundlikku elementi ja me vajame mitte niivõrd kahte suurt ristkülikut, vaid suurt hulka väikeseid tundlikkustsoone. Selleks on objektiiv jagatud mitmeks osaks, millest igaüks on eraldi Fresneli objektiiv.

PIR liikumisanduri ühendamine


Enamikul infrapuna liikumisanduri moodulitel on taga kolm pistikut. Pinout võib erineda, seega kontrollige enne ühendamist! Tavaliselt tehakse vastavad pealdised pistikute kõrvale. Üks pistik läheb maasse, teine ​​toodab anduritest meid huvitava signaali, kolmas on maandus. Toitepinge on tavaliselt 3-5 volti, alalisvoolu. Kuid mõnikord on andureid, mille toitepinge on 12 volti. Mõnel suurel anduril ei ole eraldi signaali kontakti. Selle asemel kasutatakse maanduse, toite ja kahe lülitiga releed.

Seadme prototüüpimiseks infrapuna liikumisanduri abil on mugav kasutada trükkplaati, kuna enamikul neist moodulitest on kolm pistikut, mille vaheline kaugus arvutatakse täpselt leivaplaadi aukude jaoks.

Meie puhul vastab punane kaabel toitele, must maandusele ja kollane signaalile. Kui ühendate kaablid valesti, ei saa andur kahjustada, kuid ei tööta.

PIR liikumisanduri testimine

Pange vooluahel kokku vastavalt ülaltoodud pildile. Selle tulemusena, kui PIR-andur tuvastab liikumise, genereeritakse väljundis signaal HIGH, mis vastab 3,3 V ja LED süttib.

Pange tähele, et püroelektriline andur peab "stabiliseerima". Paigaldage patareid ja oodake 30-60 sekundit. Selle aja jooksul võib LED-tuli vilkuda. Oodake, kuni vilkumine lakkab ja võite hakata kätega vehkima ja anduri ümber kõndima ning LED-i süttimist vaatama!

Tundlikkuse reguleerimine

Paljudel infrapuna liikumisanduritel, sealhulgas Adafruiti omadel, on tundlikkuse reguleerimiseks väike potentsiomeeter. Potentsiomeetri päripäeva pööramine lisab andurile tundlikkust.

Impulsi aja ja impulsside vahelise aja muutmine

Kui arvestada PIR-andureid, on kaks "viivitusaega" olulised. Esimene ajaperiood -Tx: kui kaua LED põleb pärast liikumise tuvastamist. Paljudel püroelektrilistel moodulitel reguleeritakse seda aega sisseehitatud potentsiomeetriga. Teine ajaperiood on Ti: kui kaua on garanteeritud, et LED ei sütti, kui liikumist ei toimu. Selle parameetri muutmine pole nii lihtne, selleks võib vaja minna jootekolbi.

Vaatame BISS-i andmelehte:

Adafruiti anduritel on potentsiomeeter, millel on märge TIME. See on 1 megaoomi muutuv takisti, mis lisatakse 10 k oomi takistitele. Kondensaatori C6 mahtuvus on 0,01 µF, seega:

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

Kui Rtime potentsiomeeter on "null" - täiesti vastupäeva - asendis (0 MΩ):

Tx = 24576 x (10 kOhm) x 0,01 µF = 2,5 sekundit (ligikaudu) Kui Rtime potentsiomeeter keeratakse täielikult päripäeva (1 MOhm):

Tx = 24576 x (1010 kOhm) x 0,01 µF = 250 sekundit (ligikaudu)

Keskmises RTime asendis on aeg umbes 120 sekundit (kaks minutit). See tähendab, et kui soovite jälgida objekti liikumist üks kord minutis, keerake potentsiomeetrit 1/4 pööret.

PIR liikumisanduri ühendamine Arduinoga


Kirjutame programmi püroelektrilise liikumisanduri väärtuste lugemiseks. PIR-anduri ühendamine mikrokontrolleriga on lihtne. Andur toodab digitaalset signaali, nii et kõik, mida pead tegema, on lugeda Arduino tihvtilt signaali HIGH (liikumine tuvastatud) või LOW (ei ole liikumine).

Ärge unustage paigaldada pistikut asendisse H!

Ühendage andurile 5-voldine toide. Ühendage maandus maaga. Pärast seda ühendage anduri signaali viik Arduino digitaalse viiguga. Selles näites kasutatakse tihvti 2.


Programm on lihtne. Sisuliselt jälgib see viigu 2 olekut. Nimelt: mis signaal sellel on: LOW või HIGH. Lisaks kuvatakse tihvti oleku muutumisel teade: liigub või puudub liikumine.

* PIR liikumisanduri kontroll

int ledPin = 13; // lähtestab LED-i viik

int inputPin = 2; // initsialiseerige tihvt, et saada signaal püroelektriliselt liikumisandurilt

int pirState = LOW; // käivitab programmi, eeldades, et liikumist ei toimu

int val = 0; // muutuja tihvti oleku lugemiseks

pinMode(ledPin, OUTPUT); // deklareerige LED VÄLJUNDiks

pinMode(sisendPin, INPUT); // deklareerige andur SISENDINA

Serial.begin(9600);

val = digitaalneRead(sisendPin); // väärtuse lugemine andurilt

if (val == HIGH) ( // kontrollige, kas loetud väärtus vastab HIGH

digitalWrite(ledPin, HIGH); // lülitage LED sisse

if (pirState == LOW) (

// me just lülitasime selle sisse

Serial.println("Liikumine tuvastatud!");

pirState = HIGH;

digitalWrite(ledPin, LOW); // lülitage LED välja

if (pirState == HIGH)(

// lülitasime selle just välja

Serial.println("Liikumine lõppes!");

// väljastame muudatuse jadamonitorile, mitte oleku

Ärge unustage, et püroelektrilise anduriga töötamiseks pole alati vaja mikrokontrollerit.

Liikumis- ja kohalolekuandurite peamine tundlik element on püroelektriline infrapunaandur. Püroelekter on tekkiv elektripotentsiaal
materjalis infrapuna (IR) kiirguse mõjul.

Andur, mis kasutab nende omadustega materjali, suudab reageerida inimkeha poolt eralduvale soojusele. PIR-anduril (Pyroelectric InfraRed) on ümmargune kiirgusmuster (360°), mille pöördenurk on 120°.

Spetsiaalsed skeemilahendused võimaldasid luua erinevaid infrapuna liikumisandureid, millega valgusid sisse lülitada ja inimeste liikumist salvestada.

PIR-anduri levialad

Tootevalik B.E.G. Seal on erineva disaini ja otstarbega liikumis- ja kohalolekuandureid:

  • välispidiseks kasutamiseks;
  • sisekasutuseks;
  • seinale kinnitamiseks;
  • lakke kinnitamiseks
  • disainer andurid.

IR liikumisandurite üks peamisi parameetreid on leviala. Laeanduritel on tavaliselt ümmargune leviala (360°). PIR-seina liikumisandurite leviala on olenevalt mudelist 120° kuni 280°.

Eritingimustes on mõnikord vaja kasutada mittestandardse vaatenurgaga andurit.
Sellistel juhtudel kasutatakse sulgemisplaate (kardinaid). Need välistavad tuvastustsoonist soojusallikad (häired) või ruumi alad.

Anduri ulatus sõltub sellest, kuidas inimene liigub anduri suhtes. Kui see liigub anduriga risti, on anduril maksimaalne ulatus.

Kui liikumine on anduri suunas (eespidi), väheneb leviala peaaegu poole võrra. Anduritel on minimaalne ulatus, kui liikumine toimub otse anduri all.

PIR kohalolekuandurid firmalt B.E.G. kõrge tundlikkusega tsoon ja nad reageerivad väikseimatele liigutustele. Anduri tundlikkus on reguleeritav.

Projekti elluviimisel on oluline jälgida, et andurite levialad kataksid kogu jälgitava ala. Selleks kasutatakse mitut andurit kattuvate levialadega, vältides "surnud" tsoone. Väljajätmiste ja valepositiivsete tulemuste kõrvaldamiseks rakendatakse viivitusi.

Kuidas PIR-andureid õigesti paigutada

Hoone sissepääsu juurde on paigaldatud seinale paigaldatav PIR liikumisandur välitingimustes kasutamiseks.
Selle mõjualal peab olema tee sissepääsuni. Andur tervitab külastajat esimesena, parandades asutuse kuvandit.

Koridorides pööratakse erilist tähelepanu sissepääsudele. Andurid tuleb paigaldada nii, et inimene ei satuks isegi lühikeseks ajaks pimedasse. Koridoride jaoks on välja töötatud spetsiaalsed kitsa tuvastusulatusega ja pika ulatusega lae liikumisandurid.

Trepikodasid peetakse kõrge riskiga aladeks. Siin ei tohiks inimesed ebapiisava valgustuse tõttu kukkuda. Liikumisandurid paigaldatakse lakke või trepikoja seinale nagu seinalülitid.

Kontori valgustuse eripära on see, et ühes ruumis on erinevatel töökohtadel vaja tagada erinev valgustus. Arvestama peab loomuliku valguse intensiivsusega ja suutma valgustust tühjades kohtades välja lülitada.

Seetõttu vajab iga töökoht oma valgustuse juhtimisskeemi. Selle ülesandega saavad hakkama lae PIR-i kohalolekuandurid, millel on võimalus tuvastusulatust laiendada.

Kooliklassis või ülikooli auditooriumis toimub valgustus päevavalgust arvestades. Ruum on jagatud tsoonideks nii, et reguleeritava tehisvalgustuse abil oleks tagatud ühtlane valgustus.

Erilist tähelepanu pööratakse tahvli lähedal asuvale alale. Kohalolijatel peab olema selge vaade õpetajale ja tahvlile, mistõttu on vajalik töökindel valgustus ja soovitavalt täiendav käsitsijuhtimine. Sellistes ruumides kasutatakse lae kohaloleku andureid.

Konverentsiruumide ja koosolekuruumide valgustuse automatiseerimisel kasutatakse eelpool kirjeldatuga sarnast lähenemist. Kaupluses, apteegis või teenindusettevõttes paigaldatakse sissepääsu lähedale helisignaaliga liikumisandur, et töötajad pööraksid tähelepanu sisenevale külastajale.

Suur jõusaal on jagatud tsoonideks, millel on sõltumatu juhtimine laeanduritest. Samuti on oluline pakkuda käsitsi juhtimist: see võimaldab valgustust pakkuda ainult seal, kus toimuvad tunnid.

Maa-aluses garaažis on vaja tagada sissepääsualade ja peamiste läbipääsude usaldusväärne kontroll. Võimalikud "surnud" tsoonid kompenseeritakse viivitusega. Siin kasutatakse ainult laeandureid.

Üldnõuded PIR-andurite paigaldamisele

PIR-andurite ulatus sõltub IR-kiirgusallikate liikumissuunast. Kui kommunikatsioonide arvukuse tõttu pole liikumisandureid lakke võimalik paigaldada, asetatakse need sammastele ja seintele.

Andurite ulatust ei tohiks piirata puud, mööbel ja vaheseinad (sh klaas). Laeandurite optimaalne paigalduskõrgus on 2,5-3 meetrit ja seinalülititel 1,1-2,2 meetrit. Kõrgete lagede andurid on paigutatud kuni 16 meetri kõrgusele.

PIR-andurite valik on lai. Need erinevad eesmärgi, tehniliste parameetrite ja disaini poolest. Nende maksimaalse tõhususe rakendamiseks konkreetsel saidil on parem kasutada professionaalide teenuseid.

Kerjama. Meie spetsialistid annavad kogu vajaliku nõu. Ja meie ajaveebi, et mitte ilma jääda kasulikest materjalidest liikumis- ja kohalolekuandurite kohta.

 
Artiklid Kõrval teema:
Marsruutide määramine ja linnade vahemaade arvutamine teedel
Üha rohkem inimesi eelistab reisida oma autoga ja sõita hõlpsalt mööda tundmatuid teid. Interneti-navigaator aitab palju marsruudi planeerimisel ja isegi täpse saabumisaja arvutamisel. Saate seda kasutada mis tahes seadmest. Kui otsustate
Mootor Renault Logan\Sandero 1,4 l K7J 710 Renault Logan 1,4 mootori omadused Tootmine - Bursa tehas Kaubamärk\Mootori tüüp Renault Logan - K7J Tootmisaastad - (2004 - praegu) Silindriploki materjal - malm Jõusüsteem - Ti pihusti
Mis on Renault Logani Renault Logani kliirens?
Prantsusmaalt pärit koduturul populaarse auto Renault Logani kliirens on võib-olla üks olulisemaid näitajaid Venemaa karmides tingimustes kasutatava auto kohta. Miks suurendada kliirensit Esialgu mudel
Müüdid ja tegelikkus: kuidas alkomeetrit petta Mida tuleb teha, et alkomeeter ei näitaks
Levinud tarkus ütleb, et alkomeetri narrimiseks on mitu 100% võimalust. Kas see on tõsi või lihtsalt üks müüt? Otsustasime asja üle vaadata.Muidugi ei räägi me viinast kuni “ei seisa” purju jäämisest ja samas naiivsest uskumisest, et m