- مستشعر الغاز MQ6
- كيفية قياس جزء في المليون باستخدام مستشعرات الغاز MQ؟
- المكونات المطلوبة
- تخطيطي
- مستشعر MQ مع برمجة PIC
مستشعرات الغاز من سلسلة MQ هي أنواع شائعة جدًا من أجهزة الاستشعار المستخدمة في أجهزة الكشف عن الغاز لاكتشاف أو قياس أنواع معينة من الغازات. تُستخدم هذه المستشعرات على نطاق واسع في جميع الأجهزة المتعلقة بالغاز مثل أجهزة كشف الدخان البسيطة إلى أجهزة مراقبة جودة الهواء الصناعية. لقد استخدمنا بالفعل مستشعرات الغاز MQ هذه مع Arduino لقياس بعض الغازات الضارة مثل الأمونيا. في هذه المقالة ، سوف نتعلم كيفية استخدام مستشعرات الغاز هذه مع ميكروكنترولر PIC ، لقياس قيمة جزء في المليون من الغاز وعرضه على شاشة LCD مقاس 16 × 2.
كما ذكرنا سابقًا ، هناك أنواع مختلفة من أجهزة استشعار سلسلة MQ المتوفرة في السوق ويمكن لكل مستشعر قياس أنواع مختلفة من الغازات كما هو موضح في الجدول أدناه. من أجل هذه المقالة ، سنستخدم مستشعر الغاز MQ6 مع PIC الذي يمكن استخدامه للكشف عن وجود غاز البترول المسال وتركيزه. ومع ذلك ، باستخدام نفس الأجهزة والبرامج الثابتة ، يمكن أيضًا استخدام مستشعرات سلسلة MQ الأخرى دون تعديل كبير في الكود وجزء الجهاز.
المستشعر | يكتشف |
MQ-2 | الميثان ، البيوتان ، غاز البترول المسال ، الدخان |
MQ-3 | الكحول والإيثانول والدخان |
MQ-4 | الميثان والغاز الطبيعي المضغوط |
MQ-5 | الغاز الطبيعي وغاز البترول المسال |
MQ-6 | غاز البترول المسال وغاز البوتان |
MQ-7 | أول أكسيد الكربون |
MQ-8 | غاز الهيدروجين |
MQ-9 | أول أكسيد الكربون والغازات القابلة للاشتعال. |
MQ131 | الأوزون |
MQ135 | جودة الهواء (بنزين ، كحول ، دخان) |
MQ136 | غاز كبريتيد الهيدروجين |
MQ137 | الأمونيا |
MQ138 | البنزين ، التولوين ، الكحول ، الأسيتون ، البروبان ، غاز الفورمالديهايد ، الهيدروجين |
MQ214 | الميثان والغاز الطبيعي |
MQ216 | الغاز الطبيعي وغاز الفحم |
MQ303A | الكحول والإيثانول والدخان |
MQ306A | غاز البترول المسال وغاز البوتان |
MQ307A | أول أكسيد الكربون |
MQ309A | أول أكسيد الكربون والغازات القابلة للاشتعال |
MG811 | ثاني أكسيد الكربون (CO2) |
AQ-104 | جودة الهواء |
مستشعر الغاز MQ6
توضح الصورة أدناه مخطط دبوس مستشعر MQ6. ومع ذلك ، فإن الصورة اليسرى عبارة عن مستشعر MQ6 قائم على الوحدة النمطية للتفاعل مع وحدة التحكم الدقيق ، كما يظهر الرسم التخطيطي للوحدة في تلك الصورة.
الدبوس 1 هو VCC ، الدبوس 2 هو GND ، الدبوس 3 هو المخرج الرقمي (المنطق منخفض عند اكتشاف الغاز.) والدبوس 4 هو الإخراج التناظري. يستخدم القدر لضبط الحساسية. ليس RL. المقاوم RL هو المقاوم الصحيح لمصباح DOUT LED.
كل أجهزة الاستشعار سلسلة MQ لديه عنصر التدفئة و المقاومة الاستشعار. اعتمادًا على تركيز الغاز ، تتغير مقاومة الاستشعار ومن خلال اكتشاف المقاومة المتغيرة ، يمكن قياس تركيز الغاز. ل قياس تركيز غاز في PPM جميع أجهزة الاستشعار MQ توفر رسم بياني لوغاريتمي وهو أمر مهم جدا. يقدم الرسم البياني نظرة عامة على تركيز الغاز مع نسبة RS و RO.
كيفية قياس جزء في المليون باستخدام مستشعرات الغاز MQ؟
RS هي مقاومة الإحساس أثناء وجود غاز معين بينما RO هي مقاومة الإحساس في الهواء النظيف بدون أي غاز معين. يوفر الرسم البياني اللوغاريتمي أدناه المأخوذ من ورقة البيانات نظرة عامة على تركيز الغاز مع مقاومة حساس MQ6. يستخدم مستشعر MQ6 للكشف عن تركيز غاز البترول المسال. لذلك ، سيوفر مستشعر MQ6 مقاومة خاصة أثناء حالة الهواء النظيف حيث لا يتوفر غاز البترول المسال. أيضًا ، ستتغير المقاومة كلما تم اكتشاف غاز البترول المسال بواسطة مستشعر MQ6.
لذلك ، نحتاج إلى رسم هذا الرسم البياني في برامجنا الثابتة على غرار ما فعلناه في مشروع كاشف الغاز في Arduino. يجب أن تحتوي الصيغة على 3 نقاط بيانات مختلفة. أول نقطتي بيانات هما بداية منحنى LPG ، بإحداثيات X و Y. البيانات الثالثة هي المنحدر.
لذلك ، إذا حددنا المنحنى الأزرق الغامق وهو منحنى LPG ، فإن بداية المنحنى في إحداثي X و Y هي 200 و 2. لذا ، فإن أول نقطة بيانات من المقياس اللوغاريتمي هي (log200 ، log2) وهي (2.3 ، 0.30).
لنجعلها X1 و Y1 = (2.3 ، 0.30). نهاية المنحنى هي نقطة البيانات الثانية. من خلال نفس العملية الموضحة أعلاه ، تكون X2 و Y2 (log 10000 ، log0.4). وبالتالي ، X2 و Y2 = (4 ، -0.40). الصيغة هي للحصول على ميل المنحنى
= (Y2-Y1) / (X2-X1) = (- 0.40 - 0.30) / (4 - 2.3) = (-0.70) / (1.7) = -0.41
يمكن إعطاء الرسم البياني الذي نحتاجه كـ
LPG_Curve = {البداية X والبدء Y ، المنحدر} LPG_Curve = {2.3 ، 0.30 ، -0.41}
بالنسبة إلى مستشعرات MQ الأخرى ، احصل على البيانات المذكورة أعلاه من ورقة البيانات ومخطط الرسم البياني اللوغاريتمي. ستختلف القيمة بناءً على المستشعر والغاز المقاس. بالنسبة لهذه الوحدة المعينة ، تحتوي على دبوس رقمي يوفر فقط معلومات حول وجود الغاز أم لا. بالنسبة لهذا المشروع ، يتم استخدامه أيضًا.
المكونات المطلوبة
المكونات المطلوبة لربط مستشعر MQ بوحدة التحكم الدقيقة PIC موضحة أدناه-
- 5V امدادات الطاقة
- اللوح
- 4.7 كيلو المقاوم
- شاشة LCD مقاس 16x2
- 1 كيلو المقاوم
- 20 ميجا هرتز الكريستال
- 33pF مكثف - 2 قطعة
- متحكم PIC16F877A
- مستشعر سلسلة MQ
- بيرغ وأسلاك التوصيل الأخرى.
تخطيطي
المخطط التخطيطي لمستشعر الغاز هذا مع مشروع الموافقة المسبقة عن علم هو أمر مستقيم للأمام. يتم توصيل الدبوس التناظري بـ RA0 والرقم الرقمي بـ RD5 لقياس الجهد التناظري الذي توفره وحدة مستشعر الغاز. إذا كنت جديدًا تمامًا على PIC ، فقد ترغب في إلقاء نظرة على البرنامج التعليمي PIC ADC والبرنامج التعليمي PIC LCD لفهم هذا المشروع بشكل أفضل.
الدائرة مبنية في لوح التجارب. بمجرد اكتمال الاتصالات ، يبدو الإعداد الخاص بي كما هو موضح أدناه.
مستشعر MQ مع برمجة PIC
الجزء الرئيسي من هذا الرمز هو الوظيفة الرئيسية والوظائف الطرفية الأخرى المرتبطة بها. يمكن العثور على البرنامج الكامل في أسفل هذه الصفحة ، ويتم شرح مقتطفات التعليمات البرمجية المهمة على النحو التالي
تُستخدم الوظيفة أدناه للحصول على قيمة مقاومة المستشعر في الهواء الحر. نظرًا لاستخدام القناة التناظرية 0 ، فإنها تحصل على بيانات من القناة التناظرية 0. هذا لمعايرة مستشعر الغاز MQ.
تعويم SensorCalibration () { عدد صحيح ؛ // ستعمل هذه الوظيفة على معايرة المستشعر في صمام تعويم الهواء الحر = 0 ؛ لـ (count = 0؛ count <50؛ count ++) {// خذ عينات متعددة واحسب متوسط القيمة val + = حساب المقاومة (ADC_Read (0)) ؛ __delay_ms (500) ؛ } val = val / 50 ؛ val = val / RO_VALUE_CLEAN_AIR ؛ // مقسومة على RO_CLEAN_AIR_FACTOR تنتج قيمة العائد RO ؛ }
تُستخدم الوظيفة أدناه لقراءة القيم التناظرية لمستشعر MQ ومتوسطها لحساب قيمة Rs
تعويم read_MQ () { عدد صحيح ؛ تعويم rs = 0 ؛ لـ (count = 0؛ count <5؛ count ++) {// خذ قراءات متعددة واحتسب متوسطها. rs + = حساب المقاومة (ADC_Read (0)) ؛ // rs تتغير حسب تركيز الغاز. __delay_ms (50) ؛ } rs = rs / 5 ؛ عودة rs }
تُستخدم الوظيفة أدناه لحساب المقاومة من مقاوم مقسم الجهد ومقاومة الحمل.
float calculate_resistance (int adc_channel) {// المستشعر ومقاوم الحمل يشكلان مقسم جهد. لذلك باستخدام القيمة التناظرية وإرجاع قيمة التحميل (((تعويم) RL_VALUE * (1023-adc_channel) / adc_channel)) ؛ // سنجد المقاوم الاستشعار. }
يتم تحديد RL_VALUE في بداية الكود كما هو موضح أدناه
#define RL_VALUE (10) // حدد مقاومة الحمل على السبورة ، بالكيلو أوم
قم بتغيير هذه القيمة بعد التحقق من مقاومة الحمل على متن الطائرة. يمكن أن تكون مختلفة في لوحات استشعار MQ الأخرى. لرسم البيانات المتاحة في مقياس السجل ، يتم استخدام الوظيفة أدناه.
int gas_plot_log_scale (float rs_ro_ratio، float * curve) { return pow (10، (((log (rs_ro_ratio) -curve) / curve) + curve)) ؛ }
المنحنى هو منحنى LPG المحدد أعلاه من الكود الذي تم حسابه مسبقًا في مقالتنا أعلاه.
تعويم MQ6_curve = {2.3،0.30، -0.41} ، // الرسم البياني ، قم بتغيير هذا لمستشعر معين
أخيرًا ، الوظيفة الرئيسية التي نقوم بداخلها بقياس القيمة التناظرية ، وحساب جزء في المليون وعرضها على شاشة LCD موضحة أدناه
void main () { system_init () ؛ شاشة واضحة()؛ lcd_com (FIRST_LINE) ؛ lcd_puts ("معايرة….") ؛ Ro = SensorCalibration () ؛ //شاشة واضحة()؛ lcd_com (FIRST_LINE) ؛ lcd_puts ("تم!") ؛ //شاشة واضحة()؛ lcd_com (FIRST_LINE) ؛ lcd_print_number (رو) ؛ lcd_puts ("K Ohms") ؛ __delay_ms (1500) ؛ gas_detect = 0 ؛ بينما (1) { if (gas_detect == 0) { lcd_com (FIRST_LINE) ؛ lcd_puts ("الغاز موجود") ؛ lcd_com (SECOND_LINE) ، lcd_puts ("غاز جزء في المليون =") ؛ تعويم rs = read_MQ () ؛ نسبة التعويم = rs / Ro ؛ lcd_print_number (gas_plot_log_scale (النسبة ، MQ6_curve)) ؛ __delay_ms (1500) ؛ شاشة واضحة()؛ } آخر { lcd_com (FIRST_LINE) ؛ lcd_puts ("الغاز غير موجود") ؛ } } }
أولاً ، يتم قياس التناضح العكسي للمستشعر في الهواء النظيف. ثم تتم قراءة الدبوس الرقمي للتحقق مما إذا كان الغاز موجودًا أم لا. في حالة وجود الغاز ، يتم قياس الغاز بواسطة منحنى LPG المقدم.
لقد استخدمت ولاعة للتحقق مما إذا كانت قيمة جزء في المليون تتغير عند اكتشاف الغاز. تحتوي ولاعات السيجار هذه على غاز البترول المسال بداخلها ، والذي عند إطلاقه في الهواء سيتم قراءته بواسطة المستشعر الخاص بنا وتتغير قيمة PPM على شاشة LCD كما هو موضح أدناه.
يمكن العثور على العمل الكامل في الفيديو الوارد في أسفل هذه الصفحة. إذا كانت لديك أي أسئلة ، فيرجى تركها في قسم التعليقات ، أو استخدام منتدياتنا لأسئلة فنية أخرى.