الحسّاسات والمشغّلات للمتحكّمات · الفصل 2 — خصائص الحسّاسات والقياسמאפייני חיישנים ומדידה · 33.102⌂📚🏠
الفصل 2

خصائص الحسّاسات والقياس

מאפייני חיישנים ומדידה
الصفّان الحادي عشر والثاني عشر · 4 ساعات تعليمية

قبل أن نوصل أي حسّاس بالمتحكّم نسأل: ماذا يقيس، في أي مدى، وما أصغر تغيّر نراه في قراءته؟ ورقة البيانات تجيب بلغة خاصة: مدى القياس، الحساسية ودقّة التمييز. في هذا الفصل نتعلّم هذه اللغة، ونرى كيف يحوّل المحوّل التماثلي-الرقمي جهد الحسّاس إلى عدد: عدد السيبيات، 2n مستوى وجهد المرجع، ثم نعود من القيمة الخام إلى الجهد وإلى الكمية الفيزيائية. في النهاية نختار حسّاسا لمشروع بقائمة فحص بسيطة.

في نهاية هذا الفصل سنعرف أن:
  • نُعرّف الحسّاس ودالّة النقل، ونحوّل جهد مخرج LM35 إلى درجة حرارة.
  • نميّز بين الحسّاس الفعّال والحسّاس السلبي وبين أنواع المخارج: تماثلي، ثنائي الحالة ورقمي.
  • نشرح مدى القياس والحساسية كما تظهر في ورقة البيانات.
  • نشرح كيف يحوّل المحوّل التماثلي-الرقمي الجهد إلى قيمة خام، ونحوّل القيمة الخام إلى جهد وإلى كمية فيزيائية.
  • نحسب دقّة التمييز من عدد السيبيات وجهد المرجع، ونقارن بين Uno و ESP32.
  • نتعرّف على خصائص أخرى في ورقة البيانات، ونختار حسّاسا بقائمة فحص بسيطة.

חיישן ופונקציית התמסורת – الحسّاس ودالّة النقل (Sensor and Transfer Function)

الحسّاس (חיישן): هو عنصر يتأثّر بكمية فيزيائية (درجة حرارة، ضوء، ضغط، مسافة…) ويعطي إشارة كهربائية تتعلّق بقيمتها. يُسمّى أيضا «المستشعر». الحسّاس نوع من مُحوِّل الطاقة (מתמר): عنصر يحوّل الطاقة من شكل إلى آخر؛ الحسّاس يحوّل من الكمية الفيزيائية إلى الكهرباء، والمشغّل (מפעיל) بالعكس.
الكمية المقيسةT · p · d · %RHالحسّاسLM35 · DHT22المتحكّمArduino · ESP32طاقة: حرارة، ضوء…إشارة كهربائيةكمية فيزيائيةV · I · بيانات رقمية
سلسلة القياس: الكمية الفيزيائية ← الحسّاس ← إشارة كهربائية ← المتحكّم
دالّة النقل (פונקציית התמסורת (אופיין)): هي العلاقة بين مخرج الحسّاس والكمية المقيسة. تعطيها ورقة البيانات بجملة أو بجدول أو برسم بياني. في حسّاسات كثيرة تكون العلاقة خطّا مستقيما: كل وحدة من الكمية المقيسة تغيّر المخرج بنفس المقدار.

الحسّاس LM35 مثال واضح: جهد مخرجه يتناسب طرديا مع درجة الحرارة بالدرجات المئوية، وكل درجة ترفع المخرج 10 mV (قيمة نموذجية حسب ورقة البيانات). مدى قياسه حسب ورقة البيانات من −55 °C إلى 150 °C ؛ القيم السالبة تحتاج إلى توصيل خاص، وفي التوصيل البسيط بتغذية واحدة يقيس من نحو 2 °C فما فوق.

0501001500.51.01.5T [°C]Vout [V](37 ; 0.37)ΔT = 50 °CΔV = 0.5 VS = 10 mV/°C
دالّة النقل للحسّاس LM35: Vout = 10 mV/°C · T
Arduino Uno5VA0GNDLM35+VSVOUTGND10 mV/°Cالوجه المسطّح وترتيب الأطراف حسب ورقة البيانات
توصيل LM35 بالمتحكّم: +VS إلى 5 V ، VOUT إلى A0 ، و GND إلى GND
مثال 2.1
LM35 في غرفة حرارتها 37 °C. ما جهد مخرجه؟
الحل:
Vout = 10 mV/°C · 37 °C = 370 mV = 0.37 V
Vout = 0.37 V
سؤال 2.1: قرأنا من LM35 الجهد Vout = 0.62 V. ما هي درجة الحرارة؟
تحذير: إذا وصلنا LM35 بالعكس (تبديل طرفي التغذية) يسخن بسرعة وقد يتلف، وقد يحرق الإصبع. نتحقّق من ترتيب الأطراف في رسم ورقة البيانات قبل التوصيل.
▶تجربة حية — الحسّاسات التماثليةمحاكاة حيّة: حسّاسات الحرارة والضغط والمستوى؛ نغيّر الكمية المقيسة ونرى مخرج الحسّاس.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
https://fahed-lab.com/hashmal/sensors#asens
نفتح المختبر في صفحة مستقلة ↗ fahed-lab.com/hashmal/sensors#asens

סוגי חיישנים וסוגי מוצא – أنواع الحسّاسات وأنواع المخارج (Sensor and Output Types)

الحسّاس الفعّال (חיישן פעיל): يولّد إشارته الكهربائية من طاقة الكمية المقيسة نفسها، بدون مصدر تغذية. مثال: المزدوج الحراري يولّد بضعة مليفولتات من فرق درجات الحرارة.
الحسّاس السلبي (חיישן סביל (פסיבי)): يحتاج إلى مصدر تغذية خارجي كي يعطي إشارة. أمثلة: NTC و LDR تغيّران مقاومتهما فقط، ونحتاج إلى مُجزِّء جهد مغذّى؛ وكذلك كل حسّاس فيه دائرة إلكترونية، مثل LM35 و DHT22. انتبه: عند بعض الباعة «فعّال» يعني «فيه دائرة إلكترونية»؛ في هذا الكتاب LM35 حسّاس سلبي لأنه لا يعمل بدون تغذية.

من جهة المتحكّم يهمّنا نوع المخرج، لأنه يحدّد إلى أي طرف نوصله وبأي دالّة نقرؤه:

5tV
مخرج تماثلي (מוצא תקבילי): جهد يتغيّر باستمرار
5tV
مخرج ثنائي الحالة (מוצא דו-מצבי): 0 أو 5 V
5tV0110100110
مخرج رقمي (מוצא ספרתי): بيانات بتسلسل نبضات

المخرج التماثلي (LM35 ، مُجزِّء جهد مع NTC أو LDR) نوصله بطرف تماثلي ونقرؤه بـ analogRead()؛ المخرج ثنائي الحالة (مفتاح نهاية المشوار، PIR ، مفتاح العوّامة) نوصله بطرف رقمي ونقرؤه بـ digitalRead()؛ والمخرج الرقمي (DHT22 ، DS18B20 ، حسّاسات I2C) نقرؤه بطرف رقمي ومكتبة. الحسّاس فوق الصوتي HC-SR04 يعطي نبضة يتناسب عرضها مع المسافة، ونقيسها بـ pulseIn().

سؤال 2.2: لكل حسّاس نكتب: فعّال أم سلبي؟ وما نوع مخرجه؟
(أ) مزدوج حراري.
(ب) LDR في مُجزِّء جهد.
(ج) DHT22.

תחום מדידה, רגישות ורזולוציה – مدى القياس، الحساسية ودقّة التمييز (Range, Sensitivity, Resolution)

