close
Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!
Zjistit více

Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!

Dopplerovský tachometr.

29. října 2013 v 5:17 | Petr |  Roboti
Opakovaně tvrdím, že využití dopplerova jevu je doposud nevytěžený zlatý důl konstrukce robotických čidel. Dnes bych si dovolil zmínit jedno čidlo na jehož konstrukci se chystám už léta a to je dopplerovský tachometr.

Představte si farmáře v americe jak nejakým svinstvem stříká pole - u nás má "jezeďák" jednu ruku na volantu, druhou ruku na ventilu s postřikem a nohu na plynu. V Americe je běžné, že traktory mají počítačové řízení v tom smyslu, že mezi tachometrem a průtokoměrem dávkované chemikálie je spojení udělané tak, že čím jede traktor pomaleji tím stříká méně, aby dávka na ujetou dráhu byla konstantní. To je sice úžasné, když máte lán Americké velikosti - to jest ráno vyjedete v poledne otočíte a večer dojedete zase zpátky, kde už čeká manželka, ale přesto si američani stěžují na jistý problém.
Když traktoru v blátě proklouznou kola - automatika na to reaguje tak, že otevře ventil naplno a z traktoru chrstne příslušná chemikálie úplně zbytečně. Proto se v Americe rozšířily na komerční bázi dopplerovské tachometry. Ty sledují rychlost pohybu traktoru bez ohledu na prokluz kol.

Na obrázku je schéma, které věc zcela objasňuje - ultrazvukový (nebo mikrovllnný) vysílač vysílá paprsek pod úhlem 45 stupňů směrem k zemi. Druhý mikrofon (anténa) snímá odraz, zesiluje jej a v mixéru jej mixuje s původní vysílací frekvencí. Vzniká nám signál na frekvenci F1+F2, který nás nezajíma a pak signál na frekvenci F1-F2, který nás zajímá velmi, protože to je dopplerovský posuv vyslaného signálu, který je přímo úměrný rychlosti traktoru.

Teď výpočty - představte si že rychlost zvuku je 340 m/s a že frekvence, kterou používáme je 40 KHz - kolik bude dopplerovský posuv při rychlosti 1 m/s - 40 000 / 340 = 117 Hz - to není moc, ale pracovat se s tím dá. Dokonce bychom si dopplerovský tachometr mohli představit jako enkodér, který má 117 pulsů na metr, protože ano - prostým sčítámím (alias integrací) sinusovek dostaneme ujetou dráhu.

OK proč tahle čidla neprodává Pololu ? Jak je mým dobrým zvykem má to jisté "ďáblíky v detailech" především tedy jednoho. Jedná se o klasický příklad "mixování na nulovou mezifrekvenci" a při té je problém s tím, že F1 - F2 = F2 - F1 - tedy nepoznáte jestli dopadající signál má frekvenci vyšší, nebo nižší než vyslaný signál a tudíž nepoznáte jestli jedete dopředu nebo dozadu !!!

Americkému traktoristovi to příliš nevadí, protože tam směr vyplývá z kontextu, ale u robotů to vadí a dosti. Aby to nebylo tak jednoduché, tak pokud vám robot vibruje tam a zpět na nějaké frekvenci - třeba 20 Hz - 20 Hz rozdílová modulace se dostane do výstupního signálu a pro procesor to působí dojmem, že robot jede, přestože se jenom třese na místě.

Jistě jste pochopili, že bych nepsal o čidle, které je nepoužitelné (já takové jenom stavím ). Kluci Japonci zde publikovali článek o tom jak se s tímto problémem vyrovnat. Protože Google při vyhledávání toho článku trochu blbne a ani ten odkaz není na 100% - zde je název toho článku : "Ultrasonic Doppler Sensor for Measuring Vehicle Speed in Forward and Reverse Motions Including Low Speed Motions"

Jako obvykle drobný náhled pro non angličtináře. Princip je v tom, že nemixujete na "nulovou mezifrekvenci" ale z vysokých systémových hodin generujete dva kmitočty - 40 KHz a řekněme 36 KHz. Generovat je z jedněch hodin je nezbytné, aby byly oba signály přesně synchronní to jest aby na 10 period 40 KHZ připadalo přesně 9 period 36 KHz. Pak 40 KHZ signál použijete pro generování ultrazvuku a 36 KHz signál pro mixování odraženého signálu.

V tom případě celá věc funguje tak - pokud se k vám "podlaha" přibližuje - to jest jedete dopředu rychlostí 1 m/s máte na výstupu frekvenci 4000 + 117Hz = 4117Hz a pokud jedete dozadu máte na výstupu 4000 - 117Hz = 3883 Hz. Pokud robot vibruje - vyšší a nižší frekvence se periodicky střídají, takže pokud "integrujete sinusovky" celkový součet je 0.

Celý systém je natolik snadné postavit a já už o něm vím tak dlouho, že kdyby mě neustále nezdržovala moje mladá manželka už bych měl rozkreslený plošňák. Takhle nezbývá, než abych celý princip svěřil vám, svým čtenářům a vy jste pak na fungující čidlo sbalili nějakou babu. Nebo si alespoň vysloužili pochvalu od nerudného dědka.

Pro dnešek už zbývá jenom rada pro brunety - pokud najdete v miláčkově robotické skříni obrovské množství odbarovovače na vlasy - nepoléhejte panice - patrně nechce abyste "šla na blond" a asi nemá ani blonďatou milenku - to se jenom chystá na zkákaz prodeje peroxidu vodíku, který na nás chystá naše drahá Evropská unie.
 

1 člověk ohodnotil tento článek.

Komentáře

1 Jarmil Jarmil | E-mail | 24. března 2016 v 8:55

Popravdě trochu jsem se v článku ztratil a potom zase našel. Doppler by měl fungovat tak jak píšete níže tedy při jízdě dopředu přičítat a při jízdě dozadu odečítat tedy by se nemělo stát že by jste nevěděl kterým směrem to jede. S tím střídáním frekvencí pro potlačení vibrací to je dobré ale kdyby se přivedl signál z motorů a zjišťovalo jestli jestli je přítomno napětí či ne pak by jste mohl matematicky eliminovat chybu. Neplatilo by to pro krokovací motor ale tam by se zase mohla zjištovat frekvence.

2 petr-kubac petr-kubac | 24. března 2016 v 9:13

[1]: mezi vibracemi a dlouhodobým pohybem dopředu nebo dozadu není principiální rozdíl - jenom v délce trvání takže eliminace vlivu vibrací - směšováním na "nenulovou zájkladní frekvenci" je zcela stejný postup, který řeší i pohyb vpřed vzad.
Příklad : měřím frekvenci z čídla, od změřené frekvence odečtu základních 4000 HZ a kladný výsledek znamená jedu ( zachvěl jsem se ) směrem dopředu, záporoný výsledek - směrem dozadu.

Vaše řešení - snímat napěti motorů - je na mém blogu k nastudování pod jménem Back EMF můstek. Kombinace takových metod má čertovo kopýtko ve spojení takových dat do smysluplného výsledku

Příklad 2: robot se zastavuje - motory jsou vypnuté, ale ještě generují napětí ( otáčením setrvačností ) - zpoždění těchto dat za realitou je jiné než zpoždění UZ tachometru takže kobinace hodnot "tady a těď" chybu nesnižuje, ale naopak zvyšuje.

3 Jarmil Jarmil | E-mail | 24. března 2016 v 18:02

To řešení určitě není ideální ale já nemyslel snímání ze vstupů do driverů ale přímo z motorů a to by právě generované napětí mohlo být prospěšné protože by dávalo info o točících se motorech i mimo jejich sepnutí. Snímání hodnot v rychlosti je věc kterou jsem ještě nedělal moje prozatimní činnost byla celkem nezávislá na čase a snímání mohlo být opakováno a bez kritických následků. Popravdě hledám jinou možnost protože si nedokážu přestavit jak bych s arduinem generoval dvě frekvence z jednoho časovače i když oni se vlastně budou střídat tak že se bude generovat vždy jen jedna frekvence že?

Komentáře jsou uzavřeny.


Aktuální články

Reklama