- ส่วนประกอบที่จำเป็น:
- แผนภาพวงจรและคำอธิบาย:
- การคำนวณปัจจุบัน:
- การทำงานของมอเตอร์สองทิศทางที่ควบคุมด้วย Arduino:
ในโครงการนี้เราควบคุมทิศทางและความเร็วของมอเตอร์ 24v ปัจจุบันสูงโดยใช้ Arduino และสองรีเลย์ ไม่มีสวิทช์พลังงานมีความจำเป็นสำหรับวงจรนี้เพียงสองปุ่มกดและมิเตอร์เพื่อควบคุมทิศทางและความเร็วของ DC มอเตอร์ ปุ่มกดหนึ่งปุ่มจะหมุนมอเตอร์ตามเข็มนาฬิกาและปุ่มอื่น ๆ จะหมุนทวนเข็มนาฬิกา ต้องใช้มอสเฟต n-channel หนึ่งช่องเพื่อควบคุมความเร็วของมอเตอร์ รีเลย์ใช้เพื่อเปลี่ยนทิศทางของมอเตอร์ คล้ายกับวงจร H-Bridge
ส่วนประกอบที่จำเป็น:
- Arduino Uno
- รีเลย์ 12v สองตัว (สามารถใช้รีเลย์ 5v ได้)
- ทรานซิสเตอร์สองตัว BC547
- ปุ่มกดสองปุ่ม
- IRF540N
- ตัวต้านทาน 10k
- แหล่งจ่ายไฟ 24 โวลต์
- โพเทนชิออมิเตอร์ 10K
- สามไดโอด 1N4007
- การเชื่อมต่อสายไฟ
แผนภาพวงจรและคำอธิบาย:
แผนภาพวงจรของโครงการควบคุมมอเตอร์แบบสองทิศทางนี้แสดงในภาพด้านล่าง ทำการเชื่อมต่อตามนั้น:
- เชื่อมต่อขั้วปิดตามปกติของรีเลย์ทั้งสองเข้ากับขั้วบวกของแบตเตอรี่
- เชื่อมต่อเทอร์มินัลที่เปิดตามปกติของรีเลย์ทั้งสองเข้ากับขั้วระบายของ MOSFET
- เชื่อมต่อแหล่งที่มาของ MOSFET กับขั้วลบของแบตเตอรี่และขากราวด์ของ Arduino UNO
- เทอร์มินัลประตูไปยัง PWM พิน 6 ของ Arduino
- เชื่อมต่อตัวต้านทาน 10k จากประตูหนึ่งไปยังแหล่งที่มาและ 1N4007 ไดโอดจากแหล่งที่มาไปยังท่อระบายน้ำ
- เชื่อมต่อมอเตอร์ระหว่างขั้วกลางของรีเลย์
- จากขั้วที่เหลือสองขั้วขั้วหนึ่งไปที่ขา Vin ของ Arduino Uno และอีกขั้วหนึ่งไปที่ขั้วตัวสะสมของทรานซิสเตอร์ (สำหรับแต่ละรีเลย์)
- เชื่อมต่อขั้วอิมิตเตอร์ของทรานซิสเตอร์ทั้งสองกับพิน GND ของ Arduino
- พินดิจิตอล 2 และ 3 ของ Arduino แต่ละอันในอนุกรมที่มีปุ่มกดจะไปที่ฐานของทรานซิสเตอร์
- เชื่อมต่อไดโอดข้ามรีเลย์ตรงตามที่แสดงในรูป
- เชื่อมต่อขั้วปลายของโพเทนชิออมิเตอร์กับขา 5v และขา Gnd ของ Arduino ตามลำดับ และขั้วปัดน้ำฝนเป็นขา A0.
- ** หากคุณมีแบตเตอรี่ 12 โวลต์สองก้อนแยกจากกันให้เชื่อมต่อขั้วบวกของแบตเตอรี่หนึ่งเข้ากับขั้วลบของแบตเตอรี่อีกก้อนหนึ่งและใช้สองขั้วที่เหลือเป็นขั้วบวกและขั้วลบ
วัตถุประสงค์ของทรานซิสเตอร์:
พินดิจิทัลของ Arduino ไม่สามารถจ่ายกระแสไฟฟ้าที่จำเป็นในการเปิดรีเลย์ 5v ปกติได้ นอกจากนี้เราใช้รีเลย์ 12v ในโครงการนี้ Vin pin ของ Arduino ไม่สามารถจ่ายกระแสได้มากขนาดนี้สำหรับรีเลย์ทั้งสองตัว ดังนั้นทรานซิสเตอร์จึงถูกใช้เพื่อนำกระแสจากขา Vin ของ Arduino ไปยังรีเลย์ซึ่งควบคุมโดยใช้ปุ่มกดที่เชื่อมต่อจากพินดิจิทัลไปยังขั้วฐานของทรานซิสเตอร์
วัตถุประสงค์ของ Arduino:
- เพื่อให้จำนวนกระแสที่ต้องการในการเปิดรีเลย์
- เพื่อเปิดทรานซิสเตอร์
- เพื่อควบคุมความเร็วของมอเตอร์กระแสตรงด้วยโพเทนชิออมิเตอร์โดยใช้การเขียนโปรแกรม ตรวจสอบรหัส Arduino ที่สมบูรณ์ในตอนท้าย
วัตถุประสงค์ของ MOSFET:
ต้องใช้ MOSFET เพื่อควบคุมความเร็วของมอเตอร์ MOSFET ถูกเปิดและปิดด้วยแรงดันไฟฟ้าความถี่สูงและเนื่องจากมอเตอร์เชื่อมต่อแบบอนุกรมพร้อมกับท่อระบายน้ำของ MOSFET ค่า PWM ของแรงดันจะกำหนดความเร็วของมอเตอร์
การคำนวณปัจจุบัน:
ความต้านทานของขดลวดรีเลย์วัดโดยใช้มัลติมิเตอร์ซึ่งกลายเป็น = 400 โอห์ม
Vin pin ของ Arduino ให้ = 12v
กระแสจึงต้องเปิดรีเลย์ = 12/400 แอมป์ = 30 mA
หากรีเลย์ทั้งสองมีพลังงานกระแส = 30 * 2 = 60 mA
** Vin pin ของ Arduino สามารถจ่ายกระแสสูงสุด = 200mA
ดังนั้นจึงไม่มีปัญหาในปัจจุบันใน Arduino
การทำงานของมอเตอร์สองทิศทางที่ควบคุมด้วย Arduino:
การทำงานของวงจรควบคุมมอเตอร์ 2 ทางนี้ทำได้ง่าย หมุดทั้งสอง (2, 3) ของ Arduino จะยังคงสูงอยู่เสมอ
เมื่อไม่มีการกดปุ่ม:
ในกรณีนี้ไม่มีกระแสไหลไปยังฐานของทรานซิสเตอร์ดังนั้นทรานซิสเตอร์จึงยังคงปิดอยู่ (ทำหน้าที่เหมือนสวิตช์เปิด) เนื่องจากไม่มีกระแสไหลไปยังขดลวดรีเลย์จากขา Vin ของ Arduino
เมื่อกดปุ่มเดียว:
ในกรณีนี้กระแสบางส่วนไหลไปที่ฐานของทรานซิสเตอร์ผ่านปุ่มกดที่กดซึ่งจะเปิดขึ้น ตอนนี้กระแสจะไหลไปยังขดลวดรีเลย์จากขา Vin ผ่านทรานซิสเตอร์นี้ได้อย่างง่ายดายซึ่งจะเปิดรีเลย์นี้ (RELAY A) และสวิตช์ของรีเลย์นี้จะถูกส่งไปที่ตำแหน่ง NO ในขณะที่รีเลย์อื่น (RELAY B) ยังอยู่ในตำแหน่ง NC ดังนั้นกระแสจึงไหลจากขั้วบวกของแบตเตอรี่ไปยังขั้วลบผ่านมอเตอร์นั่นคือกระแสไหลจากรีเลย์ A ไปยังรีเลย์ B ซึ่งทำให้เกิดการหมุนตามเข็มนาฬิกาของมอเตอร์
เมื่อกดปุ่มอื่น ๆ:
คราวนี้รีเลย์อีกตัวเปิด ตอนนี้กระแสไหลไปยังขดลวดรีเลย์จากพิน Vin ผ่านทรานซิสเตอร์ซึ่งเปิดรีเลย์นี้ (RELAY B) และสวิตช์ของรีเลย์นี้จะถูกส่งไปที่ตำแหน่ง NO ในขณะที่รีเลย์อื่น ๆ (RELAY A) ยังคงอยู่ในตำแหน่ง NC กระแสจึงไหลจากขั้วบวกของแบตเตอรี่ไปยังขั้วลบของแบตเตอรี่ผ่านมอเตอร์ แต่เวลานี้กระแสไหลจากรีเลย์ B ไปยังรีเลย์ A ทำให้มอเตอร์หมุนทวนเข็มนาฬิกา
เมื่อกดปุ่มทั้งสองปุ่ม:
ในกรณีนี้กระแสจะไหลไปที่ฐานของทรานซิสเตอร์ทั้งสองเนื่องจากทรานซิสเตอร์ทั้งสองเปิดอยู่ (ทำหน้าที่เหมือนสวิตช์ปิด) ดังนั้นรีเลย์ทั้งสองจึงอยู่ในตำแหน่ง NO ดังนั้นกระแสจึงไม่ไหลจากขั้วบวกของแบตเตอรี่ไปยังขั้วลบผ่านมอเตอร์จึงไม่หมุน
การควบคุมความเร็วของมอเตอร์กระแสตรง:
Gate of MOSFET เชื่อมต่อกับ PWM pin 6 ของ Arduino UNO Mosfet ถูกเปิดและปิดที่แรงดันไฟฟ้าความถี่ PWM สูงและเนื่องจากมอเตอร์เชื่อมต่อแบบอนุกรมกับท่อระบายน้ำของ mosfet ค่า PWM ของแรงดันจะกำหนดความเร็วของมอเตอร์ ตอนนี้แรงดันไฟฟ้าระหว่างขั้วปัดน้ำฝนของโพเทนชิออมิเตอร์และ Gnd กำหนดแรงดันไฟฟ้า PWM ที่ขาหมายเลข 6 และเมื่อขั้วปัดน้ำฝนหมุนแรงดันไฟฟ้าที่ขาอะนาล็อก A0 จะเปลี่ยนแปลงทำให้ความเร็วของมอเตอร์เปลี่ยนไป
การทำงานที่สมบูรณ์ของนี้Arduino จากสองทิศทางมอเตอร์ความเร็วและทิศทางการควบคุมจะแสดงในวิดีโอด้านล่างด้วยรหัส Arduino