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

Arduino Uno مع محرك المغزل والخطوة: 19 خطوة
Arduino Uno مع محرك المغزل والخطوة: 19 خطوة

فيديو: Arduino Uno مع محرك المغزل والخطوة: 19 خطوة

فيديو: Arduino Uno مع محرك المغزل والخطوة: 19 خطوة
فيديو: توصيل servo motor# مع arduino# وكيفيه التحكم به بواسطه potentiometer# شرح بالعربي 2024, يوليو
Anonim
Image
Image
الموارد المستخدمة
الموارد المستخدمة

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

لقد صنعت التجميع أدناه ، مما يفضح تقدم مغزل 2 مم وآخر 8 مم. تُستخدم مغازل TR8 التي أستخدمها بشكل شائع في أجهزة التوجيه الصغيرة والطابعات ثلاثية الأبعاد ، خاصة على المحور Z. تذكر أنه من خلال إتقان بعض المفاهيم التي سنعمل عليها هنا ، ستتمكن من تصميم أي نوع من الآلات.

الخطوة 1: الموارد المستخدمة

  • قطر المغزل شبه المنحرف 8 مم وملعب 2 مم
  • قطر المغزل شبه المنحرف 8 مم و 8 مم في الملعب
  • 8x2 شفة المغزل الكستناء
  • 8x8 شفة المغزل الكستناء
  • محامل للمغازل بقطر 8 مم
  • دليل أسطواني خطي قطره 10 مم
  • محامل أسطوانية لأدلة 10 مم
  • بين قوسين لأدلة أسطوانية 10 مم
  • نيما 17 موتورز
  • وصلات رمح
  • اردوينو اونو
  • سائق DRV8825
  • لوحة مفاتيح 4x4 مصفوفة
  • عرض نوكيا 5110
  • قطع بلاستيكية متنوعة
  • البراغي والصواميل
  • قاعدة خشبية
  • مصدر طاقة خارجي 12 فولت

الخطوة 2: حول المغازل - ما هي؟

حول المغازل - ما هي؟
حول المغازل - ما هي؟

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

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

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

الخطوة 3: حول المغازل - الخيوط المفردة والكرة

حول مغازل - خيوط مفردة وكروية
حول مغازل - خيوط مفردة وكروية

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

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

الخطوة 4: حول المغازل - التطبيقات

حول المغازل - التطبيقات
حول المغازل - التطبيقات

يمكن تطبيق المغازل على أي آلية تتطلب حركة خطية. تستخدم على نطاق واسع في الصناعة في الآلات والعمليات.

بعض التطبيقات تشمل:

  • مصاعد البضائع
  • المطابع
  • الفراولة والمخارط
  • معدات CNC
  • ماكينات تغليف
  • طابعات ثلاثية الأبعاد
  • معدات القطع والقطع بالليزر
  • العمليات الصناعية
  • أنظمة تحديد المواقع والحركة الخطية

الخطوة 5: حول المغازل - المعلمات

حول المغزل - المعلمات
حول المغزل - المعلمات

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

ولكن ، بناءً على الآليات التي تم إنشاؤها بالفعل ، يمكننا تحديد العديد من هذه المعلمات.

دعونا نتعرف على بعض الصالح العام. لنبدأ بالخطوة.

الخطوة 6: حول المغزل - الخطوة (الإزاحة والسرعة)

حول المغزل - الخطوة (الإزاحة والسرعة)
حول المغزل - الخطوة (الإزاحة والسرعة)

تحدد الطول الذي يقطعه الجوز عند كل ثورة. هذا عادة ما يكون بالملم / الثورة.

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

إذا تم تدوير 2 مم لكل دورة بسرعة 60 دورة في الدقيقة (دورة واحدة في الثانية) ، فإن الجوز سوف يتحرك بسرعة 2 مم في الثانية.

الخطوة 7: التجميع

المجسم
المجسم
المجسم
المجسم

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

F1: الهلال - ينتقل Fuso من الموضع الحالي إلى الموضع الذي أحدده

F2: تنازلي - استدر

F3: السرعة - هل يمكنني تغيير عرض النبض

F4: ESC

الخطوة 8: التركيب - المواد

تصاعد - المواد
تصاعد - المواد

أ - موجهات خطية 10 مم

ب - مغازل شبه منحرفة من الدرجتين 2 و 8 مم

ج- قاعدة الحفر

د - محامل للمغازل

هـ - أصحاب المرشد

و - الكستناء

ز - محامل

ح - اقتران

أنا - محركات

ي - أجزاء بلاستيكية مختلفة (مؤشرات ، دعامات المحرك ، أسافين ، دعم لوحة المفاتيح وشاشة العرض

الخطوة 9: التجميع - الخطوة 01

التجميع - الخطوة 01
التجميع - الخطوة 01

بعد حفر القاعدة (C) ، نقوم بتجميع المحركين (I). لربطها ، نستخدم الأقواس المصنوعة في الطابعة ثلاثية الأبعاد (J). لا تقم بإحكام ربط أي من البراغي في خطوة تحديد الموضع هذه. سيسمح هذا بإجراء التعديلات اللازمة في خطوة المحاذاة.

الخطوة 10: التجميع - الخطوة 02

التجميع - الخطوة 02
التجميع - الخطوة 02

استمر بعد حفر القاعدة (C) ، ضع قضبان التوجيه (E) والمحامل (D). تفاصيل الرقاقة البلاستيكية (J) المستخدمة لضبط ارتفاعات المحامل.

الخطوة 11: التركيب - الخطوة 03

التركيب - الخطوة 03
التركيب - الخطوة 03

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

الخطوة 12: التجميع - الخطوة 04

التجميع - الخطوة 04
التجميع - الخطوة 04
التجميع - الخطوة 04
التجميع - الخطوة 04

أدخل الدليل (A) والمغزل (B) في المحمل الخاص بهما (D) والدعم (E) ، مقابل المحرك ، ثم أدخل الدليل والمغزل في المحمل (G) والكستناء (F) وعند طرف المغزل نقوم أيضًا بإدخال المقرن (H). نأخذهم على حد سواء حتى يصلوا إلى نقاطهم النهائية (الدعم والحركة المعاكسة).

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

الخطوة 13: التركيب - الإلكترونيات

تصاعد - إلكترونيات
تصاعد - إلكترونيات
تصاعد - إلكترونيات
تصاعد - إلكترونيات
تصاعد - إلكترونيات
تصاعد - إلكترونيات

باستخدام حامل بلاستيكي مطبوع ، قمنا بتأمين شاشة Nokia 5110 ولوحة مفاتيح مصفوفة 4x4. في المساحة السفلية من الحامل سيوجد Arduino Uno ، برنامج التشغيل DRV8825.

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

الخطوة 14: مخطط كهربائي

مخطط كهربائي
مخطط كهربائي

مخطط الأسلاك بسيط. لدينا DRV8825 ونفس المرآتين 17 ، أي أن نفس الخطوة التي نرسلها إلى واحدة تذهب إلى أخرى. ما يتغير هو أنه في أحد المحركات لدي مغزل 8 مم وفي الآخر مغزل 2 مم. من الواضح ، إذن ، أن الأول ، مع مغزل 8 مم ، يسير بشكل أسرع. لا يزال الرسم البياني هو العرض ولوحة المفاتيح 4x4 ، والتي يجب أن تكون مصفوفة.

الخطوة 15: كود المصدر

إدراج المكتبات وإنشاء الأشياء

لدينا هنا ليب قمت به ، وهو StepDriver.h. تم إعداده لسائقي 8825 و 4988 وكذلك برامج تشغيل TB6600. أقوم في هذه الخطوة بإنشاء الكائن DRV8825 ، d1.

// Biblioteca responsável por capturar a tecla que foi pressionada no teclado # include // Biblioteca responsável pelos graficos do display #include // Biblioteca responsável pela comunicacao do display #include // Configuracao de pinos do Display // pin 6 - Serial clock out (SCLK) // pin 5 - إخراج البيانات التسلسلية (DIN) // pin 4 - تحديد البيانات / الأمر (D / C) // pin 3 - تحديد شريحة LCD (CS / CE) // pin 2 - إعادة تعيين LCD (RST) Adafruit_PCD8544 display = Adafruit_PCD8544 (6، 5، 4، 3، 2) ؛ // مكتبة المرور # تتضمن // Instancia o driver DRV8825 DRV8825 d1؛

الثوابت والمتغيرات العامة

في هذا الجزء من الكود ، أتعامل مع المصفوفة ، التي قمت بتدريسها في درس فيديو آخر (LINK KEYBOARD). ما زلت أتحدث عن كائن لوحة المفاتيح ، إلى جانب المسافة والسرعة.

const بايت LINHAS = 4 ؛ // número de linhas do tecladoconst byte COLUNAS = 4 ؛ // número de colunas do teclado // حدد uma matriz com os símbolos que deseja ser lido do teclado char SIMBOLOS [LINHAS] [COLUNAS] = {{'A'، '1'، '2'، '3'}، { 'B'، '4'، '5'، '6'}، {'C'، '7'، '8'، '9'}، {'D'، 'c'، '0'، 'e '}}؛ بايت PINOS_LINHA [LINHAS] = {A2، A3، A4، A5} ؛ // pinos que indicam as linhas do teclado byte PINOS_COLUNA [COLUNAS] = {0، 1، A0، A1}؛ // pinos que indicam as colunas do teclado // instancia de Keypad، responsável por capturar a tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS)، PINOS_LINHA، PINOS_COLUNA، LINHAS، COLUNAS) ؛ // variáveis resposnsáveis por armazenar o valor digitado char customKey؛ مسافات طويلة غير موقعة = 0 ؛ فلوسيداد طويل بدون توقيع = 2000 ؛

وظيفة قراءة لوحة المفاتيح

في هذه الخطوة لدينا الكود الذي يشير إلى الشاشة ، والذي يعمل على الطباعة المتزايدة والمتناقصة.

// Funcao responsavel por ler o valor do usuario pelo teclado -------------------------------------- --- غير موقعة طويلة lerValor () {// Escreve o submenu que coleta os valores no display.clearDisplay ()؛ display.fillRect (0 ، 0 ، 84 ، 11 ، 2) ؛ display.setCursor (27، 2) ؛ display.setTextColor (WHITE) ، display.print ("VALOR") ؛ display.setTextColor (أسود) ؛ display.fillRect (0، 24، 21، 11، 2) ؛ display.setCursor (2 ، 26) ؛ display.setTextColor (WHITE) ، display.print ("CLR") ؛ display.setTextColor (أسود) ؛ display.setCursor (23 ، 26) ؛ display.print ("LIMPAR") ؛ display.fillRect (0، 36، 21، 11، 2) ؛ display.setCursor (5 ، 38) ؛ display.setTextColor (WHITE) ، display.print ("F4") ؛ display.setTextColor (أسود) ؛ display.setCursor (23 ، 38) ؛ display.print ("VOLTAR") ؛ display.setCursor (2 ، 14) ؛ display.display () ، قيمة السلسلة = "" ؛ char tecla = خطأ ؛

تتكرر في انتظار الضغط على المفتاح

نوضح هنا برمجة Loop ، أي حيث تقوم بإدخال القيم.

// Loop infinito enquanto nao chamar o return while (1) {tecla = customKeypad.getKey ()؛ if (tecla) {switch (tecla) {// Se teclas de 0 a 9 forem pressionadas case '1': case '2': case '3': case '4': case '5': case '6': الحالة '7': الحالة '8': الحالة '9': الحالة '0': الشجاعة + = tecla ؛ display.print (tecla) ؛ display.display () ، استراحة؛ // Se tecla CLR foi pressionada case 'c': // Limpa a string valor valor = ""؛ // Apaga o valor do display.fillRect (2، 14، 84، 8، 0)؛ display.setCursor (2 ، 14) ؛ display.display () ، استراحة؛ // Se tecla ENT foi pressionada case 'e': // Retorna o valor return valor.toInt ()؛ استراحة؛ // Se tecla F4 (ESC) foi pressionada case 'D': return -1 ؛ الافتراضي: كسر ؛ }} // Limpa o char tecla tecla = false ؛ }}

وظيفة محرك المحرك

يتم العمل على وظيفة "النقل" في هذه الخطوة. أحصل على عدد النبضات والاتجاه ثم أقوم بعمل "for".

// Funcao responseavel por mover o motor -------------------------------------- محرك باطل (غير موقعة نبضات طويلة ، منطقية direcao) {لـ (unsigned long i = 0؛ i <pulsos؛ i ++) {d1.motorMove (direcao)؛ }}

اقامة ()

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

إعداد باطل () {// Configuracao do display ---------------------------------------- -------- display.begin () ؛ display.setContrast (50) ؛ display.clearDisplay () ، display.setTextSize (1) ، display.setTextColor (أسود) ؛ // Configuração do Driver DRV8825 ----------------------------------------- // pin GND - تمكين (ENA) // pin 13 - M0 // pin 12 - M1 // pin 11 - M2 // pin 10 - Reset (RST) // pin 9 - Sleep (SLP) // pin 8 - Step (STP) // pin 7 - Direction (DIR) d1.pinConfig (99 ، 13 ، 12 ، 11 ، 10 ، 9 ، 8 ، 7) ؛ d1.sleep (منخفض) ؛ d1.reset () ؛ d1.stepPerMm (100) ؛ d1.stepPerRound (200) ؛ d1.stepConfig (1) ، d1.motionConfig (50 ، فيلوسيداد ، 5000) ؛ }

الحلقة () - الجزء الأول - قائمة الرسم

حلقة فارغة () {// Escreve o Menu do Programa no display ----------------------------------- عرض.clearDisplay () ، display.fillRect (0 ، 0 ، 15 ، 11 ، 2) ؛ display.setCursor (2، 2) ؛ display.setTextColor (WHITE) ، display.print ("F1") ؛ display.setTextColor (أسود) ؛ display.setCursor (17 ، 2) ؛ display.print ("CRESCENTE") ؛ display.fillRect (0، 12، 15، 11، 2) ؛ display.setCursor (2 ، 14) ؛ display.setTextColor (WHITE) ، display.print ("F2") ؛ display.setTextColor (أسود) ؛ display.setCursor (17 ، 14) ؛ display.print ("DECRESCENTE") ؛ display.fillRect (0، 24، 15، 11، 2) ؛ display.setCursor (2 ، 26) ؛ display.setTextColor (WHITE) ، display.print ("F3") ؛ display.setTextColor (أسود) ؛ display.setCursor (17 ، 26) ؛ display.print ("VELOCIDADE") ؛

الحلقة () - الجزء 2 - قائمة الرسم

display.fillRect (0، 36، 15، 11، 2) ؛ display.setCursor (2 ، 38) ؛ display.setTextColor (WHITE) ، display.print ("F4") ؛ display.setTextColor (أسود) ؛ display.setCursor (17 ، 38) ؛ display.print ("ESC") ؛ display.display () ، منطقي esc = خطأ ؛

حلقة () - الجزء 3 - الجري

// Loop enquanto a tecla F4 (ESC) nao لـ pressionada while (! esc) {// captura a tecla pressionada do teclado customKey = customKeypad.getKey ()؛ // caso alguma tecla foi pressionada if (customKey) {// Trata a tecla apertada switch (customKey) {// Se tecla F1 foi pressionada case 'A': distancia = lerValor ()؛ // Se tecla ESC foi pressionada if (distancia == -1) {esc = true؛ } else {// Escreve a tela "Movendo" no display.clearDisplay ()؛ display.fillRect (0 ، 0 ، 84 ، 11 ، 2) ؛ display.setCursor (21، 2) ؛ display.setTextColor (WHITE) ، display.print ("MOVENDO") ؛ display.setTextColor (أسود) ؛ display.setCursor (2 ، 14) ؛ عرض الطباعة (مسافة) ؛ display.print ("Passos") ؛ display.display () ،

حلقة () - الجزء 4 - الجري

// تحريك المحرك المحرك (مسافة منخفضة) ؛ // Volta ao menu esc = صحيح ؛ } استراحة؛ // Se tecla F2 foi pressionada case 'B': distancia = lerValor () ؛ // Se tecla ESC foi pressionada if (distancia == -1) {esc = true؛ } else {// Escreve a tela "Movendo" no display.clearDisplay ()؛ display.fillRect (0 ، 0 ، 84 ، 11 ، 2) ؛ display.setCursor (21، 2) ؛ display.setTextColor (WHITE) ، display.print ("MOVENDO") ؛ display.setTextColor (أسود) ؛ display.setCursor (2 ، 14) ؛ عرض الطباعة (مسافة) ؛ display.print ("Passos") ؛ display.display () ،

حلقة () - الجزء 5 - الجري

// تحريك المحرك المحرك (مسافة ، عالية) ؛ // Volta ao menu esc = صحيح ؛ } استراحة؛ // Se tecla F3 foi pressionada case 'C': velocidade = lerValor () ؛ إذا (فيلوسيداد == -1) {esc = صحيح ؛ } else {// Escreve a tela "Velocidade" no display.clearDisplay ()؛ display.fillRect (0 ، 0 ، 84 ، 11 ، 2) ؛ display.setCursor (12 ، 2) ؛ display.setTextColor (WHITE) ، display.print ("VELOCIDADE") ؛ display.setTextColor (أسود) ؛ display.setCursor (2 ، 14) ؛ display.print (فيلوسيداد) ؛ display.print (شار (229)) ؛ display.print ("s") ؛

حلقة () - الجزء 6 - الجري

display.fillRect (31 ، 24 ، 21 ، 11 ، 2) ؛ display.setCursor (33 ، 26) ؛ display.setTextColor (WHITE) ، display.println ("OK!") ؛ display.setTextColor (أسود) ؛ display.display () ، // Configura nova velocidade ao motor d1.motionConfig (50 ، velocidade ، 5000) ؛ تأخير (2000) ؛ // Volta ao menu esc = صحيح ؛ } استراحة؛ // Se tecla F4 (ESC) foi pressionada case 'D': // Se tecla CLR foi pressionada case 'c': // Se tecla ENT foi pressionada case 'e': // Volta ao menu esc = true؛ الافتراضي: كسر ؛ }} // Limpa o char customKey customKey = false ؛ }}

الخطوة 16: حول المغزل - تكوينات الآلة

حول المغزل - تكوينات الآلة
حول المغزل - تكوينات الآلة

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

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

على سبيل المثال ، إذا تم توصيل محرك 200 خطوة لكل دورة بمحرك مضبوط على 1/16 ، فستكون هناك حاجة إلى 16 × 200 نبضة لدورة واحدة للمغزل ، أي 3200 نبضة لكل ثورة. إذا كان هذا المغزل لديه درجة 2 مم لكل دورة ، فسوف يستغرق 3200 نبضة في المحرك حتى يتحرك الجوز 2 مم.

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

الخطوة 17: مارلين

مارلين
مارلين

في Marlin ، على سبيل المثال ، نرى في قسمsection motion:

/ **

* خطوات المحور الافتراضية لكل وحدة (خطوات / مم)

* تجاوز مع M92

* X، Y، Z، E0 [، E1 [، E2 [، E3 [، E4]

* /

#define DEFAULT_AXIS_STEPS_PER_UNIT {80، 80، 3200، 100}

في هذا المثال ، يمكننا أن نستنتج أن المحورين X و Y لهما دقة 80 نبضة لتحريك 1 مم ، بينما يحتاج Z إلى 3200 نبضة ويحتاج الطارد E0 إلى 100.

الخطوة 18: GRBL

GRBL
GRBL

أدناه نرى أوامر تكوين GRBL. باستخدام الأمر $ 100 ، يمكننا ضبط عدد النبضات المطلوبة لإحداث إزاحة بمقدار ملليمتر واحد على المحور X.

في المثال أدناه يمكننا أن نرى أن القيمة الحالية هي 250 نبضة لكل مم.

يمكن تعيين المحورين Y و Z على التوالي 101 دولار و 102 دولار.

موصى به: