Meranie vzdialenosti.

Programovacie jazyky, rady, poradňa...
TheEgopat
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 65
Registrovaný: 27 jan 2012, 14:08
Bydlisko: Slovakia
Kontaktovať používateľa:

Meranie vzdialenosti.

Príspevok od používateľa TheEgopat »

Ahojte priatelia, mal by som otázku.
Ako prácu na súťaž a taktiež maturitný výrobok, robím kráčajúceho pavúka alebo kvázi chrobáka. Jeho podstatou minulý rok bolo vyhýbať sa prekážkam prostredníctvom "tykadiel", teda bol vybavený dvoma mikrospínačmi ktoré pri surovom narazení do prekážky sa zopli a dali impulz riadiacemu subsystému(Arduino ATmega328). Avšak rozvýjať sa je krásna vec tak som ho dovybavil infra-červenou štruktúrou, teda mal možnosť detekovať prekážky, alebo predmety pred ním bezdrôtovo. Aby to vývoj nebol suchý, doplnil som ho aj o jeden Display (BC1602A) na ktorom zobrazuje stav batérie a jednotlivé procesy. Teda pokiaľ kráča robot vpred, vypíše to na display, pokiaľ zdetekuje prekážku na pravej strane, vypíše, že prekážka je na pravej strane atď.... Samozrejme sa mi podarilo vložiť do programu aj hodnoty ktoré vychádzajú zo snímača a následne ich zobrazujem na display. Ide však o to, že tie čísla sú v inej číselnej sústave a zobrazujú napätie, keďže ten snímač funguje na základe zmeny napätia v závislosti prekážky od snímača. No a teda tú hodnotu zobrazuje na display. Problém je však ten, že rád by som nejakým spôsobom "prekonvertoval" alebo teda prevodil na myslím 16-ovú číselnú sústavu aby mi proste vypiovalo vzdialenosť v Centimetroch. Má niekto nejaké užitočné rady? Majster odbornej praxe mi posytol dostatok informácií ale si v tom neviem rady. Je to dosť zložité naprogramovať. :/
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa harrison314 »

Najskor si sprav graf vzdialnoesti a prisluchajuceho napetia, prosto to budes merat ( nastavis 1cm odmeras napetie, nastvais 1.5 cm a odmerias napetie,...).
Potom ten graf prelozis priamkou (ak chces aproximovat na linearnu funkciu) a potom linearnou regresiou zistis koeficienty a, b.
A vysledna vzdlenost bude d=a*U+b.
Ono to moze vyst aj ina funkcia, napr. kvadraticka, ale ci to budes robit podla nej zalezi aku chces presnost.
TheEgopat
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 65
Registrovaný: 27 jan 2012, 14:08
Bydlisko: Slovakia
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa TheEgopat »

Ono je veľmi zložité a nevhodné riadiť sa podľa výstupného napätia keďže to napätie skáče vplyvom aktívnych servo motorov. Keďže všetky komponenty sú napájané z batérií. Takže tu je potrebné sa riadiť priemerom a ten priemer by sa mal vypočítač z hodnôt v nejakom časovom intervale. A to by vlastne spomalilo celý ten cyklus, alebo sa mýlim? Alebo saza tu pripadá ďalšia možnosť ktorá by už síce presná veľmi nebola, ale v závislosti aktuálneho výstupného napätia by sa vyrátala dĺžka, ale tam by už možno písalo somariny keďže to napätie v tej istej vzdialenosti nieje rovnaké.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa harrison314 »

Ja by som napajacie napetie na senzore urcite stabilizoval, inak necakaj ze dostanes nejake rozumne vysledky.
Dalsia moznost je pocitad pomer napajcieho napetia a napetia zo senzora, ale to mi uz pride komplikovanjesie a pritiahnute za vlasy.
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

Re: Meranie vzdialenosti.

Príspevok od používateľa Gregi »

Ja by som siel na to cestou "okolie maxima". Ten snimac predsa pri kritickej blizkosti prekazky generuje najvacsie napatie. Takze alogritmus by bol nastaveny na to okolie maxima a ostatne by ignoroval.
priklad:
vystup v registry: od 00h - FFh (a detekcia prekazky by bola od EEh - FFh). klasicke IF.

Samozrejme konverzia hex na dec nie je potrebna. Tam akurat tou metodou merania zistit aka hex. hodnota prislucha akej vzdialenosti. Ale ako hovori harrison314, bude tam cosi nepresnosti. Ale tym max. by si to mal viacmenej vylucit. Neviem ake chyby (vykyvy) Ti tam vnasaju tie serva.
Co ty na to?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa harrison314 »

Ono by to trebalo vyskusat,
aj ked stale si myslim ze by bolo lepsie stabilizovat napetie, nato satci mali rezistor a velky kondenzator.
Ale hento je rozhodne zaujimavy napad.
TheEgopat
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 65
Registrovaný: 27 jan 2012, 14:08
Bydlisko: Slovakia
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa TheEgopat »

Gregi
Pokiaľ dobre chápem, tak to čo píšeš je len klasické detekovanie prekážky čiže meranie vzdialenosti som tam prehliadol. Avšak teraz mám robota nastaveného tak, aby pri určitej hodnote identifikoval predmet ako prekážku. Keďže Infra lúč sa odrazí do príimača aj zo steny ktorá sa nachádza o 3m ďalej. Samozrejme je tam fakt nízke výstupné napätie. Ale ten rozsah napätí v daných vzdialenostiach od prekážky je fakt obrovský.
V katalógovom liste uvádzajú:
Output voltage_____VO L=80cm (Note 1)______Min. 0.25V______Max. 0.55 V
Takže pri vzdialenosti 80cm teda prekážka vzdialená 80cm prislúcha napätiu 0,25V ale pri meraní by mi vyšlo možno 0,30V pri vzdialenosti 40cm. Hmmm, možno by tá stabilizácia vážne pomohla, vlastne na tom robotovi sme uvažovali aj o stabilizácií kvôli displayu teda kvôli kontrastu displaya. Pretože meriame aj napätia na batérií a podľa toho sme schopný určiť "šťavu" v batérií. :)
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

Re: Meranie vzdialenosti.

Príspevok od používateľa Gregi »

Ved to som pisal. Naco Ti je detekovat stenu 80cm, ked kriticke casti su napr. pri 10cm kde sa treba rozhodnut? Preto to maximum. Pises ze pri 0.25-0.55 je 80cm. Predpokladam, ze pri tych 10cm je napatie podstatne vyssie (napr. 1V - 1.2V a vtedy nastupi tvoj rozhodovaci algoritmus. Samozrejme +- s odchylkou.
Samozrejme odrusenie Ti pomoze spresnit detekciu vdialenosti. Ale neviem preco ma taky rozsah pri tych 80cm. Je to asi zavisle od odrazivosti materialu, alebo je ten snimac taky sunt.
TheEgopat
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 65
Registrovaný: 27 jan 2012, 14:08
Bydlisko: Slovakia
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa TheEgopat »

Asi si ma zle pochopil, alebo som sa ja zle vyjadril. V KL je písané že ma dosah pravdepodobne relatívne presný do vzdialenosti 80cm a minimálne výstupné napätie je 0,25V čiže s klesajúcou vzdialenosťou narastá napätie do maximálnej hodnoty 0,55V a z toho som sa pokúsil pomocou meraní definovať krivku presnosti. Teda zmeny napätia vplyvom zmeny vzdialenosti.
Rubiki
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1223
Registrovaný: 03 mar 2005, 17:04
Bydlisko: BB

Re: Meranie vzdialenosti.

Príspevok od používateľa Rubiki »

Aký je to senzor... ak máš rovno pošli datasheet.
TheEgopat
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 65
Registrovaný: 27 jan 2012, 14:08
Bydlisko: Slovakia
Kontaktovať používateľa:

Re: Meranie vzdialenosti.

Príspevok od používateľa TheEgopat »

Senzor je SHARP 2Y02A1. Meranie uskutočním pravdepodobne dnes. Budem v priebehu informovať.

//autoeditácia príspevku (15 Jan 2013, 8:18)
Datasheet mám, lenže doma. :( A som momentálne v škole. :/
Rubiki
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1223
Registrovaný: 03 mar 2005, 17:04
Bydlisko: BB

Re: Meranie vzdialenosti.

Príspevok od používateľa Rubiki »

si si istý tým názvom, google mi to ani nenašiel.
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: Meranie vzdialenosti.

Príspevok od používateľa Everhard »

S takym senzorom som sa stretol na vyske :-D Ine hodnoty pri tmavych objektoch, a ine pri svetlych... Tiez aj uhol pod ktorym ten luc dopadal na objekt :-D Vsetko to ovplyvnovalo
Napísať odpoveď