تقديم
البطاقة FreeIMU ما زالت قيد التطوير ويمكن لأي واحد أن يطورها بنفسها ويتاجر بها أيضا. هذه البطاقة تنتمي إلى المشاريع الحر والمفتوحة المصدر لوحدات القياس DOM/DOF للقصور الذاتي وتعرف بالإنجليزية باسم (DOM/DOF inertial measurement units). الهدف من تطوير هذه البطاقة هو تصميم بطاقات عالية المستوى تضم أقوى حساسات القصور الذاتي والمغنطة والضغط. |
الغرض الأساسي من هذه البطاقة هو تطوير حاسة التوجيه: حيث تتم بدقة عن طريق قراءة البيانات (مقعومات القياس) الآتية من الثلاث حساسات التي تحويها هذه البطاقة لنتعرف من خلالها على موقع البطاقة ذاتها في الفضاء. يمكن استعمال هذه الخاصية في الروبوتات الطيارة، والروبتوات الذاتية التوازن، وتطوير طريقة تفاعل الإنسان والحاسوب، ولدارسة أو تتبع حركية الإنسان وفي كل مشروع يتطلب حاسة التوجيه.
وحيث أن هذه البطاقة تستعمل مقايسي التسارع ADXL345 و BMA180، فبإمكانها تحديد موضعها بمحور واحد أو محورين وأيضا تحديد سقوطها الحر أو هل هي نشطة أو خاملة. وهذه الميزة تجعلها مناسبة جدا لتطوير تقنيات خاصة لتفاعل الإنسان والحاسوب. |
الحقوق الفكرية
لك الحق في استعمالها وتطويرها كيف تشاء بل وبيعها إذا اردت ذلك، لكن بشرط أن تنشر تصميمك أيضا من خلال صفحة المشروع التالية: http://www.varesano.net/projects/hardware/FreeIMU
تم تصميم بطاقة FreeIMU باستعمال برنامج حر لتصميم البطاقات الإليكترونية المعروف باسم KiCAD. |
لا بد من قراءته
من فضلك اضطلع على المقالات الثلاث التالية ولو بنظرة خاطفة إذ أنها مهمة في تحويل الدارات الكهربائية إلى بطاقات إليكترونية بمهنية عالية وبصنع يدك فقط:
|
من المستحسن قراءته
هذه البطاقة تعنى ببعض المستشعرات التي ربما ليس لك فكرة عنها. لذلك، إذا أردت أن ينجلي الغطاء عن بصيرتك بخصوصها فنرشدك إلى المقال التالي: |
مصطلحات
حتى لا نعيد كتابة المصطلحات التالية كل مرة أرجوا أن تتعرف عليها من الآن فصاعدا: مقياس التسارع: Accelerometer مقياس المغنطة: Magnetometer حساس الضغط: Pressure sensor الجيروسكوب: Gyroscope مقاومة السحب: Pullup resistor, Resistance de tirage مقوم كهربائي: Voltage regulator, Regulateur du tension محول منطقي: Level logic convertor |
استعراض مصور للبطاقة
صنع البطاقة
تقديم نقدم لك فيما يلي الملفات الضرورية لصنع جميع إصدارات هذه البطاقة إلى حدود كتابة هذا المقال، يمكنك اختيار ما تشاء منها مع الأخذ بعين الإعتبار أن الأحدث هو الأقوى: |
الإصدار 0.1 لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: |
هذا الإصدار هو الأبسط بين الإصدارات كلها. يستعمل مقياس التسارع ADXL345، والجيروسكوب ITG3200 ومقياس التمغنط HMC5843. استعين بمكثفات للمساعدة على استقرار التيار الكهربائي المغذي لها. لا يوجد أي مقوم كهربائي ولا أي ترنزستور وبالتالي فيمكن تشغيلها بتيار 3.3 فولط فقط وإشارة تقنية الإتصال I2C يجب أن تكون بجهد 3.3 فولط أيضا. أما إذا استعملتها مع ميكروكنترولور 5 فولط، فستحتاج لمحول على مستوى I2C ومقوم كهربائي أيضا. |
الإصدار 0.2 لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: (مع حجم خاطئ للثقوب – تم اختبارها للإنتاج) |
لها نفس حساسات ونفس حجم الإصدار 0.1، لكن تمت إضافة مقوم كهربائي (MIC5205) ومحول منطقي (PCA9306). وبهذه التغييرات البسيطة يمكن استعمال البطاقة مع تيار 5 فولط ايضا.
في حالة أردت أن توصلها ببطاقة اردوينو مثلا فصلها باستعمال المرابط 5V و GND و SDA و SCL.
ملاحظة: كنا قد أخطئنا في حجم الثقوب حيث يجب أن يكون قطرها هو 1.016 ملم عوض 0.8128 ملم. المهم انتبه لهذه النقطة رغم أنها ليست بالمهمة جدا. |
ملفات الإصدار 0.3 و 0.3.1 لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: |
|
يمكنك استعمال هذا الإصدار مع MultiWii. قم بتحميل الشيفرة البرمجية الخاصة لاستخدامها من الرابط التالي: الشيفرة البرمجية بخصوص الإستعمال مع MultiWii تم تحديث هذه الشيفرة وبالتالي فستجد أن بعض السطور مرموز لها بالرمز "–" مما يعني أنها السطور البرمجية القديمة، بينما الجديدة منها فهي مرموزة بالعلامة "+". يمكن لهذا أن ينجز تلقائيا باستعمال برنامج الباتش. |
|
بالنسبة للتطوير الذي حصل على الإصدار 0.3 مقارنة بسابقيه فهو أننا عوضنا مقياس التسارع ومقياس المغنطة المستعملين في الإصدارين 0.1 و 0.2 بمقياس التسارع ADXL346ومقياس المغنطةHMC5883L، أما الجيروسكوب فبقي كما هو. وبالنسبة للمقوم الكهربائي فقم تم استعمال MIC5205 وكذلك تم استبدال المحول المنطقي بـ PCA9306 إضافة إلى مقاومات السحب.
أما الإصدار 0.3.1 فإنما هو تطوير صغير للإصدار 0.3 فقط. تم تصحيح بعض الأشياء في ما يسمى بالشاشة الحريرية (silkscreen) وبصمة (footprint) مقياس التمغنط. أما الأشياء الأخرى فهي كما في الإصدار 0.3.
أما طريقة توصيل الإصدار 0.3 أو 0.3.1 ببطارقة أردينو Duemilanove أو UNO فهي الممثلة في الصورة جانبه: |
|
الإصدار 0.3.5 لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: الدارة الكهربائية للإصدار 0.3.5 هذا الإصدار متشكل في بطاقة صغيرة الحجم 22×20 ملم، وله القدرة على قيسا إلى 9 درجات باستعمال الحساسات التالية: مقياس التسارع BMA180 مقياس المغنطة HMC5883L الجيروسكوب ITG3200 |
زيادة على ذلك، لهذه البطاقة مقوما كهربائيا مدمجا MIC5203 يخولك من استعمالها في جهود كهربائية مختلفة تتراوح من 3.3 إلى 16 فولط بشدة تيار 80 ميليأمبير مما يمَكنك من ادماجها مع سلسلة أخرى من الحساسات الإلكترونية أو الأجهزة التي تتطلب 3.3 فولط. وبالإستعانة بهذا المقوم الكهربائي فلم يبقى لنا حاجة في استعمال المكثفات من نوع tantalum.
لا تضم هذه البطاقة بما يسمى بالمحول المنطقي حتى لا تتعقد الدارة الكهربائية وكذللك تصميم اللوحة المطبوعة به. |
الإصدار 0.3.5_MS لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: |
هي تطوير للإصدار 0.3.5 حيث ضُم إليها حساس الضغط MS5611-01BA أما طريقة إيصالها ببطاقة أردوينو فتتبع الرسم المبياني التالي: |
ولا تنسى أن تقوم بإلغاء عمل آلية السحب الداخلية (internal pullups) للمتحكم ATmega328p عندما تريد أن تبرمجها. إذا لم تفعل هذا فربما ستقوم بحرق حساساتك الإليكترونية. وقد أعذر من أنذر. |
الإصدار 0.3.5_BMP لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: الدارة الكهربائية للإصدار 0.3.5_BMP نفس قائمة أجزاء الإصدار 0.3_MS لكن يجب عليك أن تستبدل الحساس MS5611-01BA بـ BMP085 وللحصول عليه من موقع Digikey استعمل الرقم: 828-1005-1-ND هي تطوير للإصدار 0.3.5 حيث ضُم إليها حساس الضغط BMP085. |
|
الإصدار 0.4 لصنع هذا الإصدار يمكنك استعمال الملفات التالية لذلك: الدارة الكهربائية للإصدار 0.4.1 قائمة الأجزاء الرئيسية للإصدار 0.4r3 هذا الإصدار هو الأحدث إلى حدود كتابة هذا المقال. وتم استعمال الحساسات التالية: |
|
مقياس التسارع+الجيروسكوب: MPU6050 مقياس المغنطة: HMC5883L مقياس الضغط: MS5611-01BA
بالنسبة لمقياس المغنطة فقد تم إلصاقه بالقناة AUX I2C busلمقايس التسارع والجيروسكوب MPU6050، ومنه يمكن قراءته مباشرة من MPU6050. |
برمجة
يمكن استعمال البطاقة FreeIMU بكل سهولة مع البطاقات المختلفة لأردوينو. ما عليك إلا أن تحملة المكتبة البرمجية الخاصة بهذه البطاقة من الرابط التالي: قم بتثبيت هذه المكتبة في برنامج أردوينو واتبع التعليمات الموجودة في الرابط التالي: (بالإنجليزية، إذا تعذر عليك فهمه فاترك سؤالك في آخر المقال)
تشمل هذه المكتبة كل إصدارات البطاقة إلى حدود الإصدار 0.4. وهوي مُضَبطة بدئيا على الإصدار 0.4. فإذا أردت أن تستعمل إصدارا آخر فقم بفتح الملف FreeIMU.h وما عليك إلا أن تزيل علامة التعليق من الإصدار الذي تستعمله. ولا تنسى أيضا أن تزيد علامة التعليق أمام الإصدار 0.4 في هذه الحالة.
توجد ملاحظة أخرى مهمة وهي أنه إذا استعملت الإصدار 0.1 أو 0.2 فعليك أن تفتح الملف HMC58X3.h وتقوم بإزالة التعليق من أمام o#define ISHMC5843.
هذه المكتبة يمكنها التعامل مع بطاقات الجزء الثالث (3rd parties) التالية: Sparkfun IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345 SEN-10121 Sparkfun 9 Degrees of Freedom - Razor IMU SEN-10736 Sparkfun 9 Degrees of Freedom - Sensor Stick SEN-10724 Sparkfun 9 Degrees of Freedom - Sensor Stick SEN-10183 DIYDrones ArduIMU+ V3 |
برنامج مرئي
مكتبة البطاقة FreeIMU تأتي ببرنامج مرئي يمكنك من اختبار البطاقة يدويا ومراقبة كيفية استجابتها على البرنامج مباشرة. فإذا اردت أن تستعمل هذا البرنامج فما عليك إلا أن تقوم بتحميل وتثبيت البرنامج Processing. قم بنسخ المجلدات إلى المجلد المسمى processing لمكتبة البطاقة FreeIMU.
تذكر بأن تبدل عنوان المنفذ المتتالي (Serial port address ) في شيفرة البرنامج Processing حتى يتناسب مع نفس العنوان المستعمل من طرف أردوينو في نظام التشغيل عندك. |
استعمالاتها
المشاريع التالية تم استعمال هذه البطاقة فيها ولك حرية استعمالها في ما تراه مناسبا: |
المروحية الرباعية rtsdrums
المروحية الرباعية Warthox
المروحية الرباعية Chris
الروبوت المتوازن بعجلتين
استعمل Francesco Ferrara هذه البطاقة من أجل بناء نظام استقرار لكاميرا
قام Francesco Ferrara بتطوير برنامج مرئي للبطاقة
برنامج مرئي
قام Francesco Ferrara بتطوير مروحة رباعية سماها Simplo.
تأليف
تأليف: Fabio Varesano (إيطاليا)
ترجمة بتصرف: محمد السهلي
المراجع
التعليقات