Ultrazvukový spínač - Elektronické konstrukce

Přejít na obsah
Nabídka

Ultrazvukový spínač

Spínače
se může použít ke spínání motorů, čerpadel, ventilátorů, LED osvětlení a různých spotřebičů, které mají napájecí napětí 12V.
Pro vysílání a příjem ultrazvuku byl vybraný modul HC-SR04. Dosah je 2 - 400cm. Kmitočet ultrazvuku je 40kH. Pro ovládání modulu, výpočet, spínání tranzistorů a další funkce je zvolený mikroprocesor PIC12F629. Spínač má 3 programy, které se vybírají a nastavují tlačítkem.
Vlastnosti ultrazvuku.
Ultrazvuk se dobře odráží od tvrdých a rovných předmětů i od vody. Při vzdálenosti kolem 4 metrů je potřeba, aby odrazová plocha byla větší jak 0,5 m2.
Při kratší vzdálenosti může být menší.
Měkký materiál jako lepenka, molitan a látky ultrazvuk pohlcují. Např. závěs, svetr apod. Tzn, že se od tohoto materiálu špatně odráží nebo je pohlcen
( absorbován ). Pokud bude ultrazvuk odražený pod "větším úhlem", tak je možné, že přijímač odražený signál vůbec nezachytí.
  
Ultrazvukový modul
Vyzařovací charakteristika modulu
Zapojení pinů modulu:
Technická data HC-SR04:
1Vcc+5V DC - napájení
2Trigaktivační vstup /H
3Echovýstup přijímače
4Gndzem
napájecí napětí
5V DC
klidový proud
< 2mA
provozní proud15mA
kmitočet40kH
min. dosah2 cm
max. dosah400 cm
vstupní signál Triggermin. 10µs - TTL / H
rozměry45x20x18 mm
Vlnovou délku vypočítáme podle vzorce:    
λ = c / f
λ = vlnová délka - výsledná délka je v mm
c = rychlost zvuku - v metrech za vteřinu
f = kmitočet zvuku v kHz
Příklad:
Rychlost zvuku = 340m/s
Kmitočet zvuku = 40kHz
λ = 340 / 40 = 8,5mm
Vlnová délka = 8,5mm.
Odrazová plocha musí být větší jak vlnová
délka zvuku. Když je plocha dost velká
tak se zvuk odrazí. Část signálu prostoupí
do materiálu.Tam se pohltí.
Zbytek signálu se odrazí.
Rychlost zvuku při různé teplotě:        Vzhledem k tomu, že se rychlost zvuku mění se změnou teploty, tak při rozdílu teplot např. o 10°C může být
                                                             rozdíl naměřené délky při vzdálenosti 4m až 7 cm.

     0°C  = 331,5 m/s                       Příklad:                   
   15°C  = 340 m/s                          teplota vzduchu = 25°C          vzorec pro výpočet:      počet µs = vzdálenost / ( rychlost zvuku / 2 )
         20°C  = 343 m/s                          vzdálenost = 4000mm
         25°C  = 346 m/s                          4000 / 173 = 23122µs
       -----------------------
                                                              Při teplotě 25°C ultrazvuková vlna urazí vzdálenost 400cm za 23122µs.
     teplota vzduchu = 15°C                                                              
     vzdálenost = 4000mm     
     4000 / 170 = 23529us                         Při teplotě 15°C ultrazvuková vlna urazí vzdálenost 400cm za 23529µs.

     23529 - 23122 = 407µs            
     407 x 173 = 70mm                              Při změně teploty o 10°C a vzdálenosti 4m je rozdíl naměřené délky 7cm.

    Nebo jinak:   25°C ... 4m = 23122µs,     15°C ... 4m = 23529µs,    23122 x 170 = 3930mm.   400 - 393 = 7    Rozdíl = 7cm.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
Schéma zapojení:
Jak to funguje:






Na obr. vpravo je naměřený signál Trigger ( žlutá čára ). Ten spustí
vyslání 8 impulsů o kmitočtu 40kHz ( modrá čára ).
Zpoždění je 252µs.






