0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaPredstavljamoUltrazvočni modul za merjenje razdalje

    Ultrazvočni modul za merjenje razdalje

    Merjenje razdalje z ultrazvokom je poznano že kar nekaj časa. Pred leti smo morali sami delati UZ sprejemnik in oddajnik, pri tem pa je že sama nabava UZ elementov pomenila veliko težavo. Danes so časi drugačni in na veliko mestih lahko kupite UZ modul, ki že vsebuje osnovno vezje z vgrajenim UZ oddajnim in sprejemnim elementom. Takšen senzor samo še priključimo na mikrokontroler in merjenje razdalje se lahko prične.

    Opis senzorja

    Slike niKot omenjeno, se UZ moduli že dobijo narejeni. Mi smo uporabili modul z oznako UZ-SR04, na trgu pa obstaja množica podobnih senzorjev z različnimi oznakami. Kot vidimo na sliki 1, ima UZ modul samo 4 priključke: Vcc, Trig, Echo in GND od leve proti desni (glede na sliko 1). Na spodnji strani vezja se nahajajo 3 integrirana vezja in kar nekaj drobnih SMD komponent, ki poskrbijo, da vezje deluje po pričakovanjih.

    Delovanje

    Krmiljenje modula je enostavno. Na priključek »Trig« s pomočjo mikrokontrolerja pripeljemo impulze, ki so dolgi 10 µs. S tem oddajni del modula sproži 8 UZ impulzov proti oviri, ki ji želimo izmeriti oddaljenost od UZ senzorja. Ko se UZ signal odbije od ovire, ga sprejemni senzor sprejme, vezje ga ojači in preoblikuje tako, da na izhodnem priključku »Echo« dobimo impulz, katerega dolžina proporcionalno ustreza razdalji do ovire. Izmerjen impulz pomerimo z mikrokontrolerjem in z majčkeno matematike izračunamo razdaljo do ovire v centimetrih ali milimetrih.

    Program

    Bascom-AVR program je enostaven, saj resnično vsebuje le nekaj vrstic programa. Pomagamo si z ukazoma Pulsein in Pulseout, katerih podroben opis si lahko preberete v Help datoteki:

       Pulseout Portd , 4, 20         ‚Min. 10us impulz
       ‚Waitms 100                       ‚namenjeno za testiranje napake
       Pulsein W , Pind ,3 , 1        ‚preberemo razdaljo

    Slike niSlike niUkaz Pulseout poskrbi, da na PortD.4 oddamo impulz dolžine 10 µs. V Help datoteki piše, da je dolžina impulza v mikrosekundah (zadnja številka v ukazu), ki velja pri 4 MHz taktu mikrokontrolerja . Ker želimo generirati impulz dolžine 10 µs, uporabljamo pa 8 MHz interni RC za takt mikrokontrolerja, je številka 20 kar pravilno izbrana. Ukaz Pulsein pa pomeri dolžino impulza UZ sprejemnika, ki je priklopljen na PortD.3 in dolžino zapiše v spremenljivko W.

    Naj omenim še vrstico z ukazom ‚Waitms 100, ki je zakomentirana in se ne prevede. To vrstico sem dodal zato, da dejansko lahko preizkusimo, ali spremenljivka Err dejansko opravlja svoje delo. Namreč, če se signal vrne prepozno, se Err postavi na 1.

    Celotni članek

    Ultrazvočni modul za merjenje razdalje

    2012_SE199_18

     

    Prejšnji članek
    Naslednji članek