میتونید از راهندازی استپ موتور شروع کنید با میکرو
و بعد هم پالس رو از سمت سیستم به درایور موتور بدید
هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...
تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد
من دو تاپیک موجود را با هم ترکیب کردم تا مباحث مطرح شده در کنار هم قرار بگیرند. در رابطه با اجرای gcode توسط AVR سورسی در اینترنت وجود دارد که تحلیل آن به دلیل مفصل و سنگین بودن جزئیات کد کار چندان ساده ای نیست و در هر صورت لینک آن را برای استفاده دوستان قرار می دهم:
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
من دو تاپیک موجود را با هم ترکیب کردم تا مباحث مطرح شده در کنار هم قرار بگیرند. در رابطه با اجرای gcode توسط AVR سورسی در اینترنت وجود دارد که تحلیل آن به دلیل مفصل و سنگین بودن جزئیات کد کار چندان ساده ای نیست و در هر صورت لینک آن را برای استفاده دوستان قرار می دهم:
سلام
آقای کی نژاد خواهش میکنم که یه سری توضیحات در مورد فایلی که گذاشتین بدین. چه مراحلی باید طی بشه که بتونیم gcode بدیم به میکرو و مثلا 3 عدد محور کنترل کنیم؟ اشکالی نداره اگه تویحات کلی باشن. قبلا این کارو با نرم افزار kcam انجام دادم.(البته 2 محوره) حالا میخوام با میکرو راه اندازی کنم.
ممنونم.
انسانها 10 دسته اند: دسته ای که باینری میدانند و دسته ای که باینری نمیدانند!
چه مراحلی باید طی بشه که بتونیم gcode بدیم به میکرو و مثلا 3 عدد محور کنترل کنیم؟
سال قبل یک فراخوان از http://www.iran-eng.com/showthread.php/523519-%D8%A7%D8%B9%D9%84%D8%A7%D9%85-%D8%AD%D8%B6%D9%88%D8%B1-%DA%A9%D9%84%DB%8C%D9%87-%D8%A7%D8%B9%D8%B6%D8%A7%DB%8C-%D8%A7%D9%86%D8%AC%D9%85%D9%86-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D8%A8%D8%B1%D9%82-%D8%AC%D9%87%D8%AA-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%A9%D9%86%D8%AA%D8%B1%D9%84%D8%B1-%D8%B3%DB%8C-%D8%A7%D9%86-%D8%B3%DB%8C
اعلام شد که حالا حدودا بعد از یکسال همون تاپیک بی نتیچه ماند . تعداد صفحات زیاده من فقط ارسال های خودم رو اینجا قرار میدم .
مهمترین قسمت طراحی یک کنترلر cnc الگوریتم های درونیابی ( interpolation algorithms ) است .
القصه در عالم cnc چیزی حدود 7-8 الگوریتم درون یابی داریم که من سعی میکنم همشون رو فهرست کنم
http://www.mmrc.iss.ac.cn/~xgao/papernc/2011-scichina-1.pdf
https://circle.ubc.ca/bitstream/id/127600/ubc_2011_fall_siu_anthony.pdf
http://saba.kntu.ac.ir/eecd/sedghizadeh/Ebooks/adv_control_eng.pdf
چند تا الگوریتم درون یابی نقطه به نقطه است . Step-by-Step Comparison Interpolation . که معمولا برای کد G1 استفاده میشه .N12 G00 X12 Y24
چندتاش تو این pdf است
ولی با یکم تحقیق این طوری فهمیدم که حداقل کنترلر های ژاپنی برای حرکت نقطه به نقطه ( G0 ) از الگوریتم Digital Differential Analyzer (DDA) r استفاده میکنن.
این دوتا pdf الگوریتم DDA رو کاملا عالی تشریح کرده
http://nptel.ac.in/courses/Webcourse-contents/IIT%20Kharagpur/Industrial%20Automation%20control/pdf/L-24%28SM%29%20%28IA&C%29%20%28%28EE%29NPTEL%29. pdf
http://users.isr.ist.utl.pt/~pjcro/courses/api1011/docs/API_I_C5.pdf
این pdf هم یک ارتباط جالب بین علم گرافیک کامپیوتری و cnc رو نشون میده
سیستم کنترل یک ماشین cnc با دید گاه سخت افزاری به صورت Modular CNC Design طراحی میشه که بصورت عمومی (تجاری) از قسمت های زیر تشکیل یافته
1 - operator panel
human machine communication - 2
machine control panel - 3
plc - 4
nc - 5
و هر بخش از چندین زیر بخش تشکیل شده مثلا
خود بخش nc از زیر مجموعه های
Central processing unit (CPU) n
Servo control unit
spendel driver
servo motor driver
power suply
بنا بر این هر شخص یا موسسه یا نهادی که بخواد در زمینه طراحی و توسعه کنترلر های cnc کار کنه نمیتونه و نباید همه بخش های بالا رو به صورت موازی شروع کنه
اول کار باید روی طراحی یک قسمت تمرکز داشته باشه و بقه قسمت هارو بصورت آماده تهیه کنه تا بتونه جلو بره در آیند میتونه روی بومی سازی تک تک موارد فوق ریز بشه
با سلام.
ببینید با یک نگاه انتزاعی نمیشه این پروژه سنگین رو به سرانجام رسوند .این نگاه عین این میمونه که ما می خواهیم یک خودرو طراحی کنیم . اول خودر را تشریح میکنیم مثلا یک خودرو
دنده داره و فرمان و پدال گاز و کلاج و ترمز داره . و با سرعت صفر تا 150 کیلومتر حرکت میکنه . و بعد خواسته های خصوصی مون رو مطرح میکنیم مثلا میخواهیم ترمز ها abs
باشه و 16 تا کیسه هوا داشته باشه و سیم کشی بصورت باس باشه و مجهز به ایموبلایزر باشه . بعد از طرح صورت مساله حال میخواهیم مستقیما شروع به ساخت یک نمونه بکنیم .
ببینید وقتی من میگم طراحی یک کنترلر باید به صورت ماجولار باشه دلیل دارم .مثال خوبی مطرح شد .فرض کنید ما بیایم emc2 رو یا همون linux cnc رو در یک سخت افزار پیاده کنیم .
خوب اول یکم مساله رو ریز تر میکنم . وقتی گروه برنامه نویسی و طراحی emc2 شروع به نوشتن اولین سطر کردند یک بستر آماده داشتند که این بستر ماوس داره و صفحه کلید داره
و هارد ساتا داره و usb داره و مانیتور داره و کارت گرافیکی داره . ولی تازه اینها نیست اختیارات گروه برنامه نویسی یکم بیشتر از این بود
اونها علاوه بر اینها سیستم فایلینگ ntfs دارند . موتور گرافیکی دارند و یک پورت آماده lpt دارند . البته باز هم یک چیز های دیگه هم دارند .
مثلا میتونن از یک پایگاه داده مثلا mysql هم کمک بگیرن و از موتور گرافیکی opengl استفاده کنن و ....
حالا بیایین یکم ریز تر بشیم .بیاین ماوس رو برسی کنیم . قسمت سخت افزار یک ماوس در خودش یک cpu داره . صفحه کلید هم cpu خودش رو داره . مانیتور هم داخلش cpu داره .
هارد دیسک هم cpu داخلی خودش رو داره . و همینطور usb و کارت گرافیکی و پورت lpt و حتی باس sata و باس pci هم هر کدام cpu داخلی خودشون رو دارن .
و در کنار اینها ما قلب سیستم و CPU مرکزی اصلی رو داریم .
حال ما بسم اله الرحمان رحیم - میخاهیم emc2 رو در یک سخت افزار پیاده کنیم . خوب یک برد کوبی با فرکانس 800 مگ یا یک برد رسپ بری یا یک برد فرکانس یک گیگا هرتز
زیر 100 دلار تهیه میکنیم حال سوال اینه از کجا شروع کنیم ؟ یک پردازنده بیاد 30 عمل همزمان رو مالتی تسک کنه یا نه اصلا فرض کنید ما به تعداد ماژول های لازم برد های متنوع تهیه
کردیم خوب سخت افزار حل شد ولی مساله مهم دیگری هم داریم
تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
داشتن عقله زیادتر از دیگر آدم ها است
آقای کی نژاد خواهش میکنم که یه سری توضیحات در مورد فایلی که گذاشتین بدین. چه مراحلی باید طی بشه که بتونیم gcode بدیم به میکرو و مثلا 3 عدد محور کنترل کنیم؟ اشکالی نداره اگه تویحات کلی باشن. قبلا این کارو با نرم افزار kcam انجام دادم.(البته 2 محوره) حالا میخوام با میکرو راه اندازی کنم.
در پروژه مورد نظر سورس های C برای بخش های مختلف عملکرد کنترلر مانند تفسیر gcode یا تولید پالس یا ارتباط سریال و مانند ان بصورت کتابخانه های مجزا وجود دارد. مطابق جزئیات فایل main.c بعد از مقدار دهی اولیه و initialization بخش های مختلف، تابع protocol_main_loop فراخوانی شده که با مراجعه به جزئیات آن مشاهده می شود که دستورات gcode از طریق پورت سریال دریافت و تفسیر می شوند و متناظر با آنها فرمان های لازم برای درایور موتورها ایجاد می شود.
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
در پروژه مورد نظر سورس های C برای بخش های مختلف عملکرد کنترلر مانند تفسیر gcode یا تولید پالس یا ارتباط سریال و مانند ان بصورت کتابخانه های مجزا وجود دارد. مطابق جزئیات فایل main.c بعد از مقدار دهی اولیه و initialization بخش های مختلف، تابع protocol_main_loop فراخوانی شده که با مراجعه به جزئیات آن مشاهده می شود که دستورات gcode از طریق پورت سریال دریافت و تفسیر می شوند و متناظر با آنها فرمان های لازم برای درایور موتورها ایجاد می شود.
ممنون
آیا شما تا بحال عملکرد این توابع رو بصورت عملی و یا شبیه سازی شده تست کردین؟
انسانها 10 دسته اند: دسته ای که باینری میدانند و دسته ای که باینری نمیدانند!
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
دیدگاه