کال

تجربیات کامپیوتر، الکترونیک و لینوکس عبد

درایور موتور پله‌ای برای CNC (قسمت اول)

۲۱ مرداد ۱۳۸۷ در دسته CNC٬ الکترونیک

بلاخره بعد از یک تلاش ناموفق، درایور دستگاه CNC رو ساختم و یه تست کوچیک با موتور استپر زدم.

مقدمه

این درایور برای کنترل حداکثر ۴ موتور پله‌ای از طریق پورت موازی کامپیوتر طراحی شده است. برنامه‌ای که CNC را کنترل می‌کند EMC یا Enhanced Machine Controller است. سایت رسمی این برنامه‌ی فوق العاده www.linuxcnc.org است که برنامه و راهنما‌های آن را می‌توانید از آن دریافت کنید (انشالله در پست جداگانه‌ای درباره ویژگی‌های بارز این برنامه و همچنین طریقه راه‌اندازی آن، توضیحاتی در حد سواد اندکم می‌نویستم).

این درایور سیگنال‌های پله و جهت (step و direction) را برای هر موتور تبدیل به چهار سیگنال برای ارسال به پایه‌های موتور می‌کند. موتوری که در دسترس من قرار دارد از نوع تک قطبی است به همین علت قسمت توان درایور به صورت تک قطبی طراحی شده است.

شکل‌های زیر دیاگرام کلی این کنترلر را نشان می‌دهند:

در مجموع این کنترلر ۳ بورد دارد. مبدل DB25-IDC34، قسمت مرکزی و قسمت توان است.

  • مبدل کانکتور DB25 به IDC34 برای اتصال بورد به پورت پارالل (DB25-IDC34 Adaptor ).
  • قسمت مرکزی (main controller) که سیگنال‌های دریافتی از پورت را به صورت مناسب برای موتور‌های پله‌ای در می‌آورد.
  • کنترلر توان (Power Controller) برا تأمین جریان مورد نیاز موتور‌ها.

مبدل DB25 به IDC34

این مدار چیزی خاصی نداره نمی‌دونم چرا اصلا دارم درباره‌اش می‌نویسم ولی ممکن است برای کسی جالب باشد و بخواهد از این ایده در جای دیگری هم استفاده کند. حداقل امیدوارم این طور باشد.

همان طور که می‌دانید، کانکتور پورت پارالل پشت مادربورد DB25 مادگی (Female DB25) است به این شکل:

شما برای اتصال مدارتان به کامپیوتر باید یک کانکتور DB25 نری (Male DB25) تهیه کنید و کلی سیم بهش لحیم کنید. این روش به نظرم پر زحمت است و برای منِ تنبل خیلی مناسب نیست. به همین دلیل من یه بورد ساده درست کردم که کانکتور DB25 نری را به یک کانکتور IDC34 تبدیل می‌کنه* (DB25 to IDC Connector). خوبی این کانکتور‌های IDC این است که می‌توانند بدون هیچ زحمتی به کابل فلت یا کابل ریبون (ribbon cable) متصل شوند. حالا چرای ۳۴ پین؟ خوب در واقع از ۲۵ پین DB25 فقط ۱۷ پین دیتا است و ۸ پین دیگر زمین است پس فقط ۱۸ عدد سیم نیاز است پس چرا ۳۴ پین در این مبدل به کار رفته است. خوب دو دلیل برای این کار وجود دارد. دلیل اول کم کردن امپدانس سیم زمین با افزایش تعداد سیم‌های آن است. دلیل دیگر نیز کم کردن احتمال هم‌شنوایی  (crosstalk) است. همشنوایی به بیان خیلی ساده به این معنی است که دو یا چند سیم حامل سیگنال که از کنار هم عبور می‌کنند ممکن است به صورت ناخواسته بر رو هم تاثیر بگذارند. یک از روش‌های کاهش این موضوع قرار دادن سیگنال زمین بین هر دو جفت سیم است. در این مبدل نیز ۱۷ سیم به زمین متصل است که باعث می‌شود بین هر دو سیم یک سیم زمین قرار بگیرد. در واقع فقط نیمی از ۳۴ پین حاوی دیتا هستند.

شکل زیر دو روی بورد این مبدل را نشان می‌دهد.

همان طور که در شکل نیز مشخص است، برای اینکه بورد به صورت مسطح دربیاید و سوراخ‌کاری زیاد هم نخواهد (چون بورد‌ها را در خانه درست می‌کنم و سوراخ‌کاری برای من از بزرگترین دردسر‌های است)، هر دو کانکتور DB25 و IDC34 را به صورت رایت بر دو سمت بورد لحیم کرده‌ام (درست کردن footprint برای این قطعات در PCB دردسر خاص خودش را دارد چون بعضی از پد‌ها بر روی بورد و بعضی دیگر در زیر بورد قرار دارند). با اینکه درست کردن این برد یکم کار می‌بره ولی خوب بعد از آن شما یک کابل خیلی خوب و راحت خواهید داشت:

دو قسمت دیگر انشالله در پست‌های بعدی…

بورد این مبدل با برنامه gEDA طراحی و ساخته شده است.

(+) فایل شماتیک به فرمت پی‌دی‌اف.

(+) فایل بورد مدار چاپی به فرمت پی‌دی‌اف.

(+) فایل فشرده به فرمت tar.bz2 حاوی فایل‌های شماتیک و بورد و همچنین پی‌دی‌اف‌های تولید‌شده.

* در بازار کانکتور‌های وجود دارد که از یک طرف به صورت DSUB هستند و از طرف دیگر کابل ریبون به آنها متصل می‌شود. می‌توان به راحتی از این کانکتور‌ها نیز استفاده نمو‌د.

