معرفی و نحوه استفاده از مقاومت های حساس به نیرو (FSR)

پنج شنبه, 17 تیر 1395 11:31
این مورد را ارزیابی کنید
(7 رای‌ها)

FSR ها سنسورهایی با هزینه پایین و راه اندازی آسان می باشند که امکان تشخیص نیروهای فیزیکی، فشرده کردن و وزن را فراهم می کنند.

شکل زیر مربوط به مدل 402 را بوده و ناحیه دایره ای شکل مرکزی،  ناحیه حساس به نیرو می باشد.

FSR از دو بخش جداگانه تشکیل می شود که توسط لایه ای از یکدیگر جداشده اند.

 

FSR در واقع مقاومتی می باشد که مقدار آن با توجه به نیرویی که به آن وارد می شود، تغییر می کند. همان طور که گفته شد نحوه راه اندازی این سنسور آسان و قیمت آن نیز پایین می باشد ولی در عین حال دارای دقت بالایی است. همچنین ممکن است سنسورهایی با مدل مشابه در حدود 10 درصد با یکدیگر تفاوت دارند. بنابراین زمانی که از یک سنسور FSR استفاده می کنید، باید انتظار داشته باشید که پاسخ مورد نظر در یک رنج مشخص قرار دارد. اگرچه FSR ها توانایی تشخیص وزن را دارند، ولی این به این معنا نیست که بتوان از آنها برای تعیین دقیق مقدار وزن یک جسم استفاده کرد.

بررسی مشخصات ابتدایی:

این مشخصات به طور خاص برای مدل 402 صادق هستند، اما برای مدل های نزدیک هم قابل ارائه می باشند. برای بررسی دقیق تر می توانید از دیتاشیت ها کمک بگیرید.

  • اندازه: بخش حساس دارای قطر 12.7 میلی متر می باشد.
  • محدوده مقاومت: مدار باز یا مقاومت بی نهایت(بدون فشار)، 100 کیلو اهم(فشار معمولی)، 200 اهم(ماکزیمم فشار)
  • محدوده فشار: 0 تا 100 نیوتون
  • منبع توان: به هر منبع ولتاژی می تواند متصل شود. جریانی کمتر از 1 میلی آمپر مصرف می کند.

چگونگی اندازه گیری نیرو و فشار توسط یک FSR:

همان طور که گفته شد، مقاومت FSR ها با توجه به نیرویی که به آنها وارد می شود، تغییر می کند. زمانی که نیرویی وجود نداشته باشد، مقاومت بی نهایت بوده و با افزایش فشار مقدار آن کاهش می یابد. نمودار زیر نحوه تغییرات تقریبی مقاومت را برحسب نیروی وارده به آن نشان می دهد.(دقت کنید نیرو برحسب گرم نبوده و برحسب نیوتون می باشد)

 

دقت کنید که تغییرات نمودار به صورت خطی نبوده بلکه هردو محور آن به صورت لگاریتمی تغییر می کنند. با اعمال یک نیروی کوچک به سنسور مقاومت آن از بینهایت به 100 کیلو اهم تغییر خواهد کرد.

 

تست یک نمونه از FSR:

راحتترین راه برای اینکه تشخیص دهید که یک FSR چگونه کار می کند، استفاده از یک مولتی متر و مشاهده تغییرات مقدار مقاومت با اعمال فشار به آن است. چون محدوده تغییرات مقاومت بسیار زیاد می باشد، لذا استفاده از اهم متر با رنج اتومات می تواند مفید باشد. اهم متر را در رنج های متفاومت از 1 مگا اهم تا 100 اهم قرار داده و تغییرات را مشاهده کنید.

 

نحوه اتصال یک FSR:

چون FSR ها در اصل یک مقاومت هستند، لذا هیچ پلاریته ای نداشته و شما می توانید آنها را بدون هیچ نگرانی در هر جهتی که خواستید در مدار قرار دهید.

جنس FSR ها معمولا از پلیمر و مواد رسانای ابریشمی می باشد. به این معنا که آنها از جنس پلاستیک بوده و بخش اتصالات آن از مواد ظریفی ساخته شده است. بهترین راه برای اتصال، قرار دادن مستقیم آن در برد بورد می باشد.

