- Sensor de força o resistència sensible a la força
- Components necessaris
- Diagrama de circuits i explicació de treball
En aquest projecte desenvoluparem un divertit circuit amb sensor de força i Arduino Uno. Aquest circuit genera un so linealment relacionat amb la força aplicada al sensor. Per a això, farem una interfície del sensor FORCE amb Arduino Uno. A UNO, utilitzarem la funció ADC de 8 bits (conversió analògica a digital) per fer la feina.
Sensor de força o resistència sensible a la força
Un sensor FORCE és un transductor que canvia la seva resistència quan s'aplica pressió sobre la superfície. El sensor FORCE està disponible en diferents mides i formes. Utilitzarem una de les versions més econòmiques perquè aquí no necessitem molta precisió. FSR400 és un dels sensors de força més barats del mercat. La imatge del FSR400 es mostra a la figura següent. També s’anomenen resistència sensible a la força o FSR, ja que la seva resistència canvia segons la força o la pressió que se li aplica. Quan s'aplica pressió a aquesta resistència de detecció de força, la seva resistència disminueix, és a dir, la resistència és inversament proporcional a la força aplicada. Per tant, quan no s’hi apliqui cap pressió, la resistència del FSR serà molt elevada.
Ara és important tenir en compte que el FSR 400 és sensible al llarg de la longitud, la força o el pes s’haurien de concentrar al laberint al centre de l’ull del sensor, tal com es mostra a la figura. Si s'aplica la força en moments equivocats, el dispositiu podria danyar-se permanentment.
Una altra cosa important que cal saber que el sensor pot conduir corrents d’alt rang. Per tant, tingueu en compte els corrents de conducció durant la instal·lació. El sensor també té un límit de força de 10 Newtons. Per tant, podem aplicar només 1 kg de pes. Si s’apliquen pesos superiors a 1 kg, el sensor pot mostrar algunes desviacions. Si augmenta més de 3 kg. el sensor pot danyar-se permanentment.

Com s’ha dit anteriorment, aquest sensor s’utilitza per detectar els canvis de pressió. Així, quan s’aplica el pes a sobre del sensor FORCE, la resistència canvia dràsticament. La resistència del FS400 sobre el pes es mostra al gràfic següent,

Com es mostra a la figura anterior, la resistència entre els dos contactes del sensor disminueix amb el pes o augmenta la conductància entre els dos contactes del sensor. La resistència d’un conductor pur ve donada per:

On, p- Resistivitat del conductor
l = Longitud del conductor
A = Àrea del conductor.
Ara considerem un conductor amb resistència "R", si s'aplica una mica de pressió sobre el conductor, l'àrea del conductor disminueix i la longitud del conductor augmenta com a resultat de la pressió. Així, per fórmula, la resistència del conductor hauria d’augmentar, ja que la resistència R és inversament proporcional a l’àrea i també directament proporcional a la longitud l.
Així, amb això, per a un conductor sota pressió o pes, la resistència del conductor augmenta. Però aquest canvi és petit en comparació amb la resistència general. Per a un canvi considerable, molts conductors s’apilen. Això és el que passa dins dels sensors de força que es mostren a la figura superior. En mirar de prop es poden veure moltes línies dins del sensor. Cadascuna d’aquestes línies representa un conductor. La sensibilitat del sensor està en números de conductors.
Però en aquest cas la resistència anirà disminuint amb la pressió perquè el material utilitzat aquí no és un conductor pur. Els FSR aquí són dispositius robusts de pel·lícula gruixuda de polímer (PTF). Per tant, no es tracta de dispositius de material conductor pur. Es componen d'un material que presenta una disminució de la resistència amb un augment de la força aplicada a la superfície del sensor. Aquest material mostra les característiques tal com es mostra al gràfic de FSR.
Aquest canvi de resistència no pot servir de res si no podem llegir-los. El controlador que ens ocupa només pot llegir les possibilitats de tensió i res menys, per a això utilitzarem un circuit divisor de tensió, amb el qual podrem obtenir el canvi de resistència a mesura que canviï de tensió.
El divisor de tensió és un circuit resistiu que es mostra a la figura. En aquesta xarxa resistiva tenim una resistència constant i una altra resistència variable. Com es mostra a la figura, R1 és una resistència constant i R2 és un sensor FORCE que actua com a resistència. Es mesura el punt mitjà de la branca. Amb el canvi R2, tenim canvis a Vout. Per tant, amb això tenim un canvi de voltatge amb el pes.

