I dette prosjektet skal vi utvikle en morsom krets med Force sensor og Arduino Uno. Denne kretsen genererer lyd lineært relatert til kraften som påføres sensoren. For det skal vi grensesnitt FORCE sensor med Arduino Uno. I UNO skal vi bruke 8-biters ADC (Analog til Digital konvertering) -funksjon for å gjøre jobben.
Kraftsensor eller Kraftsensitiv motstand
En FORCE-sensor er en svinger som endrer motstand når trykk påføres på overflaten. FORCE sensor er tilgjengelig i forskjellige størrelser og former. Vi skal bruke en av de billigere versjonene fordi vi ikke trenger mye nøyaktighet her. FSR400 er en av de billigste kraftfølerne i markedet. Bildet av FSR400 er vist i figuren nedenfor. De kalles også kraftfølsom motstand eller FSR da motstanden endres i henhold til kraften eller trykket som påføres den. Når trykk påføres denne kraftfølende motstanden, reduseres motstanden, det vil si motstanden er omvendt proporsjonal med den påførte kraften. Så når det ikke påføres noe trykk på den, vil motstanden til FSR være veldig høy.
Nå er det viktig å merke seg at FSR 400 er følsom over lengden. Kraften eller vekten bør konsentreres om labyrinten midt i øye på sensoren, som vist på figuren. Hvis kraften blir brukt på feil tidspunkter, kan enheten skade permanent.
En annen viktig ting å vite at sensoren kan drive strømmer av høyt område. Så husk kjørestrømmene mens du installerer. Også sensoren har en kraftbegrensning på 10 Newton. Så vi kan bare bruke 1 kg vekt. Hvis det brukes vekter høyere enn 1 kg, kan sensoren vise noen avvik. Hvis det er økt mer enn 3 kg. sensoren kan skade permanent.
Som tidligere fortalt, brukes denne sensoren til å registrere trykkendringene. Så når vekten påføres på FORCE-sensoren, endres motstanden drastisk. Motstanden til FS400 over vekt er vist i grafen nedenfor,
Som vist i figuren ovenfor, reduseres motstanden mellom de to kontaktene til sensoren med vekt eller konduktansen mellom to kontaktene til sensoren øker. Motstanden til en ren leder er gitt av:
Hvor, p- Motstand av leder
l = Lengde på leder
A = lederområde.
Tenk nå på en leder med motstand "R", hvis det påføres noe trykk på toppen av lederen, reduseres arealet på lederen og lederens lengde øker som et resultat av trykk. Så med formelen skal lederens motstand øke, da motstanden R er omvendt proporsjonal med arealet og også direkte proporsjonal med lengden l.
Så med dette for en leder under trykk eller vekt øker lederens motstand. Men denne endringen er liten sammenlignet med total motstand. For en betydelig forandring er mange ledere stablet sammen. Dette er hva som skjer i Force Sensors vist i figuren ovenfor. Når man ser nøye kan man se mange linjer inne i sensoren. Hver av disse linjene representerer en leder. Sensitiviteten til sensoren er i ledertall.
Men i dette tilfellet vil motstanden avta med trykk fordi materialet som brukes her ikke er en ren leder. FSR her er robuste polymer tykk film (PTF) enheter. Så dette er ikke rene ledermaterialeenheter. Disse består av et materiale som viser en reduksjon i motstand med økning i kraft påført sensorens overflate. Dette materialet viser egenskaper som vist i grafen til FSR.
Denne endringen i motstand kan ikke gjøre noe bra med mindre vi kan lese dem. Kontrolleren ved hånden kan bare lese sjansene i spenning og ikke noe mindre, for dette skal vi bruke spenningsdelerkrets, med det kan vi utlede motstandsendringen som spenningsendring.
Spenningsdeler er en resistiv krets og er vist i figur. I dette resistive nettverket har vi en konstant motstand og annen variabel motstand. Som vist i figur er R1 her en konstant motstand og R2 er FORCE-sensor som fungerer som en motstand. Grensens midtpunkt blir tatt til måling. Med R2-endring har vi endring på Vout. Så med dette har vi en spenningsendring med vekt.
Nå er det viktig å merke seg at inngangen som er tatt av kontrolleren for ADC-konvertering er så lav som 50 µAmp. Denne belastningseffekten av motstandsbasert spenningsdeler er viktig da strømmen hentet fra Vout av spenningsdeleren øker feilprosentandelen, for nå trenger vi ikke bekymre oss for belastningseffekt.
Hvordan sjekke en FSR-sensor
Den kraftfølende motstanden kan testes ved hjelp av et multimeter. Koble de to pinnene til FSR-sensoren til multimeteret uten å bruke noen kraft og sjekk motstandsverdien, den vil være veldig høy. Påfør deretter litt kraft på overflaten og se reduksjonen i motstandsverdien.
Bruk av FSR-sensor
Motstand med sensorfølelse brukes hovedsakelig til å lage trykkfølende "knapper". De brukes i en rekke felt som bilbeleggingssensorer, motstandsdyktige berøringsputer, robot fingertuppene, kunstige lemmer, tastaturer, fotpronasjonssystemer, musikkinstrumenter, innebygd elektronikk, test- og måleutstyr, OEM-utviklingssett og bærbar elektronikk, sport. De brukes også i Augmented Reality-systemer, samt for å forbedre mobil interaksjon.
Komponenter kreves
Maskinvare: Arduino Uno, Strømforsyning (5v), 1000 uF kondensator, 100nF kondensator (3 stk), 100KΩ motstand, summer, 220Ω motstand, FSR400 Force sensor.
PROGRAMVARE: Atmel studio 6.2 eller Aurdino hver natt
Kretsdiagram og arbeidsforklaring
Kretsforbindelsen for å grensesnitt Force Sensing Resistor med Arduino er vist i diagrammet nedenfor.
Spenningen over sensoren er ikke helt lineær; det vil være bråkete. For å filtrere ut støyen plasseres kondensatorer over hver motstand i delerkretsen som vist på figuren.
Her skal vi ta spenningen som deleren gir (spenning som representerer vekt lineært) og mate den inn i en av ADO-kanalene til UNO. Etter konvertering skal vi ta den digitale verdien (som representerer vekt) og relatere den til PWM-verdien for å kjøre summeren.
Så med vekt har vi en PWM-verdi som endrer driftsforholdet avhengig av digital verdi. Høyere den digitale verdien, høyere pliktforholdet til PWM, så høyere støyen som genereres av summeren. Så vi relaterte vekt til lyd.
Før du går videre kan vi snakke om ADC av Arduino Uno. ARDUINO har seks ADC-kanaler, som vist i figuren. I disse kan en eller alle av dem brukes som innganger for analog spenning. UNO ADC har 10-biters oppløsning (så heltallverdiene fra (0- (2 ^ 10) 1023)). Dette betyr at den vil kartlegge inngangsspenninger mellom 0 og 5 volt til heltall mellom 0 og 1023. Så for hver (5/1024 = 4,9 mV) per enhet.
Her skal vi bruke A0 av UNO.
Vi trenger å få ting.
|
Først og fremst har UNO ADC-kanalene en standard referanseverdi på 5V. Dette betyr at vi kan gi en maksimal inngangsspenning på 5V for ADC-konvertering på hvilken som helst inngangskanal. Siden noen sensorer gir spenninger fra 0-2,5V, med en 5V referanse får vi mindre nøyaktighet, så vi har en instruksjon som gjør det mulig for oss å endre denne referanseverdien. Så for å endre referanseverdien vi har (“analogReference ();”) For nå lar vi det være.
Som standard får vi den maksimale ADC-oppløsningen på kortet som er 10 bit, denne oppløsningen kan endres ved å bruke instruksjoner (“analogReadResolution (bits);”). Denne oppløsningsendringen kan være nyttig i noen tilfeller. For nå lar vi det være.
Nå hvis de ovennevnte forholdene er satt til standard, kan vi lese verdien fra ADC for kanalen '0' ved direkte å kalle funksjonen "analogRead (pin);", her representerer "pin" pin der vi koblet til analogt signal, i dette tilfellet er det ville være “A0”. Verdien fra ADC kan tas inn i et helt tall som “int SENSORVALUE = analogRead (A0); ”, Ved denne instruksjonen blir verdien etter ADC lagret i heltallet“ SENSORVALUE ”.
PWM fra Arduino Uno kan oppnås ved hvilken som helst av pinnene som er symbolisert som “~” på PCB-kortet. Det er seks PWM-kanaler i UNO. Vi skal bruke PIN3 for vårt formål.
analogWrite (3, VALUE); |
Fra ovennevnte tilstand kan vi få direkte PWM-signalet ved den tilsvarende pin. Den første parameteren i parentes er å velge pin-nummeret til PWM-signalet. Den andre parameteren er for skriveforhold.
PWM-verdien til UNO kan endres fra 0 til 255. Med “0” som lavest til “255” som høyest. Med 255 som pliktforhold får vi 5V ved PIN3. Hvis pliktforholdet er gitt som 125, får vi 2,5V ved PIN3.
Nå har vi 0-1024 verdi som ADC-utgang og 0-255 som PWM pliktforhold. Så ADC er omtrent fire ganger PWM-forholdet. Så ved å dele ADC-resultatet med 4, vil vi få det omtrentlige tollforholdet.
Med det vil vi ha et PWM-signal hvis arbeidsforhold endres lineært med vekt. Dette blir gitt til summer, vi har lydgenerator avhengig av vekt.