IR Detektor S88/Základní senzory: Porovnání verzí
(→Nastavení režimu senzoru) |
|||
Řádek 46: | Řádek 46: | ||
INV:číslo senzoru:0 | INV:číslo senzoru:0 | ||
</pre></blockquote> | </pre></blockquote> | ||
+ | |||
+ | == Prodleva sepnutí a vypnutí == | ||
+ | Senzor může mít určitou prodlevu mezi chvílí, kdy skutečně detekuje odraz (resp. přerušení paprsku) a kdy se '''stane aktivním''' (se všemi důsledky, jako hlášení po sběrnici S88, sepnutí relé, ...). Bez dalších nastavení se aktivuje ihned a deaktivuje také ihned, prodlevy jde ale nastavit příkazem SFT (Sensor Fade Time): | ||
+ | |||
+ | <blockquote><pre> | ||
+ | SFT:číslo senzoru:prodleva-sepnutí:prodleva-vypnutí | ||
+ | </pre></blockquote> | ||
+ | Kde prodleva se udává jako číslo v milisekundách, maximálně 30000 (30 sekund). Funkci jde vypnout nastavením na 0. Jestliže se během prodlevy zase stav senzoru změní na původní, odpočítávání přestane - jako kdyby žádná změna ve snímači nenastala. | ||
+ | |||
+ | Poznámka: prodleva pro vypnutí v příkaze '''SFT''' má v podstatě stejný význam jako prodleva v příkazu '''SEN'''. Duplicitní funkce vznikla jako vedlejší produkt při přidávání virtuálních senzorů. Jediný rozdíl je, že indikační LED na Arduinu se rozsvítí po uplynutí prodlevy SEN, zatímco senzor se stane aktivním až po uplynutí obou prodlev - sčítají se. |
Verze z 22. 8. 2021, 12:11
Základní senzory jsou přímo připojené k desce IR detektoru, každý konektor má 3 vodiče:
- společných +5V uprostřed
- GND - spínané tranzistorovým polem, ovládá IR LED
- emitor fototranzistoru, připojený na vstup Arduina
Arduino zapíná LED vždy po dvojicích; vyhodnocuje, zda příjem signálu fototranzistorem odpovídá stavu LED (svítí, nesvítí) daného senzoru. Ze senzoru se musí přečíst několikrát (standardně 3x) správný stav než se senzor prohlásí za "sepnutý" (přijímá světlo své LED).
Nastavení prahu citlivosti senzoru se provádí příkazem
SEN:číslo senzoru:citlivost SEN:číslo senzoru:citlivost:prodleva
- číslo senzoru je pořadové číslo (1-8) senzoru, jehož citlivost se má nastavit
- citlivost je prahová hodnota rozdílu intenzity světla.
- prodleva je doba v milisekundách, po kterou se ignoruje případné "rozepnutí" senzoru (nesnímá očekáváne změny
Číslo senzoru je dané konektorem na desce, ke kterému je senzor připojený. Nezapojené senzory snímají jen malé rozdíly mezi "rozsvíceno" a "zhasnuto" (náhodné šumy) a ve výsledku jsou tak vždy "vypnuté".
Senzor snímá jak v době, kdy je jeho LED zhasnutá, tak při rozsvícené LED. Citlivost je hraniční rozdíl intenzity osvětlení mezi zhasnutou a rozsvícenou LED; při menším rozdílu se má za to, že na senzor světlo "jeho" LED nedopadá. Výchozí hodnota je 250, praktické hodnoty pro reflexní čidla pak jsou 100-400.
Pokud "sepnutý" senzor přestane snímat požadovaný signál, ale opět "naskočí" za menší dobu než je nastavená prodleva, překmit se ignoruje. Je nutné vyvážit zpoždění rozepnutí senzoru a toleranci zákmitů, které chceme potlačit. Výchozí prodleva je nastavená na 200ms. Prodleva může být až 30 sekund.
Novým zadáním citlivosti případně prodlevy se původní hodnoty přepíší. Pokud se v příkazu prodleva neuvede, zůstává na původně nastavené hodnotě.
Takže pokud provedeme
SEN:1:150 SEN:3:300:300
znamená to, že: - senzor 1 bude velmi citlivý, i malá změna osvětlení vyvolá sepnutí - senzor 3 bude mít (oproti standardu) citlivost sníženou - ale rozepne až poté, co 300ms nebude přijímat "správné" blikání své LED
Nastavení režimu senzoru
Každý senzor může fungovat jako
- odrazový (výchozí stav): senzor je "aktivní", když přijme světlo vysílače. Typicky odrazem od spodku projíždějícího vozidla.
- optická závora: senzor se aktivuje přerušením světelného paprsku
Každý senzor je zpočátku odrazový. Pokud mu chceme změnit režim, musíme provést příkaz
INV:číslo senzoru
Inverzi je mozne zrusit pomoci
INV:číslo senzoru:0
Prodleva sepnutí a vypnutí
Senzor může mít určitou prodlevu mezi chvílí, kdy skutečně detekuje odraz (resp. přerušení paprsku) a kdy se stane aktivním (se všemi důsledky, jako hlášení po sběrnici S88, sepnutí relé, ...). Bez dalších nastavení se aktivuje ihned a deaktivuje také ihned, prodlevy jde ale nastavit příkazem SFT (Sensor Fade Time):
SFT:číslo senzoru:prodleva-sepnutí:prodleva-vypnutí
Kde prodleva se udává jako číslo v milisekundách, maximálně 30000 (30 sekund). Funkci jde vypnout nastavením na 0. Jestliže se během prodlevy zase stav senzoru změní na původní, odpočítávání přestane - jako kdyby žádná změna ve snímači nenastala.
Poznámka: prodleva pro vypnutí v příkaze SFT má v podstatě stejný význam jako prodleva v příkazu SEN. Duplicitní funkce vznikla jako vedlejší produkt při přidávání virtuálních senzorů. Jediný rozdíl je, že indikační LED na Arduinu se rozsvítí po uplynutí prodlevy SEN, zatímco senzor se stane aktivním až po uplynutí obou prodlev - sčítají se.