الأربعاء، 22 يوليو 2020

Arduino CNC Foam Cutting Machine - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

نظرة عامة
بدلاً من القطع أو الليزرات ، فإن الأداة الرئيسية لهذه الماكينة هي السلك الساخن ، أو نوع خاص من سلك المقاومة الذي يصبح ساخنًا حقًا عندما يتدفق التيار عبره. يقوم السلك الساخن بإذابة الرغوة أو تبخيرها عند المرور بها ، وبذلك يمكننا الحصول على أي شكل
نريده بدقة ويسر.
Arduino CNC Hot wire foam cutter . Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes
Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم -

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

Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو 


بادئ ذي بدء ، إليك النموذج ثلاثي الأبعاد لهذا الجهاز. يمكنك تنزيل النموذج ثلاثي الأبعاد أدناه.

Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes
Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم -اردوينو CNC Machine 3D Model

يمكنك تنزيل النموذج ثلاثي الأبعاد أدناه.

ملف STEP:

ملفات STL للطباعة ثلاثية الأبعاد:

يتكون الهيكل الأساسي من مقاطع الألمنيوم 20x20mm T-slot. لقد اخترت هذه الملفات الشخصية لأنها سهلة الاستخدام ، وليس علينا حفر أي ثقوب أو شيء عند التجميع ، بالإضافة إلى أنها قابلة لإعادة الاستخدام ، يمكننا تفكيكها واستخدامها بسهولة لمشاريع أخرى. يتم تحقيق حركة كل محور باستخدام محامل خطية تنزلق على قضبان ملساء 10 مم. استخدمت قضيبين لكل محور.

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

X-axis sliding block design - 3D Model . Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

لقيادة الكتل المنزلقة ، نستخدم محركات السائر NEMA 17. باستخدام قارنة توصيل العمود ، وقضيب ملولب بسيط ، وبكرتين وحزامين ، يمكننا قيادة كتلتين منزلقتين بالتساوي على كل سكة في نفس الوقت.

هنا يمكننا أيضًا ملاحظة أن لدينا محركات خطوة ثالثة تمكن الآلة من عمل أشكال 2.5D وسنشرح كيف يعمل ذلك في وقت لاحق في الفيديو.

بشكل عام ، من حيث البناء والصلابة ، ربما لا يكون التصميم جيدًا ، لكنني كنت أقصد جعل آلة وظيفية مع الحد الأدنى من الأجزاء الممكنة وما زلت قادرًا على إنجاز المهمة.

لطباعة الأجزاء ثلاثية الأبعاد ، استخدمت طابعة Creality CR-10 3D وهي طابعة ثلاثية الأبعاد جيدة حقًا وبسعر معقول.

3D printing the X-axis sliding block with Creality CR-10 3D Printer < Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

لاحظ أن بعض الأجزاء المطبوعة ثلاثية الأبعاد تحتاج إلى القليل من المعالجة اللاحقة ، أو يجب إزالة المواد الداعمة قبل الاستخدام.
3D printed mounting bracket - post-processing , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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

تجميع ماكينة سي ان سي CNC

على أي حال ، لدي الآن جميع المواد جاهزة حتى أتمكن من البدء في تجميع الماكينة.

فيما يلي قائمة بجميع المكونات الرئيسية المستخدمة في آلة CNC هذه. يمكن العثور على قائمة مكونات الإلكترونيات أدناه في قسم مخطط الدائرة في المقالة.

  • عدد 6 , 20x20mmx500mm قطاعات الألمنيوم T-slot 
  • عدد 4 , 10 ملم قضبان القضبان الخطية 
  • عدد 6 , أقواس ركنية لملف T-slot
  • عدد 50 , صواميل M5 لملفات تعريف  Amazon / Banggood
  • عدد 6 ,  محامل خطية 10 ملم 
  • حزام GT2 + بكرة الأسنان + بكرة العاطل 
  • عدد 2 , تحمل 5x16x5mm 

 ملاحظة:  أقترح هنا استخدام 5 مم لأن هذه الأبعاد أكثر شيوعًا ويمكن العثور عليها بسهولة. لذلك ، في ملفات تنزيل STL ، قمت أيضًا بتضمين نسختين من قارنات رمح وأقواس التركيب لتجهيز هذه الأبعاد. لذا تأكد من مراعاة ذلك عند طباعة هذه الأجزاء ثلاثية الأبعاد.
فاصل المكسرات 
مجموعة تشكيلة الربيع 
السلك الساخن 
2 × 50 سم قضبان ملولبة أو أي نوع من القضبان 6 أو 5 مم قطر اعتمادًا على القطر الداخلي للبكرات
البراغي والصواميل من متجر الأجهزة المحلي: M3x30 x8 و M4x25 x4 و M4x30 x4 و M5x10 / 12 x40 و M5x15 x8 و M5x25 x4 و M5x30 x4

Materials needed for building the CNC Machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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

Securing the shaft clamp on the 20x20 T-slot aluminum profile , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


Assembling the CNC machine base frame , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes 

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

Securing the Y-axis rails on the X-axis sliding block , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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

Attaching the top profile for connecting the two Y-axis rods , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

لذلك ، لدينا هذا الهيكل الرئيسي الذي تم بناؤه ويمكننا التحرك بحرية في كل من المحور X والمحور Y.

CNC machine sliding system - 10mm rails , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

بعد ذلك ، أعلق الأرجل على إطار القاعدة. مرة أخرى ، من السهل جدًا القيام بذلك باستخدام ملفات تعريف T-slot. بمجرد تأمين الأرجل ، سأقوم بإدراج محرك السائر الأول للمحور X. في هذه الحالة ، أستخدم صواميل فاصلة 20 مم من أجل إبعاد عمود المحرك حتى أتمكن من وضع بكرة الحزام بالقرب من الساق لاحقًا.

Mouting the X-axis stepper motor for the CNC machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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

3D printed shaft coupler for NEMA 17 stepper motor و Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

لتوصيل القضيب الملولب بمحركات السائر ، طبعت I 3D مقرنة رمح بفتحة 5 مم على جانب السائر وثقب 6 مم على جانب القضيب. يحتوي مقرن العمود على فتحات لإدخال صواميل M3 ، ثم باستخدام مسامير M3 أو مسامير ملولبة ، يمكننا تثبيتها بسهولة إلى عمود المحرك والقضيب الملولب. بعد ذلك ، نحتاج إلى وضع البكرات في خط مع مقابض الكتل المنزلقة وتثبيتها أيضًا بمسامير لولبية.

على الجانب الآخر من الآلة ، يمكننا إدخال بكرتي التباطؤ. لقد استخدمت بعض البراغي والصواميل M5 لهذا الغرض.

Installing idler pulley for GT2 belt , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

حسنًا ، نحن الآن جاهزون لتثبيت أحزمة GT2 للمحور X. أولاً ، قمت بإدخال الحزام وتثبيته على الكتلة المنزلقة بمساعدة ربطة عنق. ثم مررت الحزام حول بكرة الأسنان ، على الجانب الآخر حول بكرة المهمل ، وقمت بقطعها إلى الحجم المناسب وثبت مرة أخرى إلى الجانب الآخر من الكتلة المنزلقة باستخدام ربطة عنق.

Attaching GT2 belt on the sliding block on the X-axis of the CNC machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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


تجميع آلية المحور ص


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


Attaching GT2 belt with zip tie , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