۱۰ نظر به “درایور موتور پله‌ای برای CNC (قسمت اول)”

  • علی زمانی
    ۱۷ بهمن ۱۳۸۷ at ۱۱:۲۹ ب.ظ

    برش پلاسما cnc چه اجزایی دارد.متشکرم
    عبد
    دقیق نمی‌دانم! احتمالا یک فرز دو یا سه محور به همراه تجهیزات مخصوص شعله و برش پلاسما که بعضی از دستگاه‌ها نیز چند شعله برش به صورت موازی بر روی محور قرار می‌گیرد تا بتواند همزمان چند قطعه درست کند!
    من تجربه‌ای در این زمینه ندارم!

  • مجید
    ۳۱ فروردین ۱۳۸۸ at ۱۱:۴۰ ق.ظ

    با سلام وتشکر
    من دید چندانی از الکترونیک ندارم میشه به من بگید چطور می تونم این بورد رو با برنامش بخرم
    عبد
    من که تولیدکننده این بورد نیستم. اطلاعات ساخت این بورد همگی در دسترس هستند اگر علاقه‌مند هستید باید از کسی که تجربه کافی دارد درخواست کنید که برای شما این بورد را بسازد.

  • مجید
    ۳۱ فروردین ۱۳۸۸ at ۱۱:۴۴ ق.ظ

    سلام مجدد
    با این بورد میشه یک میز cnc ایکس و وای رو کنترل کرد.در دو جهت با دو موتور
    ممنون

  • مجید
    ۱ اردیبهشت ۱۳۸۸ at ۱۱:۳۰ ق.ظ

    سلام
    من مکانیکی هستم و یک میز کاملا حرفه ای با یک بودجه بالا ساختیم برای یه کار خاص
    و الان فقط یک سیستم کنترلی می خواد که با مکانیک مچ بشه
    ما می خوایم بعد از این که این میز رو تموم کردیم . چند سیستم مکانیکی دیگه رو با یک سیستم کنترلی مچ کنیم که در واقع به فردی مثل شما نیاز داریم.
    ….

  • بهروز
    ۱۳ شهریور ۱۳۸۸ at ۲:۴۲ ب.ظ

    سلام, کسانی که علاقه مند کنترل مکانیک توسط سیستمهای ارزان قیمت (cnc routers) هستند و یا به طور کلی درصدد ساخت hobby cnc هستند و یا حتی کنترل پیشرفته cnc با من مکاتبه کنند. dear_behrooz2004@yahoo.com

  • فرهاد
    ۱۸ شهریور ۱۳۸۸ at ۳:۳۵ ق.ظ

    سلام
    من در حال ساخت یک دستگاه cnc ساده هستم که با سه محور کار می کنه وقسمت مکانیکی اون هم تغریبا” تموم شده وحالا برای راه اندازی موتورها احتیاج به درایور دارم ومی خوام موتورهارو با کامپیوتر کنترل کنم آیا مدار سادهای که بشه موتورها با پورت سریال ارتباط برقرار کنه وبشه کنترلشون کرد هست یانه واگه می تونید برای راه اندازیش کمکم کنید
    مشخصات موتورها :
    deg =1.8
    6.5 v
    1.3 A
    5 wire
    حالا اگه کمکم کنید تا درایورشو بشازم وبرنامه کنترل اونها رو هم بگید واقا” ممنون میشم و کمک بزرگی به من کردید .
    اگه مقدور بود به ایمیلم بفرستید .
    ممنون farhad1224@gmail.com

  • عباس
    ۲۳ آذر ۱۳۸۸ at ۲:۲۲ ب.ظ

    آقای عبد سلام و واقعا خسته نباشید
    نیاز به کمکتون دارم در رابطه با ساخت یه میز برش 100*70 سه محوره که با پورت پارالل کامپیوتر کنترل بشه
    البته یه میز برش کاملا غیر حرفه ای. مشکلی که بهش برخورد کردم ساخت برد درایور و کنترلر اصلی سه تا استپر موتور هست .میخواستم بدونم کنترلر و استپر موتوری که شما استفاده کردین قدرت به حرکت در آوردن سه محور میز کار من رو داره یا باید دنبال مدار و موتور پر قدرت تری باشم .ممنون میشم اگه بی جوابم نزارین.

  • رامین
    ۴ دی ۱۳۸۸ at ۸:۰۹ ق.ظ

    سلام به همگی
    من مشکلی با درایو مخصوصا با میکرو و کامپیوتر و نرم افزار ندارم میتونم همه را هم کمک کنم فقط مشکل اساسی من گرفتن تاب موتورها با پیچهاست یا راحتر بگم از نظر مکانیکی روشی که در ایران کم خرج باشه برای اتصال موتور در مشهد ندیدم چون من مجبورم 24 موتور را کنترل کنم که همگی به این قطعه نیازمند هستند و قیمت تراش خیلی بالا میرود اگر راهنمایی کنید ممنون میشوم

  • امین
    ۱۰ فروردین ۱۳۸۹ at ۲:۰۸ ب.ظ

    من یه بازوی مکانیکی که مقلد حرکات دست انسانه ساختم با دو مفصل که با دو استپ موتور در دو جهت x و Y حرکت میکنه و اساس کارش با پردازش تصویر که تصویر رو از یک وب کم میگیره و با پردازش اون حرکت دست رو تقلید می کنه. من یک ایده تجاری خیلی خوب برای یک میز cnc و یک مدلر سه بعدی ساده دارم که اگه کسی بتونه یه main controller خوب و ساده با کارکرد آسون به من معرفی خیلی خوشحال میشم

  • حمید
    ۲۷ اردیبهشت ۱۳۸۹ at ۱۲:۱۸ ب.ظ

    دوستان من یه نفرو می شناسم که کنترل می سازه خودش. کارشم خیلی درسته. اگه خواستین میتونم معرفی کنم.
    ایمیل بزنین تا شماره تماسشو بدم.

نوشتن نظر