สารบัญ:
- ขั้นตอนที่ 1: ดูอย่างรวดเร็วที่ Assembly
- ขั้นตอนที่ 2: ทำความเข้าใจ Encoder Pin-out
- ขั้นตอนที่ 3: Arduino Sketch อย่างง่ายสำหรับการเคลื่อนย้ายมอเตอร์ไปมา
- ขั้นตอนที่ 4: ความคิดสุดท้าย (สำหรับตอนนี้)
วีดีโอ: การทดลอง PWM มอเตอร์ DC แบบสุ่ม + การแก้ไขปัญหาตัวเข้ารหัส: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
มีบ่อยครั้งที่ขยะของใครบางคนเป็นสมบัติของอีกคนหนึ่ง และนี่เป็นหนึ่งในช่วงเวลาเหล่านั้นสำหรับฉัน
หากคุณติดตามฉันมาตลอด คุณคงรู้ดีว่าฉันได้ทำโปรเจ็กต์ใหญ่ๆ เพื่อสร้างเครื่องพิมพ์ 3 มิติ CNC ของตัวเองจากเศษวัสดุ ชิ้นส่วนเหล่านั้นทำจากชิ้นส่วนเครื่องพิมพ์เก่าและสเต็ปเปอร์มอเตอร์ต่างๆ
แคร่ตลับหมึกพิมพ์นี้มาจากเครื่องพิมพ์ดอทเมทริกซ์ของ Texas Instruments จากปี 1980 ขออภัย ฉันจำไม่ได้ว่ารุ่นอะไร แต่ฉันมีหมายเลขมอเตอร์ 994206-0001 มอเตอร์ DC นี้ติดตั้งตัวเข้ารหัสเช่นกัน ซึ่งจะเป็นประโยชน์สำหรับการใช้งานที่ทันสมัย ในความเร่งรีบที่จะกู้คืนชุดประกอบนี้ ฉันเพียงถอดมันออกและถ่ายรูปที่ที่มันเชื่อมต่ออยู่
ในคำแนะนำนี้ ฉันจะพยายามดูว่ามอเตอร์และตัวเข้ารหัสใช้งานได้จริงหรือไม่ และพินเอาต์มีไว้เพื่ออะไร
เสบียง:
มอเตอร์กระแสตรงพร้อมตัวเข้ารหัส
Arduino UNO, นาโน
L298N สะพาน H
ตัวแปลง DC Buck
แหล่งจ่ายไฟที่มีความสามารถในการเชื่อมโยงแรงดันไฟฟ้าที่คุณต้องการ (PC ATX รุ่นเก่าอาจเป็นตัวเลือกที่ใช้งานได้)
สายเคเบิล
พีซีที่มี Arduino IDE
มัลติมิเตอร์
สมุดบันทึก!!
ขั้นตอนที่ 1: ดูอย่างรวดเร็วที่ Assembly
ภาพที่ 1 แสดงช่วงครึ่งหลังของรถม้า มีการติดตั้งชุดประกอบ มอเตอร์ที่มีตัวเข้ารหัส และรางสำหรับป้อนกระดาษดอทเมทริกซ์แบบเก่า ฉันถอดแทร็กและส่วนหนึ่งของชุดประกอบด้านล่างออก ชิ้นล่างที่ฉันถอดออกคือเหล็กค้ำยัน ซึ่งค่อนข้างหนัก จริงๆ แล้ว (ดูเหมือนทุกวันนี้จะไม่ทำแบบนั้นแล้ว)
รูปภาพที่สองแสดงตำแหน่งที่ถอด J8 (ขั้วต่อตัวเข้ารหัส) & และ J6 (ขั้วต่อมอเตอร์) ออกจากแผงควบคุม ฉันถ่ายรูปมันไปโรงเรียนด้วยตัวเองตามรอยและไอซีจาก "บอร์ดแม่"
ในรูปที่ 3 และ 4 คุณจะเห็นขั้วต่อมอเตอร์และตัวเข้ารหัสตามลำดับ
หลังจากจับคู่ร่องรอยบนตัวเข้ารหัสและทำซ้ำแผนผังแล้ว ฉันก็สามารถสร้างไดอะแกรมของตัวเองขึ้นมาได้ หมุดเข้ารหัสเป็นสิ่งที่สำคัญที่สุดสำหรับฉันในการพิจารณาและเป็นจุดสนใจของคำแนะนำนี้สำหรับการแก้ไขปัญหา เราจะเห็นสิ่งนี้ในหัวข้อถัดไป
ขั้นตอนที่ 2: ทำความเข้าใจ Encoder Pin-out
ตอนนี้ ฉันต้องหาว่าพินเอาต์บนตัวเข้ารหัสคืออะไร ฉันทำเครื่องหมายหมุด 1 ถึง 8 โดยพลการและอธิบายไว้ในรูปสุดท้าย สิ่งที่ฉันตั้งสมมติฐานจากการดูที่แผงควบคุมและร่องรอยบนตัวเข้ารหัสคือพิน 1 & 6 เป็นกราวด์ & 5 คือ Vcc (กำลัง, 5V) การเชื่อมต่อสำหรับ 2 ถูกปิดเพื่อให้ไร้ประโยชน์และ 3, 4, 7 และ 8 เป็นเอาต์พุตสำหรับอาร์เรย์ไดโอด คำเตือน: ฉันกำลังตั้งสมมติฐานอย่างกล้าหาญกับการทดสอบของฉัน! ฉันเชื่อมต่อกราวด์กับกราวด์บนแหล่งพลังงานของฉัน แต่จากนั้นฉันเชื่อมต่อ 5 V กับตัวเข้ารหัสโดยตรง การเริ่มต้นที่แรงดันไฟฟ้าสูงนี้อาจทำลายตัวเข้ารหัสของคุณได้หากคุณไม่ทราบว่าต้องใช้แรงดันไฟฟ้าเท่าใด (เช่นฉันไม่รู้) ดังนั้นคุณอาจต้องการเริ่มต้นที่แรงดันไฟฟ้าที่ต่ำกว่าเช่น 3.3 V หลังจากเชื่อมต่อแหล่งพลังงาน 5 V ของฉันกับพินตัวเข้ารหัส 5 และกราวด์ไปที่พิน 1 ฉันติดมัลติมิเตอร์กราวด์ไปที่พิน 1 และพิน 5 เพื่อให้แน่ใจว่ามีพลังงานอยู่ รูปที่ 2 จากนั้นฉันก็เริ่มทดสอบพิน 3 ซึ่งฉันคิดว่าเป็นหนึ่งในโฟโต้ไดโอดอาเรย์ รูปที่ 3-5 ดังที่คุณเห็นวงจรแรงดันไฟฟ้าตั้งแต่ใกล้ถึง 0 V ถึงใกล้กับ 5 V ขณะที่ฉันหมุนเพลามอเตอร์ นั่นเป็นสัญญาณที่ดีที่จะพิสูจน์ว่าสมมติฐานของฉันถูกต้อง! ฉันทำเช่นเดียวกันกับพิน 4, 7, & 8 และได้ผลลัพธ์เหมือนกัน ตอนนี้ ฉันได้กำหนดว่าพินเอาต์พุตสำหรับตัวเข้ารหัสของฉันคืออะไร
คุณสามารถทำเช่นเดียวกันกับเซ็นเซอร์ออปติคัลใดๆ ที่คุณดึงจากเครื่องพิมพ์ ซึ่งคุณอาจกอบกู้ชิ้นส่วนได้ เนื่องจากส่วนใหญ่ไม่มีขั้วต่อแบบ 8 พิน สำหรับเครื่องพิมพ์ที่บ้านสมัยใหม่ เครื่องพิมพ์เหล่านี้ดูเหมือนจะเป็นแบบ 3 หรือ 4 พิน HomoFaciens มีวิดีโอ YouTube ที่ยอดเยี่ยมเกี่ยวกับวิธีการระบุพินที่ไม่รู้จักสำหรับเซ็นเซอร์ออปติคัล
ขั้นตอนที่ 3: Arduino Sketch อย่างง่ายสำหรับการเคลื่อนย้ายมอเตอร์ไปมา
ตอนนี้ฉันมีข้อมูลสำหรับตัวเข้ารหัสมอเตอร์แล้ว ก็ถึงเวลาดูว่ามอเตอร์จะทำงานอย่างไร ในการทำเช่นนี้ ฉันเขียนร่างพื้นฐานสำหรับ Arduino รูปที่ 3 - 5 ฉันกำหนดอินพุตของฉันสำหรับการปรับความกว้างพัลส์จาก L298N เป็น 'enB' สำหรับพิน 3 และ 4 ฉันตั้งค่าให้มอเตอร์สามารถสลับทิศทางได้ตามความจำเป็น นี่จะ
ก. เปิดมอเตอร์
ข. เคลื่อนที่ไปทางเดียวเป็นเวลา 2 วินาที
C. สลับทิศทางเป็นเวลา 2 วินาที และ
ง. ทำซ้ำ
ฉันแค่ต้องการทดสอบการตั้งค่าและการทำงาน และสิ่งนี้พิสูจน์แล้วว่าประสบความสำเร็จ (หลังจากเปลี่ยนพัลส์จาก 50 เป็น 100 ดูรูปด้านบน)
สเก็ตช์ถัดไปเพิ่มความเร่ง ภาพที่ 6 - 8 ฉันเริ่ม PWM จาก 100 (ตามที่กำหนดจากการรันสเก็ตช์ครั้งแรก) และเร่งเป็น 255 สิ่งนี้จะ
A. เร่งพิน 3 (ทิศทาง CW) จาก 100 เป็น 255 บน PWM เป็นเวลา 0.1 วินาที
B. ลดความเร็วจาก 255 เป็น 100 เป็นเวลา 0.1 วินาที
C. เปลี่ยนทิศทาง พิน 4 (CCW)
ง. เร่ง/ลดความเร็ว เช่นเดียวกับพิน 3
E. ทำซ้ำ
กระบวนการนี้ (ประมาณ) เห็นในรูปสุดท้าย แต่อ้างอิงจากวิดีโอเพื่อให้ได้ภาพที่ดีขึ้น
ภาพสเก็ตช์พื้นฐานเหล่านี้สามารถปรับให้เข้ากับมอเตอร์กระแสตรงของคุณได้เช่นกัน ฉันเชื่อว่าหลายคนใช้ภาพสเก็ตช์ประเภทนี้เพื่อควบคุมหุ่นยนต์หรืออุปกรณ์กลิ้งประเภทอื่น ฉันแค่ต้องการตรวจสอบการทำงานและทำความเข้าใจตัวเองให้ดียิ่งขึ้นว่ามอเตอร์นี้จะทำงานหรือไม่
ขั้นตอนที่ 4: ความคิดสุดท้าย (สำหรับตอนนี้)
งานนี้บอกเลยว่า เฟส 1 เสร็จแล้ว
ฉันรู้ว่าตัวเข้ารหัสใช้งานได้และมอเตอร์จะทำงานด้วย PWM บน Arduino
สิ่งต่อไปสำหรับแอปพลิเคชันสุดท้ายของฉันคือ:
1. กำหนดชีพจรต่อการปฏิวัติ (PPR) ของตัวเข้ารหัสสำหรับเส้นทาง A & B บนและล่าง ฉันแน่ใจว่ามีภาพร่างอยู่ที่ไหนสักแห่งที่ฉันสามารถเรียกใช้ PWM ของฉันพร้อมกับตัวนับพัลส์ตัวเข้ารหัส, CW & CCW แต่ฉันยังไม่พบ (ความคิดเห็นใด ๆ เกี่ยวกับตำแหน่งที่จะหาร่าง Arduino จะได้รับการชื่นชมอย่างมาก!)
2. กำหนดวิธีการใช้งานมอเตอร์กระแสตรง/ตัวเข้ารหัสบน GRBL และปรับเทียบแกนอย่างหลีกเลี่ยงไม่ได้ (โปรดแสดงความคิดเห็นอีกครั้งหากคุณรู้จักที่ไหน) ฉันต้องการทำสิ่งนี้กับแล็ปท็อปที่ใช้ Microsoft ฉันพบบางตัวที่ใช้ Linux แต่นั่นก็ไม่ช่วยอะไรฉัน
3. ออกแบบเครื่องให้ทำงานเป็นส่วนหนึ่งของ CNC ทั้งหมด
ความคิดใด ๆ สำหรับเป้าหมายนี้แนะนำอย่างแน่นอนหากคุณต้องการฝากไว้ในส่วนความคิดเห็น ขอบคุณสำหรับการมองหาและฉันหวังว่าสิ่งนี้จะช่วย / เป็นแรงบันดาลใจให้ใครบางคน