Rok / Year: 2015
Svazek / Volume: 17
Číslo / Number: 6
Ultrazvukový dálkoměr Ultrasonic Rangefinder Přemysl Janů, Stanislav Vaněk
[email protected],
[email protected] Fakulta vojenských technologií Univerzity obrany v Brně
Abstrakt: Článek se zabývá konstrukčním návrhem ultrazvukového dálkoměru. Je zde podrobně popsán návrh vysílací a přijímací části, způsob generování signálu a vyhodnocení vzdálenosti překážky od základny ultrazvukového dálkoměru. Ultrazvukový dálkoměr je zhotoven v podobě funkčního a ověřeného modulu s provedením jak hardwarových, tak softwarových korekcí měření dálky. Přesnost dálkoměru je prezentována závislostí relativní chyby na skutečné dálce.
Abstract: The paper deals with a structural design of an ultrasonic rangefinder. It contains detailed design description of transmitting and receiving part, way of signal generation and evaluation of an obstacles distance from the base of the ultrasonic rangefinder. Ultrasonic rangefinder is made in a form of functional and proven module with application of both hardware and software corrections of the distance measurement. Precision of the ultrasonic rangefinder is presented by dependence of relative error on the real distance.
VOL.17, NO.6, DECEMBER 2015
Ultrazvukový dálkoměr Přemysl Janů, Stanislav Vaněk Fakulta vojenských technologií Univerzity obrany v Brně Email:
[email protected],
[email protected]
Abstrakt – Článek se zabývá konstrukčním návrhem ultrazvukového dálkoměru. Je zde podrobně popsán návrh vysílací a přijímací části, způsob generování signálu a vyhodnocení vzdálenosti překážky od základny ultrazvukového dálkoměru. Ultrazvukový dálkoměr je zhotoven v podobě funkčního a ověřeného modulu s provedením jak hardwarových, tak softwarových korekcí měření dálky. Přesnost dálkoměru je prezentována závislostí relativní chyby na skutečné dálce.
kde d je měřená dálka, td je čas návratu ultrazvukové vlny a vu je rychlost šíření ultrazvukové vlny v daném prostředí [1], [2], [4], [5].
2 Konstrukční řešení ultrazvukového dálkoměru Konstrukční provedení vytvořeného ultrazvukového dálkoměru představuje blokové schéma uvedené na obrázku 2.
1 Úvod Existují tři možnosti, jak měřit bezkontaktně dálku v rozsahu několika desítek centimetrů do několika metrů. Je to pomocí optických senzorů, ultrazvukových senzorů a mikrovlnných senzorů. Každý způsob disponuje určitými vlastnostmi, výhodami či nevýhodami, podle různých hledisek. Optické senzory zejména laserové dosahují vysoké přesnosti, ale z hlediska základního principu mají problémy s detekcí reflexních předmětů, jako je například sklo nebo fólie. Jsou to systémy komplexní a tedy ekonomicky poměrně náročné. Ultrazvukové senzory takové přesnosti sice nedosahují, ale jsou to poměrně jednoduché systémy a tedy i levné. Další obrovskou výhodou ultrazvukových senzorů je to, že detekují v podstatě vše, tedy i reflexní předměty. Mikrovlnné senzory by mohly být takovým kompromisem, ale pořád to jsou celkem komplexní systémy, tedy poměrně drahé [3]. Pro aplikaci, která je popsána v tomto článku, byly hlavně z hlediska jednoduchosti a schopnosti detekovat i reflexní předměty použity ultrazvukové sensory. U aplikace, která využívá tyto senzory, existují dva principy určení dálky. První princip je založen na vyslání ultrazvukové vlny a měření času odražené ultrazvukové vlny. Z tohoto času se potom ze znalosti rychlosti šíření ultrazvuku v daném prostředí vypočítá vzdálenost překážky. Druhý princip je založen na Dopplerově jevu, kdy se mění frekvence přijaté ultrazvukové vlny, která je měřena [3]. V článku, prezentovaném zde, je využit první princip. Způsob měření dálky je naznačen na obrázku 1.
Obrázek 1: Základní princip měření dálky Z toho potom vyplývá vztah pro určení dálky:
d=
vu ⋅ t d , 2
(1)
Obrázek 2: Blokové schéma ultrazvukového dálkoměru Jádrem zhotoveného modulu je mikrokontrolér AT90CAN128 od společnosti Atmel, který kompletně řídí celou jeho funkci. Zajištuje generování série impulsů pro vysílač, získává signál z přijímače, počítá čas návratu ultrazvukové vlny, vyhodnocuje vzdálenost překážky, zobrazuje ji na LCD a poskytuje naměřená data dále pro vyhodnocení. Pro naprogramování a také ověření správné funkce programu je použito programovací rozhraní JTAG. Blok Vysílač slouží pro transformaci elektrického signálu na ultrazvukovou vlnu, která se potom dále šíří volným prostorem, v této aplikaci vzduchem. Jako výkonný člen samotné transformace je zde použit piezo-keramický měnič 400ST160 pro snadnou cenovou dostupnost a také směrovost vyzařovací charakteristiky. Blok Přijímač transformuje odraženou ultrazvukovou vlnu od překážky na elektrický signál a dále tento elektrický signál upravuje před vstupem do jednočipového mikroprocesoru. Výkonnou součástkou transformace je zde piezo-keramický měnič 400SR160. Blok LASER obsahuje červenou laserovou diodu a slouží k ukázání stopy na překážce, jejíž vzdálenost je měřena. Velice důležitou částí je Napájecí blok. Hlavním zdrojem jsou dvě 9 V baterie, které vytváří kladnou a zápornou větev pro operační zesilovače ve vysílači a přijímači. Dále je zde použit DC/DC měnič R-785.0-1.0 od společnosti RECOM, který vytváří napětí 5 V pro jednočipový mikroprocesor a ostatní součástky
193
VOL.17, NO.6, DECEMBER 2015
v modulu. Má široký rozsah vstupního napětí 6,5 – 18 V pro případ napájení z laboratorního zdroje. Pro správnou funkci ultrazvukového dálkoměru bylo třeba navrhnout vysílací a přijímací větev. Vysílací větev se všemi potřebnými součástkami je na obrázku 3.
který slouží jako filtr a vytváří obálku přijatého signálu. Koncová součástka je tranzistor, který je zapojen jako komparátor a slouží vlastně k detekci přijatého signálu. V případě, že neexistuje přijatý signál, tak na kolektoru (svorka Do mikrokontroléru), je logická úroveň 1. V případě, že existuje přijatý signál, tranzistor se překlopí do logické hodnoty 0, což je signál, že došlo k detekci. Výstup Do mikrokontroléru je přiveden na jeden pin vstupně-výstupního portu s externím přerušením daného jednočipového procesoru. Ultrazvukový dálkoměr je zhotoven ve formě kompaktního funkčního a ověřeného modulu, kde napájecí část, řídící a vyhodnocovací jednotka, elektronika vysílače a přijímače je na desce plošných spojů. Jsou zde implementovány součástky pro povrchovou montáž pro miniaturizaci desky plošných spojů. Jsou zde použity moderní elektronické součástky, zejména v napájecí části, která proto umožňuje napájení s napětím v uvedeném rozsahu. Zhotovený modul je na obrázku 5.
Obrázek 3: Schéma vysílací větve Na konektor s označením Vstupní signál je přiveden výstup z časovače jednočipového mikroprocesoru, který generuje sérii impulsů v tomto případě pěti impulsů s maximální hodnotou blížící se 5 V. Potom následují dva tranzistory a série invertorů pro zkvalitnění signálu a zajištění správného buzení piezo-keramického měniče. Koncovými stupni jsou dva operační zesilovače pro zvýšení maximální hodnoty impulsů na 9 V, aby byl zajištěn příslušný dosah dálkoměru. Na výstup operačních zesilovačů je přímo připojen piezo-keramický měnič vysílač. Druhou důležitou částí je přijímací větev, která je znázorněna na obrázku 4. Obrázek 5: Zhotovený modul ultrazvukového dálkoměru
3 Programové řešení
Obrázek 4: Schéma přijímací větve Rx konektor slouží k připojení piezo-keramického měniče přijímače. Potom následují dva operační zesilovače, které zajišťují zesílení signálu na správnou úroveň pro detekci. První zesilovač zesiluje 100x a druhý má ve zpětné vazbě zařazen sériově jeden pevný rezistor a potenciometr pro nastavení citlivosti přijímače. Tento zesilovač zesiluje maximálně 17x. Za operačními zesilovači jsou zařazeny dvě diody v antiparalelním zapojení, které slouží pro převedení záporné části signálu do kladné hodnoty. Dále je připojen kondenzátor,
V aplikaci je využito čtyř čítačů/časovačů použitého jednočipového mikroprocesoru, což je také jedním z důvodů výběru uvedeného jednočipového mikroprocesoru. Jeden osmibitový časovač je použit pro generování impulsů o frekvenci 40 kHz, se kterou pracuje implementovaný piezo-keramický měnič. Druhý osmibitový časovač umožňuje nastavení počtu impulsů v dané sérii impulsů. V prezentované aplikaci je jich pět. Třetí šestnáctibitový časovač slouží k nastavení opakovací frekvence dané série impulsů. Touto hodnotou lze také ovlivnit dosah dálkoměru. Čtvrtý šestnáctibitový čítač slouží k měření času, kdy se ultrazvuková vlna odrazí od překážky a vrátí zase zpět. Tento čítač je zapnut v okamžiku začátku generování série impulsů a zastaven je v okamžiku, kdy se koncový tranzistor přijímací větve překlopí z logické hodnoty 1 na logickou hodnotu 0. Hodnota v registru čítače odpovídá času návratu ultrazvukové vlny. Toto je již řešeno v podprogramu externího přerušení. Následuje potom výpočet vzdálenosti podle vztahu (1) a její zobrazení na LCD. Program také provádí všechny korekce, které lze v mikroprocesoru výpočtem vyřešit. Program je navržený tak, že pracuje kontinuálně, to znamená, že
194
VOL.17, NO.6, DECEMBER 2015
v okamžiku, kdy je zapnuto napájení, okamžitě je schopen zobrazovat vzdálenost překážky na LCD.
4 Korekce měření vzdálenosti ultrazvukového dálkoměru
cesoru na základě změřené teploty. Tento způsob korekce v modulu implementován není. Korekce je řešena matematickým aparátem, jehož algoritmus bude popsán v následující kapitole.
5 Ověření správné funkce ultrazvukového Při určování vzdálenosti překážky se může naskytnout několik dálkoměru problémů, které vnášejí do přesnosti měření chyby. Jeden z problémů je vzdálenost piezo-keramických měničů od sebe. Pokud budou velice blízko u sebe, tak signál z vysílače bude pronikat do přijímače a bude tedy chybně detekována překážka a měřena vzdálenost. Toto je zde vyřešeno tím, že jsou měniče od sebe dostatečně daleko a ještě jsou odděleny přepážkami z polymeru. Další problém se může naskytnout při zaměřování na konkrétní překážku, kdy se může stát, že nedojde k zaměření požadované překážky. Toto je vyřešeno implementací červené laserové diody umístěné uprostřed piezo-keramických měničů, pomocí které se překážka snadněji zaměří. Dále je to samotná geometrie měničů, tedy umístění měničů navzájem. Pro názornější představu slouží obrázek 6.
Pro ověření správné funkce navrženého a vyrobeného ultrazvukového dálkoměru bylo sestaveno testovací pracoviště, které se skládalo ze dvou stolů. Na jednom byl umístěn ultrazvukový dálkoměr a na druhém stole byla postavena překážka. Překážka byl obal od měřicího přístroje, jehož čelní strana, která zároveň sloužila jako odrazná plocha pro dálkoměr, měla rozměry 40 x 30 cm. Překážka byla postupně vzdalována od dálkoměru od 5 cm do 290 cm s krokem 5 cm a byla měřena a zaznamenávána vzdálenost. Jako etalon skutečné vzdálenosti překážky od dálkoměru byl použit svinovací metr. Pro eliminaci metodické chyby vycházející ze závislosti rychlosti ultrazvukové vlny na teplotě, byla změřena teplota, při které se provádělo kontrolní měření. Tato teplota byla 25,8 °C. Parametrem přesnosti byla určena relativní chyba měření. Závislost relativní chyby měření na skutečné vzdálenosti je prezentována obrázku 7.
Obrázek 6: Rozmístění piezo-keramických měničů Symbol vs je skutečná vzdálenost překážky od dálkoměru, vm je vzdálenost, která je měřena a vms je vzdálenost měničů od sebe. Cílem je měřit skutečnou vzdálenost, a proto musí být v procesoru provedena matematická korekce, která je dána vztahem: 2
v vs = v − ms . 2 2 m
(2)
Dále může být chyba v měření vzdálenosti způsobena tím, že komparátor v přijímači reaguje až od určité hodnoty napětí, to znamená, že čas návratu ultrazvukové vlny je potom měřen nepřesně. Tato chyba není tak význačná, a proto korekce na tuto chybu není implementována. Hlavní nepřesnost měření vzdálenosti se odvíjí od závislosti rychlosti ultrazvukové vlny na teplotě a měřená vzdálenost od překážky je potom definovaná vztahem:
d=
(343,42 + 0,61⋅ϑ ) ⋅ t , 2
(3)
kde d je měřená vzdálenost od překážky, ϑ je teplota prostředí, ve kterém se šíří ultrazvuková vlna a t je čas návratu ultrazvukové vlny. Proto by bylo nutné instalovat do modulu senzor, který by měřil okolní teplotu a potom provádět korekci v pro-
Obrázek 7: Závislost relativní chyby měření na skutečné vzdálenosti Jak je vidět na obrázku 7, největší relativní chyby dosahuje dálkoměr na malých vzdálenostech překážky do 50 cm. Přibližně od vzdálenosti 100 cm relativní chyba klesá pod 10 %. Z naměřených výsledků lze usoudit, že čím větší vzdálenost, tím dochází v menší chybě. Graf lze vyhodnotit základními statistickými veličinami. Maximální relativní chyba dosahuje hodnoty 84,400 %, což je na té nejmenší vzdálenosti 5 cm. Minimální relativní chyba je 6,667 %. Střední hodnota relativní chyby je 12,216 %. Po analýze těchto výsledků je třeba říci, že výsledky nejsou uspokojivé, proto bylo nutné provést korekci. Korekce byla provedena matematicky. Tento matematický algoritmus byl pojmenován Inverzní polynom. Inverzní polynom byl vytvářen z naměřených dat. Aby výsledek byl co nejpřesnější, je snaha získat z dálkoměru vzdálenosti nejvíce se blížící skutečné dálce. Proto byl polynom tvořen takovým způsobem, že jako hodnoty x byla brána naměřená data a hodnoty y byla data skutečná, z tohoto důvodu Inverzní polynom. Bylo vytvořeno šest polynomů, od lineárního až po polynom 6. stupně pomocí vývojového prostředí MAT-
195
VOL.17, NO.6, DECEMBER 2015
LAB. Následně bylo simulováno, jak by se měla vyvíjet relativní chyba měření aplikací těchto polynomů. Výsledky jsou uvedeny na obrázku 8. Z grafu je vidět, že by se relativní chyba měření měla výrazně snížit oproti datům bez korekce. Výrazně by se měla snížit relativní chyba na malých vzdálenostech dokonce na hodnotu pod 10 % a konstantní část vývoje relativní chyby, která se u nekorigovaných dat ustálila přibližně na 10 %, by se měla posunout k hodnotě 0 %. Statistickou analýzu simulovaného vývoje relativní chyby měření reprezentuje tabulka 1. Tabulka 1: Statistická analýza vývoje relativní chyby měření pro jednotlivé Inverzní polynomy Stupeň Inverzního polynomu
Statistické parametry
Lineární
Max. hodnota = 5,744 % Min. hodnota = 0,019 % Střední hodnota = 0,586 %
Kvadratický
Max. hodnota = 5,478 % Min. hodnota = 0,017% Střední hodnota = 0,586 %
Kubický
Max. hodnota = 4,061 % Min. hodnota = 0,007 % Střední hodnota = 0,624 %
4. stupně
Max. hodnota = 11,023 % Min. hodnota = 0,015 % Střední hodnota = 0,630 %
5. stupně
Max. hodnota = 14,009 % Min. hodnota = 0,002 % Střední hodnota = 0,713 %
6. stupně
Max. hodnota = 4,038 % Min. hodnota = 0,008 % Střední hodnota = 0,432 %
Po této analýze byla do jednočipového mikroprocesoru implementována korekce pomocí tří Inverzních polynomů: lineárního, kubického a polynomu 6. stupně a znovu proměřena závislost relativní chyby na skutečné vzdálenosti od překážky. Výsledky korigovaného měření jsou znázorněny na obrázku 9.
Obrázek 9: Závislost relativní chyby na skutečné vzdálenosti po korekci Z grafu je vidět, že i reálné měření ukázalo, že korekce pomocí Inverzních polynomů výrazně sníží relativní chybu ultrazvukového dálkoměru. Na malých vzdálenostech se snížila relativní chyba dokonce o více než 50 % na hodnotu přibližně 30 %. Celkově se průběh relativní chyby posunul velmi blízko k hodnotě 0 %, což ukazuje střední hodnota relativní chyby. Ta je pro všechny tři polynomy velice podobná. Statistické vyhodnocení reálného měření relativní chyby představuje tabulka 2. Tabulka 2: Statistické vyhodnocení reálného měření Stupeň Inverzního polynomu
Statistické parametry
Lineární
Max. hodnota = 30,800 % Min. hodnota = 0,043 % Střední hodnota = 1,298 %
Kubický
Max. hodnota = 24,600 % Min. hodnota = 0,015 % Střední hodnota = 1,253 %
6. stupně
Max. hodnota = 30,000 % Min. hodnota = 0,000 % Střední hodnota = 1,306 %
6 Závěr
Obrázek 8: Simulace vývoje relativních chyb s použitím získaných polynomů Ze statistické analýzy je vidět, že nejlepší výsledky vykazuje polynom 6. stupně. Polynomy nižších stupňů jako lineární, kvadratický a kubický ukazují také velice uspokojivé výsledky. U polynomů 4. a 5. dochází k větší divergenci maximální relativní chyby, která je větší než 10 %.
V článku byl představen ultrazvukový dálkoměr jako kompaktní a funkční modul. Bylo zde popsáno konstrukční provedení s výběrem součástek potřebných k jeho správné funkci. Podrobně zde byly popsány dvě důležité součásti a to vysílací a přijímací větev a jejich funkce. Dále bylo detailněji popsáno programové řešení navrženého modulu. Byly zde podrobněji analyzovány možné problémy v měření vzdálenosti navrženým modulem a korekce, které do modulu byly aplikovány, jak hardwarové, tak softwarové. Poslední a nejdůležitější část článku bylo ověření správné funkce modulu. Jako parametr přesnosti byla zvolena relativní chyba měření. Nejdříve bylo
196
VOL.17, NO.6, DECEMBER 2015
provedeno první měření a vyhodnocení relativních chyb. Následovala matematická korekce pomocí tzv. Inverzního polynomu, který byl implementován do procesoru modulu. Poté bylo provedeno opětovné měření. Měření s implementovaným Inverzním polynomem ukázalo, že relativní chyba měření se výrazně snížila. Měření bylo prováděno pouze při jedné teplotě okolí. Cílem dalšího testování je ověřit přesnost při různých teplotách. Je možné, že teplotní vliv bude výrazně kompenzován využitím Inverzního polynomu, v případě, že by tomu tak nebylo, bude nutné do modulu implementovat teplotní senzor, pro měření okolní teploty a hodnotu aktuální teploty zařadit do procesu vyhodnocování vzdálenosti v jednočipovém mikroprocesoru.
Poděkování Článek byl vytvořen s podporou Projektu pro rozvoj organizace PRO K207 Univerzity obrany, Brno.
Literatura [1] [2] [3] [4]
[5]
VANĚK, Stanislav. Návrh ultrazvukového dálkoměru. Brno, 2015. Diplomová práce. Univerzita obrany. Vedoucí práce Ing. Přemysl Janů, Ph. D. MARTINEK, Radislav. Senzory v průmyslové praxi. 1. vyd. Praha: BEN – technická literatura, 2004, 199 s. ISBN 80-730-0114-4. RIPKA, Pavel a Alois TIPEK. Master Book on Sensors. 1. vyd. Praha: BEN - technická literatura, 2003. ISBN 80-7300-129-2. VOJÁČEK, Antonín. Ultrazvukové senzory přiblížení. In: Automatizace.hw.cz [online]. 1. vyd. 2005 [cit. 2014-03-12]. Dostupné z: http://automatizace.hw.cz/clanek/2005110201. NGUYEN THUC, TUYEN. Prostorový ultrazvukový snímač vzdálenosti: Stereometric ultrasonic distance sensor. Brno, 2011. Bakalářská práce. VUT. Vedoucí práce Ing. Daniel Zuth, Ph. D.
197