Installing the 3rd stepper motor for the CNC Foam cutter machine Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


Attaching the hot wire to the Y-axis sliding block with help of extension springs , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


Attaching the Nichrome Hot Wire to the CNC Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

حسنًا ، بعد ذلك يمكننا توصيل سلك المقاومة بالأسلاك الكهربائية. سنستخدم طاقة التيار المستمر حتى لا يهم القطبية ، من المهم أن يتدفق التيار عبر السلك من أجل أن يصبح ساخنًا. تأكد هنا من أن السلك الكهربائي ضعيف بما يكفي لدعم عمليات السحب الحالية التي تتراوح من 3 إلى 5 أمبير تقريبًا. في حالتي ، أستخدم سلك قياس 22 ولكني أقترح سلك قياس 20 أو 18 للتأكد فقط.


Connecting the hot wire with electrical wire Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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

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


CNC machine end stops or limit switches Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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


مخطط اردوينو باستخدام الحاسب الآلي

بعد ذلك ، يمكننا توصيل كبلات محركات السائر ومن ثم معرفة كيفية توصيل جميع المكونات الإلكترونية. إليك مخطط دائري لكيفية توصيل كل شيء.


Arduino CNC Machine Circuit Diagram - Electronics components Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

بالطبع ، دماغ آلة CNC هذه عبارة عن لوحة Arduino. بالإضافة إلى ذلك ، نحتاج أيضًا إلى Arduino CNC Shield ، وثلاثة محركات للسائر A4988 ومحول DC إلى DC للتحكم في درجة حرارة السلك الساخن.

يجب الحصول على المكونات اللازمة لهذا المشروع مثل:


  • Stepper Motor - NEMA 17
  • A4988 Stepper Driver
  • درع اردوينو سي ان سي
  • اردوينو اونو
  • محول DC-DC
  • جهاز محدد
  • DC امدادات الطاقة


طبعت I 3D حاملًا لمكونات الإلكترونيات التي قمت بتثبيتها على جانب واحد من ملف تعريف T-slot. باستخدام البراغي M3 أولاً ، قمت بتثبيت لوحة Arduino على الحامل ، ثم أدخلت درع Arduino CNC فوقه.

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


Arduino CNC Shield with A4988 Stepper drivers Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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

واصلت تأمين محول التيار المستمر في مكانه. ثم قمت بتوصيل محركات السائر الثلاثة بدرع Arduino CNC ، بالإضافة إلى مفتاحي الحد إلى دبابيس التوقف X + و Y +. لتشغيل الجهاز ، سأستخدم 12V 6A DC التيار الكهربائي. يمكن أن يعمل درع Arduino CNC في الواقع من 12 إلى 36 فولت ، كما يمكن أن يعمل محول التيار المستمر المحدد الذي أستخدمه بنفس الفولتية. عند إدخال محول التيار المستمر ، أضفت مفتاحًا حتى أتمكن من تشغيل وإيقاف تشغيل السلك الساخن بشكل منفصل. عند إخراج محول التيار المستمر ، قمت ببساطة بتوصيل السلكين من طرفي سلك المقاومة. أخيرًا ، يمكننا توصيل Arduino وتشغيله من خلال منفذ USB وتشغيل درع Arduino CNC ومحركات السائر من خلال قابس الطاقة DC.


Connecting the Arduino CNC Shield Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


Foam cutter hot wire temperature adjustment Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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


Cutting styrofoam with the hot wire , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

ومع ذلك ، بعد الاختبار الأولي ، يمكنك رؤية ما حدث لسلكي الساخن. امتدت بسبب الحرارة والينابيع التي كان يجب أن تعوض عن ذلك لم تقم بعملها.


Foam cutter hot wire deformation due to heat expansion , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

في الواقع ، فقدت الينابيع وظائفها بسبب ارتفاع درجة الحرارة ، لأنه مع هذا التكوين كان التيار يتدفق من خلالها أيضًا.


Connecting the hot wire with aligator clips ,Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


برمجة ماكينة سى ان سىCNC   باستخدام Arduino


حسنًا ، حان الوقت الآن لبدء البث المباشر لهذه الآلة وجعلها آلة CNC حقيقية.


Arduino CNC Firmware and Controll software - Simple block diagram , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


 لهذا الغرض ، نحتاج أولاً إلى تحميل برنامج ثابت إلى Arduino الذي يتحكم في حركة الجهاز. الخيار الأكثر شعبية لآلات DIY CNC هو البرامج GRBL.


GRBL - Open source Arduino Firmware for controlling CNC machines , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

إنه مفتوح المصدر ويمكننا تنزيله من GitHub.com. بمجرد تنزيله كملف مضغوط ، يمكننا استخراجه ونسخ مجلد "grbl" ولصقه في دليل مكتبة Arduino. ثم يمكننا فتح Arduino IDE ومن ملف> أمثلة> grbl اختر مثال grblUpload. نحتاج الآن إلى تحديد لوحة Arduino التي نستخدمها ، Arduino UNO ، وتحديد منفذ COM الذي يتصل به Arduino وتحميل هذا الرسم التخطيطي إلى Arduino. بمجرد تحميله ، يعرف Arduino الآن كيفية قراءة رموز G وكيفية التحكم في الجهاز وفقًا لها.

بعد ذلك ، نحتاج إلى نوع من الواجهة أو وحدة التحكم التي ستتواصل وإخبار Arduino بما يجب فعله. مرة أخرى ، أختار برنامجًا مفتوح المصدر لهذا الغرض وهو Universal G-Code Sender.


Universal G-code Sender for controlling the Arduino CNC Machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


لقد قمت بتنزيل إصدار النظام الأساسي 2.0. لتشغيل البرنامج ، نحتاج إلى استخراج الملف المضغوط ، والانتقال إلى مجلد "bin" وفتح أي من ملفات ugsplatfrom القابلة للتنفيذ. هذا في الواقع برنامج JAVA ، حتى نتمكن من تشغيل هذا البرنامج أولاً ، نحتاج إلى تثبيت JAVA Runtime Environment. يمكننا أيضًا تنزيل هذا مجانًا من موقعه الرسمي على الويب.

لذا ، بمجرد أن نفتح برنامج Universal G-Code Sender أولاً ، نحتاج إلى تشغيل معالج الإعداد لتهيئة الجهاز.


Universal G-code sender Setup Wizard , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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

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


CNC machine step calibration with Universal G-code sender , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

الآن في الواقع على الماكينة الخاصة بك ، باستخدام المسطرة ، نقيس الحركة الفعلية التي قامت بها الآلة وندخل هذا الرقم هنا في البرنامج. وفقًا لهذا ، سيحسب البرنامج ويخبرنا بتلك القيمة التي يجب علينا تغييرها وتحديث معلمة الخطوات / mm. في حالتي هذه 83 خطوة / مم. أما بالنسبة للمحور Z ، فقد قمت بتعيينه على 400 درجة / مم ، أو هذا يعني أن القيمة 1 مم للمحور Z ستدور 45 درجة.

بعد ذلك ، نحتاج إلى التحقق مما إذا كانت مفاتيح الحد تعمل بشكل صحيح. اعتمادًا على ما إذا قمنا بربطهم NO أو NC ، يمكننا أيضًا قلبهم هنا. تمامًا كما قلت من قبل ، كان اتصال NC يعمل بشكل أفضل بالنسبة لي. على أي حال ، نحتاج هنا إلى ملاحظة أننا بحاجة إلى إيقاف تشغيل مفتاح الحد المحور Z لأننا لا نملك واحدًا في جهازنا. إذا لم نقم بإيقاف تشغيله ، فلن نتمكن من وضع الجهاز في المنزل. للقيام بذلك ، نحتاج إلى الانتقال إلى مجلد grbl في مكتبة Arduino ، وتعديل ملف config.h.


Editing GRBL config file for turning off Z axis limit switch , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

هنا نحتاج إلى العثور على خطوط دورة التوجيه والتعليق على المجموعة الافتراضية لآلة CNC ذات 3 محاور وإلغاء تعليق الإعداد لآلات ذات محورين. الآن نحن بحاجة إلى حفظ الملف وإعادة تحميل مثال grblUpload إلى Arduino. لاحظ أنه ربما يجب عليك إعادة تشغيل البرامج مرة أخرى حتى يعمل كل شيء بشكل صحيح.

حسنًا ، لذلك بعد ذلك يمكننا محاولة ضبط الجهاز للبداية باستخدام الزر Try homing. عند النقر على الجهاز ، يجب أن يبدأ في التحرك نحو مفتاح حد X ، وبمجرد الضغط عليه ، سيبدأ في تحريك المحور Y. إذا لزم الأمر يمكننا تغيير اتجاهات مفاتيح الحد. في نهاية معالج الإعداد ، يمكننا تعيين حدود بسيطة والتي تحدد فعليًا الحد الأقصى للمسافة التي يمكن للجهاز قطعها في كل اتجاه. في حالتي هذه 45 × 45 سم.


Setting soft limits for the CNC machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

طيب حتى الآن البرنامج جاهز للعمل. قبل كل استخدام ، يجب عليك دائمًا تشغيل الجهاز في المنزل ، وبعد ذلك يمكنك القيام بأي شيء تريده. أولاً ، أود أن أقترح اللعب واختبار وحدة التحكم في الركض أو تحريك الجهاز يدويًا. أيضًا ، في هذه المرحلة ، يجب أن تحاول قطع بعض قطع الرغوة من أجل معرفة معدل التغذية أو سرعة الحركة الأكثر ملاءمة لك.
Manually move the CNC machine - Universal G-code sender Jog controller , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

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


إنشاء جى كود  G code  لآلة CNC


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


Inkscape for prepearing the drawings for CNCmachining < Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes

سأريكم مثالين على كيفية تحضير جى كود G code  لآلة Arduino CNC باستخدام Inkscape. لذا يجب علينا أولاً ضبط حجم الصفحة على حجم منطقة العمل لدينا وهي 45x45 سم. في المثال الأول ، قمت بتنزيل صورة Arduino وصورتها واستوردتها في البرنامج. باستخدام وظيفة Trace Bitmap ، نحتاج إلى تحويل الصورة إلى تنسيق متجه vector format.


Using the Trace Bitmap function in Inkscape , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو , مشاريع ميكاترونكس mechatronics projectes


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


Prepearing the Arduino Logo in Inscape for Foam cutting , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو مشاريع ميكاترونكس



لذا ، بمجرد أن يصبح الرسم جاهزًا ، يمكننا استخدام ملحق Gcodetools لإنشاء كود G. أولاً ، نحتاج إلى إنشاء نقاط توجيه.

Gcodetool - Inkscape plugin for generating G-code , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

ثم يمكننا تحجيم نموذجنا إلى الحجم المطلوب. بعد ذلك ، نحتاج إلى الذهاب إلى مكتبة الأدوات وبهذا نحدد الأداة التي نستخدمها لآلة Arduino CNC. يمكننا اختيار اسطوانة حيث من الواضح أن السلك له شكل أسطواني. هنا يمكننا تغيير المعلمات مثل قطر الأداة ، قمت بتعيينها إلى 1 مم ، وكذلك معدل التغذية. المعلمات الأخرى ليست مهمة في هذا الوقت. أخيرًا ، يمكننا الآن إنشاء رمز G لهذا الشكل باستخدام وظيفة Path to Gcode.


Generating G-code for CNC machine with Inkscape Gcodetool plugin , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

إن G-code هو ببساطة مجموعة من التعليمات التي يمكن لـ GRBL أو Arduino فهمها ووفقًا لهم يقودون محركات السائر. حتى الآن ، يمكننا فتح Gcode في برنامج المرسل Univeral G-code ومن خلال نافذة Visualizer يمكننا رؤية هذا المسار الذي يجب أن يمر به الجهاز.


Arduino Logo G-code for foam cutting , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


Making a single path for CNC foam cutting in Inkscape , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


Securing the foam piece to the machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

لتأمين قطع الرغوة لآلة CNC ، صنعت هذه الحوامل البسيطة التي تحتوي على مسامير M3 تخترق الرغوة وتثبتها في مكانها.


Arduino Logo being shaped on an Arduino CNC foam cutting machine , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


CNC Foam cutter makes 3D shape automatically , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


Prepearing G-code for 3D shape for CNC foam cutting , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

للقيام بذلك عند إنشاء نقاط الاتجاه ، نحتاج إلى ضبط العمق Z على -8 مم. ثم في معلمات الأداة ، نحتاج إلى ضبط خطوة العمق على قيمة 2 مم. الآن بعد إنشاء كود G ، يمكننا فتحه في مرسل G-code ويمكننا أن نرى أن الجهاز سيقوم بـ 4 تمريرات من نفس المسار بفارق عمق 2 مم. في حالة جهاز التوجيه CNC الذي يعني أنه في كل مرة ستصبح البتات أعمق 2 مم لقطع المواد ، ولكن هنا كما هو موضح سابقًا ، نقوم بتعيين المحور Z لتدوير 45 درجة مع كل مليمتر أو 90 درجة لسير محرك السائر 2 مم .


Generating G code for Pillar 3D shape , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

على أي حال ، هنا نحتاج أيضًا إلى تعديل G-code قليلاً. بشكل افتراضي ، ينقل رمز G الذي تم إنشاؤه بعد كل تمريرة المحور Z إلى قيمة 1 مم ، وهو ما يعني في حالة جهاز التوجيه CNC أنه يرفع البت عند الحاجة إلى سفر فارغ.


3d shape for foam cutting in universal g code sender , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

في الواقع ، يمكننا أن نترك G-code بدون تعديل ولكنه سيجعل الحركات غير الضرورية للمحور Z ، أو يدور الرغوة بدون سبب. لذلك ، بعد كل تكرار للشفرة ، علينا فقط تعديل قيم المحور Z للبقاء في نفس المكان ، دون الرجوع إلى قيمة 1 مم.


Modifying G Code in universal gcode sender for foam cutting , Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


Rotating platform for making 3d shapes,Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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


Setting zero points, Arduino CNC Foam Cutting Machine  - آلة قطع الرغوة - الفوم - بإستخدام الاردوينو

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

يمكنك تنزيل ملفات G-code وملفات Inkscape لجميع الأمثلة هنا:

- ملفات رموز G كود  لجميع الأمثلة  >>> حملها من هنا
- ملفات إنكسكيب  Inkspace لجميع الأمثلة >>>  حملها من هنا

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

الأربعاء، 4 مارس 2020

Arduino Voltage Reference اردوينو الجهد المرجعي

اردوينو الجهد المرجعي Arduino Voltage Reference
يوجد مرجع جهد اردوينو (1.1 فولت) مدمج في بعض ميكروكنترولر اردوينو. لدى كل من Uno و Nano واحد ، وعدد قليل من Arduinos الآخرين لديهم.
عادةً ما تقوم بإعداد Arduino ADC باستخدام مزود الطاقة المتحكم كمرجع للجهد (لأنه سهل! وهو الوضع الافتراضي لبرنامج Arduino). المشكلة في ذلك هي أن رقاقة مزود الطاقة ستحدد بعد ذلك دقة قياسك ، بمعنى أنه لن يكون لديك أدنى فكرة إذا كانت دقيقة أو مستقرة مع درجة الحرارة.

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

على سبيل المثال ، يمكن أن يعمل Arduino Uno / Nano من 1V8 إلى 5V5 واستخدام خليتين من AA يسمح بالعمل (ولكن فقط إذا قمت بضبط الساعة على 4MHz - راجع قسم ورقة البيانات 29.3 "درجات السرعة"). يمكنك استخدام مرجع الجهد الداخلي لمراقبة حالة البطارية - بدون مكونات إضافية.
تحاول هذه الصفحة أن تحدد ، بطريقة بسيطة ، ما إذا كان مرجع جهد Arduino يعتبر جيدًا أم لا.


فجوة نطاق الجهد المرجعي

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

يستخدم هذا النوع من تخطيط الدوائر في المراجع الحديثة على سبيل المثال MAX6143. ومع ذلك ، في ATMega328 وما شابه ذلك ، فإن عملية التحكم في تخطيط الرقاقة على السيليكون لم يتم تعريفها جيدًا ولا تستخدم التشذيب بالليزر ، وبالتالي فإن الدقة الأولية السيئة لمرجع جهد Arduino (± 9٪).

يمكنك معرفة كيفية التخلص من هذا الإزاحة لاحقًا في هذه الصفحة.

ملاحظة: إذا كنت تستخدم مرجعًا خارجيًا ، فسيكون قياس ADC أكثر دقة نظرًا لأنك تتحكم في مواصفات الشريحة.
ومع ذلك ، تذكر أن ADC الداخلي في Arduino ليس دقيقًا على أي حال (انظر ورقة بيانات ATMega328: الدقة المطلقة 2LSB (بما في ذلك INL و DNL وأخطاء التقدير والكسب والإزاحة).

تحذير: لا تستخدم مطلقًا مرجعًا للجهد الخارجي وتمكّن في الوقت نفسه المرجع الداخلي - هناك شيء سينكسر!
يستخدم لمرجع الجهد اردوينو
يمكن استخدام مرجع الجهد اردوينو في واحدة من خمس طرق مختلفة:
للكشف عن اللون البني (انظر ورقة البيانات لتمكين).
كقيمة القياس في ADC (تغذية في أحد المدخلات).
كمرجع لقياسات ADC.
كمدخل إلى المقارنة.
قياس درجة الحرارة (يجب أن تستخدم ADC المرجع الداخلي).

براون خارج الكشف

يتيح الكشف عن اللون البني للمعالج تحديد متى انخفض جهد التيار الكهربائي عن عتبة ولكن لم يذهب إلى الصفر تمامًا. يستخدم هذا للإشارة إلى المعالج أن الذاكرة قد تكون مكتوبة بشكل سيء. إنه يوفر طبقة إضافية من الموثوقية لتطبيق ما.
مدخلات إلى ADC
من شأن قياس المرجع عند إدخال ADC أن يتيح معايرة مصدر مرجعي مختلف ، على سبيل المثال العرض (انظر هنا) أو كمقارنة خام مع مدخلات ADC الأخرى (إلا إذا كنت تقوم بمعايرة المرجع أولاً كما هو موضح في هذه الصفحة - وفي هذه الحالة يمكن أن تكون دقيقة للغاية (~ 1٪)).
مرجع ADC
باستخدام مرجع الجهد اردوينو كما كنت تتوقع أن تستخدم!
نصيحة: استخدام مرجع 1V1 يعني أن ADC 10 بت له قيمة LSB ~ 1mV (1.074mV / LSB).
المدخلات المقارنة
باستخدام مرجع الجهد يسمح المقارنة الخام أي يمكنك فقط مقارنة أي جهد الدخل إلى 1V1. نقطة واحدة مثيرة للاهتمام هي أن أي من مدخلات ADC يمكن مقارنتها من قبل المقارنة - وهذا دون استخدام أي مكونات خارجية أخرى. انظر القسم 23.2 من ورقة البيانات المسمى "المدخلات المقارنة التناظرية المضاعفة".

يمكنك طرح السؤال "لماذا تهتم باستخدام المقارنة عندما يمكنك بسهولة حساب النتيجة باستخدام ADC؟" الجواب هو السرعة.

يمكن للمقارن مقارنة فولتين خلال 100 ثانية من النانوثانية في حين أن ADC هو نوع تقريبي متعاقب ويستغرق حوالي 13us لجمع قيمة ADC. يجب استرداد هذه القيمة بواسطة المعالج ، ثم تقوم بمقارنة القيمة بإعداد حد ، مما يتطلب وقتًا أطول بكثير.
قياس الحرارة
نظرًا لأن مرجع جهد Arduino مستقل عن درجة الحرارة ، فيمكن مقارنته بإخراج دائرة تعتمد على درجة الحرارة - دائرة داخل الشريحة. يتيح لك ذلك قياس درجة الحرارة في ATMega328P.

يمكن ضبط عنصر استشعار درجة الحرارة في ADC على أحد مدخلات ADC. تنص ورقة البيانات على أن معامل درجة الحرارة هو 1mV / ° C ولكن الدقة الأولية هي ± 10 ° C بسبب تباين العملية في تصنيع الرقاقة. (انظر القسم 24.8 من  المسمى "قياس درجة الحرارة"). للحصول على قراءة دقيقة يتطلب معايرة هذا النظام.

اردوينو الجهد المرجعي الأداء

تشير المعلومات الموجودة في ورقة البيانات على مرجع Arduino للجهد إلى أن قيمها القصوى والدنيا هي 1.0V ~ 1.2V و 1 V1 الاسمية. بخلاف هذا لا يوجد المزيد من المعلومات على الإطلاق.

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

لذا فإن السؤال الحقيقي هو:


    هل مرجع الجهد اردوينو أي خير على الإطلاق؟


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

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

ملاحظة: تم إجراء جميع قياسات الجهد باستخدام ADS1115 على لوحة جانبية. تم إجراء جميع قياسات الجهد في الوضع التفاضلي ADS1115. أجريت قياسات درجة الحرارة باستخدام MAX6675 والنوع J الحرارية.

الدقة الأولية
الدقة الأولية سيئة عند ± 9٪ ولكن معايرة مرجع جهد Arduino يسمح لك بالتخلص من هذا الخطأ.
ملاحظة: تبلغ دقة MAX6143 الأولية 0.05٪ (180 مرة أفضل ، 9٪).


استقرار النتائج Arduino Uno USB Stability Measurements

يتم قياس لوحين ، الأول هو لوحة Arduino uno القياسية والثاني هو لوحة Arduino Nano. كلاهما يستخدم نفس المعالج ATMega328P.

أعطت القياسات التي أجريت في أوقات / أيام مختلفة من Arduino Uno مدعوم من مزود الطاقة USB (hub) النتائج التالية:
اردوينو أونو USB قياسات الاستقرار
اردوينو أونو (PDIP)



Arduino Uno USB Stability Measurements , mechatronics  اردوينو اونو

Arduino Uno USB Stability Measurements




يختلف جهد USB بنسبة 2.4٪ إلى 3.6٪ وهذا ليس له تأثير كبير على تباين الخطأ في المرجع (انظر قياسات الجهد أدناه).
لاحظ كيف يظل الجهد المرجعي ثابتًا ، أي أنه يحتوي على خطأ إزاحة ثابت. على الرغم من أن مرجع الجهد يبدأ من قيمة 1.070V فإنه يحتفظ بالقرب من تلك القيمة. قد يكون هذا بسبب عملية التصنيع ويبدو أنه يظل ثابتًا بمرور الوقت.
للحصول على أفضل مجموعة من النتائج ، يتم الحصول على التزويد من لوحة وصل USB مع ناتج الطاقة الخاص بها بينما في الأسفل يكون مخرج USB مباشر للكمبيوتر الشخصي. هذا الأخير يبدو أكثر استقرارا قليلا (نانو).
في كلتا الحالتين ، فإن استخدام مرجع الجهد الداخلي على متن الطائرة سوف يعطي نتيجة أكثر اتساقًا حيث سيكون له تنظيم أكثر تشددًا للجهد.
ملاحظة: تذكر أنك تستخدم وحدة تزويد USB 5V مباشرة (عند العمل على المقعد) أو تستخدم وحدة طاقة خارجية. يحتوي منظم 5 فولت على متن الطائرة - LD1117AG (نفس NCP1117) - على خطأ تشديد في المواصفات (0.1 فولت في 5 فولت = 2٪) من طاقة USB (انظر قياسات حساسية التزويد أدناه).
استنتاج حول الاستقرار
على الرغم من أن مرجع جهد Arduino يحتوي على خطأ إزاحة أولي (ربما بسبب عملية التصنيع) ، فإن استقرار المرجع لا يزال جيدًا. مع القياسات هنا تظهر بين 0.21 ٪ ~ 0.31 ٪ التغيير.
امدادات التيار الكهربائي الاستقرار
.استخدام ATMega382p على لوح لحام دون توصيله بجهد إمداد متغير

استنتاج بشأن امدادات التيار الكهربائي

إشارة الجهد ذات فجوة الحزمة تبدو جيدة جدًا ، كونها غير حساسة لتوفير التغييرات في الجهد. ينخفض ​​بمقدار 1.2mV لكل انخفاض في إمدادات فولت يبدأ من 0،05 ٪ خطأ في 5.26V العرض. إذا تم الإبقاء على الإمداد ثابتًا ، فيمكن أيضًا إزالة خطأ الإزاحة هذا عن طريق معايرة المرجع.
درجة الحرارة الاستقرار
باستخدام المزدوجات الحرارية (النوع J) مع رقاقة MAX6675 و MSOP Arduino Nano. تسخين الشريحة لمدة دقيقة والانتظار حتى تستقر درجة الحرارة. يحتوي MAX6675 الحرارية على خطأ في درجة حرارة الإزاحة ولكن ما نريده حقًا هو التغير في درجة الحرارة وكيف يرتبط الناتج المرجعي. يتم قياس درجة الحرارة المحيطة أيضًا باستخدام جهاز مختلف لإعطاء نقطة مرجعية للحرارية المزدوجة.
قياسات اردوينو نانو
لدرجات الحرارة المحيطة نانو تقاس الحرارية 24.5 درجة مئوية (يقول مقياس الحرارة الأصلي 23 درجة مئوية) قريبة جدا. درجة الحرارة رقاقة 30 درجة مئوية.

القياس الأول:
Vref هو 1.0674V.
Vref هي رقاقة تسخين 1.0659kV إلى 75 درجة مئوية
السقوط هو: -1.5mV
تغير على درجة الحرارة
للحصول على درجة حرارة 35 درجة مئوية ، يتغير الجهد المرجعي بمقدار -1.5mV. تقريبًا -1.5 / 35 = -0.043mV / ° C. لكن هذا يعتمد فقط على جهاز واحد وقياس واحد!

    التغيير هو -0.043mv / ° C

لزيادة درجة الحرارة من 25 درجة مئوية إلى 125 درجة مئوية (دلتا 100 درجة مئوية) يجب أن ينخفض ​​المرجع بنسبة 4.28mV. من حيث النسبة المئوية (4.28e-3 / 1.1) * 100 = 0.39٪.

للحصول على انخفاض في درجة الحرارة من 25 درجة مئوية إلى -40 درجة مئوية (دلتا -65 درجة مئوية) ، يجب زيادة المرجع بنسبة 2.79mV. من حيث النسبة المئوية (2.79e-3 / 1.1) * 65 = 0.16٪.

إذا كنت تفكر في ترانزستور بسيط يحتوي على تغيير في درجة الحرارة -2.1mV / ° C ثم لنفس دلتا درجة الحرارة ستحصل على تغيير جهد 201mV (تغيير بنسبة 18.2 ٪) لذلك فإن دائرة فجوة النطاق تعمل بشكل جيد!

القياس الثاني:
Vref هو 1.0665V.Temp 30 درجة مئوية
Vref هو رقاقة تسخين 1.0652kV إلى 75 درجة مئوية
السقوط هو: -1.3mV - هذه نتيجة مشابهة للنتيجة الأولى.

القياس الثالث:
Vref هو 1.0688V.Temp 30 درجة مئوية
Vref هي رقاقة تسخين 1.0683kV إلى 75 درجة مئوية
السقوط هو: -0.5mV - مختلف قليلاً ، ولكن في نفس النطاق.
استنتاج حول درجة الحرارة
أداء درجة الحرارة جيد مع تغيير مرجعي بنسبة 0.55٪ فقط على مدى درجة الحرارة الكامل (يقدر من 35 درجة مئوية إلى 75 درجة مئوية).

يتغير الجهد المرجعي بمقدار 0.003٪ لكل درجة مئوية (تقديري) [0.55٪ / 165 (تقديري)].
ملاحظة: يتمتع MAX6143 بأداء أفضل في درجات الحرارة بمقدار 1000 مرة عند 3ppm / ° C.

على مدى درجة الحرارة الكاملة (-40 درجة مئوية إلى + 125 درجة مئوية) ، سيتغير المرجع بحوالي 0.55 ٪ (0.39 ٪ + 0.16 ٪) = 0.55 ٪ (من 1V1) وهو أمر ليس سيئا للغاية.


يجب تغيير مرجع الجهد بمقدار + 2.79mV ~ -4.28mV (من 1V1) على درجات الحرارة هذه.
استنتاجات بشأن مرجع الجهد اردوينو
يمكن أن يكون للمرجع إزاحة كبيرة (بسبب عملية التصنيع) ± 9٪ وبالتالي قد تكون دقتها الأولية سيئة.
حساسية امدادات التيار الكهربائي: ~ -1.2mV لكل انخفاض امدادات فولت.
        هذا هو ~ -11 ٪ لكل انخفاض امدادات فولت.
درجة الحرارة الاستقرار: ~ 0.003 ٪ لكل درجة مئوية (المقدرة)
        ~ 0.55 ٪ على مدى درجة الحرارة الكاملة.
استقرار الجهد الناتج: ~ 0.31 ٪
للحصول على أفضل النتائج من مرجع جهد Arduino ، يجب معايرة ذلك. سيؤدي ذلك بعد ذلك إلى القضاء على الفولتية الناتجة عن عملية التصنيع وحساسية الفولتية في الإمداد (إذا ظل مصدر الجهد ثابتًا ، أي تم توفيره من خلال منظم).


هذا سيعطي ثباتًا عند 0.55 + 0.31 = ~ 0.86٪.
تذكر أن هذا تقدير يستند إلى عدد قليل جدًا من العينات ، لذلك قد تختلف نتائجك ، لكن ذلك يوضح أن المرجع يمكن أن يصبح أكثر استقرارًا إذا تمت معايرته. كما يوضح أن مرجع جهد Arduino قد يكون أكثر فائدة مما تتخيل.
كيفية قياس امدادات التيار الكهربائي
يمكنك تشغيل متحكم (ATMega328p - Uno و Nano) من 1V8 إلى 5V5. لا يستطيع المتحكم الدقيق اكتشاف هذه القيمة "الحقيقية" لجهد التزويد هذا إلا إذا كنت تستخدم جهد مرجعي معروف لمعرفة ذلك. هذا لأن ADC يقيس كل شيء بالنسبة إلى مرجع ، أي أن الجهد الكهربائي هو المرجع!

تحذير: في VCC = يمكن أن تكون الساعة 4.5V 20MHz وفي VCC = 2.7V يجب أن تكون سرعة الساعة <= 10MHz ، وبالنسبة لـ VCC = 1.8V يجب أن تكون سرعة الساعة <= 4MHz). راجع القسم "29.3 درجات السرعة" الذي يوضح أنه يجب تقليل تردد الساعة خطيًا مع تقليل جهد التيار الكهربائي.


إنها طريقة الفرز العكسي لقياس ADC. بدلاً من استخدام مرجع الجهد الكهربائي "كمرجع" ، يمكنك استخدام جهد التيار الكهربائي كمرجع و "مرجع الجهد الداخلي Arduino" باعتباره الكمية المراد قياسها.
يتم ذلك بهذه الطريقة لأنه لا يمكنك تحديد جهد Vcc كمدخل إلى ADC. راجع "مخطط كتلة ADC Mux" أدناه.
في هذه الحالة ، فإن الجهد الكهربائي "المرجعي" هو:
    VBIN = VCC / 1024 V / LSB [الأسرى (2،10) = 1024]
في المعادلة أعلاه VCC غير معروف (إلى متحكم!).
بقياس المرجع 1V1 ، والحصول على قيمة ADC لذلك ، يمكنك حل المعادلة
    VBIN = VREF / ADCVALUE

وبالتالي:
    VCC / 1024 = VREF / ADCVALUE
وبالتالي
    VCC = 1024 * (VREF / ADCVALUE)

و ...
    VCC = 1024 * (1V1 / ADCVALUE)
هنا 1024 هو الصحيح

(1024 هو مقسوم لـ VCC للجهد المرجعي).
نصيحة: نصيحة: للحصول على نتيجة أفضل قم بمعايرة مرجع جهد Arduino.
لمعرفة قيمة جهد التيار الكهربائي باستخدام مرجع جهد Arduino:
قم بتعيين مصدر مرجع ADC على Vcc.
(هذا خيار في ADC mux - انظر الرسم البياني أدناه)
تأخذ قراءة ADC من الجهد ذات فجوة الحزمة (مرجع الجهد اردوينو).
يمكنك استخدام المعادلات أعلاه لحساب جهد التيار الكهربائي أو اتباع المثال التالي.
مثال Sketch1 قياس الجهد العرض
ضع الكود التالي في المخطط داخل وظيفة setup ().

إذا قمت بمعايرة المرجع ، فقم بتغيير قيمة ...
arduinoADCcal
... لقيمتك المقاسة. تمثيل 1.1V هو 11000 وهو تمثيل عشري ثابت حيث يفترض أن تكون العلامة العشرية مكان واحد إلى اليمين. لذلك يمكنك التفكير في 11000 يمثل عدد 0.1mVs في الجهد الفعلي ، أي 11000 x 0.1e-3 = 1.1V
باستخدام ADS1115 أو الفولتميتر جيدة سوف تعطيك أرقام كافية. إذا كنت تستخدم DVM قياسي ، فستحصل على 3 أرقام فقط (على مدى 2 فولت) ، لذا اضبط آخر رقمين على الصفر.
البرنامج 
////////////////////////////////////////////////////////////////
void selfMeasureVcc(char *buf) {
uint8_t low,high; // ADC bytes.
// Default reference value. Set this to your measured reference voltage (or leave as is).
// The value uses an integer fixed point representation
// with the assumed decimal point one place to the right.
static unsigned long arduinoADCcal = 11000;

   if (strlen(buf)>1) {
      if (strlen(buf)<6)
         Serial.print(F("Not enough digits"));

      else if (strlen(buf)>6)
         Serial.print(F("Too many digits"));
      else
         arduinoADCcal = atoi(&buf[1]); // delay<nnn>

   } else if (strlen(buf)==1)
      Serial.print(F("Ref calibration value: ")); Serial.println(arduinoADCcal);


   // ADCSRA |= _BV(ADEN); // Enable ADC. Enabled by init() in Arduino code.

   ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); // Set VCC ref and band gap as input.
   delay(2); // Vref settling time delay

   // Throw away 1st result as datasheet says
   // After switch, ref may be invalid.
   // Datasheet: "24.5.2 ADC Voltage Reference".
   ADCSRA |= _BV(ADSC); // Start conversion
   while ( bit_is_set(ADCSRA, ADSC) ); // Wait for conversion complete.

   ADCSRA |= _BV(ADSC); // Start conversion
   while ( bit_is_set(ADCSRA, ADSC) ); // Wait for conversion complete.

   // ADCL must be read first, then ADCH, to ensure that the content
   // of the Data Registers belongs to the same conversion
   // Datasheet Section "24.2 Overview"
   low = ADCL;  // Read ADCL first which blocks ADCH updates.
   high = ADCH; // After reading ADCH both registers can be updated by the chip.

   long ADCValue = (high << 8) | low;
   Serial.print(F("ADC value of 1V1 ref: "));  Serial.println(ADCValue);

   #define BINS 1024L // VCC/1024 is the value of each LSB of the ADC.

   Serial.println( (arduinoADCcal)* BINS );
   Serial.println( ((arduinoADCcal * BINS)+5L) );
   Serial.println( ((arduinoADCcal * BINS)+5L) / 10L );

   // Note +5 = middle of LSB bin
   // Calculate Vcc (in mV); 1125300 = 1.1*1024*1000
   // Here ccal value is 1.1*10e4 so no need for *1000 and must divide by 10.

   uint32_t res = (((arduinoADCcal * BINS)+5L) / 10L) / ADCValue;

   // Calculate Vcc (in mV); 1126400 = 1.1*1024*1000
   // should be 1024 / ADCValue = 1125300L / ADCValue; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000
   // internal1.1Ref = 1.1 * Vcc1 (per voltmeter) / Vcc2 (per readVcc() function)
   Serial.print(F("Measured (mV) ")); Serial.print(res); Serial.println(F(" mV"));
}

ترجمة البرنامج بالعربي
////////////////////////////////////////////////// //////////////
باطل selfMeasureVcc (char * buf) {
uint8_t منخفضة ، عالية ؛ // ADC بايت.
// القيمة المرجعية الافتراضية. اضبط هذا على الجهد المرجعي المقاس (أو اتركه كما هو).
// تستخدم القيمة عددًا صحيحًا من النقاط الثابتة
// مع العلامة العشرية المفترضة مكان واحد إلى اليمين.
ثابت غير موقعة طويلة arduinoADCcal = 11000 ؛

   if (strlen (buf)> 1) {
      إذا (strlen (buf) <6)
         Serial.print (F ("الأرقام غير كافية")) ؛

      وإلا إذا (strlen (buf)> 6)
         Serial.print (F ("عدد كبير جدًا من الأرقام")) ؛
      آخر
         arduinoADCcal = atoi (& buf [1])؛ // التأخير <nnn>

   } آخر إذا (strlen (buf) == 1)
      Serial.print (F ("Ref calibration value:"))؛ Serial.println (arduinoADCcal)؛


   // ADCSRA | = _BV (ADEN)؛ // تمكين ADC. يتم التمكين بواسطة init () في كود Arduino.

   ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1) ؛ // تعيين المرجع VCC والفجوة الفرقة كمدخل.
   تأخير (2) ؛ // Vref تسوية تأخير الوقت

   // رمي النتيجة الأولى كما تقول ورقة البيانات
   // بعد التبديل ، قد يكون المرجع غير صالح.
   // ورقة البيانات: "24.5.2 ADC Voltage Reference".
   ADCSRA | = _BV (ADSC) ؛ // ابدأ التحويل
   بينما (bit_is_set (ADCSRA ، ADSC)) ؛ // انتظر التحويل كاملاً.

   ADCSRA | = _BV (ADSC) ؛ // ابدأ التحويل
   بينما (bit_is_set (ADCSRA ، ADSC)) ؛ // انتظر التحويل كاملاً.

   يجب قراءة // ADCL أولاً ، ثم ADCH ، لضمان أن المحتوى
   // سجلات البيانات ينتمي إلى نفس التحويل
   // قسم ورقة البيانات "24.2 نظرة عامة"
   منخفض = ADCL ؛ / / اقرأ ADCL أولاً الذي يمنع تحديثات ADCH.
   عالية = ADCH ؛ // بعد قراءة ADCH يمكن تحديث كلا السجلين بواسطة الشريحة.

   ADCValue طويل = (ارتفاع << 8) | منخفض؛
   Serial.print (F ("ADC value 1V1 ref:"))؛ Serial.println (ADCValue) ؛

   #define BINS 1024L // VCC / 1024 هي قيمة كل LSB من ADC.

   Serial.println ((arduinoADCcal) * BINS)؛
   Serial.println ((((arduinoADCcal * BINS) + 5L)) ؛
   Serial.println ((((arduinoADCcal * BINS) + 5L) / 10L)؛

   // ملاحظة +5 = منتصف صندوق LSB
   / / حساب Vcc (في بالسيارات) ؛ 1125300 = 1.1 * 1024 * 1000
   / / هنا تبلغ قيمة ccal 1.1 * 10e4 لذلك لا داعي لـ * 1000 ويجب قسمة على 10.

   uint32_t res = (((arduinoADCcal * BINS) + 5L) / 10L) / ADCValue؛

   / / حساب Vcc (في بالسيارات) ؛ 1126400 = 1.1 * 1024 * 1000
   يجب أن يكون // 1024 / ADCValue = 1125300L / ADCValue؛ / / حساب Vcc (في بالسيارات) ؛ 1125300 = 1.1 * 1023 * 1000
   // internal1.1Ref = 1.1 * Vcc1 (لكل الفولتميتر) / Vcc2 (لكل وظيفة readVcc ())
   Serial.print (F ("Measured (mV)")) ؛ Serial.print (res)؛ Serial.println (F ("mV")) ؛
}

اردوينو الجهد المرجعي بلوك المخططات
اردوينو أونو / نانو ADC مسك الغزال الرسم البياني
اردوينو adc mux لعملية مرجعية ذات فجوة الحزمة الجهد
Arduino Voltage Reference اردوينو الجهد المرجعي

المصدر: ورقة بيانات ATMega328P

مرجع الجهد الداخلي ATTiny85

يتم ترتيب إشارة الجهد ATTiny85 ، والتي يمكن اختيارها إما 1V1 أو 2.56V ، بشكل مختلف قليلاً في ADC. لا يمكن إعداد دبوس AREF إلا كمدخل (لا يوجد تبديل FET يربط mux المرجع الداخلي بدبوس AREF). لذلك لا يمكنك إعداد مرجع جهد Arduino للقياس عند طرف AREF.

لذلك لا يمكنك معايرة ذلك مباشرة. قد تفترض إما أن لها القيمة المعلنة أو تقيس عرض Vcc بدقة ثم تأخذ قراءة ADC (لكن تذكر أن ADC لديها أخطاءها الخاصة أيضًا!).

إحدى الطرق التي من شأنها القضاء على أخطاء ADC هي التغذية بجهد متغير لإدخال ADC - الذي تقيسه. ثم قارنها بالقراءة من مرجع الجهد (قراءة ADC). بمجرد أن تتطابق القراءتان مع الجهد الكهربي للإدخال ، سيكشف الجهد المرجعي الحقيقي لـ Arduino (بالطبع فقط إلى دقة 1LSB).
اردوينو ATTiny85 ADC Mux بلوك الرسم البياني
إشارة الجهد الداخلي ATtiny85
Arduino Voltage Reference اردوينو الجهد المرجعي

المصدر: ورقة بيانات ATTiny85

معايرة مرجع الجهد اردوينو
لمعايرة المرجع في Uno أو Nano ، عليك فقط تشغيل المرجع وقياس الجهد عند دبوس المرجع. تذكر فقط

يجب أن يكون الشيء الموجود على السنون مكثفًا وليس له دوائر قيادة أخرى (إذا كنت ترغب في الحفاظ على الشريحة!).

تحذير: لا تقم بتوصيل أي إشارة جهد أخرى إلى دبوس VREF عند تشغيل مرجع الجهد Arduino (Uno / Nano) - لا توجد حماية ويمكن أن تتلف إما المرجع الخارجي أو الدائرة المرجعية الداخلية.


تشغيل المرجع يستخدم ببساطة كود Arduino التالي:

    التناظرية (الداخلي) ؛

ومع ذلك ، سوف تحتاج إلى تنشيط ADC لتمكين المرجع ، لذلك ستفعل قراءة بسيطة.

    analogRead (0) ؛ // يمكن أن يكون أي قناة

هذا بسبب الطريقة التي يتم بها كتابة التعليمات البرمجية "الأسلاك" - سجلات mux و REFS0 / 1 تتم كتابتها فقط قبل أمر قراءة ADC (داخل دالة analogRead () فقط).

لاردوينو ميجا يمكنك الاختيار من بين ما يلي:
    INTERNAL1V1
    INTERNAL2V56

ضع الكود أعلاه في جزء الإعداد () من Arduino Sketch.

الآن قم بتوصيل المتر المتعدد إلى دبوس VREF واكتب النتيجة (للاستخدام في التعليمات البرمجية الخاصة بك - انظر قياس الجهد الكهربائي للإمداد ، على وجه التحديد).

نصيحة: استخدم مقياس متعدد ، أو لمزيد من الأرقام ، استخدم ADS1115 في الوضع التفاضلي أو مقياس Fluke (مكلف للغاية).

نصيحة: أضف مكثفًا إلى دبوس Vref لتقليل الضوضاء الإضافية. يمكنني استخدام مكثف 100nF.

لضبط المرجع مرة أخرى لاستخدام العرض:

    التناظرية (DEFAULT) ؛

... مرة أخرى تليها ...

    analogRead (0) ؛ // يمكن أن يكون أي قناة

تم العثور على رمز العملية التناظرية هنا:
"C: / Program Files (x86) / Arduino/hardware/arduino/avr/cores/arduino/wiring_analog.c"

التعريفات (# تعريف) هنا:
C: / ملفات البرنامج (x86) / Arduino/hardware/arduino/avr/cores/arduino/Arduino.h

سيضع كود Arduino أعلاه (للاختيار المرجعي الداخلي) السجلات كما يلي (قسم ورقة البيانات: 24.9.1 سجل اختيار ADMUX ADC Multiplexer):

ADMUX بت 7 و 6 مجموعة عالية (REFS1 و REFS0).
بت ADMUX 3..0 لتعيين B1110.

ملاحظة: تنص ورقة البيانات على:
"قد تكون أول نتيجة لتحويل ADC بعد تبديل مصدر الجهد المرجعي غير دقيقة ، وينصح المستخدم بتجاهل هذه النتيجة."
(انظر قسم ورقة البيانات "24.5.2 ADC Voltage Reference").

لذلك يجب عليك التخلص من أول نتيجة ADC.

المصدر :

الجمعة، 28 فبراير 2020

مؤتمرات الروبوتات في دبي Robotics 2020 Conference in Dubai


مؤتمرات الروبوتات في دبي
مؤتمرات الروبوتات في دبي  Robotics 2020 Conference in Dubai

19-20 مارس 2020
ICASR 2020: مؤتمر التقدم المحرز في مؤتمر ثعبان الروبوتات ، دبي (19-20 مارس 2020)
ICEFM 2020: المجالات الكهرومغناطيسية في مؤتمر الميكاترونكس ، دبي (19-20 مارس 2020)
ICIRTCME 2020: الابتكارات والاتجاهات الحديثة والتحديات في مؤتمر هندسة الميكاترونكس ، دبي (19-20 مارس 2020)
ICMAEE 2020: مؤتمر الميكاترونيك وهندسة السيارات والبيئة ، دبي (19-20 مارس 2020)
ICMCEA 2020: مؤتمر هندسة وتطبيقات التحكم في الميكاترونيك ، دبي (19-20 مارس 2020)
ICMEAM 2020: مؤتمر الهندسة الميكانيكية والأتمتة والميكنة ، دبي (19-20 مارس 2020)
ICMEE 2020: مؤتمر الميكاترونيك والهندسة الكهرومغناطيسية ، دبي (19-20 مارس 2020)
ICMSRM 2020: مؤتمر النظم الميكانيكية والآليات الآلية ، دبي (19-20 مارس 2020)
ICPA 2020: مؤتمر المحركات البوليمرية ، دبي (19-20 مارس 2020)
ICRAMIR 2020: التطورات الحديثة في مؤتمر الميكاترونكس والروبوتات الذكية ، دبي (19-20 مارس 2020)
ICRDSR 2020: التطورات الأخيرة في مؤتمر ثعبان الروبوتات ، دبي (19-20 مارس 2020)
ICRIS 2020: مؤتمر الروبوتات وأجهزة الاستشعار الذكية ، دبي (19-20 مارس 2020)
ICRLAM 2020: مؤتمر أساليب تعلم الروبوت والتكيف ، دبي (19-20 مارس 2020)

 نظرة عامة على مؤتمر الروبوتات2020 Robotics 2020 Conference

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



تعد المؤتمرات الدولية حول الميكاترونيك والروبوتات (Robotics-2020) ، والتي ستعقد خلال الفترة من 26 إلى 27 فبراير 2020 في دبي ، الإمارات العربية المتحدة ، حدثًا حاسمًا ، يستقطب نية مشارك عالمي حول تبادل وتبادل واستكشاف طرق جديدة للروبوتات والذكاء الاصطناعي و البحوث ذات الصلة وآخر التطورات. سيكون للحدث 5-6 مستوى عالمي (فئة مستشهد بها بدرجة عالية) متحدثون عامون ، متحدثون رئيسيون أنشئون ، متحدثون نشطون مدعوون ومتحدثون مساهمون جدد. بالإضافة إلى ذلك ، ستكون مجموعة متنوعة من العروض التقديمية للملصقات إلى جانب ورش العمل والدورات الخاصة مهتمة بالجمهور.



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



نأمل مخلصين أن يكون Robotics-2020 بمثابة منصة دولية للقاء الباحثين من جميع أنحاء العالم ، وتوسيع الاتصال المهني وخلق فرص جديدة ، بما في ذلك إقامة تعاون جديد.



نتطلع لرؤيتك في Robotics-2020 في دبي ، الإمارات العربية المتحدة.

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

الجمهور المستهدف:

• مدراء الشركات

• الباحثون

• الأساتذة

• محاضرون

• العلماء

• الطلاب

• المديرين وخبراء ذكاء الأعمال

• طلاب البحوث ومعاهد البحوث

• وكالة الإعلان والترويج التنفيذي

يسلط الضوء على الروبوتات 2020:

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

تم عقد الاجتماع من خلال جلسات مختلفة ، عقدت خلالها مناقشات على المسارات العلمية الرئيسية التالية:

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

·         علم الروبوتات

التفاعل بين الإنسان والآلة

·         أتمتة

دور الأتمتة في الروبوتات

·         أنظمة التحكم

· أنظمة التحكم الذكية والتحسين

الأنظمة الذكية

· معايير السلامة للروبوتات والأنظمة

أدوات التشغيل الآلي

تطبيقات الأتمتة

نظرية التحكم وتقنية التحسين

طرق التحكم

نشكر جميع الأعضاء الذين دعموا المؤتمر من خلال تعزيز المحادثات الصحية. يسرنا أن نعلن عن مؤتمرنا المقبل "المؤتمر الدولي حول الميكاترونيك والروبوتات" الذي سيعقد في دبي ، الإمارات العربية المتحدة خلال الفترة 26-27 فبراير 2020


     اتحاد جمعية الروبوتات الآسيوية

     جمعية تطوير الأتمتة (A3)

     الرابطة الأسترالية للروبوتات والأتمتة

     CLAWAR

EURON

المجتمع التفاعل الروبوت الإنسان

IEEE الروبوتات وأتمتة المجتمع

الجمعية الهندية للروبوتات تحت الماء (IURS)

الرابطة الدولية للتعرف على الأنماط (IAPR)

الاتحاد الدولي للروبوتات

الأساس الدولي لأبحاث الروبوتات

جمعية الشبكة العصبية الدولية (INNS)

جمعية كوريا للروبوتات

RoboNED

منصة روبوتية مفتوحة (ROP)

جمعية الروبوتات في الهند

جمعية الروبوتات في اليابان

جمعية الروبوتات في سنغافورة

جمعية سان فرانسيسكو للروبوتات الأمريكية (SFRSA)

     الجمعية الأمريكية للمهندسين الميكانيكيين

     معهد مهندسي الكهرباء والإلكترونيات

     جمعية مهندسي السيارات

     جمعية مهندسي التصنيع