2011. április 29., péntek

Ultrahangos távolságmérő - Szonár

Első bejegyzésemben szeretném bemutatni az ultrahangos távolságmérőmet.

Az építés ötlete nagyjából egy éve merült fel bennem, amikor egy önjáró hernyótalpas robot fejlesztésébe kezdtem. Az elképzelés az volt, hogy a robot szonár segítségével fog "látni", és így ütközés nélkül fog tudni haladni.
Fórumozgatás, kapcsolási rajzok fellelése után dugaszolós próbanyákon összeállítottam egy áramkört, a kapcsolás lelkének számító mikrovezérlőre megírtam a programot, de ahogy ez lenni szokott, elsőre sajnos nem működött. A későbbi próbálkozások szintén kudarcba fulladtak, így hát végül is félre tettem a projektet, és mással kezdtem el foglalkozni.
Egy-két hónapja újra elkezdtem dolgozni a problémán. Kipróbáltam többféle áramköri megoldást, közben ezzel párhuzamosan a mikrovezérlő programján is dolgoztam. A program két hét alatt készült el, ezután megépítettem a kapcsolást. Ahhoz, hogy a szonár működését nyomon lehessen követni a számítógépen, szükség volt egyfajta szoftverre, ami kijelzi a mért távolságot, miközben az eszköz összeköttetésben áll a számítógéppel. Ezt a szoftvert az egyik barátom írta meg nekem.


Az áramkör logikailag több részre bontható:
  • 40kHz-es négyszögjel generátor - ez hajtja meg az ultrahang adó kapszulát
  • vevő áramkör - erre csatlakozik a vevő kapszula; ez szűri, erősíti majd csúcsegyenirányítja a jelet (az itt lévő kapcsolás vevő részét vettem alapul hozzá)
  • a belső számláló órajelgenerátora
  • mikrovezérlő

Íme a kapcsolási rajz:

Működése:

A REQ láb logikai alacsony szintre húzásával a mikrovezérlő elvégez egy távolságmérést, majd a mért értéket sorosan visszaküldi a SO lábon. A mérés kezdetén pár periódusidőnyi ultrahang van kisugározva, ezzel egyidőben el van indítva egy 8 bites számláló a mikrovezérlőben, aminek az órajelét egy külső oszcillátor biztosítja. Ezen órajelgenerátor frekvenciája úgy van beállítva, hogy a periódusideje megegyezzen azzal az idővel, ami ahhoz kell, hogy a hang megtegyen 2 cm-t. Ez külsőleg egy trimmer-potenciométerrel finomhangolható. Tehát ha így pl. a számláló 40-ig számol el, akkor a távolság egyenlő lesz 40-el. Ha megérkezik a visszhang, akkor a számláló értéke sorosan ki van küldve. Ha nincs érzékelhető visszhang, vagy a visszhang távolabbról jön mint 255 cm, akkor 0x00 szám van kiküldve.
A 8 bites számlálóból adódna, hogy 0 - 255 cm-ig lehetne mérni, viszont a kialakítás miatt ez körülbelül 5 - 255 cm-re csökken. A pontosság kb. +-1 cm, amit erősen befolyásol a számláló külső oszcillátora (RC oszc. - hőmérsékletfüggő). Emiatt ez a kapcsolás szerintem nem alkalmas tolatóradarnak, bár nem is arra lett tervezve.
A szonár tehát működőképes, hamarosan fel fogom használni az önjáró járgányomhoz... Folyt. köv.





2 megjegyzés: