مستشعرات الحمل

weighing-scale-with-white-background

فهم مستشعرات الحمل: كيف تعمل وكيف تستخدمها

هل تساءلت يومًا كيف يعمل الميزان الرقمي عند وزن الأشياء؟ أو كيف تقيس الآلات الصناعية مقدار القوة التي تطبقها؟ السر يكمن في مستشعر خاص يُسمى مستشعر الحمل—وهو مكون صغير لكنه قوي، يحوّل القوة الميكانيكية إلى إشارات كهربائية قابلة للقياس.

في هذا المقال، سنتعرف على ما هي مستشعرات الحمل، كيف تعمل، وكيف يمكنك استخدامها في مشاريعك الإلكترونية باستخدام الأردوينو.

Load sensors combined

1. ما هو مستشعر الحمل؟

مستشعر الحمل (Load Cell) هو نوع من المحولات (Transducer) وظيفته تحويل القوة الميكانيكية (مثل الوزن أو الضغط) إلى إشارة كهربائية.

هذه الإشارة الكهربائية عادة ما تكون صغيرة جدًا، وتحتاج إلى تضخيم قبل أن يتمكن متحكم مثل أردوينو من قراءتها.

تُستخدم مستشعرات الحمل في مجموعة واسعة من التطبيقات، مثل:

  • موازين المطبخ الإلكترونية
  • أنظمة الوزن الصناعية
  • الحقائب الذكية
  • أذرع الروبوت
  • مراقبة إجهاد الهياكل والجسور


Robot arm
structural health monitoring sensor

2. كيف يعمل مستشعر الحمل؟

تعتمد معظم مستشعرات الحمل على تقنية تُسمى مقياس الانفعال (Strain Gauge)، وهو سلك أو نمط معدني يتغير مقاومته الكهربائية عند تعرضه للشد أو الانضغاط.

عندما يُطبق وزن على المستشعر، تحدث تشوهات صغيرة جدًا في هذا المقياس، تؤدي إلى تغير في مقاومته. ولأن هذا التغير صغير جدًا، يتم توصيل أربعة من هذه المقاييس في تشكيل يُسمى جسر ويتستون (Wheatstone Bridge) لزيادة الدقة واستقرار الإشارة.

Strain gauge implanted in a metal bar
load-cell-with-compression-tension-illustration
strain-gauges-in-wheatstone-bridge-formation

3. أنواع مستشعرات الحمل

يوجد عدة أنواع من مستشعرات الحمل، مصممة لتناسب تطبيقات ميكانيكية مختلفة:

مستشعر الحمل النقطي (Single-Point Load Cell)

يُعرف أيضًا باسم مستشعر الانحناء، ويُعد الأكثر استخدامًا في مشاريع الأردوينو. غالبًا ما يُصنع من سبيكة الألمنيوم وله أربعة أسلاك (أحمر، أسود، أخضر، أبيض)، ويُستخدم في:

  • موازين المطبخ والبريد
  • أنظمة الوزن الدقيقة
  • روبوتات الاستشعار بالقوة
  • المشاريع التعليمية والـ DIY

يوجد في وسط هذا النوع فتحة محفورة تساعد على تركيز الإجهاد، حيث توضع مقاييس الانفعال حولها وتُوصل بشكل جسر ويتستون.

10kg load cell

مستشعر S-Type

على شكل حرف "S"، ويُستخدم لقياس الضغط والشد.

S load sensor

مستشعر الزر (Button Type)

صغير الحجم ويُستخدم في المساحات الضيقة.

button load sensor

4. شرح جسر ويتستون

جسر ويتستون هو دائرة كهربائية تُستخدم لقياس التغيرات الصغيرة جدًا في المقاومة الكهربائية. يتكون من أربعة مقاومات (أو مقاييس انفعال) تُرتب على شكل ماسة.

عندما لا يوجد وزن، يكون الجسر "متزنًا"، ويكون الجهد الخارج شبه صفر. وعند تطبيق وزن، تتغير مقاومة بعض المقاييس، مما يؤدي إلى خلل في التوازن وظهور فرق جهد صغير.

لماذا نستخدم جسر ويتستون؟

  • حساسية عالية: يمكنه اكتشاف تغييرات صغيرة جدًا في المقاومة.
  • رفض التشويش: يعزل التأثيرات الناتجة عن التغير في درجة الحرارة أو الضوضاء الكهربائية.
  • خروج خطي: يعطي علاقة خطية تقريبًا بين الوزن والجهد، ما يسهل المعايرة.
wheatstone bridge illustration

5. تضخيم الإشارة: دور وحدة HX711

الإشارة القادمة من مستشعر الحمل تكون صغيرة جدًا (ميليفولت)، لذلك تُستخدم وحدة HX711 لتضخيمها وتحويلها إلى قيمة رقمية يستطيع الأردوينو قراءتها.

وحدة HX711 سهلة الاستخدام ورخيصة، وتُعتبر مثالية لمشاريع الوزن باستخدام الأردوينو أو ESP32.

Load cell amplifier HX711

6. كيفية معايرة الوزن في مشاريع الأردوينو

الدالة scale.set_scale() تُستخدم لضبط العامل الذي يُحوّل القيم الخام إلى وحدات وزن حقيقية.

كيف تعمل؟

1float weight = scale.get_units();

داخليًا تُطبق المعادلة التالية:

1weight = (raw_value - offset) / scale_factor;
  • raw_value: القيمة المقروءة الخام من HX711
  • offset: قيمة الصفر التي يتم تعيينها بعد tare()
  • scale_factor: معامل التحويل إلى جرام أو كيلوجرام

طريقة حساب معامل التحويل بدقة

  • استدع scale.tare() لتصفير القراءة.
  • ضع وزنًا معروفًا (مثلاً 500 جرام).
  • اقرأ القيمة الخام:
1long raw = scale.get_units(10);
2
  • احسب معامل التحويل:
1float scale_factor = raw / 500.0;
2
  • خزّنه باستخدام:
1scale.set_scale(scale_factor);
2

7. استخدام مستشعر الحمل مع الأردوينو (نسخة متقدمة مع EEPROM)

لحفظ المعايرة بعد إعادة التشغيل، يمكن تخزين معامل التحويل في EEPROM.

الأدوات المطلوبة:

  • مستشعر حمل
  • وحدة HX711
  • لوحة أردوينو
  • زر ضغط موصول بين D4 و GND (بدون مقاومة خارجية)

كود أردوينو:

1#include <HX711.h>
2#include <EEPROM.h>
3
4#define DT_PIN 2
5#define SCK_PIN 3
6#define BUTTON_PIN 4
7#define EEPROM_ADDR 0
8#define KNOWN_WEIGHT 500.0 // جرام
9
10HX711 scale;
11float scale_factor;
12
13void setup() {
14 Serial.begin(9600);
15 pinMode(BUTTON_PIN, INPUT_PULLUP);
16 scale.begin(DT_PIN, SCK_PIN);
17
18 EEPROM.get(EEPROM_ADDR, scale_factor);
19
20 if (isnan(scale_factor) || scale_factor == 0.0 || scale_factor == -1.0) {
21 Serial.println("لا يوجد معامل تحويل محفوظ.");
22 Serial.println("ضع وزنًا 500 جرام على المستشعر، ثم اضغط على الزر للمعايرة.");
23
24 while (digitalRead(BUTTON_PIN) == HIGH) {
25 delay(100);
26 }
27
28 Serial.println("جارٍ المعايرة...");
29 scale.tare();
30 delay(1000);
31 long raw = scale.get_units(10);
32 scale_factor = raw / KNOWN_WEIGHT;
33
34 Serial.print("معامل التحويل المحسوب: ");
35 Serial.println(scale_factor, 6);
36
37 EEPROM.put(EEPROM_ADDR, scale_factor);
38 Serial.println("تم حفظ معامل التحويل.");
39 } else {
40 Serial.print("تم تحميل معامل التحويل من EEPROM: ");
41 Serial.println(scale_factor, 6);
42 }
43
44 scale.set_scale(scale_factor);
45 scale.tare();
46 Serial.println("الميزان جاهز.");
47}
48
49void loop() {
50 static float lastWeight = 0.0;
51 float weight = scale.get_units(5);
52 float threshold = 0.1;
53
54 if (abs(weight - lastWeight) >= threshold) {
55 Serial.print("الوزن: ");
56 Serial.print(weight, 2);
57 Serial.println(" جم");
58 lastWeight = weight;
59 }
60
61 delay(500);
62}
63
load-sensor-to-arduino-with-a-switch_circuit

مهمة لك

جرب هذه التحسينات الإضافية على مشروعك:

  1. إعادة المعايرة عند بدء التشغيل
    عدّل الكود بحيث إذا كان الزر مضغوطًا عند تشغيل الأردوينو، يدخل وضع المعايرة من جديد.
  2. زر تصفير (Tare) أثناء التشغيل
    اجعل الضغط القصير على نفس الزر أثناء الوضع العادي يقوم بتصفير الميزان دون إعادة تشغيل.

بهذا، يصبح مشروعك شبيهًا بالميزان الرقمي التجاري، مع خصائص متقدمة.

8. تطبيقات حقيقية لمستشعرات الحمل

  • موازين المطبخ والشحن
  • الحقائب الذكية
  • أنظمة الأتمتة الصناعية
  • روبوتات التحكم بالقوة
  • مراقبة الهياكل والجسور

9. اعتبارات عملية

  • لا تتجاوز الحد الأقصى للوزن.
  • ثبت المستشعر بإحكام للحصول على قراءات دقيقة.
  • درجة الحرارة قد تؤثر على الدقة.
  • حافظ على الأسلاك قصيرة لتجنب التشويش.

10. الخلاصة

مستشعرات الحمل أدوات رائعة تتيح للأردوينو التفاعل مع العالم الحقيقي عبر قياس الوزن والقوة. باستخدام مستشعر الحمل ووحدة HX711، يمكنك بناء ميزان إلكتروني ذكي خاص بك واكتساب فهم عملي رائع للفيزياء والقياس.

أو بإمكانك إستكشاف تصنيفات أخرى

Arduino robot and rover

عالم الإلكترونيات

A DIY made aircraft rc model with a transmitter

الفيزياء وميكانيكا الطيران

Children looking into a microscop in turns

استكشف العالم الخفي تحت المجهر