یا می توانید از کانکتورهای گیره ای و یا پین هدر مادگی استفاده کنید:

و یا اینکه آن را در ترمینال قرار دهید:

 

این امکان هم وجود دارد که سیم را به پایه های FSR لحیم کنید، ولی دقت کنید که این کار باید خیلی سریع انجام گیرد. چون تاخیر چند ثانیه ای و گرم شدن بیش از حد سنسور می تواند باعث آب شدن پلاستیک و آسیب رسیدن به FSR شود. در صورتی داشتن مهارت کافی در لحیم کاری سراغ این کار بروید.

استفاده از FSR:

روش خواندن ولتاژ ورودی آنالوگ:

راحتترین راه برای اندازه گیری یک سنسور مقاومتی، اتصال یک سمت آن به منبع ولتاژ و اتصال سمت دیگر از طریق مقاومت به زمین می باشد(pull-down). سپس از محل اتصال مقاومت و FSR به ورودی آنالوگ میکروکنترلر متصل کرده و مقادیر تغییرات خوانده می شود.

به عنوان مثال در اینجا از منبع ولتاژ 5 ولت  و مقاومت pulldown 10 کیلو اهم استفاده شده است. در این حالت مقادیر ولتاژ آنالوگ خوانده شده از 0 تا 5 ولت تغییر خواهند کرد. با کاهش مقاومت FSR، مجموع مقاومت FSR و مقاومت pulldown  از 100کیلو اهم به 10 کیلو اهم کاهش یافته، جریان عبوری از آنها افزایش و در نتیجه ولتاژ خوانده شده نیز افزایش خواهد یافت.

در این روش با توجه به مقادیر بدست آمده مشاهده می کنید که مقادیر مقاومت به صورت خطی تغییر کرده ولی تغییرات مقادیر ولتاژ به صورت غیر خطی می باشد. که به رابطه تقسیم ولتاژ زیر برمیگردد:

Vo = Vcc (R / (R + FSR))

 

نمونه ساده از کاربرد سنسور:

FSR را مشابه حالت قبل یه آردوینو متصل کنید. در این حالت LED را به پین 11 اضافه کنید.

 

در این برنامه مقادیر ولتاژ آنالوگ خوانده شده و با توجه به آن میزان روشنایی LED تغییر می کند. هرچه سنسور بیشتر فشار داده شود، نور LED بیشتر می شود. در نظر داشته باشید که باید از پین PWM آردوینو برای راه اندازی LED استفاده کنید، که در اینجه از پین 11 استفاده شده است.

 

int fsrAnalogPin = 0; // FSR is connected to analog 0

int LEDpin = 11;      // connect Red LED to pin 11 (PWM pin)

int fsrReading;      // the analog reading from the FSR resistor divider

int LEDbrightness;

 

void setup(void) {

  Serial.begin(9600);   // We'll send debugging information via the Serial monitor

  pinMode(LEDpin, OUTPUT);

}

 

void loop(void) {

  fsrReading = analogRead(fsrAnalogPin);

  Serial.print("Analog reading = ");

  Serial.println(fsrReading);

 

  // we'll need to change the range from the analog reading (0-1023) down to the range

  // used by analogWrite (0-255) with map!

  LEDbrightness = map(fsrReading, 0, 1023, 0, 255);

  // LED gets brighter the harder you press

  analogWrite(LEDpin, LEDbrightness);

 

  delay(100);

}

کد ساده برای اندازه گیری آنالوگ FSR:

در این کد هیچ گونه محاسبه ای انجام نمی شود، بلکه فقط مقادیری که میزان فشار را به صورت کیفی مشخص می کنند، را نمایش می دهد. در اکثر پروژه ها این مورد می تواند پاسخ گو باشد.

 

int fsrPin = 0;     // the FSR and 10K pulldown are connected to a0

int fsrReading;     // the analog reading from the FSR resistor divider

 

void setup(void) {

  // We'll send debugging information via the Serial monitor

  Serial.begin(9600);  

}

 

