جدول المحتويات:

مقياس المغناطيسية اردوينو: 5 خطوات (بالصور)
مقياس المغناطيسية اردوينو: 5 خطوات (بالصور)

فيديو: مقياس المغناطيسية اردوينو: 5 خطوات (بالصور)

فيديو: مقياس المغناطيسية اردوينو: 5 خطوات (بالصور)
فيديو: طريقة برمجة الأردوينو للمبتدئين | شرح برنامج Arduino IDE 2024, سبتمبر
Anonim
اردوينو المغناطيسية
اردوينو المغناطيسية

ماذا نبني؟

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

ما هو اردوينو؟

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

قبل أن تبدأ هذا البرنامج التعليمي ، قم بتنزيل بيئة تطوير Arduino بالإضافة إلى أي مكتبات مطلوبة لطرازك الخاص. بيئة التطوير متاحة على https://www.arduino.cc/en/main/software ، وإرشادات التثبيت متاحة على

ما هو المجال المغناطيسي؟

تمارس المغناطيسات الدائمة قوى على مغناطيس دائم آخر. تمارس الأسلاك الحاملة للتيار قوى على الأسلاك الحاملة للتيار الأخرى. تمارس المغناطيسات الدائمة والأسلاك الحاملة للتيار قوى على بعضها البعض أيضًا. هذه القوة لكل وحدة اختبار الحالية هي مجال مغناطيسي.

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

بعد ذلك ، يتم تمثيل المجال المغناطيسي في كل نقطة في الفضاء بواسطة متجه. يمثل حجم المتجه قوة المجال المغناطيسي. الاتجاه عمودي على كل من اتجاه القوة واتجاه تيار الاختبار.

يمكننا تصوير المجال المغناطيسي في مكان واحد كسهم. يمكننا تصوير المجال المغناطيسي في جميع أنحاء الفضاء من خلال مجموعة من الأسهم في مواقع مختلفة ، ربما بأحجام مختلفة وتشير في اتجاهات مختلفة. يتوفر تصور جميل على https://www.falstad.com/vector3dm/. يعرض مقياس المغناطيسية الذي نبنيه المجال المغناطيسي في موقع المستشعرات كسهم على الشاشة.

ما هو مستشعر تأثير هول وكيف يعمل؟

مستشعر تأثير هول هو جهاز صغير غير مكلف يقيس قوة المجال المغناطيسي على طول اتجاه معين. وهي مصنوعة من قطعة من أشباه الموصلات مخدرة بالرسوم الزائدة. ناتج بعض مستشعرات تأثير هول هو جهد تناظري. تحتوي مستشعرات تأثير Hall الأخرى على مقارن متكامل وتنتج مخرجات رقمية. يتم دمج مستشعرات تأثير Hall الأخرى في أدوات أكبر تقيس معدل التدفق أو سرعة الدوران أو الكميات الأخرى.

يتم تلخيص الفيزياء وراء تأثير هول بواسطة معادلة قوة لورنتز. تصف هذه المعادلة القوة المؤثرة على شحنة متحركة بسبب مجال كهربائي ومغناطيسي خارجي.

صورة
صورة

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

صورة
صورة

ما هو الإسقاط متساوي القياس؟

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

في الإسقاط متساوي القياس ، تكون محاور x و y و z متباعدة بمقدار 120 درجة ، وتظهر بشكل متساوٍ. يمكن العثور على معلومات إضافية حول الإسقاط متساوي القياس ، بالإضافة إلى الصيغ المطلوبة ، على صفحة ويكيبيديا حول هذا الموضوع.

الخطوة 1: جمع المستلزمات

اردوينو وكابل

Arduino هو أدمغة مقياس المغناطيسية. تصف هذه التعليمات كيفية استخدام Arduino Uno أو Arduino MKR1010. في كلتا الحالتين ، يلزم وجود كبل لتوصيله بالكمبيوتر.

الخيار 1: Arduino Uno وكابل USB AB

www.digikey.com/product-detail/en/arduino/A000066/1050-1024-ND/2784006

www.digikey.com/product-detail/en/stewart-connector/SC-2ABE003F/380-1424-ND/8544570

الخيار 2: Arduino MKR1010 وكابل microUSB

www.digikey.com/product-detail/en/arduino/ABX00023/1050-1162-ND/9486713

www.digikey.com/product-detail/en/stewart-connector/SC-2AMK003F/380-1431-ND/8544577

شاشة TFT

TFT تعني الترانزستور ذي الأغشية الرقيقة. هذه الشاشة مقاس 1.44 بوصة تحتوي على 128 × 128 بكسل ، وهي صغيرة ، ومشرقة ، وملونة. وتأتي متصلة بلوحة كسر. ومع ذلك ، فإن دبابيس الرأس تأتي منفصلة ، لذلك عليك لحامها. (اللحام ومكواة اللحام بحاجة.)

www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830

    صورة
    صورة
  • مجسات تأثير القاعة التناظرية

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

www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144

اللوح الصغير والأسلاك

www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929

مغناطيس دائم للاختبار

سوف يعمل مغناطيس الثلاجة بشكل جيد.

الخطوة 2: الأسلاك

الأسلاك
الأسلاك

جندى الرؤوس على الشاشة.

صورة
صورة

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

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

صورة
صورة

تختلف الأسلاك اختلافًا طفيفًا بين MKR1010 و Uno لسببين. أولاً ، يتواصل Arduino والعرض عن طريق SPI. تحتوي موديلات Arduino المختلفة على دبابيس مخصصة مختلفة لبعض خطوط SPI. ثانيًا ، يمكن أن تقبل المدخلات التناظرية لـ Uno ما يصل إلى 5 فولت بينما يمكن أن تقبل المدخلات التناظرية لـ MKR1010 حتى 3.3 فولت فقط. جهد الإمداد الموصى به لمستشعرات تأثير Hall هو 5 فولت. مخرجات المستشعر متصلة بمدخلات Arduino التناظرية ، وهذه يمكن أن تكون كبيرة مثل الفولتية العرض. بالنسبة إلى Uno ، استخدم مصدر الإمداد 5 فولت الموصى به لأجهزة الاستشعار. بالنسبة لـ MKR1010 ، استخدم 3.3 فولت بحيث لا يرى الإدخال التناظري لاردوينو أبدًا جهدًا أكبر مما يمكنه التعامل معه.

اتبع المخططات والتعليمات أدناه بالنسبة إلى Arduino الذي تستخدمه.

الأسلاك مع اردوينو أونو

صورة
صورة

تحتوي الشاشة على 11 دبابيس. قم بتوصيلهم بـ Arduino Uno على النحو التالي. (يعني NC غير متصل.)

  • فين → 5 فولت
  • 3.3 → NC
  • Gnd → GND
  • SCK → 13
  • SO → NC
  • SI → 11
  • TCS → 10
  • RST → 9
  • D / C → 8
  • CCS → NC
  • لايت → NC

قم بتوصيل Vin من المستشعرات بـ 5V من Arduino. قم بتوصيل أرض المستشعر بأرض Arduino. قم بتوصيل إخراج المستشعرات بالمدخلات التناظرية A1 و A2 و A3 من Arduino.

صورة
صورة

الأسلاك مع اردوينو MKR1010

صورة
صورة

تحتوي الشاشة على 11 دبابيس. قم بتوصيلهم بـ Arduino على النحو التالي. (يعني NC غير متصل.)

  • فين → 5 فولت
  • 3.3 → NC
  • Gnd → GND
  • SCK → SCK 9
  • SO → NC
  • SI → MOSI 8
  • TCS → 5
  • RST → 4
  • D / C → 3
  • CCS → NC
  • لايت → NC

قم بتوصيل Vin من المستشعرات بـ Vcc الخاص بـ Arduino. هذا الدبوس عند 3.3 فولت ، وليس 5 فولت. قم بتوصيل أرض المستشعر بأرض Arduino. قم بتوصيل إخراج المستشعرات بالمدخلات التناظرية A1 و A2 و A3 من Arduino.

صورة
صورة

الخطوة 3: اختبر العرض

دعنا نجعل شاشة TFT تعمل. لحسن الحظ ، لدى Adafruit بعض المكتبات السهلة الاستخدام ودليلًا تعليميًا ممتازًا لتتماشى معها. تتبع هذه التعليمات عن كثب البرنامج التعليمي ،

افتح بيئة تطوير Arduino. انتقل إلى Tools → Manage Libraries. قم بتثبيت مكتبات Adafruit_GFX و Adafruit_ZeroDMA و Adafruit_ST7735. أعد تشغيل بيئة تطوير Android.

يتم تضمين المثال الجرافيكي مع المكتبات. افتحه. ملف → أمثلة → مكتبة Adafruit ST7735 و ST7789 → Graphicstest. لتحديد 1.44 عرض التعليق خارج السطر 95 و uncomment سطر 98.

نسخة أصلية:

94 // استخدم هذا المُهيئ إذا كنت تستخدم شاشة TFT مقاس 1.8 بوصة:

95 tft.initR (INITR_BLACKTAB) ؛ // Init ST7735S chip ، علامة التبويب السوداء 96 97 // أو استخدم هذا المُهيئ (uncomment) في حالة استخدام 1.44 TFT: 98 //tft.initR(INITR_144GREENTAB) ؛ // Init ST7735R chip ، علامة التبويب الخضراء

الإصدار الصحيح لشاشة 1.44 بوصة:

94 // استخدم هذا المُهيئ إذا كنت تستخدم شاشة TFT مقاس 1.8 بوصة:

95 //tft.initR(INIT_BLACKTAB) ؛ // Init ST7735S chip ، علامة التبويب السوداء 96 97 // أو استخدم هذا المُهيئ (uncomment) في حالة استخدام 1.44 TFT: 98 tft.initR (INITR_144GREENTAB) ؛ // Init SST35R chip ، علامة التبويب الخضراء

تتصل الشاشة باستخدام SPI ، ويستخدم طراز Arduinos مختلف دبابيس مخصصة لبعض خطوط الاتصال. تم إعداد مثال Graphicstest للعمل مع دبابيس Uno. إذا كنت تستخدم MKR1010 ، أضف الأسطر التالية بين السطور 80 و 81.

تصحيحات لـ MKR1010:

80

#define TFT_CS 5 #define TFT_RST 4 #define TFT_DC 3 #define TFT_MOSI 8 #define TFT_SCLK 9 Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS، TFT_DC، TFT_MOSI، TFT_SCLK، TFT_RST) ؛ 81 تعويم ص = 3.1415926 ؛

احفظ مثال الرسم البياني المعدل. قم بتوصيل Arduino بالكمبيوتر إذا لم تقم بذلك بعد. انتقل إلى Tools → Board and Tools → Port للتحقق من أن الكمبيوتر يمكنه العثور على Arduino. انتقل إلى Sketch → Upload. إذا نجح المثال ، فستعرض الشاشة الخطوط والمستطيلات والنص والعرض التوضيحي الكامل. يوفر البرنامج التعليمي Adafruit مزيدًا من التفاصيل إذا كانت هناك حاجة لاستكشاف الأخطاء وإصلاحها.

الخطوة 4: كود مقياس المغناطيسية

قم بتنزيل الكود المرفق وافتحه في بيئة تطوير Arduino.

يستخدم هذا البرنامج ست وظائف:

يقوم Setup () بتهيئة العرض

تحتوي الحلقة () على الحلقة الرئيسية للبرنامج. إنه يحجب الشاشة ، ويرسم المحاور ، ويقرأ المدخلات ، ويرسم السهم الذي يمثل متجه المجال المغناطيسي. لديه معدل تحديث يبلغ ثانية واحدة ويمكن تغييره عن طريق تغيير السطر 127

DrawAxes3d () يرسم ويسمي المحاور x و y و z

يأخذ DrawArrow3d () مدخلات x و y و z تتراوح من 0 إلى 1023. من هذه القيم ، يقوم بحساب نقاط نهاية السهم في الفراغ. بعد ذلك ، يستخدم وظائف isometricxx () و isometricyy () لحساب نقاط النهاية على الشاشة. أخيرًا ، يرسم السهم ويطبع الفولتية أسفل الشاشة

يجد Isometricxx () إحداثي x للإسقاط متساوي القياس. يأخذ إحداثيات x و y و z من نقطة ويعيد موقع x بكسل المقابل على الشاشة

يكتشف Isometricyy () إحداثي y للإسقاط متساوي القياس. يأخذ إحداثيات x و y و z من نقطة ويعيد موقع y بكسل المقابل على الشاشة

قبل تشغيل الكود ، نحتاج إلى تحديد المسامير التي يجب استخدامها لاتصال SPI بالشاشة ، ونحتاج إلى تحديد جهد المصدر لأجهزة الاستشعار. إذا كنت تستخدم MKR1010 ، فقم بالتعليق على الأسطر 92-96 وكذلك السطر 110. ثم قم بإلغاء التعليق على الأسطر 85-89 وكذلك السطر 108. إذا كنت تستخدم Uno ، فقم بالتعليق على الأسطر 85-89 وكذلك السطر 108 ثم قم بإلغاء التعليق من السطور 92-96 وكذلك السطر 110.

قم بتحميل الكود ، Sketch → Upload.

يجب أن ترى المحاور x و y و z باللون الأحمر. يمثل السهم الأخضر بدائرة زرقاء للطرف متجه المجال المغناطيسي في المستشعرات. يتم عرض قراءات الجهد في أسفل اليسار. عندما تقرب المغناطيس من المستشعرات ، يجب أن تتغير قراءات الجهد ، ويجب أن ينمو حجم السهم.

صورة
صورة

الخطوة الخامسة: العمل المستقبلي

العمل المستقبلي
العمل المستقبلي

ستكون الخطوة التالية هي معايرة الجهاز. توفر ورقة بيانات المستشعر معلومات حول كيفية تحويل قيم جهد المستشعر الخام إلى شدة المجال المغناطيسي. يمكن التحقق من المعايرة من خلال المقارنة بمقياس مغناطيسي أكثر دقة.

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

المجال المغناطيسي هو دالة للموضع ، لذلك فهو مختلف في كل نقطة في الفضاء. يستخدم هذا الجهاز ثلاثة مستشعرات ، أحدها لقياس x و y و z المكون للمجال المغناطيسي عند نقطة ما. تكون المستشعرات قريبة من بعضها البعض ولكن ليس في نقطة واحدة ، وهذا يحد من دقة مقياس المغنطيسية. سيكون من الرائع حفظ قراءات المجال المغناطيسي في نقاط مختلفة ثم عرضها كمصفوفة من الأسهم في المواقع المقابلة. ومع ذلك ، هذا مشروع ليوم آخر.

مراجع

معلومات عن مكتبات Adafruit Arduino Graphics

https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview

تصور المجال المغناطيسي

https://www.falstad.com/vector3dm/

معلومات عن مستشعرات تأثير هول وتأثير هول

  • https://sensing.honeywell.com/index.php؟ci_id=47847
  • https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx

معلومات عن الإسقاط متساوي القياس

  • https://en.wikipedia.org/wiki/3D_project
  • https://en.wikipedia.org/wiki/Isometric_project

موصى به: