สารบัญ:

DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)
DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Building a DIY portable Laser Engraver 2024, กรกฎาคม
Anonim
DIY STEP/DIR LASER GALVO CONTROLLER
DIY STEP/DIR LASER GALVO CONTROLLER

สวัสดี, ในคำแนะนำนี้ ฉันต้องการแสดงให้คุณเห็นว่าคุณสามารถสร้างอินเทอร์เฟซ step / dir ของคุณเองสำหรับเครื่องสแกนเลเซอร์ galvo มาตรฐาน ILDA ได้อย่างไร

อย่างที่คุณอาจทราบแล้ว ฉันยังเป็นผู้ประดิษฐ์ "DIY-SLS-3D-Printer" และ "JRLS 1000 DIY SLS-3D-PRINTER" และในขณะที่ฉันกำลังสร้างเครื่องจักรเหล่านี้ ฉันก็เริ่มคิดว่าเครื่องพิมพ์เหล่านี้จะทำงานอย่างไร ถ้าฉันจะใช้เครื่องสแกน Galvo แทนระบบการเคลื่อนไหวคาร์ทีเซียน อย่างไรก็ตาม ในทุกวันนี้ ฉันไม่มีความรู้ในการเขียนโปรแกรมคอนโทรลเลอร์สำหรับสแกนเนอร์ Galvo ดังนั้นฉันจึงใช้เฟิร์มแวร์ที่มีอยู่กับคาร์ทีเซียนโมชั่น

แต่วันนี้และหลังจากการค้นคว้า ฉันพบคำแนะนำที่ผู้เขียนใช้ Arduino เพื่อสร้างงาน DIY Laser Galvo ฉันคิดว่านี่คือสิ่งที่ฉันกำลังค้นหาอยู่พอดี ดังนั้นฉันจึงสั่งชิ้นส่วนต่างๆ เช่น ในคำสั่งของเขาและทำการทดลองบางอย่าง หลังจากการวิจัยบางอย่าง ฉันพบว่า Arduino จะไม่ทำงานได้ดีกับอินเทอร์เฟซแบบขั้นตอน / ทิศทาง ดังนั้นฉันจึงรีมิกซ์สำหรับไมโครคอนโทรลเลอร์ STM32

โปรดจำไว้ว่าคอนโทรลเลอร์นี้เป็นเพียงต้นแบบ แต่ใช้ได้กับหลายโครงการ ตัวอย่างเช่น ในเครื่องพิมพ์ DIY SLS 3D หรือเครื่องแกะสลักเลเซอร์

คุณสมบัติของตัวควบคุม Galvo คือ:

  • การแปลงจากสัญญาณขั้น/dir 5V เป็นมาตรฐาน ILDA
  • ความถี่อินพุต 120kHz ของ (สัญญาณขั้นตอน / ทิศทาง)
  • ความละเอียดเอาต์พุต 12 บิต (0, 006° ต่อมุม)
  • การแปลงจากพิกัดเชิงขั้วเป็นเชิงเส้น
  • เข้ากันได้กับตัวควบคุมการเคลื่อนไหวใด ๆ ซึ่งจะสร้างสัญญาณขั้นตอนและทิศทาง
  • พินการจัดตำแหน่งกึ่งกลาง (รูทีนโฮม)

วิดีโอของตัวควบคุมเลเซอร์ galvo: (เร็ว ๆ นี้)

หากคุณชอบคำแนะนำของฉัน โปรดโหวตให้ฉันในการประกวดเรียบเรียง

ขั้นตอนที่ 1: ชิ้นส่วนที่คุณต้องการสำหรับ Galvo Controller

ชิ้นส่วนอิเล็กทรอนิกส์สำหรับตัวควบคุม galvo:

ปริมาณ คำอธิบาย ลิงค์ ราคา
1x ILDA 20Kpps เครื่องวัดกระแสไฟฟ้า galvo Aliexpress 56, 51€
1x เลเซอร์ไดโอด 6 มม. 650 นาโนเมตร Aliexpress 1, 16€
บาง สายไฟ - -
1x ST-ลิงค์V2 Aliexpress 1, 92

ชิ้นส่วนอิเล็กทรอนิกส์สำหรับวงจร:

นี่คือชิ้นส่วนที่จำเป็นทั้งหมดสำหรับคอนโทรลเลอร์ galvo ฉันพยายามจัดหาชิ้นส่วนทั้งหมดให้ถูกที่สุด

ปริมาณ คำอธิบาย ชื่อบนวงจร ลิงค์ ราคา
1x ไมโครคอนโทรลเลอร์ STM32 "เม็ดสีฟ้า" "ยาเม็ดสีน้ำเงิน" Aliexpress 1, 88€
1x MCP4822 ช่องสัญญาณคู่ 12 บิต DAC MCP4822 Aliexpress 3, 00€
2x TL082 dual OpAmp IC1, IC2 Aliexpress 0, 97€
6x ตัวต้านทาน 1k R1-R6 Aliexpress 0, 57€
4x 10k ทริมโพเทนชิโอมิเตอร์ R7-R10 Aliexpress 1, 03€
บาง หัวเข็ม - Aliexpress 0, 46€