void loop(void) {

  fsrReading = analogRead(fsrPin); 

 

  Serial.print("Analog reading = ");

  Serial.print(fsrReading);     // the raw analog reading

 

  // We'll have a few threshholds, qualitatively determined

  if (fsrReading < 10) {

    Serial.println(" - No pressure");

  } else if (fsrReading < 200) {

    Serial.println(" - Light touch");

  } else if (fsrReading < 500) {

    Serial.println(" - Light squeeze");

  } else if (fsrReading < 800) {

    Serial.println(" - Medium squeeze");

  } else {

    Serial.println(" - Big squeeze");

  }

  delay(1000);

}

کد پیشرفته برای اندازه گیری آنالوگ FSR:

در این برنامه که از همان مدار قبلی استفاده می شود، جزئیات بیشتری در دسترس بوده و  مقادیر نیرو برحسب نیوتون که به FSR وارد می شود، اندازه گیری شده و از آن برای کالیبره کرده و تعیین مقدار نیروی وارده به سنسور استفاده می شود.

 

int fsrPin = 0;     // the FSR and 10K pulldown are connected to a0

int fsrReading;     // the analog reading from the FSR resistor divider

int fsrVoltage;     // the analog reading converted to voltage

unsigned long fsrResistance;  // The voltage converted to resistance, can be very big so make "long"

unsigned long fsrConductance;

long fsrForce;       // Finally, the resistance converted to force

 

void setup(void) {

  Serial.begin(9600);   // We'll send debugging information via the Serial monitor

}

 

void loop(void) {

  fsrReading = analogRead(fsrPin); 

  Serial.print("Analog reading = ");

  Serial.println(fsrReading);

 

  // analog voltage reading ranges from about 0 to 1023 which maps to 0V to 5V (= 5000mV)

  fsrVoltage = map(fsrReading, 0, 1023, 0, 5000);

  Serial.print("Voltage reading in mV = ");

  Serial.println(fsrVoltage); 

 

  if (fsrVoltage == 0) {

    Serial.println("No pressure"); 

  } else {

    // The voltage = Vcc * R / (R + FSR) where R = 10K and Vcc = 5V

    // so FSR = ((Vcc - V) * R) / V        yay math!

    fsrResistance = 5000 - fsrVoltage;     // fsrVoltage is in millivolts so 5V = 5000mV

    fsrResistance *= 10000;                // 10K resistor

    fsrResistance /= fsrVoltage;

    Serial.print("FSR resistance in ohms = ");

    Serial.println(fsrResistance);

 

    fsrConductance = 1000000;           // we measure in micromhos so

    fsrConductance /= fsrResistance;

    Serial.print("Conductance in microMhos: ");

    Serial.println(fsrConductance);

 

    // Use the two FSR guide graphs to approximate the force

    if (fsrConductance <= 1000) {

      fsrForce = fsrConductance / 80;

      Serial.print("Force in Newtons: ");

      Serial.println(fsrForce);     

    } else {

      fsrForce = fsrConductance - 1000;

      fsrForce /= 30;

      Serial.print("Force in Newtons: ");

      Serial.println(fsrForce);           

    }

  }

  Serial.println("--------------------");

  delay(1000);

}

خواندن مقادیر FSR بدون استفاده از پین های آنالوگ:

چون FSR ها در اصل مقاومت می باشند، در صورتی که میکروکنترلر شما پین آنالوگ نداشته باشد و یا اینکه تعداد پایه های آنالوگ آن کم باشد،  امکان استفاده و راه اندازی آنها بدون استفاده از پین های آنالوگ هم وجود دارد. روش کار استفاده از مفهوم مداری مقاومت و خازن می باشد. بدین صورت که از یک خازن بدون ولتاژ اولیه استفاده کرده و آن را از طریق یک مقاومت به منبع ولتاژ وصل کنید. در این صورت خازن با سرعتی که متناسب مقدار مقاومت می باشد، شارژ می گردد. هرچه میزان مقاومت بالاتر باشد، سرعت شارژ پایین تر خواهد بود.

 

تصویر بالا نحوه تغییرات ولتاژ خازن را که توسط اسیلوسکوپ گرفته شده است، نشان می دهد.(نمودار زرد رنگ) نمودار آبی نیز نشان می دهد که چه زمانی برنامه شروع به شمارش کرده و چه زمانی متوقف می شود.

در واقع می توان گفت که خازن مانند یک سطل و مقاومت مانند لوله می باشد. سرعت پر شدن سطل به اندازه لوله بستی دارد، بنابراین برای اندازه گیری میزان مقاومت می توان مدت زمانی که طول می کشد تا سطل به اندازه نصف پر شود، استفاده کرد.

در اینجا از خازن 0.1 میکرو فاراد استفاده شده است. می توانید مقدار خازن را با مقادیر نزدیک به این مقدار تغییر دهید، ولی مقادیر زمانی نیز تغییر خواهد کرد.

 

int fsrPin = 2;     // the FSR and cap are connected to pin2

int fsrReading;     // the digital reading

int ledPin = 13;    // you can just use the 'built in' LED

void setup(void) {

  // We'll send debugging information via the Serial monitor

  Serial.begin(9600);  

  pinMode(ledPin, OUTPUT);  // have an LED for output

}

void loop(void) {

  // read the resistor using the RCtime technique

  fsrReading = RCtime(fsrPin);

  if (fsrReading == 30000) {

    // if we got 30000 that means we 'timed out'

    Serial.println("Nothing connected!");

  } else {

    Serial.print("RCtime reading = ");

    Serial.println(fsrReading);     // the raw analog reading

    // Do a little processing to keep the LED blinking

    fsrReading /= 10;

    // The more you press, the faster it blinks!

    digitalWrite(ledPin, HIGH);

    delay(fsrReading);

    digitalWrite(ledPin, LOW);

    delay(fsrReading);

  }

  delay(100);

}

// Uses a digital pin to measure a resistor (like an FSR or photocell!)

// We do this by having the resistor feed current into a capacitor and

// counting how long it takes to get to Vcc/2 (for most arduinos, thats 2.5V)

int RCtime(int RCpin) {

 int reading = 0;  // start with 0

  // set the pin to an output and pull to LOW (ground)

  pinMode(RCpin, OUTPUT);

  digitalWrite(RCpin, LOW);

  // Now set the pin to an input and...

  pinMode(RCpin, INPUT);

  while (digitalRead(RCpin) == LOW) { // count how long it takes to rise up to HIGH

    reading++;      // increment to keep track of time

    if (reading == 30000) {

      // if we got this far, the resistance is so high

      // its likely that nothing is connected!

      break;           // leave the loop

    }

  }

  // OK either we maxed out at 30000 or hopefully got a reading, return the count

  return reading;

}

این امکان وجود دارد که مقادیر واقعی مقاومت را از طریق خواندن محاسبه کنید، اما متغییرهای موجود در برنامه و آردوینو باعث می شوند که این مقادیر ناسازگار باشند. دقت کنید هرگونه تغییر در پارامترها مانند: استفاده از منبع 3.3 ولت، و یا تغییر فرکانس کاری میکروکنترلر از 16 مگا هرتز به 8 مگا هرتز(مثل lilypad) و... باعث می شود که نتایج متفاوتی دریافت کنید.


 

ترجمه شده توسط صنعت بازار | منبع: سایت adafruit

خواندن 6563 دفعه

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (18)

  1. Hasan

تفاوت بین پیزو ۳۵ میلی متری با ۲۰ میلی متری تو چی هستش؟
۲۰ میلی متری ولتاژ کمتری تولید میکنه؟
تو سایت هم هست فکنم به اسم واشر پیزوالکتریک باشه

 
  1. پشتیبانی    Hasan

سلام دوست عزیز
تفاوت در مقدار نیرو آنها است. قطر بزرگ ماکزیمم فشار بیشتری دارد.
موفق باشید

 
  1. hasan

دیسک پیزوالکتریک PZT چه قیمت هست؟

 
  1. پشتیبان    hasan

توی فروشگاه انواع سنسورهای پیزوالکتریک و قیمتهای متنوع موجود هست. هر کدوم از انواع این سنسورها بر اساس جنس و شکل شون برای کاربردی استفاده میشن. برای اطمینان در این مورد تحقیق کنید. برای مثال میدونم که اون مدلهایی که حالت نواری دارند بیشتر به...

