في هذا المشروع ، سنقوم بتطوير دائرة ممتعة باستخدام مستشعر القوة و Arduino Uno. تولد هذه الدائرة صوتًا مرتبطًا خطيًا بالقوة المطبقة على المستشعر. لذلك سنقوم بتوصيل مستشعر FORCE مع Arduino Uno. في UNO ، سنستخدم ميزة ADC (التحويل التناظري إلى الرقمي) 8 بت للقيام بهذه المهمة.
مستشعر القوة أو المقاوم الحساس للقوة
مستشعر القوة هو محول طاقة يغير مقاومته عند الضغط على السطح. مستشعر FORCE متوفر بأحجام وأشكال مختلفة. سنستخدم أحد الإصدارات الأرخص لأننا لسنا بحاجة إلى الكثير من الدقة هنا. FSR400 هي واحدة من أرخص أجهزة استشعار القوة في السوق. تظهر صورة FSR400 في الشكل أدناه. وتسمى أيضًا المقاوم الحساس للقوة أو FSR حيث تتغير مقاومتها وفقًا للقوة أو الضغط المطبق عليها. عندما يتم تطبيق الضغط على هذه المقاومة التي تستشعر القوة ، تنخفض مقاومتها ، أي أن المقاومة تتناسب عكسياً مع القوة المطبقة. لذلك عندما لا يتم الضغط عليه ، ستكون مقاومة FSR عالية جدًا.
من المهم الآن ملاحظة أن FSR 400 حساسة بطول الطول ، يجب تركيز القوة أو الوزن على المتاهة في منتصف عين المستشعر ، كما هو موضح في الشكل. إذا تم استخدام القوة في أوقات خاطئة ، فقد يتلف الجهاز بشكل دائم.
شيء مهم آخر هو معرفة ذلك ، يمكن أن يقود المستشعر تيارات عالية المدى. لذا ضع في اعتبارك التيارات الدافعة أثناء التثبيت. كما أن المستشعر له حد للقوة وهو 10 نيوتن. لذلك يمكننا تطبيق وزن 1 كجم فقط. إذا تم تطبيق أوزان أعلى من 1 كجم ، فقد يظهر المستشعر بعض الانحرافات. إذا زادت عن 3 كجم. قد يتلف المستشعر بشكل دائم.
كما قيل سابقًا ، يتم استخدام هذا المستشعر لاستشعار التغيرات في الضغط. لذلك عندما يتم تطبيق الوزن أعلى مستشعر FORCE ، تتغير المقاومة بشكل كبير. تظهر مقاومة FS400 للوزن الزائد في الرسم البياني أدناه ،
كما هو موضح في الشكل أعلاه ، تقل المقاومة بين جهتي اتصال المستشعر مع زيادة الوزن أو زيادة التوصيل بين ملامسي المستشعر. يتم إعطاء مقاومة الموصل النقي من خلال:
أين،
ع- مقاومة الموصل
l = طول الموصل
أ = منطقة الموصل.
فكر الآن في موصل بمقاومة "R" ، إذا تم تطبيق بعض الضغط على أعلى الموصل ، فإن المنطقة الموجودة على الموصل تقل ويزداد طول الموصل نتيجة للضغط. لذلك يجب أن تزداد مقاومة الموصل بالصيغة ، لأن المقاومة R تتناسب عكسياً مع المنطقة وتتناسب طرديًا مع الطول l
لذلك مع هذا بالنسبة للموصل تحت الضغط أو الوزن تزداد مقاومة الموصل. لكن هذا التغيير صغير مقارنة بالمقاومة الشاملة. لإجراء تغيير كبير ، يتم تكديس العديد من الموصلات معًا. هذا ما يحدث داخل مستشعرات القوة الموضحة في الشكل أعلاه. عند النظر عن كثب ، يمكن للمرء أن يرى العديد من الخطوط داخل المستشعر. كل من هذه الخطوط يمثل موصل. حساسية المستشعر في أرقام الموصلات.
ولكن في هذه الحالة ستنخفض المقاومة مع الضغط لأن المادة المستخدمة هنا ليست موصلة نقية. FSR هنا عبارة عن أجهزة قوية من البوليمر السميك (PTF). لذلك هذه ليست أجهزة موصلة نقية. وهي مصنوعة من مادة تظهر انخفاضًا في المقاومة مع زيادة القوة المطبقة على سطح المستشعر. توضح هذه المادة الخصائص كما هو موضح في الرسم البياني لـ FSR.
لا يمكن لهذا التغيير في المقاومة أن يفيد ما لم نتمكن من قراءتها. يمكن لوحدة التحكم الموجودة في متناول اليد قراءة فرص الجهد فقط وليس أقل من ذلك ، لذلك سنستخدم دائرة مقسم الجهد ، حيث يمكننا اشتقاق تغيير المقاومة مع تغير الجهد.
مقسم الجهد عبارة عن دائرة مقاومة ويظهر في الشكل. في هذه الشبكة المقاومة لدينا مقاومة ثابتة ومقاومة متغيرة أخرى. كما هو موضح في الشكل ، R1 هنا مقاومة ثابتة و R2 هو مستشعر القوة الذي يعمل كمقاومة. يتم أخذ نقطة منتصف الفرع للقياس. مع تغيير R2 ، قمنا بالتغيير في Vout. لذلك لدينا تغير في الجهد مع الوزن.
الآن الشيء المهم الذي يجب ملاحظته هنا هو أن الإدخال الذي تم التقاطه بواسطة وحدة التحكم لتحويل ADC منخفض يصل إلى 50 أوم. يعد تأثير التحميل لمقسم الجهد القائم على المقاومة مهمًا لأن التيار المسحوب من مقسم الجهد يزيد من نسبة الخطأ الزائدة ، في الوقت الحالي لا داعي للقلق بشأن تأثير التحميل.
كيفية فحص مستشعر FSR
يمكن اختبار المقاوم لاستشعار القوة باستخدام مقياس متعدد. قم بتوصيل دبابيس مستشعر FSR بالمقياس المتعدد دون استخدام أي قوة وتحقق من قيمة المقاومة ، ستكون عالية جدًا. ثم استخدم بعض القوة على سطحه ولاحظ انخفاض قيمة المقاومة.
تطبيقات مستشعر FSR
تستخدم مقاومات استشعار القوة بشكل أساسي لإنشاء "أزرار" لاستشعار الضغط. يتم استخدامها في مجموعة متنوعة من المجالات مثل مستشعرات إشغال السيارات ، وسادات اللمس المقاومة ، وأطراف الأصابع الروبوتية ، والأطراف الاصطناعية ، ولوحات المفاتيح ، وأنظمة تقوية القدم ، والآلات الموسيقية ، والإلكترونيات المدمجة ، ومعدات الاختبار والقياس ، ومجموعة تطوير OEM والإلكترونيات المحمولة ،. يتم استخدامها أيضًا في أنظمة الواقع المعزز وكذلك لتحسين التفاعل عبر الأجهزة المحمولة.
المكونات مطلوبة
الأجهزة: Arduino Uno ، مصدر طاقة (5 فولت) ، مكثف 1000 uF ، مكثف 100nF (3 قطع) ، مقاوم 100KΩ ، صفارة ، مقاوم 220Ω ، مستشعر قوة FSR400.
البرنامج: Atmel studio 6.2 أو Aurdino ليلاً
مخطط الدائرة وشرح العمل
يوضح الرسم البياني أدناه اتصال الدائرة لربط المقاوم لاستشعار القوة مع Arduino.
الجهد عبر المستشعر ليس خطيًا تمامًا ؛ ستكون صاخبة. لتصفية الضوضاء ، يتم وضع المكثفات عبر كل مقاوم في دائرة الفاصل كما هو موضح في الشكل.
هنا سنأخذ الجهد الذي يوفره المقسم (الجهد الذي يمثل الوزن خطيًا) ونغذيه في إحدى قنوات ADC في UNO. بعد التحويل ، سنأخذ تلك القيمة الرقمية (التي تمثل الوزن) وربطها بقيمة PWM لقيادة الجرس.
لذلك مع الوزن لدينا قيمة PWM التي تغير نسبة واجبها اعتمادًا على القيمة الرقمية. كلما زادت القيمة الرقمية زادت نسبة التشغيل لـ PWM وبالتالي زادت الضوضاء الناتجة عن الجرس. لذلك ربطنا الوزن بالصوت.
قبل المضي قدمًا ، دعنا نتحدث عن ADC لـ Arduino Uno. لدى ARDUINO ست قنوات ADC ، كما هو موضح في الشكل. في تلك يمكن استخدام أي واحد منهم أو كلها كمدخلات للجهد التناظري. UNO ADC ذات دقة 10 بت (لذا فإن قيم الأعداد الصحيحة من (0- (2 ^ 10) 1023)). هذا يعني أنه سيعين الفولتية المدخلة بين 0 و 5 فولت في قيم صحيحة بين 0 و 1023. لذلك لكل (5/1024 = 4.9mV) لكل وحدة.
هنا سنستخدم A0 من UNO.
نحن بحاجة لمعرفة أشياء قليلة.
|
بادئ ذي بدء ، تحتوي قنوات UNO ADC على قيمة مرجعية افتراضية تبلغ 5 فولت. هذا يعني أنه يمكننا إعطاء جهد إدخال أقصى قدره 5 فولت لتحويل ADC في أي قناة إدخال. نظرًا لأن بعض المستشعرات توفر جهدًا من 0-2.5 فولت ، مع مرجع 5 فولت ، نحصل على دقة أقل ، لذلك لدينا تعليمات تمكننا من تغيير هذه القيمة المرجعية. لذلك لتغيير القيمة المرجعية لدينا ("analogReference () ؛") في الوقت الحالي نتركها على هذا النحو.
كإعداد افتراضي ، نحصل على أقصى دقة للوحة ADC وهي 10 بت ، يمكن تغيير هذا القرار باستخدام التعليمات ("analogReadResolution (بت) ؛"). يمكن أن يكون تغيير الدقة هذا مفيدًا في بعض الحالات. الآن نتركه كما.
الآن إذا تم تعيين الشروط المذكورة أعلاه على الوضع الافتراضي ، فيمكننا قراءة القيمة من ADC للقناة '0' عن طريق استدعاء الوظيفة مباشرة "analogRead (pin) ؛" هنا يمثل "pin" دبوس حيث قمنا بتوصيل الإشارة التناظرية ، في هذه الحالة سيكون "A0". يمكن أخذ القيمة من ADC في عدد صحيح كـ “int SENSORVALUE = analogRead (A0)؛ "، من خلال هذه التعليمات ، يتم تخزين القيمة بعد ADC في العدد الصحيح" SENSORVALUE ".
يمكن تحقيق PWM لـ Arduino Uno في أي من المسامير التي يرمز لها بـ "~" على لوحة PCB. هناك ست قنوات PWM في UNO. سنستخدم PIN3 لغرضنا.
analogWrite (3 ، VALUE) ؛ |
من الحالة أعلاه ، يمكننا الحصول مباشرة على إشارة PWM عند الدبوس المقابل. المعلمة الأولى بين قوسين هي لاختيار رقم دبوس إشارة PWM. المعلمة الثانية هي كتابة نسبة الواجب.
يمكن تغيير قيمة PWM لـ UNO من 0 إلى 255. مع "0" من الأقل إلى "255" كأعلى قيمة. مع 255 كنسبة واجب ، سنحصل على 5 فولت في PIN3. إذا تم إعطاء نسبة الرسوم كـ 125 ، فسنحصل على 2.5V في PIN3.
الآن لدينا قيمة 0-1024 كإخراج ADC و0-255 كنسبة واجب PWM. لذا فإن ADC تساوي أربعة أضعاف نسبة PWM. لذلك من خلال قسمة نتيجة ADC على 4 ، سنحصل على نسبة الرسوم التقريبية.
مع ذلك سيكون لدينا إشارة PWM تتغير نسبة عملها خطيًا مع الوزن. يتم إعطاء هذا للجرس ، لدينا مولد صوت يعتمد على الوزن.