مدى القياس (תחום מדידה): هو المجال بين أصغر قيمة xmin وأكبر قيمة xmax يستطيع الحسّاس قياسهما حسب ورقة البيانات. عرض المدى (רוחב התחום, Span) هو الفرق بينهما، ويُسمّى أيضا المدى الكامل (סקאלה מלאה) ويُرمز له FS: FS = xmax − xmin. قراءة خارج المدى لا نثق بها.
الحساسية (רגישות): هي مقدار تغيّر المخرج عندما تتغيّر الكمية المقيسة بوحدة واحدة، أي ميل دالّة النقل. حساسية LM35 هي 10 mV/°C: كل درجة مئوية ترفع المخرج 10 mV. كلما كانت الحساسية أكبر كان التغيّر الصغير أسهل للقياس.
−60−40−20020406080100مدى القياس120 °CTmin = −40 °CTmax = 80 °C°C
مدى قياس الحرارة في DHT22 (قيمة نموذجية حسب ورقة البيانات): FS = 80 − (−40) = 120 °C
025500.51.0T [°C]V [V]A: 20 mV/°CB: 10 mV/°C
حساسية A ضعف حساسية B: نفس التغيّر في T يعطي ضعف التغيّر في V

من الجهد إلى عدد: المحوّل التماثلي-الرقمي – ממתח למספר: הממיר התקבילי-ספרתי:

المتحكّم لا يعمل بالجهد مباشرة. المحوّل التماثلي-الرقمي فيه يقارن جهد الطرف بـجهد المرجع Vref ، ويعطي عددا صحيحا اسمه القيمة الخام N. المحوّل الذي له n سيبيات يقسم المجال من 0 إلى Vref إلى 2n مستوى، فتكون القيمة الخام من 0 حتى Nmax = 2n − 1:

اللوحعدد السيبيات nعدد المستويات 2nالقيمة الخام Nجهد المرجع Vref
Arduino Uno1010240…10235 V
ESP321240960…40953.3 V

القيمة الخام تتناسب مع الجهد: 0 V يعطي 0 ، و Vref يعطي Nmax. في البرنامج نسير بالعكس: من القيمة الخام إلى الجهد، ومن الجهد إلى الكمية الفيزيائية بالقسمة على الحساسية.

V = N·VrefNmax
مثال 2.2
LM35 موصول بالطرف A0 في Arduino Uno ، والحرارة 37 °C (Vout = 0.37 V).
(أ) ما القيمة الخام التي يعطيها المحوّل (الجزء الصحيح)؟
(ب) البرنامج يحوّل هذه القيمة إلى جهد ثم إلى درجة حرارة. ماذا يعرض؟
الحل:
N = Vout·NmaxVref = 0.37 · 10235 = 75.7 → 75
V = 75 · 51023 = 0.367 V , T = 0.367 V0.01 V/°C = 36.7 °C

الفرق الصغير بين 37 °C و 36.7 °C سببه أن القيمة الخام عدد صحيح: المحوّل لا يرى تغيّرا أصغر من خطوة واحدة.

N = 75 , T ≈ 36.7 °C
سؤال 2.3: قرأ Uno من LM35 القيمة الخام N = 154. ما الجهد على الطرف وما درجة الحرارة؟
2021222320212223Ttrue [°C]Tshown [°C]0.49 °C
القراءة مع LM35 في Uno تقفز بخطوات 0.49 °C
دقّة التمييز (רזולוציה (הפרדה)): هي أصغر تغيّر في الكمية المقيسة يظهر كتغيّر في القراءة. في الحسّاس الرقمي تُعطى في ورقة البيانات (DHT22: 0.1 °C ؛ DS18B20 بدقّة 12 سيبية: 0.0625 °C — قيم نموذجية). في الحسّاس التماثلي يحدّدها غالبا المحوّل التماثلي-الرقمي.

جهد الخطوة الواحدة لمحوّل عدد سيبياته n هو ΔV ، ونحوّله إلى وحدة الكمية المقيسة بالقسمة على الحساسية S:

ΔV = Vref2n
Δx = ΔVS
مثال 2.3
نحسب دقّة تمييز LM35:
(أ) مع Uno (10 سيبيات، 5 V).
(ب) مع ESP32 (12 سيبية، 3.3 V).
الحل:
ΔV = 5210 = 4.88 mV , ΔT = 4.8810 = 0.49 °C
ΔV = 3.3212 = 0.806 mV , ΔT = 0.80610 = 0.081 °C