توی فروشگاه انواع سنسورهای پیزوالکتریک و قیمتهای متنوع موجود هست. هر کدوم از انواع این سنسورها بر اساس جنس و شکل شون برای کاربردی استفاده میشن. برای اطمینان در این مورد تحقیق کنید. برای مثال میدونم که اون مدلهایی که حالت نواری دارند بیشتر به عنوان سنسور استفاده میشن تا عملگر.

ادامه مطلب
 
  1. Hasan

ممنون
برای تولید الکتریسیته کدوم سنسور به نظر شما بهتر هستش؟

 
  1. پشتیبان    Hasan

معمولا برای تولید الکتریسیته از کرنش یا نیرو از سنسورهای پیزوالکتریک PZT استفاده میشه.

 
  1. hasan

سلام وقت بخیر
این سنسور فقط برای تشخیص فشار هستش یا میشه باهاش الکتریسیته هم تولید کرد؟

 
  1. پشتیبان    hasan

سلام حسن عزیز
نه صرفا برای اندازه گیری فشار هست و الکتریسیته اش در اون حدی نیست که چیز قابل توجهی باشه.

 
  1. سجاد عابدی

سلام میشه با اردوینو و این سنسور مثلا یه فشار مشخص تعیین کرد که اگه از اون فشار بیشتر وارد شد موتور (سروو)قطع شود و میزان فشار لحظه ای تو ال سی دی نمایش داده شود از چه نوع اردوینویی میشه استفاده کرد و اگه برنامه نویسی این فایلو به عهده میگیرین...

سلام میشه با اردوینو و این سنسور مثلا یه فشار مشخص تعیین کرد که اگه از اون فشار بیشتر وارد شد موتور (سروو)قطع شود و میزان فشار لحظه ای تو ال سی دی نمایش داده شود از چه نوع اردوینویی میشه استفاده کرد و اگه برنامه نویسی این فایلو به عهده میگیرین لطفا بهم هزینشو پیام بدین ممنون 09338291313عابدی

ادامه مطلب
 
  1. پشتیبان    سجاد عابدی

سلام دوست عزیز
از هر نوع آردوینویی میتونید استفاده کنید. دقت کنید که این سنسور تقریبا در محدوده 1 تا 100 نیوتون نیرو میتونه کار کنه.

 
  1. شهریار

سلام
خسته نباشید.
مخازنی در صنایع نفت و گاز وجود دارد که سیالی یا مایعی داخل این مخزن می باشد قسمت مانیتورینگ و کنترل باید هر نوع کم کردن و اضافه شدن موادی جهت اضافه شدن چگالی یا وزن سیال به این مخزن کنترل شود .در حقیقت هدف کنترل افزایش و کاهش...

سلام
خسته نباشید.
مخازنی در صنایع نفت و گاز وجود دارد که سیالی یا مایعی داخل این مخزن می باشد قسمت مانیتورینگ و کنترل باید هر نوع کم کردن و اضافه شدن موادی جهت اضافه شدن چگالی یا وزن سیال به این مخزن کنترل شود .در حقیقت هدف کنترل افزایش و کاهش چگالی یا وزن مایع درون این مخزن می باشد.
مثلا زمانی که آب داخل مخزن می باشد 40pcf وزن دارد زمانی که مواد خاصی بهش اضافه میشه وزن سیال به 60 pcf تغییر پیدا میکند.
Pcfوزن سیال بر حسب پوند بر فوت مکعب است.
برا کنترل این کار از دو عدد سنسور فشاری استفاده میکنیم .
حال سوال این است آیا می توان با این سنسور مقاومتی حساس به نیرو این مقدار تغییرات رو حس کرد و کنترل نمود؟
خروجی این سنسور باید مقدار 4-20 mA به سیستم ارسال کند.
لطفا توضیحات در زمینه بدید ممنون میشم.

ادامه مطلب
 
  1. پشتیبان    شهریار

سلام دوست عزیز
برای استفاده از این سنسور دقت کنید که نیروی وارد شده به سنسور در محدوده مجاز آن قرار داشته باشد.
مسئله دیگه اینکه باید مداری برای کالیبره کردن جریان در محدوده استاندارد 4-20 طراحی کنید.
و نکته دیگه اینکه یک قطعه ثانویه در نظر...