8 impulsů ultazvukového signálu - modrá čára .
Signál Echo - žlutá čára.
Zpoždění je 30µs.
Popis:
Mikroprocesor vyšle na vstup Trigger spouštěcí impuls o délce 10µs. Ten spustí vyslání osmi impulsů o kmitočtu 40kHz. Po třiceti µs se na výstupu Echo změní stav z log.0 do log.1 ( viz foto ). Tato změna vyvolá v mikroprocesoru přerušení, ve kterém se spustí vnitřní čítač. Po krátkém čase se impulsy odrazí od překážky, které přijme přijímač modulu. Na výstupu Echo se změní stav z log.1 do log.0 ( viz foto dole ). Mikroprocesor měří čas, po který je na výstupu Echo log1. Z času a rychlosti ultrazvuku vypočítá vzdálenost. Tuto vzdálenost je možné uložit do paměti procesoru. Tyto data se mohou různě zpracovat a na základě požadavků spínat nebo vypínat zátěž.
Byly použité vývodové elektronické součástky, které jsou umístěné na ploš. spoji velikosti 83x52 mm. Ten je vložený do plastové krabičky KM35B. Na předním i zadním čele krabičky jsou vyvrtané otvory. Viz fofo. Napájecí napětí 12V prochází přes ochrannou diodu D1 na 5V stabilizátor napětí. Toto napětí je potřeba pro mikroprocesor, který provádí veškeré instrukce pro jednotlivé programy. Dioda D1 chrání elektronické součástky, aby se nezničily při přepólování napájecího napětí. D2 slouží k ochraně T1. Pokud je na výstupu připojená indukční zátěž, tak při vypnutí tranzistoru vznikají na indukční zátěži napěťové špičky. Ochranná dioda tyto špičky zkratuje a tím chrání tranzistor. Přes rezistor R3 se přidádí na vstup GPIO.3 kladné napětí 5V - log.1.
Kondenzátory C1 - C4 filtrují a vyhlazují napájecí napětí.
Pokud se má sepnout zátěž, tak procesor přes R1 sepne T2. Ten sepne T1. Při vypnutí zátěže se přes R4 přivede kladné napětí na řídící elektrodu T1, které výkonový tranzistor zavře. LED slouží k informaci o vybraném programu, o zvolené paměti příslušného programu a o uložení naměřené vzdálenosti. Tlačítko slouží k výběru programu a uložení naměřené vzdálenosti do paměti procesoru.
Toto zařízení nemá displej, na kterém by se dala nastavit vzdálenost pro jednotlivé programy a funkce. Proto se napřed změří vzdálenost, při které se má sepnout nebo vypnout zátěž, podle programu. Ta se následně uloží do paměti.
Max. proud zátěže je 3,5A. Mosfet snese daleko víc, ale šířka ploš. spoje je na 3,7A. V sepnutém stavu má malý odpor (0,02Ω ). Při proudu 3A je na něm
ztrátový výkon 0,18W. I přesto byl umístěný na malý chladič z Cu plechu rš 56x20mm. ( rš = rozvinutá šířka ).
Pokud je potřeba spínat zátěž na větší proud nebo na větší napětí, tak se na výstup připojí relé na 12V, přes které se spíná výkonová zátěž.
Musí být stavěné na požadovaný proud a napětí.

Popis programu:
Aby byl přehled o tom, jaký je zvolený program v procesoru, tak po zapnutí nap. zdroje blikne LED. Podle počtu bliknutí se to zjistí. Potom následuje měření a vyhodnocení vzdálenosti, podle zvoleného programu.
Bliknutí LED = program.
1x = 1
2x = 2
3x = 3
Je možnost si vybrat jeden ze tří programů. Vzdálenosti jednotlivých programů jsou uložené v paměti EEPROM. Tyto vzdálenosti se porovnávají s naměřenou vzdáleností a podle vybraného programu se spíná nebo vypíná zátěž. Data v paměti nejdou tlačítkem smazat. Pokud potřebujeme uložit do paměti nové vzdálenosti, tak se příslušná paměť přepíše novými daty. Pokud jsme používali např. program č. 1 a nastavíme program č. 2, ve kterém potřebujeme uložit nové vzdálenosti, tak se uloží do paměti pro program č. 2. Pro program č. 1  a 3 zůstanou nezměněny.

Stlačením tlačítka se dostaneme do nastavení programů, které se volí podle počtu bliknutí LED.
Nasměrovat senzory proti odrazové ploše, od které se ultrazvuk odrazí. Pokud možno kolmo.
Úhel odrazu = úhlu dopadu.
Pokud byla naměřená vzdálenost větší jak 400cm nebo senzory nebyly umístěné kolno proti odrazové ploše, tzn, že ultrazvuk různými odrazy urazil
vzdálenost větší jak 400 cm nebo vůbec nebyl přijatý přijímačem, tak se vzdálenost nevyhodnotí ani neuloží. Měření probihá 10x za vteřinu.

Výběr programu:
Při odpojeném napájení stlačit a držet tlačítko. Zapnout napájecí napětí. Svítí LED. Po uvolnění tlačítka LED zhasne a začne blikat LED. Podle počtu bliknutí
se vybírá program. Jedno bliknutí = program 1. Druhé = program 2. Třetí = program 3. Potom následuje 2 vteřinová pauza a blikání se stále opakuje,
dokud se nevybere program.
Např. když si vybereme program 3, tak při třetím bliknutí stisknout a držet tlačítko. Začne blikat LED kmitočtem 5Hz. Po uvolnění tlačítka LED zhasne a do paměti procesoru se uloží číslo programu. Asi po 2 vteřinách počtem bliknutí LED informuje o vybraném programu. Procesor přejde do hlavní smyčky, kde měří a vyhodnocuje vzdálenost podle zvoleného programu.
Tato volba výběru programu byla zvolena z bezpečnostních důvodů, aby nešlo přepínat programy během provozu.

Nastavení a uložení vzdálenosti:
Při stlačení tlačítka se na vstupu GPIO.3 změní log.1 na log.0 a mikroprocesor přejde do podprogramu, ve kterém se vypne zátěž a rozsvítí LED.
Pokud LED svítí, tak procesor stále provádí měření vzdálenosti, ale už nevyhodnocuje naměřenou vzdálenost. Nasměrovat ultrazvukový přijímač proti nějaké překážce ( např. zeď nebo strop ). Přiblížením nebo vzdálením přijímače od překážky určit vzdálenost. Pokračovat podle X.

X:
Stisknout tlačítko. LED zhasne. Uvolnit tlačítko. Za 2 vteřiny začne bilkat LED.
Po zvoleném počtu bliknutí LED stlačit tlačítko. LED bliká. Po uvolnění tlačítka LED zhasne. Vzdálenost se uložila do paměti procesoru.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Program 1. Nastavení vzdálenosti.
a:
1x blikne - nastavení podle X.
Zapnutí zátěže - Naměřená vzdálenost je menší jak uložená 1.

b:
2x blikne - nastavení podle X.
Vypnutí zátěže - naměřená vzdálenost je větší jak uložená 2.
Použítí: Hladinový spínač. Čerpání vody z nádrže.
Uložená 1 musí být menší jak uložená 2.
-----------------------------------------------------------------------------
Program 2. Nastavení vzdálenosti.
c:
3x blikne - nastavení podle X.
Zapnutí zátěže - naměřená vzdálenost je větší jak uložená 3.

d:
4x blikne - nastavení podle X.
Vypnutí zátěže - naměřená vzdálenost je menší jak uložená 4.
Použití: Hladinový spínač. Čerpání vody do nádrže.
Uložená 3 musí být větší jak uložená 4.
--------------------------------------------------------------------------------
Program 3. Nastavení vzdálenosti a času sepnutí.
e:
5x blikne - nastavení podle X.
Zapnutí zátěže - naměřená vzdálenost je menší jak uložená .

f:
6x blikne, stisknout a přidržet tlačítko. LED bliká, uvolnit tlačítko. LED zhasne a začne blikat. Co bliknutí to minuta. Podle počtu bliknutí nastavit čas.
Max. 10x blikne. Potom je 2 vteřinová pauza a to se pořád opakuje, dokud se nevybere čas. Pokračovat podle X.

Vypnutí zátěže - po nastaveném čase nebo krátkém stisnutím tlačítka ( menší jak 1 vteřina ).
Při delším stisknutí tlačítka se vypne zátěž a rozsvítí se LED. Může se změnit čas nebo vzdálenost.
Použití: Časový spínač od 1 do 10 minut.
--------------------------------------------------------------------------------
Pokud se omylem stlačí tlačítko a bliká LED, tak při sedmém bliknutí stisknout tlačítko asi na jednu vteřinu. Tím se vystoupí z podprogramu pro ukládání
vzdálenosti. Nic se do paměti neuloží. Po dvou vteřinách program přejde do hlavní smyčky a pokračuje podle předešlého programu.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pokud někdo potřebuje jednoúčelový spínač a toto nastavení vzdáleností se mu zdá složité, tak je možnost při programování uložit " pevnou vzdálenost "
v cm, kdy má sepnout nebo vypnout zátěž. Pro časový spínač čas, kdy má zátěž vypnout. Tlačítkem se vybere jen program.
Na obr. vpravo jsou naměřené údaje signálu Echo.
Žlutá čára = impuls Trigger 10µs.
Modrá čára = signál Echo.
Podle délky signálu Echo a rychlosti zvuku se vypočítá vzdálenost.

Příklad podle obr.
Teplota vzduchu = 20°C.
Echo = 1180µs, rychlost zvuku = 343m/s.
Vzorec ... délka = [ echo x ( rychlost zvuku / 2 )] / 1000.

Ultrazvuk urazí dvě vzdálenosti, od vysílače po odrazovou plochu.
a od ní do přijímače. Rychlost zvuku dělíme 2.    343 / 2 = 171,5

Upravený vzorec ...  délka = ( echo x 171,5 ) / 1000
Délka = ( 1180 x 171,5 ) / 1000
Délka = 202mm


Další příklad.
Teplota vzduchu = 20°C.
Echo = 6280µs, rychlost zvuku = 343m/s.

Délka = ( 6280 x 171,5 ) / 1000.
Délka = 1077mm.
Pokud požadujeme vzdálenost v cm,
tak dělíme 10000.

Pokud nepotřebujeme přesný výpočet, tak použijeme konstantu 58.

Toto číslo je čas v µs, kdy při teplotě vzduchu 22°C
ultrazvuková vlna urazí vzdálenost 1 cm.

Potom se výpočet zjednoduší.
6280 / 58 = 108 cm






Kmitočet vysílače ultrazvukového modulu
je skutečně 40kHz.
Plošný spoj 83 x 52mm
Rozmístění součástek na ploš. spoji.
Seznam součástek:
rezistory
R1 - 2k2
R2 - 1k5
R3 -8k2
R4 - 3k9

kondenzátory
C1, C3 - 100n / 63V
C2, C4 - 100µ / 16V
diody
D1, D2 - 1N4007
D3 - LED / 3mm / 2mA

tranzistory
T1 - IRF4905
T2 - BC546A
IO
IO1 - 78L05
IO2 - PIC12F629 naprogramovaný
ostatní součástky
patice - DIL 8
mikrospínač 6x6mm / výška 27mm
krabička - KM35B
konektor napájecí 5,5/2,1 mm do ploš.spoje
svorkovnice do DPS  2,54mm v.10mm
ploš.spoj 83x52mm
napájecí zdroj 12V - proud podle zátěže
Technická data:
Napájecí napětí - 12V DC.
Proud při měření vzdálenosti - 6,2mA.
Nevýhody ultrazvuku:
Přesnost měření je teplotně závislá.
Při odrazu od měkkých překážek je spínač nespolehlivý.
Potřebné úpravy krabičky.
Osazený ploš. spoj v krabičce KM35B.



Přilepením trubičky na ultrazvukový vysílač se změní charakteristika.
Zmenší se vyzařovací úhel a na přijímač dopadá méně bočních odrazů.
Délka trubičky = 35mm, vnitřní průměr = 18 mm.
Vhodné použít od vzdálenosti 60 cm.
Ultrazvukový spínač namontovaný na malém 12V čerpadle.
Slouží jako hladinový spínač v podzemních garážích.
Konstrukce je z roku 2017 a pořád funguje.

Pro hladinový spínač je vhodnější vodotěsný ultrazvukový modul JSN-SR04T. V době, kdy jsem dělal tuto konstrukci jsem o tomto modulu nevěděl.
Ultrazvukový spínač v provozu.
Návrat na obsah