فهرست مطالب:
- مرحله 1: قطعات مورد نیاز برای کنترل کننده Galvo
- مرحله 2: نظریه کنترل کننده
- مرحله 3: مدار
- مرحله 4: برنامه نویسی STM32
- مرحله 5: تمام قطعات را به صورت مکانیکی متصل کرده و آن را آزمایش کنید
تصویری: DIY STEP/DIR LASER GALVO CONTROLLER: 5 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
سلام،
در این دستورالعمل ، من می خواهم به شما نشان دهم که چگونه می توانید رابط گام / دور خود را برای اسکنرهای لیزری گالوو استاندارد ILDA بسازید.
همانطور که ممکن است بدانید من همچنین مخترع "DIY-SLS-3D-Printer" و "JRLS 1000 DIY SLS-3D-PRINTER" هستم و در حین ساختن این دستگاه ها در مورد نحوه عملکرد این چاپگرها صحبت کردم ، اگر از اسکنرهای گالوو به جای سیستم حرکتی دکارتی استفاده کنم. با این حال در این روزها من دانش برنامه ریزی کنترلر برای اسکنر گالوو را نداشتم. بنابراین من از سیستم عامل موجود با حرکت دکارتی استفاده کردم.
اما امروز و پس از برخی تحقیقات ، من یک دستورالعمل پیدا کردم که نویسنده از آردوینو برای ایجاد یک نمایش DIY Laser Galvo استفاده می کند. من فکر کردم این دقیقاً همان چیزی است که من در جستجوی آن هستم ، بنابراین قطعات را مانند دستورالعمل او سفارش دادم و آزمایشاتی انجام دادم. پس از انجام برخی تحقیقات متوجه شدم که Arduino عملکرد خوبی در راستای مرحله / جهت ندارد ، بنابراین آن را برای میکروکنترلر STM32 مجدداً ترکیب کردم.
لطفاً به خاطر داشته باشید که این کنترلر فقط یک نمونه اولیه است ، اما برای بسیاری از پروژه ها قابل استفاده است. به عنوان مثال در چاپگر DIY SLS 3D یا حکاک لیزری.
ویژگی های کنترل کننده Galvo عبارتند از:
- تبدیل از سیگنال های گام/دیر 5 ولت به استاندارد ILDA
- فرکانس ورودی 120 کیلوهرتز (سیگنال های مرحله / جهت)
- وضوح خروجی 12 بیت (0 ، 006 درجه در هر زاویه)
- تبدیل مختصات قطبی به خطی
- سازگار با هر کنترلر حرکتی که یک سیگنال گام و جهت ایجاد می کند
- پین تراز وسط (روال خانگی)
ویدئویی از کنترل کننده لیزری گالو: (به زودی)
اگر Instructable من را دوست دارید ، لطفاً در مسابقه ریمیکس به من رای دهید
مرحله 1: قطعات مورد نیاز برای کنترل کننده Galvo
قطعات الکترونیکی کنترل کننده گالو:
تعداد | شرح | ارتباط دادن | قیمت |
---|---|---|---|
1x | مجموعه گالوانومتر گالوومتر ILDA 20Kpps | Aliexpress | 56, 51€ |
1x | 6 میلی متر 650 نانومتر لیزر دیود | Aliexpress | 1, 16€ |
مقداری | سیم ها | - | - |
1x | ST-Link V2 | Aliexpress | 1, 92 |
قطعات الکترونیکی مدار:
در اینجا همه قطعات مورد نیاز کنترل کننده گالوو آمده است. من سعی کردم تا آنجا که ممکن است تمام قطعات را منبع کنم.
تعداد | شرح | نام روی مدار | ارتباط دادن | قیمت |
---|---|---|---|---|
1x | میکروکنترلر STM32 "Blue-Pill" | "BLUE-PILL" | Aliexpress | 1, 88€ |
1x | MCP4822 12 بیتی دو کاناله DAC | MCP4822 | Aliexpress | 3, 00€ |
2 برابر | TL082 دو OpAmp | IC1 ، IC2 | Aliexpress | 0, 97€ |
6 برابر | مقاومت 1k | R1-R6 | Aliexpress | 0, 57€ |
4 برابر | تریم پتانسیومتر 10k | R7-R10 | Aliexpress | 1, 03€ |
مقداری | هدر پین | - | Aliexpress | 0, 46€ |
مرحله 2: نظریه کنترل کننده
در اینجا نحوه عملکرد کنترل کننده به طور کلی را توضیح خواهم داد. من همچنین برخی از جزئیات را برای مثال محاسبه زاویه مناسب نشان خواهم داد.
1. MOTION-CONTROLLER
کنترلر حرکتی قسمتی است که در آن سیگنال های مرحله و جهت را ایجاد می کنید. کنترل گام/جهت اغلب در برنامه های موتور پله ای مانند چاپگرهای سه بعدی ، لیزرها یا CNC-Mills استفاده می شود.
علاوه بر سیگنال های گام و جهت نیاز به یک پین تراز وسط برای مطابقت STM32 و Motioncontroller وجود دارد. این به این دلیل است که گالوها کاملاً کنترل می شوند و نیازی به هیچ سوئیچ محدودی نیست.
2. STM32-Microcontroller
میکروکنترلر STM32 قلب این کنترلر است. این میکروکنترلر وظایف متعددی را باید انجام دهد. این وظایف عبارتند از:
وظیفه 1: اندازه گیری سیگنال ها
اولین کار اندازه گیری سیگنال های ورودی است. در این حالت سیگنال های گام و جهت خواهد بود. از آنجا که نمی خواهم کنترل کننده حرکت با فرکانس ورودی محدود شود ، مدار را برای 120 کیلوهرتز طراحی کردم (تست شده). برای دستیابی به این فرکانس ورودی بدون از دست دادن داده ها ، من از دو تایمر سخت افزاری TIM2 و TIM3 در STM32 برای مدیریت رابط مرحله / جهت استفاده می کنم. علاوه بر سیگنال های گام و جهت ، سیگنال هم راستایی نیز وجود دارد. این تراز توسط یک وقفه خارجی در STM32 کنترل می شود.
وظیفه 2: سیگنال ها را محاسبه کنید
اکنون کنترل کننده باید سیگنال ها را به مقدار مناسب برای DAC محاسبه کند. از آنجا که گالو یک سیستم مختصات قطبی غیر خطی ایجاد می کند ، محاسبه کوچکی برای ایجاد وابستگی خطی بین لیزر پله ای و متحرک واقعی مورد نیاز است. در اینجا من یک طرح محاسبه را به شما نشان خواهم داد:
حال باید فرمول محاسبه را بیابیم. از آنجایی که من از یک DAC 12 بیتی استفاده می کنم ، می توانم از 5 تا +5 ولت در 0 تا 4096 مرحله ولتاژ بدهم. گالو سفارش من دارای زاویه اسکن کلی 25 درجه در -5 - +5V است. بنابراین phi زاویه من در محدوده -12 ، 5 درجه - +12 ، 5 درجه است. سرانجام باید به فاصله d فکر کنم. من شخصاً میدان اسکن 100x100mm را می خواهم ، بنابراین d من 50 میلی متر خواهد بود. h بالا نتیجه phi و d خواهد بود. ساعت 225 ، 5 میلی متر است برای آوردن فاصله d نسبت به زاویه phi از فرمول کوچکی استفاده کردم که از مماس ها استفاده می کند و زاویه را از رادیان به "DAC-values" تبدیل می کند.
در نهایت من فقط باید یک سوگیری 2048 اضافه کنم ، زیرا میدان اسکن من تراز وسط است و همه محاسبات انجام شده است.
وظیفه 3: ارسال مقادیر به DAC:
از آنجا که STM32 مورد استفاده من DAC ندارد ، من از DAC خارجی استفاده کرده ام. ارتباط بین DAC و STM32 از طریق SPI انجام می شود.
3. DAC
برای مدار من از همان DAC 12bit "MCP4822" به عنوان deltaflo استفاده می کنم. از آنجا که DAC تک قطبی 0-4 ، 2V است و برای استاندارد ILDA به دو قطب +5 ولت نیاز دارید ، باید یک مدار کوچک با برخی از OpAmps بسازید. من از TL082 OpAmps استفاده می کنم. شما باید این مدار تقویت کننده را دوبار بسازید ، زیرا باید دو گالو را کنترل کنید. دو OpAmps به عنوان ولتاژ تغذیه به -15 و +15V متصل می شوند.
4. گالوو
قسمت آخر نسبتاً ساده است. ولتاژ خروجی دو OPAmps به درایورهای ILDA Galvo متصل می شود. و تمام ، اکنون باید بتوانید گالوها را با سیگنال های گام و جهت کنترل کنید
مرحله 3: مدار
برای مدار از نمونه اولیه PCB استفاده کرده ام.
شما می توانید سیگنال های گام و جهت را مستقیماً به STM32 وصل کنید ، زیرا من مقاومت های کششی داخلی را فعال کرده ام. همچنین من از پین های تحمل پذیر 5 ولت برای پین های گام ، جهت و مرکز استفاده کرده ام.
می توانید شماتیک کامل مدار را در زیر بارگیری کنید:
مرحله 4: برنامه نویسی STM32
STM32 با Attolic TrueStudio و CubeMX برنامه ریزی شده است. TrueStudio برای استفاده رایگان است و می توانید آن را از اینجا بارگیری کنید
از آنجا که TrueStudio به سادگی مانند Arduino IDE ساده نیست ، من یک فایل.hex ایجاد کرده ام که شما به سادگی باید آن را در میکروکنترلر STM32 بارگذاری کنید.
در ادامه نحوه آپلود فایل به STM32 "BluePill" را توضیح خواهم داد:
1. بارگیری "STM32 ST-LINK Utility": می توانید نرم افزار را از اینجا بارگیری کنید
2. "STM32 ST-LINK Utility" را نصب و باز کنید:
3. اکنون فایل Galvo.hex را در ابزار ST-Link باز کنید:
پس از آن شما باید STM32 "BluePill" را به ST-Link-V2 وصل کنید. پس از اتصال روی دکمه "Connect to traget" کلیک کنید:
در نهایت بر روی "بارگیری" کلیک کنید. حالا STM32 شما باید به درستی فلش شود.
علاوه بر این ، من تمام فایلهای منبع Galvo_Controller را در TrueStudio پیوست کرده ام
مرحله 5: تمام قطعات را به صورت مکانیکی متصل کرده و آن را آزمایش کنید
من تمام قطعات الکترونیکی را روی صفحه آلومینیومی 4 میلی متری قرار داده ام تا ظاهر بهتری داشته باشید:-)
اکنون به شما نشان خواهم داد که چگونه باید پتانسیومترها را روی مدار تنظیم کنید:
در ابتدا برخی از اطلاعات اولیه در مورد استاندارد ILDA. استاندارد ILDA معمولاً برای نمایش های لیزری استفاده می شود و شامل یک سیگنال 5V و -5v است. دامنه هر دو سیگنال یکسان است ، اما با قطبیت تغییر کرده است. بنابراین آنچه ما باید انجام دهیم این است که سیگنال خروجی از DAC را به 5 ولت و 5 ولت برش دهیم.
پتانسیومتر را تنظیم کنید:
آنچه در اینجا مشاهده می کنید ولتاژ خروجی این مدار در فرکانس مرحله ورودی 100 کیلوهرتز و با سیگنال جهت ثابت است. در این تصویر همه چیز خوب است. دامنه از 0 تا 5V و از 0 تا -5 می رود. همچنین احتمالاً ولتاژها تراز می شوند.
اکنون من به شما نشان خواهم داد که هنگام تنظیم پتانسیومتر چه چیزی ممکن است اشتباه شود:
همانطور که می بینید ، احتمالاً هر دو ولتاژ در یک راستا نیستند. راه حل این است که ولتاژ آفست را از OpAmp تنظیم کنید. شما این کار را با تنظیم پتانسیومترهای "R8" و "R10" انجام می دهید.
مثالی دیگر:
همانطور که می بینید ولتاژها احتمالاً تراز شده اند ، اما دامنه 5 ولت نیست بلکه 2 ولت است. راه حل این است که مقاومت افزایش یافته را از OpAmp تنظیم کنید. شما این کار را با تنظیم پتانسیومترهای "R7" و "R9" انجام می دهید.
توصیه شده:
کنسول بازی دستی DIY Raspberry Pi Zero: 6 Step (همراه با تصاویر)
کنسول بازی دستی DIY Raspberry Pi Zero: در این پروژه به شما نشان خواهم داد که چگونه از Raspberry Pi Zero ، باتری های NiMH ، مدار محافظ بیش از حد تخلیه خانگی ، LCD عقب و آمپلی فایر برای ایجاد یک کنسول بازی دستی که می تواند استفاده کند استفاده کردم. بازی های یکپارچهسازی با سیستمعامل بیایید شروع کنیم
درایور LED Step-Down مبتنی بر 3A ATTiny84: 7 مرحله (همراه با تصاویر)
درایور LED گام به گام ATTiny84 مبتنی بر 3A: اگر می خواهید LED های 10 واتی را تغذیه کنید ، می توانید از این درایور LED 3A استفاده کنید. با 3 LED Cree XPL ، می توانید به 3000 لومن دست پیدا کنید
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
Laser Box Music Laser Light Show: 18 مرحله (همراه با تصاویر)
Laser Box Music Laser Light Show: من قبلاً یک Instructable را منتشر کردم که نحوه استفاده از هارد دیسک های رایانه را برای نمایش یک نمایش نور لیزری موسیقی توضیح می داد. من تصمیم گرفتم یک نسخه جمع و جور با استفاده از یک جعبه الکتریکی و موتورهای ماشین RC بسازم. قبل از شروع کار ، احتمالاً باید به شما بگویم که این مرحله
NES Controller Shuffle (Nintendo Controller MP3، V3.0): 5 مرحله (همراه با تصاویر)
NES Controller Shuffle (نینتندو کنترلر MP3 ، V3.0): من ryan97128 را به طور کامل بر روی طراحی وی برای Nintendo Controller MP3 ، نسخه 2.0 پاره کردم و می شنوم که او این ایده را از Morte_Moya خردمند دریافت کرده است ، بنابراین نمی توانم اعتبار آن را بدست آورم. همه نبوغ آنها من فقط می خواستم راحتی و شارژ را اضافه کنم