V tem projektu bomo razvili zabavno vezje z uporabo senzorja sile in Arduino Uno. To vezje ustvarja zvok, ki je linearno povezan s silo, ki deluje na senzor. Za to bomo povezali senzor FORCE z Arduino Uno. V UNO bomo za to delo uporabili 8-bitno funkcijo ADC (analogna v digitalno pretvorbo).
Senzor sile ali sila občutljiv upor
Senzor FORCE je pretvornik, ki spremeni svoj upor ob pritisku na površino. Senzor FORCE je na voljo v različnih velikostih in oblikah. Uporabili bomo eno cenejših različic, ker tu ne potrebujemo veliko natančnosti. FSR400 je eden najcenejših senzorjev sile na trgu. Slika FSR400 je prikazana na spodnji sliki. Imenujemo jih tudi upor občutljiv na silo ali FSR, saj se njegova odpornost spreminja glede na silo ali tlak, ki deluje nanj. Ko se na ta upor, ki zaznava silo, pritisne, se njegov upor zmanjša, to je, da je upor obratno sorazmeren z uporabljeno silo. Torej, ko nanj ne bo pritisnjen noben pritisk, bo upor FSR zelo visok.
Zdaj je pomembno opozoriti, da je FSR 400 po dolžini občutljiv, silo ali težo je treba osredotočiti na labirint na sredini očesa senzorja, kot je prikazano na sliki. Če sila deluje ob napačnem času, lahko naprava trajno poškoduje.
Druga pomembna stvar, ki jo je treba vedeti, je, da lahko senzor poganja tokove velikega obsega. Zato pri namestitvi ne pozabite na pogonske tokove. Tudi senzor ima omejitev sile, ki znaša 10 Newtonov. Tako lahko uporabimo le 1 kg teže. Če uporabimo utež večjo od 1 kg, lahko senzor pokaže neka odstopanja. Če se poveča za več kot 3 kg. senzor se lahko trajno poškoduje.
Kot smo že povedali, se ta senzor uporablja za zaznavanje sprememb tlaka. Torej, ko se teža nanese na senzor FORCE, se upor močno spremeni. Odpornost FS400 proti teži je prikazana na spodnjem grafu,
Kot je prikazano na zgornji sliki, se upor med obema kontaktoma senzorja zmanjša s težo ali pa se poveča prevodnost med dvema kontaktoma senzorja. Upor čistega vodnika dobimo z:
Kje, p- Upornost vodnika
l = dolžina vodnika
A = površina vodnika.
Zdaj razmislite o vodniku z uporom "R". Če na njegov vodnik pritisnete nekaj, se površina na vodniku zmanjša in dolžina vodnika zaradi tlaka naraste. Torej po formuli naj se upor prevodnika poveča, saj je upor R obratno sorazmeren s površino in tudi neposredno sorazmeren z dolžino l
Torej se s tem za prevodnik pod pritiskom ali težo upor prevodnika poveča. Toda ta sprememba je majhna v primerjavi s splošnim uporom. Za precejšnjo spremembo je veliko vodnikov zloženih skupaj. To se dogaja znotraj senzorjev sile, prikazanih na zgornji sliki. Ob natančnem pogledu lahko v senzorju opazimo veliko vrstic. Vsaka od teh vrstic predstavlja vodnika. Občutljivost senzorja je v številu vodnikov.
Toda v tem primeru se bo upor s pritiskom zmanjšal, ker tukaj uporabljeni material ni čisti vodnik. Tu so FSR robustne naprave iz polimernega debelega filma (PTF). To torej niso naprave iz čistega prevodnika. Ti so sestavljeni iz materiala, ki kaže zmanjšanje upora s povečanjem sile, ki deluje na površino senzorja. Ta material prikazuje značilnosti, kot so prikazane na grafu FSR.
Ta sprememba upora ne more prinesti nič dobrega, če jih ne preberemo. Priročni krmilnik lahko bere možnosti le v napetosti in nič manj, za to bomo uporabili vezje delilnika napetosti, s čimer lahko ugotovimo spremembo upora kot spremembo napetosti.
Napetostni delilnik je uporovno vezje in je prikazan na sliki. V tem uporovnem omrežju imamo en konstanten upor in drugi spremenljivi upor. Kot je prikazano na sliki, je R1 tukaj konstanten upor, R2 pa je FORCE senzor, ki deluje kot upor. Srednja točka veje se meri. S spremembo R2 imamo spremembo pri Voutu. Tako imamo s tem napetostno spremembo s težo.
Zdaj je pomembno omeniti, da je vhod, ki ga krmilnik za pretvorbo ADC sprejme le 50 μAmp. Ta obremenitveni učinek napetostnega delilnika na osnovi upora je pomemben, saj tok, ki ga potegne Vout napetostnega delilnika, poveča odstotek napak, zato zaenkrat ni treba skrbeti za obremenitveni učinek.
Kako preveriti senzor FSR
Upor za zaznavanje sile je mogoče preizkusiti z multimetrom. Priključite oba zatiča senzorja FSR na multimeter brez kakršne koli sile in preverite vrednost upora, ki bo zelo visoka. Nato na njegovo površino prislonite nekaj sile in si oglejte zmanjšanje vrednosti upora.
Uporaba senzorja FSR
Upori za zaznavanje sile se v glavnem uporabljajo za ustvarjanje "gumbov" za zaznavanje pritiska. Uporabljajo se na različnih področjih, kot so senzorji zasedenosti avtomobilov, uporovne ploščice na dotik, robotske konice prstov, umetne okončine, tipkovnice, sistemi za pronacijo stopal, glasbeni instrumenti, vgrajena elektronika, oprema za testiranje in merjenje, razvojni komplet OEM in prenosna elektronika, šport. Uporabljajo se tudi v sistemih razširjene resničnosti, pa tudi za izboljšanje mobilne interakcije.
Potrebne komponente
Strojna oprema: Arduino Uno, napajalnik (5v), kondenzator 1000 uF, kondenzator 100nF (3 kosi), upor 100KΩ, zvočni signal, upor 220Ω, senzor sile FSR400.
PROGRAMSKA OPREMA: Atmel studio 6.2 ali Aurdino zvečer
Shema vezja in delovna razlaga
Priključek vezja za povezavo upora za zaznavanje sile z Arduinom je prikazan na spodnjem diagramu.
Napetost na senzorju ni popolnoma linearna; bo hrupno. Za filtriranje hrupa so kondenzatorji nameščeni čez vsak upor v delilnem vezju, kot je prikazano na sliki.
Tu bomo vzeli napetost, ki jo zagotavlja delilnik (napetost, ki linearno predstavlja težo), in jo napotili v enega od ADC kanalov UNO. Po pretvorbi bomo vzeli to digitalno vrednost (ki predstavlja težo) in jo povezali z vrednostjo PWM za vožnjo zvočnega signala.
Torej imamo pri teži vrednost PWM, ki spreminja razmerje dajatev glede na digitalno vrednost. Višja kot je digitalna vrednost, višje je razmerje dajatev PWM, zato je večji hrup, ki ga ustvarja zvočni signal. Torej smo težo povezali z zvokom.
Pred nadaljevanjem se pogovorimo o ADC Arduino Uno. ARDUINO ima šest ADC kanalov, kot je prikazano na sliki. V teh se lahko kateri koli ali vsi uporabljajo kot vhodi za analogno napetost. UNO ADC ima 10-bitno ločljivost (torej celoštevilčne vrednosti iz (0- (2 ^ 10) 1023)). To pomeni, da bo preslikal vhodne napetosti med 0 in 5 voltov v celoštevilčne vrednosti med 0 in 1023. Torej za vsako (5/1024 = 4,9 mV) na enoto.
Tu bomo uporabili A0 UNO.
Nekaj stvari moramo vedeti.
|
Najprej imajo UNO ADC kanali privzeto referenčno vrednost 5V. To pomeni, da lahko damo maksimalno vhodno napetost 5V za pretvorbo ADC na katerem koli vhodnem kanalu. Ker nekateri senzorji zagotavljajo napetosti od 0-2,5V, dobimo z referenco 5V manjšo natančnost, zato imamo navodilo, ki nam omogoča spreminjanje te referenčne vrednosti. Torej za spremembo referenčne vrednosti imamo (“analogReference ();”) Za zdaj jo pustimo kot.
Privzeto dobimo največjo ločljivost ADC plošče, ki znaša 10 bitov, to ločljivost pa lahko spremenimo z uporabo navodil (“analogReadResolution (bitov);”). Ta sprememba ločljivosti je v nekaterih primerih lahko koristna. Za zdaj pustimo tako.
Če so zgornji pogoji nastavljeni na privzete, lahko iz ADC-ja kanala '0' beremo vrednost tako, da neposredno pokličemo funkcijo "analogRead (pin);", tukaj "pin" predstavlja pin, kamor smo povezali analogni signal, v tem primeru je to bi bila "A0". Vrednost iz ADC lahko vnesemo v celo število kot “int SENSORVALUE = analogRead (A0); ", S tem navodilom se vrednost po ADC shrani v celo število" SENSORVALUE ".
PWM Arduino Uno je mogoče doseči na katerem koli zatiču, ki je na plošči PCB simboliziran z znakom »~«. V UNO je šest kanalov PWM. Za svoj namen bomo uporabili PIN3.
analogWrite (3, VALUE); |
Iz zgornjega pogoja lahko signal PWM neposredno dobimo na ustreznem zatiču. Prvi parameter v oklepajih je za izbiro številke pina PWM signala. Drugi parameter je za zapisovanje razmerja dajatev.
Vrednost PWM UNO lahko spremenite od 0 do 255. Z “0” kot najnižjo na “255” kot najvišjo. Z 255 kot razmerjem dajatev bomo pri PIN3 dobili 5V. Če je razmerje dajatev podano kot 125, bomo pri PIN3 dobili 2,5 V.
Zdaj imamo vrednost 0-1024 kot izhod ADC in 0-255 kot razmerje dajatev PWM. Torej je ADC približno štirikrat večji od razmerja PWM. Če torej rezultat ADC delimo s 4, bomo dobili približno razmerje dajatev.
S tem bomo imeli signal PWM, katerega delovno razmerje se linearno spreminja s težo. To je dano zvočniku, imamo generator zvoka, odvisno od teže.