خطوة ESP32 أصغر بنحو 6 مرات: أربعة أضعاف المستويات، وجهد مرجع أصغر.

سؤال 2.4: حسّاس حساسيته 20 mV/°C موصول بـ Uno. ما دقّة التمييز بالدرجات؟

מאפיינים נוספים בגיליון הנתונים – خصائص أخرى في ورقة البيانات (Other Datasheet Properties)

في ورقة البيانات خصائص أخرى. لا نحسبها في هذا الكتاب، لكن نفهم معناها حين نقرأ ورقة البيانات أو نقارن بين حسّاسين:

عندما نحتاج إلى قراءة أدقّ نُجري المعايرة (כיול): نقارن قراءة الحسّاس بقراءة جهاز مرجعي (מכשיר ייחוס) دقيق، ونضيف في البرنامج تصحيحا يقرّب القراءة من القيمة الحقيقية.

خطأ شائع: دقّة التمييز ليست الدقّة. إذا طبعنا قراءة LM35 في Uno بثلاث خانات عشرية لا تصبح أدقّ: ما زالت تقفز بخطوات 0.49 °C ، وقد تكون كلها بعيدة قليلا عن القيمة الحقيقية. خطوة صغيرة تعني أننا نرى التغيّرات الصغيرة، ولا تعني أن القراءة صحيحة.

בחירת חיישן – اختيار الحسّاس (Choosing a Sensor)

قبل أن نختار حسّاسا نمرّ على قائمة فحص قصيرة، ونجيب عن كل سؤال من ورقة البيانات:

  1. ماذا نقيس وفي أي مدى؟ مدى قياس الحسّاس يغطّي المدى الذي يحتاجه المشروع.
  2. ما نوع المخرج؟ تماثلي، ثنائي الحالة أو رقمي: هذا يحدّد الطرف الذي نوصله به، والدالّة أو المكتبة التي نقرؤه بها.
  3. هل يناسب جهد المتحكّم؟ Uno يعمل بـ 5 V ، و ESP32 يعمل بـ 3.3 V ولا يتحمّل 5 V في أطرافه.
  4. هل دقّة التمييز والدقّة كافيتان؟ نقارنهما بما يطلبه المشروع.
  5. كم مرة نحتاج إلى قراءة؟ بعض الحسّاسات بطيئة: DHT22 يعطي قراءة جديدة كل ثانيتين على الأكثر.
  6. أين يعمل؟ في الماء، في الغبار، في الحرارة العالية — وكم سعره.

مثال: قياس الحرارة في دفيئة من 0 إلى 50 °C بدقّة ±1 °C ، قراءة كل 5 s ، بالمتحكّم ESP32 الذي يعمل بجهد 3.3 V. نكتب المتطلّبات في عمود، ونضع أمامها ما تقوله ورقة البيانات لكل حسّاس مرشَّح:

الخاصّيةالمطلوبLM35DS18B20DHT22
المخرج والمكتبة—تماثلي 10 mV/°C ، بلا مكتبةرقمي 1-Wire، مكتبتا OneWire + DallasTemperatureرقمي بسلك واحد، مكتبة DHT
مدى القياس0…50 °C−55…150 °C−55…125 °C−40…80 °C
الدقّة±1 °C±1 °C عند 25 °C±0.5 °C (−10…85 °C)±0.5 °C
دقّة التمييز0.5 °Cحسب المحوّل0.0625 °C0.1 °C
يعمل بـ3.3 V؟نعملا (من 4 V)نعم (3.0…5.5 V)نعم
زمن بين قراءتين5 sفوري (تماثلي)750 ms2 s

القيم نموذجية حسب أوراق البيانات، وفي المشروع نتحقّق من ورقة بيانات الطراز الذي اشتريناه. القرار: LM35 يخرج من المنافسة لأنه يحتاج إلى 4 V على الأقل. DS18B20 و DHT22 يحقّقان كل المتطلّبات: نختار DHT22 إذا أردنا قياس الرطوبة أيضا، و DS18B20 في مجسّ مغلق داخل التربة أو الماء.

