สารบัญ:
- ขั้นตอนที่ 1: ชิ้นส่วนที่คุณต้องการสำหรับ Galvo Controller
- ขั้นตอนที่ 2: ทฤษฎีของผู้ควบคุม
- ขั้นตอนที่ 3: วงจร
- ขั้นตอนที่ 4: การเขียนโปรแกรม STM32
- ขั้นตอนที่ 5: เชื่อมต่อชิ้นส่วนทั้งหมดด้วยกลไกและทดสอบ
วีดีโอ: DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
สวัสดี, ในคำแนะนำนี้ ฉันต้องการแสดงให้คุณเห็นว่าคุณสามารถสร้างอินเทอร์เฟซ 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: วงจร
สำหรับวงจร ผมใช้ 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"
แนะนำ:
Atari Punk Console กับ Baby 8 Step Sequencer: 7 ขั้นตอน (พร้อมรูปภาพ)
Atari Punk Console พร้อมซีเควนเซอร์ Baby 8 ขั้นตอน: โครงสร้างระดับกลางนี้เป็น Atari Punk Console แบบ all-in-one และ Baby 8 Step Sequencer ที่คุณสามารถกัดได้บนเครื่องกัด PCB Bantam Tools Desktop ประกอบด้วยแผงวงจรสองแผ่น อันแรกคือบอร์ดอินเทอร์เฟซผู้ใช้ (UI) และอีกอันคือบอร์ดยูทิลิตี้
ATTiny84 ไดร์เวอร์ LED 3A Step-Down ที่ใช้ ATTiny84: 7 ขั้นตอน (พร้อมรูปภาพ)
ATTiny84 ไดร์เวอร์ LED 3A Step-Down ที่ใช้ ATTiny84: หากคุณต้องการจ่ายไฟ LED 10W คุณสามารถใช้ไดรเวอร์ 3A LED นี้ได้ ด้วย LED Cree XPL 3 ดวง คุณสามารถบรรลุ 3000 ลูเมน
การเลือก Step Motor และ Driver สำหรับ Arduino Automated Shade Screen Project: 12 ขั้นตอน (พร้อมรูปภาพ)
การเลือก Step Motor และ Driver สำหรับ Arduino Automated Shade Screen Project: ในคำแนะนำนี้ ฉันจะทำตามขั้นตอนต่างๆ ที่ฉันทำเพื่อเลือก Step Motor และ Driver สำหรับโครงการ Automated Shade Screen ต้นแบบ ม่านบังแดดเป็นรุ่นมือหมุน Coolaroo ยอดนิยมและราคาไม่แพง และฉันต้องการเปลี่ยนแ
Laser Box Music Laser Light Show: 18 ขั้นตอน (พร้อมรูปภาพ)
Laser Box Music Laser Light Show: ก่อนหน้านี้ฉันเผยแพร่ Instructable ซึ่งอธิบายวิธีใช้ฮาร์ดไดรฟ์ของคอมพิวเตอร์เพื่อสร้างการแสดงแสงเลเซอร์เพลง ฉันตัดสินใจสร้างรุ่นกะทัดรัดโดยใช้กล่องไฟฟ้าและมอเตอร์ของรถ RC ก่อนที่ฉันจะเริ่ม ฉันควรบอกคุณก่อนว่า lase
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 ขั้นตอน (พร้อมรูปภาพ)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): ฉันลอก ryan97128 ออกจากการออกแบบของเขาสำหรับ Nintendo Controller MP3 เวอร์ชัน 2.0 และฉันได้ยินมาว่าเขาได้แนวคิดมาจาก Morte_Moya ที่ฉลาดทั้งหมด ดังนั้นฉันจึงรับเครดิตไม่ได้ อัจฉริยะทั้งหมดของพวกเขา ฉันแค่ต้องการเพิ่มความสะดวกสบายและเติมเงิน -