0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaPredstavljamoUltrazvočno merjenje z Microchipovimi PIC® in AVR® mikrokontrolerji

    Ultrazvočno merjenje z Microchipovimi PIC® in AVR® mikrokontrolerji

    Microchip Technology Inc
    Avtor: Gregor Sunderdiek
    2019_280_20

    V današnjem času se ultrazvočne meritve uporabljajo v širokem naboru aplikacij. Glavna prednost ultrazvoka je, da je meritev brez-kontaktna in se uporablja na različnih nivojih merilnih aplikacij, saj je z ultrazvokom mogoče zaznavati skoraj vse materiale. Nekateri izmed primerov so meritve tekočih trdnih snovi v silosih ali drugih posodah, da bi s tem preprečili prenapolnjenost posode ali preverjanje trenutnega nivoja napolnjenosti.

    Drugo področje uporabe je ultrazvočno štetje premikajočih se predmetov. Takšno štetje lahko uporabite na primer za štetje steklenic v stroju za polnjenje steklenic s pijačo. V avtomobilizmu lahko ultrazvočno merjenje uporabimo za parkiranje. Detektor razdalje lahko meri razdaljo od avtomobila do ovire (drugi avtomobil, stena itd.). To je le nekaj primerov, kjer se trenutno uporabljajo ultrazvočne meritve, čeprav obstaja še cel kup aplikacij, kjer je to tehnologijo mogoče uporabiti.

    V osnovi gre za merjenje razdalje od ultrazvočnega senzorja do nekega predmeta. Pri ultrazvočni meritvi se meri čas, ki preteče od oddajanja signala do sprejema odbitega signala od nekega predmeta, ki ga zaznamo s sprejemnikom. To je čas, ki je potreben, da oddani in odbiti zvočni val prepotujeta razdaljo r (glej sliko 1). Iz tega časa je mogoče izračunati razdaljo r, saj vemo, s kakšno hitrostjo ultrazvočni signal potuje po zraku (hitrost zvoka). Čeprav se zdi, da bi moral biti izračun dokaj enostaven, pa ni čisto tako, saj je čas potovanja ultrazvočnega signala odvisen še od mnogih drugih dejavnikov.

    Pomemben element, ki vpliva na hitrost zvoka, je temperatura zraka, skozi katerega potuje. Drugi dejavniki so vlaga, zračni tlak, zračni tokovi (predvsem močni vetrovi) in razmerje med deleži posameznih plinov v zraku. Večina ultrazvočnih merilnih senzorjev je zasnovana za uporabo v zraku, ki ga sicer diha tudi človek (približno 21% kisika, 78% dušika in približno 1% drugih plinov v sledovih). Senzorji, ki so namenjeni delovanju v tej vrsti zraka, pri drugih plinih ne morejo pravilno delovati, saj se bo hitrost zvoka spremenila glede na to, skozi kakšno mešanico zraka potuje. Najpogosteje uporabljene ultrazvočne frekvence so v območju okrog 40 kHz, kar je nad (ljudem) slišnim frekvenčnim pasom, ki se nahaja med 20 Hz in 20 kHz.

    Ultrazvočnemeritve z 8-bitnim mikrokontrolerjem podjetja Microchip
    Ultrazvočno merjenje je mogoče izvesti z več različnimi Microchipovimi mikrokontrolerji. PIC16F1769, 8-bitni PIC® mikrokontroler in ATtiny817, 8-bitni AVR®mikrokontroler sta kot naročena za aplikacije, v katerih izvajamo ultrazvočno merjenje.

    Attiny417/817/1617 Družina PIC16F176x/7x
    CPU 8-bit AVR do 20 MHz 8-bit PIC with 32MHz
    Flash 4/ 8/16KB 7/14/28KB
    SRAM 256/512Byte/2KB 512Byte/1KB/2KB
    Timer/Števci 1x 16-bit GP (3-ch)

    1-2x 16-bit capture timer

    1x 12-bit 2ch

    4x-5x 8-bit

    3x 16-bit Timer

    PWM 3x 16-bit,

    2x-4x 8-bit

    2ch+2ch komplementarni 12-bit

    2x-4x 10-bit,

    2x-4x 16-bit

    RTC – Ura realnega časa 16-bit 16-bit (Timer1)
    USART / SPI / I2C 1x / 1x / 1x 1x/ 1x  I2C or SPI
    ADC 1x – 2x 12-ch, 10-bit 12-ch, 10-bit
    AC 1x – 3x 2x – 8x
    Operacijski ojačevalnik Ne 2x
    DAC 1x – 3x 8-bit 2x 10-bit in 2×5-bit
    Uporabniška logika 2x 3x
    Detekcija prehoda čez ničlo Ne Da
    Podatkovni modulator Ne Da
    Programabilnigenerator premice Ne Da
    I/Os 6/12/18/22 12/18/25/36
    Ohišja 8/14/20/24 14/20/28/40
    Napajalna napetost 1.8 – 5.5V 2.3V to 5.5V in 1.8V to 3.6V
    Temperaturni obseg -40°C– 125°C -40°C – 125°C

    Ena od ključnih prednosti pri razvoju aplikacij z Microchipovimi 8-bitnimi mikrokontrolerji so vgrajene od jedra neodvisne periferne naprave (Core Independent Peripherals, CIP). V aplikacijah z ultrazvočnim merjenjem lahko CIP uporabljamo za učinkovito merjenje časa potovanja zvoka brez posredovanja centralne procesne enote (CPU). Poleg tega, da vpliva na manjšo skupno porabo energije celotnega sistema, tudi popolnoma sprosti procesne zmogljivosti CPU za izvajanje ostalih nalog.

    Druga prednost uporabe CIP-ov je, da se ukaz iz ene periferne naprave v drugo izvede v manj kot enem taktnem ciklu. To funkcijo lahko izvajamo tako v PIC kot v AVR mikrokontrolerjih in če bi to hoteli izvesti brez CIP-ov, bi bilo potrebno vključiti tudi procesno jedro (CPU). Moral bi dobiti zahtevo za prekinitev, prekiniti izvajanje postopka, ki ga je trenutno izvajal in nato poslati ukaz periferni napravi. Ta postopek bi trajal več taktov – upočasnil bi delovanje celotnega sistema in bistveno vplival na porabo energije celotnega sistema.

    ATtiny817 PIC16F1769
    Poraba spominskega prostora 5612 bajtov,

    68.5 % uporabljeno od 8K  bajtov

    7962 bajtov,

    55 % uporabljeno od 14K  bajtov

    Podatkovni spomin 294 bajtov,

    57.4 % uporabljeno od 512  bajtov

    146 bajtov,

    14.3 % uporabljeno od 1024  bajtov

    Potrebuje zunanji ojačevalnik Da Ne

    Druga pomembna prednost uporabe mikrokontrolerjev z vgrajeno CIP periferijo pa je ta, da je potrebne manj programske opreme, saj se večina opravil izvaja na nivoju strojne opreme. Manj razvoja programske opreme pomeni tudi manj potrjevanja ustreznosti ugnezdene programske opreme, kar vodi v manjše tveganje v procesu razvoja neke aplikacije. Vsi ti elementi skupaj pa pomenijo hitrejše trženje novega izdelka.

    Rešitev, ki jo lahko izvedemo s PIC ali AVR mikrokontrolerjem, bo uporabljala CIP za merjenje časa potovanja zvoka ter generiranje, oddajanje in sprejem ultrazvočnega signala. Ko bodo CIP-i enkrat sproženi, jedro CPU-ja ne bo več sodelovalo pri izvajanju teh nalog. Za merjenje časa potovanja ultrazvoka niso potrebne nikakršne prekinitve, procesne zmogljivosti CPU, SRAM pomnilnik ali dolgi krmilni programi. CPU se bo ukvarjal le za izračunom razdalje r, saj bo moral čas potovanja zvočnega signala pomnožiti s hitrostjo zvoka. Podroben tehnični opis tega postopka je na voljo v posebnih navodilih za uporabo (poglejte spisek dodatnih virov).

    V tabeli je primerjava lastnosti dveh družin v pomoč pri izbiri mikrokontrolerja, ki jih je treba upoštevati pri ultrazvočnih meritvah. ATtiny817 je eden izmed novih drobnih krmilnikov družine AVR®, ki so bili predstavljeni konec leta 2016, medtem ko so bili mikrokontrolerja družine PIC16F176x / 7x predstavljeni na začetku istega leta. Obe sta novi družini in vsebujeta od procesnega jedra neodvisne periferne naprave (CIP), ki omogočajo merjenje časa potovanja zvoka po zraku popolnoma brez posredovanja procesorja.

    Opis aplikacij
    Microchip ima med dokumenti opisa dveh aplikacij, v katerih se merjenje razdalje izvaja z ultrazvočnimi oddajniki. V eni je uporabljen 8-bitni PIC mikrokontroler PIC16F1769, v drugi pa 8-bitni AVR mikrokontroler ATtiny817. Obe aplikaciji uporabljata CIP za učinkovito ultrazvočno merjenje razdalje z najmanjšo možno velikostjo programske kode in brez posredovanja procesorja. V tabeli 2 so primerjave najmanjših velikosti Flash pomnilnikov, delovnega RAM pomnilnika in vhodno / izhodnih zahtev.

    Kot lahko vidite v tabeli 1, imata oba MCU različen nabor zunanjih naprav. Tabela 2 prikazuje zahteve po programskem Flash in RAM delovnem pomnilniku vsakega od mikrokontrolerjev za njihovo uporabo. Ta programska koda vključuje tudi prikaz rezultatov na LCD ali OLED zaslonu. Merjenje časa potovanja zvoka po zraku se izvaja s CIP-i in brez posredovanja CPU-ja, poleg tega ne potrebuje RAM-a. Program za uvodno inicializacijo CIP-ov zaseda v Flash pomnilniku le nekaj bajtov. Še vedno pa je mogoče programsko kodo še bolj optimizirati in uporabiti mikrokontroler z manjšim Flash pomnilnikom iz ustreznih družin PIC ali AVR. Pri obeh rešitvah je dovolj prostora za razširitev vgrajene programske opreme in prilagoditev na različne oblike komunikacije, prek katerih se ultrazvočni senzor lahko vključi v industrijsko omrežje, tudi z različnimi načini serijske komunikacije.

    Prednosti obeh predlaganih rešitev
    Obe rešitvi lahko učinkovito merita razdaljo z ultrazvokom. PIC16F1769 ima številne integrirane analogne funkcije, vključno z dvojnim operacijskim ojačevalnikom. Ta dva sta potrebna za sprejemanje oslabljenega ultrazvočnega signala. Operacijski ojačevalnik ojači sprejeti ultrazvočni signal, tako da ga analogni primerjalnik lahko zazna. Te integrirane analogne funkcije v mikrokontrolerju PIC16F1769 omogočajo preprosto dosegljive rešitve z minimalnim številom zunanjih komponent.

    Pri ATtiny817 se lahko uporabi rešitev z dvema zunanjima operativnima ojačevalnikoma za sprejem ultrazvočnega signala. Prav zato jih je mogoče prilagoditi z različnim naborom zunanjih komponent za aplikacije s širokim razponom potreb in zmogljivosti.

    Zaključek
    Microchip je proizvajalec polprevodniških komponent z največjim naborom 8-bitnih mikrokontrolerjev med podobnimi konkurenčnimi podjetji in ponuja rešitve, ki ustrezajo potrebam skoraj sleherne aplikacije, v kateri je uporabljeno ultrazvočno merjenje razdalje. Od procesnega jedra neodvisne periferne enote (CIP) odpravljajo potrebo po kakršnemkoli posredovanju procesorja pri merjenju časa potovanja zvoka. To se izvede zelo učinkovito in z zelo majhno porabe energije.

    Microchip ima svoj lasten ekosistem za pospeševanje razvojnih ciklov, ki je preprost za uporabo. Družini PIC in AVR mikrokontrolerjev podpirata Microchipovo integrirano razvojno okolje (IDE), (MPLAB® X za PIC mikrokontrolerja in Atmel Studio 7 za AVR mikrokontrolerje), orodja za konfiguracijo oziroma inicializacijo (MPLAB Code Configurator (MCC) za PIC družino in Atmel Start za AVR družino) ter razvojna orodja in programatorji / razhroščevalniki). Poleg tega so v opisih aplikacij za PIC16F1796 in ATtiny817 navedene vse podrobnosti o tem, kako v aplikaciji izvesti ultrazvočno merjenje razdalje ali zaznavanje približevanja.

    Dodatni viri:

    • AVR42779: Core Independent Ultrasonic Distance Measurement with ATtiny817
    • Software example on start.atmel.com
    • ATtiny817 Datasheet
    • AN1536: Ultrasonic Range Detection with the PIC16F1769
    • PIC16F1769 Datasheet
    • Core Independent Peripherals (CIP) Overview

    Opomba: Ime in logotip Microchip sta registrirani blagovni znamki podjetja Microchip Technology Incorporated v ZDA in drugih državah. Vse druge blagovne znamke, ki so morda tu omenjene, so last njihovih podjetij.

    www.microchip.com