على أيّ لوحة؟ – על איזה לוח?

قبل أن نختار الحسّاس نسأل أيضا: بأيّ لوحة سنقرؤه؟ أطراف Uno تعمل بـ 5 V ، وأطراف ESP32 والراسبيري باي بـ 3.3 V ولا تتحمّل 5 V ، والراسبيري باي لا يحتوي على محوّل تماثلي-رقمي (الفصل 4). الجدول يلخّص حسّاسات هذا الكتاب:

الحسّاسالمخرجArduino UnoESP32Raspberry Pi
DHT22رقميمباشرةمباشرة، تغذية 3.3 Vمباشرة، مكتبة بايثون
DS18B20رقمي (1-Wire)مباشرةمباشرةمباشرة، 1-Wire مدمج
PIRرقميمباشرةمباشرة، المخرج 3.3 Vمباشرة، المخرج 3.3 V
زرّ لحظيرقميمباشرةمباشرةمباشرة
HC-SR04رقمي (نبضة)مباشرةمُجزِّء على ECHOمُجزِّء على ECHO
LM35تماثليمباشرةمباشرة، تغذية 5 Vعبر محوّل خارجي
LDRمقاومة (مُجزِّء)مباشرةمباشرة، مُجزِّء من 3.3 Vعبر محوّل خارجي
بوتنشيومترتماثليمباشرةمباشرة، من 3.3 Vعبر محوّل خارجي
ACS712تماثليمباشرةمُجزِّء على المخرجمحوّل خارجي ومُجزِّء
▶تجربة حية — جدول مقارنة الحسّاساتجدول يقارن حسّاسات المتحكّمات: ماذا يقيس كل حسّاس، نوع الإشارة، التغذية، وهل يوصل بـESP32 مباشرة.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
https://fahed-lab.com/micro/sensors_guide#cmp
نفتح المختبر في صفحة مستقلة ↗ fahed-lab.com/micro/sensors_guide#cmp

ملخّص قوانين الفصل:

القانونالصيغة
دالّة النقل للحسّاس LM35Vout = 10 mV/°C · T
عرض المدىFS = xmax − xmin
عدد مستويات المحوّل وأكبر قيمة خام2n , Nmax = 2n − 1
من القيمة الخام إلى الجهدV = N·VrefNmax
دقّة تمييز المحوّلΔV = Vref2n
دقّة التمييز بوحدة الكميةΔx = ΔVS

قاموس المصطلحات – מילון מונחים:

بالعربيةبالعبرية (كما تظهر في الامتحان)English
الحسّاس (المستشعر)חיישןSensor
مُحوِّل الطاقةמתמרTransducer
دالّة النقلפונקציית תמסורת (אופיין)Transfer function
حسّاس فعّال · حسّاس سلبيחיישן פעיל · חיישן סבילActive · passive sensor
مخرج تماثلي · رقميמוצא תקבילי · ספרתיAnalog · digital output
مخرج ثنائي الحالةמוצא דו-מצבי (בינארי)Binary (switching) output
مدى القياسתחום מדידהMeasuring range
عرض المدى (المدى الكامل)רוחב התחום (סקאלה מלאה)Span (full scale, FS)
الحساسيةרגישותSensitivity
المحوّل التماثلي-الرقميממיר תקבילי-ספרתיAnalog-to-digital converter (ADC)
القيمة الخام · جهد المرجعערך גולמי · מתח ייחוסRaw value · reference voltage
دقّة التمييزרזולוציה (הפרדה)Resolution
الدقّة · الخطّيةדיוק · לינאריותAccuracy · linearity
زمن الاستجابة · الانجرافזמן תגובה · סחףResponse time · drift
المعايرة · جهاز مرجعيכיול · מכשיר ייחוסCalibration · reference instrument

أسئلة للتمرين:

