Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2017:pir-ctrl

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2017:pir-ctrl [2018/01/12 15:38]
Jaroslav Venhoda [Testování]
2017:pir-ctrl [2018/01/14 13:06] (aktuální)
Jaroslav Venhoda [Ukázka]
Řádek 133: Řádek 133:
 Při nastavení trimru přibližně v polovině rozsahu byla doba sepnutí 302 sekund, při nastavení trimru na maximum pak 620 sekund, přičemž výrobce uvádí maximální dobu 500 sekund. ​ Při nastavení trimru přibližně v polovině rozsahu byla doba sepnutí 302 sekund, při nastavení trimru na maximum pak 620 sekund, přičemž výrobce uvádí maximální dobu 500 sekund. ​
  
 +V rozšířené verzi zdrojového kódu je po počátečním měření parametru //​triggerDelayTime//​ vykonáváno ve smyčce měření, které vyhodnocuje dobu sepnutí logického výstupu a ze známého parametru triggerDelayTime se určuje kolikrát ​ došlo k opakovanému sepnutí během jedné periody (doby log.1 na výstupu).
 +
 +//Ukázka výstupu pro různá měření//
 +<​code>​Zjistuji dobu aktivniho vystupu - trigger delay
 +/KALIBRACE/ Detekovan pohyb /KALIBRACE/
 +/KALIBRACE/ Vystup odpojen, trigger delay je 3 sekund /KALIBRACE/
 +Detekovan pohyb 19 sekund od zapnuti FRDM
 +LED vypnuta po 6 sekundach od sepnuti
 +Opakovany trigger probehl 1x krat
 +Detekovan pohyb 32 sekund od zapnuti FRDM
 +LED vypnuta po 4 sekundach od sepnuti
 +Opakovany trigger probehl 0x krat
 +Detekovan pohyb 53 sekund od zapnuti FRDM
 +LED vypnuta po 26 sekundach od sepnuti
 +Opakovany trigger probehl 7x krat
 +</​code>​
 +===== Analogové signály =====
 +
 +Dále byl zkoumán výstupní analogový signál prvního operačního zesilovače integrovaného obvodu BISS0001 (pin 16) a jeho vliv na logický výstup čidla. Analogový a digitální výstup je v nekonečné smyčce vzorkován s periodou 10 ms a následně odeslán po virtuálním sériovém portu do PC. Data jsou vizualizována pomocí Serial Plotteru vývojového prostředí Arduino IDE. Logický výstup čidla je indikován vestavěnou LED diodou.  ​
 +
 +
 +Zdrojový kód pro zkoumání analogového výstupu
 +
 +<code c>
 +#include "​mbed.h"​
 +#include "​USBSerial.h"​
 +
 +DigitalOut ​ myLed(LED1);​
 +DigitalIn ​  ​digitalOutputPIR(PTB0);​
 +AnalogIn ​   analogOutputPIR(A1);​
 +USBSerial ​  ​serial;​
 +
 +int main() {
 +    ​
 +    float analogValue = 0;
 +       
 +    while(1) {
 +          ​
 +        analogValue = float(analogOutputPIR);​
 +        myLed = !digitalOutputPIR;​
 +        ​
 +        serial.printf("​%f",​ 255*analogValue);​ //posli analogovou hodnotu na UART
 +        serial.printf("​ ");
 +        ​
 +        if(digitalOutputPIR) serial.printf("​50\r\n"​);​ //posli hodnotu logickeho vystupu na UART (50 = log. 1, scaling osy Y)
 +        else serial.printf("​0\r\n"​);​
 +        wait_ms(10);​
 +        ​
 +    }
 +}
 +</​code>​
 +
 +Na následujícím obrázku jsou zachyceny výstupní signály (červeně - logický výstup, modře - analogový) při nastavené době sepnutí výstupu 3 sekundy. Obvod po přechodu výstupu do log. 0 blokuje signály na vstupu po dobu 2,5 sekundy z důvodu možného indukčního rušení (vypnutí relé).
 +
 +{{ :​2017:​pir-ctrl:​detekce_del_3_sek_blok.png?​1000 |}} 
 +
 +Na následujícím obrázku je modul přepnut jumperem do režimu Repeatable trigger, kdy "​drží"​ výstup v log.1 po dobu, kdy je detekován pohyb.
 +
 +{{ :​2017:​pir-ctrl:​repeat_del_3_sek.png?​1000 |}}
 +
 +Při rychlejším pohybu však nevykazuje detektor konzistentní výstup, viz. následující obrázek. Nacházejí se zde 4 přibližně stejné změny v signálu, detekce je buď okamžitá, opožděná nebo žádná.
 +
 +{{ :​2017:​pir-ctrl:​fast_move_failure_detection.png?​1000 |}}
 +
 +----
 +====== Ukázka ======
 +
 +  *[[https://​www.youtube.com/​watch?​v=dhfSpJJD1_Y|Základní testování]]
 +  *[[https://​www.youtube.com/​watch?​v=S2wCr32Z8fc|Analogový výstup]]
 +
 +====== Zdrojové kódy ======
 +
 +  *[[https://​os.mbed.com/​users/​venhy/​code/​test-funkcnosti-hcsr501/​|Test funkcnosti HCSR501]]
 +  *[[https://​os.mbed.com/​users/​venhy/​code/​analog-testing/​|Testování analogových signálů HCSR501]]
 +
 +====== Zdroje informací ======
 +
 + 
 +  *[[http://​navody.arduino-shop.cz/​navody-k-produktum/​pohybove-cidlo-hc-sr501.html|HC-SR501 - navody.arduino-shop.cz]]
 +  *[[https://​vyvoj.hw.cz/​automatizace/​pir-cidlo-skvely-sluha-ale-zly-pan.html|PIR detektory]]
 +  *[[https://​www.lelong.com.my/​hc-sr501-motion-sensor-arduino-ir-bodypassive-infrared-sensor-module-qbmall-174072844-2018-02-Sale-P.htm|Výstupy HC-SR501]]
 +  *[[https://​laskarduino.cz/​vstupni-periferie-cidla/​131022-pir-detektor-pohybu-hc-sr501.html|Laskarduino - HCSR501]]
 +  *[[http://​www.ladyada.net/​media/​sensors/​BISS0001.pdf|BISS0001 datasheet]]
 +  *[[https://​os.mbed.com/​users/​hudakz/​code/​millis/​|Zoltan Hudak, millis library]]
 +  *[[https://​os.mbed.com/​users/​mbed_official/​code/​USBDevice/​|mbed official, USBDevice library]]
 +
 +
 +
 + 
  
  
2017/pir-ctrl.1515767916.txt.gz · Poslední úprava: 2018/01/12 15:38 autor: Jaroslav Venhoda