- Force Sensor eller Force Sensitive Resistor
- Komponenter, der kræves
- Kredsløbsdiagram og arbejdsforklaring
I dette projekt vil vi udvikle et sjovt kredsløb ved hjælp af Force sensor og Arduino Uno. Dette kredsløb genererer lyd lineært relateret til kraft, der påføres sensoren. Til det skal vi interface FORCE-sensor med Arduino Uno. I UNO skal vi bruge 8 bit ADC (analog til digital konvertering) -funktion til at udføre jobbet.
Force Sensor eller Force Sensitive Resistor
En FORCE-sensor er en transducer, der ændrer dens modstand, når der påføres tryk på overfladen. FORCE-sensor fås i forskellige størrelser og former. Vi skal bruge en af de billigere versioner, fordi vi ikke har brug for meget nøjagtighed her. FSR400 er en af de billigste kraftfølere på markedet. Billedet af FSR400 er vist i nedenstående figur. De kaldes også kraftfølsom modstand eller FSR, da dens modstand ændres i henhold til den kraft eller det tryk, der påføres den. Når der påtrykkes denne kraftfølende modstand, falder dens modstand, dvs. modstanden er omvendt proportional med den påførte kraft. Så når der ikke påføres noget tryk på den, vil FSR-modstanden være meget høj.
Nu er det vigtigt at bemærke, at FSR 400 er følsom langs længden. Kraften eller vægten skal koncentreres på labyrinten midt på sensoren som vist i figuren. Hvis kraften påføres på forkerte tidspunkter, kan enheden beskadiges permanent.
En anden vigtig ting at vide, at sensoren kan køre strømme med høj rækkevidde. Så husk kørestrømmene under installationen. Sensoren har også en grænse for kraft, der er 10 Newton. Så vi kan kun anvende 1 kg vægt. Hvis der anvendes vægte højere end 1 kg, kan sensoren muligvis vise nogle afvigelser. Hvis det øges mere end 3 kg. sensoren kan beskadiges permanent.
Som tidligere fortalt bruges denne sensor til at registrere ændringer i tryk. Så når vægten påføres oven på FORCE-sensoren, ændres modstanden drastisk. Modstanden af FS400 over vægt er vist i nedenstående graf,
Som vist i ovenstående figur falder modstanden mellem sensorens to kontakter med vægten, eller konduktansen mellem to sensorkontakter øges. Modstanden fra en ren leder er givet af:
Hvor, p- Ledningsmodstand
l = lederens længde
A = lederområde.
Overvej nu en leder med modstand “R”, hvis der påføres noget tryk oven på lederen, falder arealet på lederen, og lederens længde øges som et resultat af tryk. Så ved formel skal lederens modstand øges, da modstanden R er omvendt proportional med arealet og også direkte proportional med længden l.
Så med dette for en leder under tryk eller vægt øges lederens modstand. Men denne ændring er lille sammenlignet med den samlede modstand. For en betydelig ændring er mange ledere stablet sammen. Dette er hvad der sker inde i Force Sensors vist i ovenstående figur. Når man ser nøje, kan man se mange linjer inde i sensoren. Hver af disse linjer repræsenterer en leder. Sensorens følsomhed er i ledertal.
Men i dette tilfælde vil modstanden falde med tryk, fordi det anvendte materiale ikke er en ren leder. FSR her er robuste polymer tyk film (PTF) enheder. Så dette er ikke rene ledningsmaterialeindretninger. Disse består af et materiale, der udviser et fald i modstand med øget kraft, der påføres sensorens overflade. Dette materiale viser karakteristika som vist i grafen for FSR.
Denne ændring i modstand kan ikke gøre noget godt, medmindre vi kan læse dem. Controlleren ved hånden kan kun læse chancerne i spænding og intet mindre, for dette skal vi bruge spændingsdelerkredsløb, med det kan vi udlede modstandsændringen som spændingsændring.
Spændingsdeler er et resistivt kredsløb og er vist i figur. I dette resistive netværk har vi en konstant modstand og anden variabel modstand. Som vist i figur er R1 her en konstant modstand, og R2 er FORCE-sensor, der fungerer som en modstand. Grænsens midtpunkt føres til måling. Med R2-ændring har vi ændring hos Vout. Så med dette har vi en spændingsændring med vægten.
Nu er det vigtigt at bemærke her, at inputet fra controlleren til ADC-konvertering er så lavt som 50 µAmp. Denne belastningseffekt af modstandsbaseret spændingsdeler er vigtig, da strømmen trukket fra Vout af spændingsdeler øger fejlprocenten, for nu behøver vi ikke bekymre os om belastningseffekt.
Sådan kontrolleres en FSR-sensor
Den kraftfølende modstand kan testes ved hjælp af et multimeter. Forbind de to ben på FSR-sensoren til multimeteret uden at anvende nogen kraft, og kontroller modstandsværdien, den vil være meget høj. Anvend derefter en vis kraft på overfladen og se faldet i modstandsværdien.
Anvendelser af FSR-sensor
Kraftfølende modstande bruges hovedsageligt til at skabe trykfølende "knapper". De bruges inden for en række områder, såsom sensorer til bilbelægning, modstandsdygtige berøringspuder, robotte fingerspidser, kunstige lemmer, tastaturer, fodpronationssystemer, musikinstrumenter, indlejret elektronik, test- og måleudstyr, OEM-udviklingssæt og bærbar elektronik, sport. De bruges også i Augmented Reality-systemer såvel som til at forbedre mobil interaktion.
Komponenter, der kræves
Hardware: Arduino Uno, Strømforsyning (5v), 1000 uF kondensator, 100nF kondensator (3 stykker), 100KΩ modstand, Summer, 220Ω modstand, FSR400 Force sensor.
SOFTWARE: Atmel studio 6.2 eller Aurdino om natten
Kredsløbsdiagram og arbejdsforklaring
Kredsløbsforbindelsen til interfacering af Force Sensing Resistor med Arduino er vist i nedenstående diagram.
Spændingen på tværs af sensoren er ikke helt lineær; det vil være støjende. For at filtrere støjen placeres der kondensatorer på tværs af hver modstand i delerkredsløbet som vist i figur.
Her skal vi tage spændingen fra skillelinjen (spænding, der repræsenterer vægten lineært) og føre den ind i en af UNO's ADC-kanaler. Efter konvertering vil vi tage den digitale værdi (repræsenterer vægt) og relatere den til PWM-værdien til at køre summeren.
Så med vægten har vi en PWM-værdi, der ændrer dens toldforhold afhængigt af den digitale værdi. Jo højere den digitale værdi er højere PWM-arbejdsforholdet, så højere støj genereret af summer. Så vi relaterede vægt til lyd.
Før vi går videre, kan vi tale om ADC fra Arduino Uno. ARDUINO har seks ADC-kanaler, som vist i figuren. I dem kan en eller alle af dem bruges som indgange til analog spænding. UNO ADC har en 10 bit opløsning (så heltalets værdier fra (0- (2 ^ 10) 1023)). Dette betyder, at det vil kortlægge indgangsspændinger mellem 0 og 5 volt i heltalsværdier mellem 0 og 1023. Så for hver (5/1024 = 4,9 mV) pr. Enhed.
Her skal vi bruge A0 fra UNO.
Vi har brug for at vide nogle få ting.
|
Først og fremmest har UNO ADC-kanalerne en standardreferenceværdi på 5V. Dette betyder, at vi kan give en maksimal indgangsspænding på 5V til ADC-konvertering på enhver indgangskanal. Da nogle sensorer leverer spændinger fra 0-2,5V, med en 5V-reference får vi mindre nøjagtighed, så vi har en instruktion, der gør det muligt for os at ændre denne referenceværdi. Så for at ændre den referenceværdi, vi har ("analogReference ();") For nu lader vi det være.
Som standard får vi den maksimale ADC-opløsning på kortet, der er 10 bit, denne opløsning kan ændres ved hjælp af instruktion (“analogReadResolution (bits);”). Denne opløsningsændring kan komme til nytte i nogle tilfælde. For nu lader vi det være.
Hvis ovenstående betingelser nu er indstillet til standard, kan vi læse værdien fra ADC af kanal '0' ved direkte at kalde funktionen "analogRead (pin);", her "pin" repræsenterer pin, hvor vi forbinder analogt signal, i dette tilfælde er det ville være “A0”. Værdien fra ADC kan tages i et heltal som “int SENSORVALUE = analogRead (A0); ”, Ved denne instruktion lagres værdien efter ADC i heltalet“ SENSORVALUE ”.
PWM fra Arduino Uno kan opnås ved en hvilken som helst af benene, der er symboliseret som “~” på printkortet. Der er seks PWM-kanaler i UNO. Vi skal bruge PIN3 til vores formål.
analogWrite (3, VALUE); |
Fra ovenstående tilstand kan vi direkte få PWM-signalet ved den tilsvarende pin. Den første parameter i parentes er at vælge pin-nummeret på PWM-signalet. Anden parameter er til at skrive toldforhold.
PWM-værdien for UNO kan ændres fra 0 til 255. Med “0” som lavest til “255” som højest. Med 255 som toldforhold får vi 5V ved PIN3. Hvis toldforholdet er angivet som 125, får vi 2,5 V ved PIN3.
Nu har vi 0-1024 værdi som ADC output og 0-255 som PWM duty ratio. Så ADC er cirka fire gange PWM-forholdet. Så ved at dele ADC-resultatet med 4 får vi det omtrentlige toldforhold.
Med det vil vi have et PWM-signal, hvis arbejdsforhold ændres lineært med vægten. Dette gives til summer, vi har lydgenerator afhængigt af vægt.