1.
مخرج LM35 يساوي 0.285 V. ما هي درجة الحرارة؟
الإجابات: T = 28.5 °C
2.
حسّاس مدى قياسه من −20 °C إلى 120 °C.
(أ) نحسب عرض المدى.
(ب) قرأ البرنامج منه 150 °C. هل نثق بالقراءة؟
الإجابات: (أ) FS = 140 °C. (ب) لا، القيمة خارج مدى القياس
3.
مخرج حسّاس ضغط 1.30 V عند 20 kPa و 3.70 V عند 80 kPa ، ودالّة النقل خطّية.
(أ) بكم يتغيّر المخرج لكل 1 kPa (الحساسية)؟
(ب) ما المخرج عند 50 kPa؟
الإجابات: (أ) S = 0.04 V/kPa. (ب) V = 2.5 V
4.
لكل محوّل نحسب عدد المستويات وأكبر قيمة خام:
(أ) 8 سيبيات.
(ب) 10 سيبيات.
(ج) 12 سيبية.
الإجابات: (أ) 256 ، 255. (ب) 1024 ، 1023. (ج) 4096 ، 4095
5.
حسّاس الضغط من السؤال 3 موصول بـ Uno (10 سيبيات، 5 V). ما جهد الخطوة الواحدة، وما دقّة التمييز بوحدة kPa؟
الإجابات: ΔV = 4.88 mV ، Δp ≈ 0.122 kPa
6.
في Uno يمكن اختيار جهد مرجع داخلي 1.1 V (قيمة نموذجية حسب ورقة بيانات المتحكّم). نحسب دقّة تمييز LM35 ، وأعلى درجة حرارة يمكن قياسها.
الإجابات: ΔT ≈ 0.107 °C ، وأعلى درجة 110 °C
7.
(أ) قرأ Uno من LM35 القيمة الخام N = 51. نحسب الجهد ودرجة الحرارة.
(ب) قرأ ESP32 (12 سيبية، 3.3 V) من حسّاس القيمة الخام N = 2048. ما الجهد على الطرف؟
الإجابات: (أ) V = 0.249 V ، T = 24.9 °C. (ب) V = 1.65 V
8.
لكل حسّاس نكتب نوع المخرج وبأي دالّة أو مكتبة نقرؤه:
(أ) HC-SR04.
(ب) PIR.
(ج) DS18B20.
(د) LDR في مُجزِّء جهد.
(هـ) مفتاح نهاية المشوار.
الإجابات: (أ) نبضة، pulseIn(). (ب) ثنائي الحالة، digitalRead(). (ج) رقمي، مكتبتا OneWire و DallasTemperature. (د) تماثلي، analogRead(). (هـ) ثنائي الحالة، digitalRead()
9.
دقّة تمييز DS18B20 هي 0.0625 °C ودقّته ±0.5 °C (قيم نموذجية). قرأ 23.0625 °C.
(أ) هل الحرارة الحقيقية 23.0625 °C بالضبط؟
(ب) بين أي قيمتين تقع؟
الإجابات: (أ) لا: دقّة التمييز الصغيرة لا تعني دقّة. (ب) بين 22.56 °C و 23.56 °C
10.
نريد قياس حرارة ماء في خزّان من 10 إلى 90 °C بدقّة ±1 °C بالمتحكّم ESP32. نستعين بجدول البند 2.5 ونختار حسّاسا مع التعليل.
الإجابات: DS18B20 في مجسّ مغلق: مداه ودقّته ملائمان ويعمل بـ3.3 V؛ DHT22 مداه حتى 80 °C فقط، و LM35 يحتاج 4 V
الإجابات النهائية لأسئلة الفصل
2.1 T = 62 °C
2.2 (أ) فعّال، تماثلي (بضعة mV). (ب) سلبي، تماثلي. (ج) سلبي، رقمي
2.3 V = 0.753 V ، T = 75.3 °C
2.4 ΔT ≈ 0.244 °C
لوحة القوانين: كل قوانين هذا الفصل مجموعة مع رسومها وجداول رموزها في الفصل 15 — لوحة القوانين الشاملة. (נוסחאון הספר)