ขั้นตอนที่ 2: ทฤษฎีของผู้ควบคุม

ภาพ
ภาพ

ที่นี่ฉันจะอธิบายวิธีการทำงานของคอนโทรลเลอร์โดยทั่วไป ฉันจะแสดงรายละเอียดบางอย่างเช่นการคำนวณมุมฉาก

1. MOTION-CONTROLLER

ตัวควบคุมการเคลื่อนไหวเป็นส่วนที่คุณจะสร้างสัญญาณขั้นตอนและทิศทาง การควบคุมขั้นตอน/ทิศทางมักใช้ในแอปพลิเคชันสเต็ปเปอร์มอเตอร์ เช่น 3D-Printers, Lasers หรือ CNC-Mills

นอกจากสัญญาณขั้นตอนและทิศทางแล้ว ยังจำเป็นต้องมีพินการจัดตำแหน่งตรงกลางเพื่อทำให้ STM32 และ Motioncontroller มีความสอดคล้องกัน นั่นเป็นเพราะว่า Galvos ถูกควบคุมอย่างสมบูรณ์และไม่จำเป็นต้องใช้ลิมิตสวิตช์ใดๆ

2. STM32-ไมโครคอนโทรลเลอร์

ไมโครคอนโทรลเลอร์ STM32 เป็นหัวใจสำคัญของคอนโทรลเลอร์นี้ ไมโครคอนโทรลเลอร์นี้มีงานหลายอย่างที่ต้องทำ งานเหล่านี้คือ:

ภารกิจที่ 1: วัดสัญญาณ

ภาพ
ภาพ

งานแรกคือการวัดสัญญาณอินพุต ในกรณีนี้จะเป็นสัญญาณขั้นตอนและทิศทาง เนื่องจากฉันไม่ต้องการให้ตัวควบคุมการเคลื่อนไหวถูกจำกัดด้วยความถี่อินพุต ฉันจึงออกแบบวงจรสำหรับ 120kHz (ทดสอบแล้ว) เพื่อให้ได้ความถี่อินพุตนี้โดยไม่สูญเสียข้อมูล ฉันกำลังใช้ตัวจับเวลาฮาร์ดแวร์สองตัว TIM2 และ TIM3 บน STM32 เพื่อจัดการอินเทอร์เฟซขั้นตอน/ทิศทาง นอกจากสัญญาณก้าวและทิศทางแล้ว ยังมีสัญญาณบอกทิศทางอีกด้วย การจัดตำแหน่งนี้ถูกควบคุมโดยอินเตอร์รัปต์ภายนอกบน STM32

งาน 2: คำนวณสัญญาณ

ตอนนี้คอนโทรลเลอร์จำเป็นต้องคำนวณสัญญาณให้เป็นค่าที่ถูกต้องสำหรับ DAC เนื่องจาก Galvo จะสร้างระบบพิกัดเชิงขั้วที่ไม่ใช่เชิงเส้น จึงจำเป็นต้องมีการคำนวณเพียงเล็กน้อยเพื่อสร้างการพึ่งพาเชิงเส้นระหว่างขั้นตอนและเลเซอร์ที่เคลื่อนที่จริง ฉันจะแสดงภาพร่างของการคำนวณให้คุณดู:

ภาพ
ภาพ

ตอนนี้เราต้องหาสูตรการคำนวณ เนื่องจากฉันใช้ 12 บิต DAC ฉันสามารถให้แรงดันไฟฟ้าตั้งแต่ -5 - +5V ใน 0 - 4096 ขั้นตอน Galvo I have order มีมุมสแกนรวม 25° ที่ -5 - +5V ดังนั้น phi มุมของฉันจึงอยู่ในช่วงตั้งแต่ -12, 5° - +12, 5° สุดท้ายฉันต้องคิดเกี่ยวกับระยะทาง d. โดยส่วนตัวแล้วฉันต้องการพื้นที่สแกน 100x100 มม. ดังนั้น d ของฉันจะเป็น 50 มม. h สูงจะเป็นผลมาจาก phi และ d h คือ 225, 5mm. เพื่อนำระยะทาง d เทียบกับมุมพีฉันใช้สูตรเล็กน้อยซึ่งจะใช้แทนเจนต์และแปลงมุมจากเรเดียนเป็น "ค่า DAC"

ภาพ
ภาพ

สุดท้าย ฉันต้องเพิ่มค่าความเอนเอียง 2048 เท่านั้น เพราะช่องสแกนของฉันคือการจัดตำแหน่งกึ่งกลาง และการคำนวณทั้งหมดเสร็จสิ้นแล้ว

งาน 3: ส่งค่าไปยัง DAC:

เนื่องจาก STM32 ที่ฉันใช้ไม่มีบิลด์ใน DAC ฉันจึงใช้ DAC ภายนอก การสื่อสารระหว่าง DAC และ STM32 เกิดขึ้นผ่าน SPI