سلام دوست عزیز
برای استفاده از این سنسور دقت کنید که نیروی وارد شده به سنسور در محدوده مجاز آن قرار داشته باشد.
مسئله دیگه اینکه باید مداری برای کالیبره کردن جریان در محدوده استاندارد 4-20 طراحی کنید.
و نکته دیگه اینکه یک قطعه ثانویه در نظر بگیرید که فشار هیدرواستاتیک رو به صورت نیرو به سنسور منتقل کنه

ادامه مطلب
 
  1. سیما

سلام خسته نباشید می خواستم بدونم میشه این سنسور رو درون کفش قرار داد تا یا استفاده از اون متوجه فشارپای شخص شد ؟

 
  1. پشتیبان    سیما

محدودهٔ فشار(نیرو) همونطور که توضیح داده شده ۰-۱۰۰ نیوتون است ( معادل وزن یک بچه ۱۰ کیلویی!) پس نمیتونه برای این مورد استفاده بشه اما .F.S.R های دیگه‌ای هستند که نیروی بیشتری رو تحمل می‌کنند. دیتاشیت محصولات رو مطالعه بفرمایید

 
  1. بطالبلو

[quote name="صمد"]سلام وقت بخیر <br />برای این سنسور نوشته که 0.1 تا 10 نیوتن <br />اگر بیشتر از این مقدار بهش نیرو وارد کنیم چ اتفاقی میافته؟<br />ممنونم[/quote]<br />سلام دوست عزیز<br />احتمال بسیار زیاد سنسورتون آسیب میبینه و ممکنه...

[quote name="صمد"]سلام وقت بخیر <br />برای این سنسور نوشته که 0.1 تا 10 نیوتن <br />اگر بیشتر از این مقدار بهش نیرو وارد کنیم چ اتفاقی میافته؟<br />ممنونم[/quote]<br />سلام دوست عزیز<br />احتمال بسیار زیاد سنسورتون آسیب میبینه و ممکنه اطلاعاتی که میده غلط باشن پس از اون<br />موفق باشید

ادامه مطلب
 
  1. صمد

سلام وقت بخیر <br />برای این سنسور نوشته که 0.1 تا 10 نیوتن <br />اگر بیشتر از این مقدار بهش نیرو وارد کنیم چ اتفاقی میافته؟<br />ممنونم

 
  1. بطالبلو

[quote name="pouya"]سلام خسته نباشید میخواستم نحوه اتصال این سنسور به atmega16رو بدونم و اینکه چطوری میکروکنترلر رو برنامه نویسی کنم که این سنسور بتونه مقدار نیروی ورودی رو توی خروجی که lcd باشه نمایش بده...اینکه این سنسور مدار اصلاح کننده لازم...

[quote name="pouya"]سلام خسته نباشید میخواستم نحوه اتصال این سنسور به atmega16رو بدونم و اینکه چطوری میکروکنترلر رو برنامه نویسی کنم که این سنسور بتونه مقدار نیروی ورودی رو توی خروجی که lcd باشه نمایش بده...اینکه این سنسور مدار اصلاح کننده لازم داره یانه ؟[/quote]<br />ُسلام دوست عزیز<br />نه این سنسور مدار اصلاح کننده خاصی به نظر نمیاد نیاز داشته باشه, نحوه استفاده از اون هم مانند "استفاده از FSR" توضیح داده شده در همین آموزش هست. برای میگروکنترلر هم به همین صورت می تونید استفاده کنید.<br />موفق باشید :-)

ادامه مطلب
 
هیچ نظری در اینجا وجود ندارد
بارگذاری بیشتر ...

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
عبارت تصویر زیر را بازنویسی کنید. واضح نیست؟

محتوای آموزشی استفاده شده در این سایت محافظت شده می باشد و هرگونه کپی برداری از محتواهای تولید شده توسط تیم صنعت بازار موجب پیگرد خواهد بود. استفاده از مطالب صنعت بازار تنها با ذکر منبع به صورت لینک فعال بلامانع است

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com