Ara el més important que cal tenir en compte aquí és que l'entrada del controlador per a la conversió ADC és tan baixa com 50µAmp. Aquest efecte de càrrega del divisor de tensió basat en la resistència és important ja que el corrent extret de Vout del divisor de tensió augmenta el percentatge d'errors que augmenta, de moment no ens hem de preocupar per l'efecte de càrrega.
Com comprovar un sensor FSR
La resistència de detecció de força es pot provar mitjançant un multímetre. Connecteu els dos pins del sensor FSR al multímetre sense aplicar cap força i comproveu el valor de la resistència, serà molt alt. A continuació, apliqueu una mica de força a la seva superfície i vegeu la disminució del valor de resistència.
Aplicacions del sensor FSR
Les resistències de detecció de força s’utilitzen principalment per crear "botons" de detecció de pressió. S'utilitzen en diversos camps com ara sensors d'ocupació de cotxes, coixinets tàctils resistius, puntes digitals robòtiques, extremitats artificials, teclats, sistemes de pronació del peu, instruments musicals, electrònica integrada, equips de prova i mesura, kit de desenvolupament OEM i electrònica portàtil, esportiva. També s’utilitzen en sistemes de realitat augmentada, així com per millorar la interacció mòbil.
Components necessaris
Maquinari: Arduino Uno, font d'alimentació (5v), condensador de 1000 uF, condensador de 100nF (3 peces), resistència de 100KΩ, timbre, resistència de 220Ω, sensor de força FSR400.
PROGRAMARI: Atmel studio 6.2 o Aurdino cada nit
Diagrama de circuits i explicació de treball
La connexió del circuit per a la interfície de la resistència de detecció de força amb Arduino es mostra al diagrama següent.

El voltatge del sensor no és completament lineal; serà sorollós. Per filtrar el soroll, es col·loquen condensadors a cada resistència del circuit divisor tal com es mostra a la figura.
Aquí agafarem la tensió subministrada pel divisor (tensió que representa el pes linealment) i l’alimentarem en un dels canals ADC de l’ONU. Després de la conversió, prendrem aquest valor digital (que representa el pes) i el relacionarem amb el valor PWM per conduir el brunzidor.
Per tant, amb el pes tenim un valor PWM que canvia la seva relació de treball en funció del valor digital. Com més gran sigui el valor digital, més alta serà la relació de treball de PWM, de manera que serà més gran el soroll generat pel brunzidor. Per tant, vam relacionar el pes amb el so.
Abans d’anar més enllà parlem de l’ADC d’Arduino Uno. ARDUINO té sis canals ADC, com es mostra a la figura. En aquelles, qualsevol o totes es poden utilitzar com a entrades de tensió analògica. El UNO ADC té una resolució de 10 bits (per tant, els valors enters de (0- (2 ^ 10) 1023)). Això vol dir que maparà les tensions d'entrada entre 0 i 5 volts en valors enters entre 0 i 1023. Així doncs, per a cada (5/1024 = 4,9 mV) per unitat.
Aquí utilitzarem A0 de l’ONU.
Hem de saber poques coses.
|
En primer lloc, els canals UNO ADC tenen un valor de referència per defecte de 5V. Això significa que podem donar un voltatge màxim d'entrada de 5V per a la conversió ADC en qualsevol canal d'entrada. Com que alguns sensors proporcionen tensions de 0-2,5 V, amb una referència de 5 V obtenim una precisió menor, de manera que tenim una instrucció que ens permet canviar aquest valor de referència. Per tant, per canviar el valor de referència que tenim ("analogReference ();"), ara per ara ho deixem com.
Per defecte obtenim la resolució ADC màxima de la placa que és de 10 bits, aquesta resolució es pot canviar mitjançant la instrucció ("analogReadResolution (bits);"). Aquest canvi de resolució pot ser útil en alguns casos. De moment ho deixem així.
Ara bé, si les condicions anteriors s’estableixen per defecte, podem llegir el valor de l’ADC del canal '0' trucant directament a la funció “analogRead (pin);”, aquí “pin” representa el pin on hem connectat el senyal analògic, en aquest cas seria "A0". El valor de ADC es pot prendre en un enter com a "int SENSORVALUE = analogRead (A0); ”, Mitjançant aquesta instrucció, el valor després de l’ADC s’emmagatzema a l’enter“ SENSORVALUE ”.
El PWM d'Arduino Uno es pot aconseguir en qualsevol dels pins simbolitzats com a "~" a la placa PCB. Hi ha sis canals PWM a l’ONU. Utilitzarem el PIN3 per al nostre propòsit.
|
analogWrite (3, VALOR); |
Des de la condició anterior podem obtenir directament el senyal PWM al pin corresponent. El primer paràmetre entre claudàtors és per triar el número de pin del senyal PWM. El segon paràmetre és per a la relació d'escriptura.
El valor PWM de UNO es pot canviar de 0 a 255. Amb "0" com a mínim a "255" com a màxim. Amb 255 com a ràtio de treball, obtindrem 5V al PIN3. Si la relació d’impostos és de 125, obtindrem 2,5 V a PIN3.
Ara tenim un valor 0-1024 com a sortida ADC i 0-255 com a relació de treball PWM. Així doncs, l’ADC és aproximadament quatre vegades la proporció PWM. Així, dividint el resultat ADC per 4, obtindrem la relació de treball aproximada.
Amb això tindrem un senyal PWM la relació de treball canviarà linealment amb el pes. En ser donat al brunzidor, tenim un generador de so en funció del pes.
