MPS20N0040D یک سنسور اندازه گیری فشار سیالات با تکنولوژی MEMS می باشد . این سنسور قابلیت اندازه گیری فشار در محدوده 0 تا 8.5psi ( چهل کیلو پاسکال ) را دارد . قیمت ارزان و اطمینان پذیری بالا این سنسور را به یکی از مصرفی ترین سنسور های اندازه گیری فشار تبدیل کرده است . همچنین طراجی ای سنسور به گونه ای است که قابلیت اتصال تیوپ های 2.5 میلی متری را دارد . MPS20N0040D یک سنسور مقاومتی است که خروجی آن به صورت یک سیگنال آنالوگ بین 50 تا 100 میلی ولت می باشد . به دلیل دامنه کم سیگنال خروجی این سنسور ، می توانید از ADC های با دقت بالا برای اتصال سنسور به MCU ها استفاده کنید . در این آموزش ما از ماژول TM7711 استفاده می کنیم که شامل یک سنسور MPS20N0040D و چیپ TM7711 می باشد . TM7711 یک ADC با دقت 24 بیت است که خروجی آن به صورت سریال می باشد .

در تصویر زیر مدار داخلی MPS20N0040D نشان داده شده است :

 

در تصویر زیر پین های خروجی ماژول TM7711 نشان داده شده است :

ماژول TM7711 دارای 4 پین به شرح زیر است :

VCC پین تغذیه ماژول که باید به +5V متصل شود .

OUT پین خروجی دیتای ماژول .

SCK پین پالس ورودی ماژول .

GND پین زمین ماژول .

 

راه اندازی ماژول TM7711 :

در راه اندازی این ماژول ، پس اتصال تغذیه با هر لبه بالا رونده بر روی پین SCK ، یک بیت از داده بر روی پین OUT قرار می گیرد . مقادیر به ترتیب از MSB به LSB در خروجی قرار خواهند گرفت که در مجموع 24 بیت می باشد . پس از خواندن 24 بیت باید پین SCK تا پایان دوره زمانی در حالت LOW قرار بگیرد .درتصویر پایین سیگنال های SCK و OUT نشان داده شده اند :

 

برنامه آردوینو برای راه اندازی ماژول TM7711 :

#include "HX711.h"




HX711 scale;




void setup() {

  Serial.begin(38400);

  Serial.println("HX710B Demo with HX711 Library");




  Serial.println("Initializing the scale");

  // parameter "gain" is ommited; the default value 128 is used by the library

  // HX711.DOUT               - pin #A1

  // HX711.PD_SCK           - pin #A0

  scale.begin(A1, A0);




  Serial.println("Before setting up the scale:");

  Serial.print("read: \t\t");

  Serial.println(scale.read());                                  // print a raw reading from the ADC




  Serial.print("read average: \t\t");

  Serial.println(scale.read_average(20));              // print the average of 20 readings from the ADC




  Serial.print("get value: \t\t");

  Serial.println(scale.get_value(5));                        // print the average of 5 readings from the ADC minus the tare weight (not set yet)




  Serial.print("get units: \t\t");

  Serial.println(scale.get_units(5), 1);   // print the average of 5 readings from the ADC minus tare weight (not set) divided

                                                                                                // by the SCALE parameter (not set yet)




  scale.set_scale(2280.f);                      // this value is obtained by calibrating the scale with known weights; see the README for details

  scale.tare();                                                                   // reset the scale to 0




  Serial.println("After setting up the scale:");




  Serial.print("read: \t\t");

  Serial.println(scale.read());                 // print a raw reading from the ADC




  Serial.print("read average: \t\t");

  Serial.println(scale.read_average(20));       // print the average of 20 readings from the ADC




  Serial.print("get value: \t\t");

  Serial.println(scale.get_value(5));                        // print the average of 5 readings from the ADC minus the tare weight, set with tare()




  Serial.print("get units: \t\t");

  Serial.println(scale.get_units(5), 1);        // print the average of 5 readings from the ADC minus tare weight, divided

                                                                                                // by the SCALE parameter set with set_scale




  Serial.println("Readings:");

}




void loop() {

  Serial.print("one reading:\t");

  Serial.print(scale.get_units(), 1);

  Serial.print("\t| average:\t");

  Serial.println(scale.get_units(10), 1);




  scale.power_down();                                                  // put the ADC in sleep mode

  delay(5000);

  scale.power_up();

}

در برنامه فوق از کتابخانه TM7711 استفاده شده است که می توانید آن را از لینک زیر دانلود کنید :

https://github.com/bogde/HX711/archive/master.zip

 

برای ارتباط ماژول TM7711 به آردوینو پین OUT را به A1 و پین SCK را به A0 آردوینو متصل کنید . همچنین تغذیه ماژول 5 ولت می باشد .

Tags:
About Author: USER_4