3. DAC

สำหรับวงจรฉันใช้ 12 บิต DAC "MCP4822" เดียวกันกับ deltaflo เนื่องจาก DAC เป็น unipolar 0-4, 2V และคุณต้องการ -+5V bipolar สำหรับมาตรฐาน ILDA คุณจึงต้องสร้างวงจรขนาดเล็กที่มี OpAmp บางตัว ฉันใช้ TL082 OpAmps คุณต้องสร้างวงจรแอมพลิฟายเออร์นี้สองครั้ง เพราะคุณต้องควบคุมสอง galvos OpAmps สองตัวเชื่อมต่อกับ -15 และ +15V เป็นแรงดันไฟฟ้า

ภาพ
ภาพ

4. GALVO

ส่วนสุดท้ายค่อนข้างง่าย แรงดันไฟขาออกของ OPAMP ทั้งสองจะเชื่อมต่อกับไดรเวอร์ ILDA Galvo เพียงเท่านี้คุณก็สามารถควบคุม Galvos ได้แล้วด้วยสัญญาณก้าวและทิศทาง

ขั้นตอนที่ 3: วงจร

The Circuit
The Circuit

สำหรับวงจร ผมใช้ PCB ต้นแบบ

คุณสามารถเชื่อมต่อสัญญาณขั้นตอนและทิศทางกับ STM32 ได้โดยตรง เนื่องจากฉันได้เปิดใช้งานตัวต้านทานแบบดึงลงภายในแล้ว นอกจากนี้ ฉันยังใช้พินที่ทนทานต่อ 5V สำหรับพินแบบขั้น ทิศทาง และตรงกลาง

คุณสามารถดาวน์โหลดแผนผังแบบเต็มของวงจรด้านล่าง:

ขั้นตอนที่ 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 เมื่อเชื่อมต่อแล้ว ให้คลิกที่ "เชื่อมต่อกับปุ่มเป้าหมาย":

ภาพ
ภาพ

สุดท้ายคลิกที่ "ดาวน์โหลด" ตอนนี้ STM32 ของคุณควรแฟลชอย่างถูกต้อง

ภาพ
ภาพ

นอกจากนี้ ฉันได้แนบไฟล์ต้นฉบับทั้งหมดสำหรับ Galvo_Controller ใน TrueStudio

ขั้นตอนที่ 5: เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ

เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ
เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ
เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ
เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ

ฉันได้วางชิ้นส่วนอิเล็กทรอนิกส์ทั้งหมดบนแผ่นอลูมิเนียมขนาด 4 มม. เพื่อให้ดูดีขึ้น:-)

ตอนนี้ฉันจะแสดงให้คุณเห็นว่าคุณต้องปรับโพเทนชิโอมิเตอร์บนวงจรอย่างไร:

ในตอนแรกข้อมูลพื้นฐานบางอย่างเกี่ยวกับมาตรฐาน ILDA มาตรฐาน ILDA มักใช้สำหรับการแสดงเลเซอร์ และประกอบด้วยสัญญาณ 5V และ -5v สัญญาณทั้งสองมีแอมพลิจูดเท่ากัน แต่มีการเปลี่ยนแปลงขั้ว ดังนั้นสิ่งที่เราต้องทำคือตัดสัญญาณเอาต์พุตจาก DAC เป็น 5V และ -5V

ปรับโพเทนชิออมิเตอร์:

ภาพ
ภาพ

สิ่งที่คุณเห็นคือแรงดันเอาต์พุตของวงจรนี้ที่ความถี่สเต็ปอินพุทที่ 100kHz และสัญญาณทิศทางคงที่ ในภาพนี้ทุกอย่างเรียบร้อยดี แอมพลิจูดเริ่มจาก 0 ถึง 5V และจาก 0 ถึง -5 แรงดันไฟฟ้ายังอยู่ในแนวเดียวกัน

ตอนนี้ฉันจะแสดงให้คุณเห็นว่ามีอะไรผิดพลาดขณะปรับโพเทนชิออมิเตอร์:

ภาพ
ภาพ

อย่างที่คุณเห็นตอนนี้แรงดันไฟฟ้าทั้งสองไม่สอดคล้องกัน วิธีแก้ไขคือการปรับแรงดันออฟเซ็ตจาก OpAmp คุณทำได้โดยการปรับโพเทนชิโอมิเตอร์ "R8" และ "R10"

ตัวอย่างอื่น:

ภาพ
ภาพ

อย่างที่คุณเห็นตอนนี้ แรงดันไฟฟ้าอาจอยู่ในแนวเดียวกัน แต่แอมพลิจูดไม่ใช่ 5V แต่เป็น 2V วิธีแก้ไขคือปรับค่าความต้านทานเกนจาก OpAmp คุณทำได้โดยการปรับโพเทนชิโอมิเตอร์ "R7" และ "R9"

แนะนำ: