หน้าแรก
วิธีการสั่งซื้อสินค้า
แจ้งชำระเงิน
บทความ
เว็บบอร์ด
เกี่ยวกับเรา
ติดต่อเรา
หน้าแรก
>
บทความ
>
มอเตอร์ สเต็ปมอเตอร์ เซอร์โว -…
ค้นหาบทความที่นี่
บทความทั้งหมด
มอเตอร์ สเต็ปมอเตอร์ เซอร์โว - ตอนที่ 4 : การขับมอเตอร์โหลดสูงด้วยทรานซิสเตอร์-มอสเฟต
5 ปีที่ผ่านมา
โดย
เจ้าของร้าน
Publish : 18 September 2020
หัวข้อในบทความนี้
- ทำไมต้องใช้
ทรานซิสเตอร์
หรือ
มอสเฟตมาขับมอเตอร์
-
สิ่งสำคัญในการเลือกทรานซิสเตอร์หรือมอสเฟตมาใช้งาน
- การออกแบบวงจร Transistor,MOSFET as Switch
- สำหรับ NPN Transistor หรือ N-Channel MOSFET
- สำหรับ PNP Transistor หรือ P-Channel MOSFET
- ตัวอย่างการออกแบบวงจรเพื่อใช้งาน
- Arduino ควบคุมมอเตอร์ 12V
- วงจรทรานซิสเตอร์,มอสเฟตกับการควบคุมแบบ PWM
- การสร้างวงจร H-Bridge ควบคุมมอเตอร์
ในตอนแรกสุดของบทความนี้ (หากยังจำกันได้) เรามีเนื้อหาแว๊บ ๆ ในเรื่องการใช้มอสเฟตเพื่อ(ช่วย)ขับมอเตอร์ ในตอนนี้เราจะมาลงรายละเอียดกันลึก ๆ ว่าเราจะใช้มอสเฟต(หรือทรานซิสเตอร์) ในแบบใด ทำไมเราต้องใช้ และใช้ทำอะไรได้บ้าง ไม่ต้องพูดมากไปลุยกันดีกว่าครับ
ทำไมต้องใช้
ทรานซิสเตอร์
หรือ
มอสเฟตมาขับมอเตอร์
จากที่เคยกล่าวไปในตอนแรกว่ามอเตอร์นั้นเป็นอุปกรณ์ที่กินกระแสไฟฟ้าค่อนข้างมาก ซึ่งอาจกล่าวได้ว่าลำพังกระแสไฟฟ้าจาก I/O ของ Arduino หรือ MCU ตัวใดก็ตาม ไม่เพียงพอสำหรับการขับมอเตอร์แน่นอน เราจึงต้องหาวิธีช่วยให้สัญญาณเล็ก ๆ ที่ออกมาจาก I/O นี้สามารถขับมอเตอร์ให้ทำงานได้ หนึ่งในวิธีนั้นคือการใช้อิเล็กทรอนิกส์พื้นฐานอย่างทรานซิสเตอร์ หรือมอสเฟต หรือเฟต (ใด ๆ ก็ตามแหละครับ แต่ในการเขียนบทความนี้จะอ้างอิงบนมอสเฟต จะขอเรียกมอสเฟตอย่างเดียวละกัน) ซึ่งถูกออกแบบมาเพื่อเป็น "อุปกรณ์ขยายสัญญาณทางไฟฟ้า" เราก็นำคุณสมบัติของมันนี้มาใช้ขยายสัญญาณเล็ก ๆ ของ I/O ให้มีขนาดใหญ่พอที่จะขับมอเตอร์ได้นั่นเอง
สิ่งสำคัญในการเลือกทรานซิสเตอร์หรือมอสเฟตมาใช้งาน
ก่อนที่จะเลือกมอสเฟตหรือทรานซิสเตอร์มาใช้งานนั้น เราต้องดูให้แน่ใจว่ามันสามารถใช้ได้ เพราะทรานซิสเตอร์ หรือมอสเฟต มีให้เราเลือกเป็นหมื่น ๆ เบอร์ การจะหยิบทรานซิสเตอร์หรือมอสเฟตมาใช้งานเราก็ต้องแน่ใจว่ามันมีสเปคเพียงพอที่จะใช้กับมอเตอร์เราได้นั่นเอง ซึ่งค่าที่จะพิจารณามีดังนี้
ชนิด (Type)
ทรานซิสเตอร์แบบ NPN หรือแบบ PNP มอสเฟต N-Channel หรือ P-Channel ถึงแม้จะใช้งานได้เหมือนกัน แต่การใช้งานวงจรจะมีความต่างกันเล็กน้อย จึงควรดูให้ดีก่อนนำมาใช้
ค่าอัตราขยาย (Beta : β)
หรือที่รู้จักอีกชื่อในนาม hFE ก็ตามชื่อครับคือกำลังขยาย ยิ่งค่ามากเท่าไรเราก็สามารถจ่ายสัญญาณเข้าไปเป็นกระแสเพียงนิดเดียวก็จะได้สัญญาณอออกมามาก
ค่ากระแสที่ขาคอลเลคเตอร์
(I
C
) - ในมอสเฟตจะเป็นกระแสที่ขาเดรน (I
D
) ขาคอลเลคเตอร์ในทรานซิสเตอร์หรือขาเดรนในมอสเฟตนี้ จะเป็นขาที่เราต่อกับอุปกรณ์เพื่อใช้งาน ในที่นี้กระแสตรงนี้ก็คือค่ากระแสไฟฟ้าที่มอเตอร์ของเราต้องการนั่นเอง
ค่ากระแสที่ขาเบส
(I
B
) - ในมอสเฟตจะเป็นกระแสที่ขาเกท (I
G
) ขานี้คือขาที่เราจะต่อสัญญาณน้อย ๆ ของเรา (ในที่นี้ก็คือสัญญาณจาก Arduino) ตัวนี้เราจะสามารถคำนวณได้จาก β และ I
C
ซึ่งจะได้เป็นค่ากระแสต่ำสุดที่จะทำให้ทรานซิสเตอร์ทำงาน หากค่านี้มีค่ามากกว่าที่ I/O ของเราจะจ่ายได้วงจรก็จะไม่ทำงาน(เนื่องจากมีกระแสมากระตุ้นไม่พอนั่นเอง) แต่หากค่านี้มีค่าน้อยมาก ๆ วงจรก็จะไม่ทำงานเช่นกันเนื่องจากทรานซิสเตอร์หรือมอสเฟตจะมี Cut-Off Current ทั้งฝั่ง I
B
และ I
C
หากกระแสข้างใดน้อยกว่าค่านี้จะทำให้เข้าสู่สถานะ Cut-Off คือไม่ทำงานนั่นเอง โดยสมการคำนวณสำหรับสามตัวนี้ คือ
I
C
=
β
I
B
ค่าความต่างศักย์ระหว่างขาต่าง ๆ
หากเราใช้มอเตอร์ที่มีความต่างศักย์ไฟฟ้า(โวลต์)สูง นี่เป็นข้อหนึ่งที่ควรระวัง เนื่องจากทรานซิสเตอร์หรือมอสเฟตจะมีข้อจำกัดความต่างศักย์ระหว่างขาต่าง ๆ ทั้ง V
CE
, V
BE
และ V
BC
ซึ่งค่าทั้งหมดที่กล่าวมานี้สามารถหาได้จาก Datasheet ของทรานซิสเตอร์หรือมอสเฟตแต่ละเบอร์ ที่จะบอกค่าต่าง ๆ เหล่านี้ไว้แล้ว หากใครต้องการแบบแม่นยำมาก ๆ ก็สามารถใช้มัลติมิเตอร์วัดค่า hFE แบบเป๊ะ ๆ ได้เช่นกัน
การออกแบบวงจร Transistor,MOSFET as Switch
ในการใช้งานกับมอเตอร์นี้เราจะให้ทรานซิสเตอร์หรือมอสเฟตทำหน้าที่เป็นสวิตช์ตัวหนึ่ง เมื่อจ่ายสัญญาณเล็ก ๆ จาก Arduino เข้าที่ขา Base จะเป็นตัวกำหนดว่าทรานซิสเตอร์หรือมอสเฟตจะเข้าสู่สถานะทำงาน หรือสถานะ Cut-Off นั่นเอง ซึ่งการออกแบบอย่างละเอียดนั้นก็จะต้องเปิด Datasheet เพื่อดูกราฟและคุณสมบัติอื่น ๆ ประกอบ ซึ่งอาจจะยาวมากเกินไป บทนี้จึงรวบรัดตัดตอนมา โดยวงจรก็จะแยกออกเป็นตามชนิดของทรานซิสเตอร์หรือมอสเฟต ดังนี้
สำหรับ NPN Transistor หรือ N-Channel MOSFET
สำหรับ NPN Transistor หรือ N-Channel MOSFET เมื่อสัญญาณที่ Base/Gate เป็น Low ทำให้
V
BE
< 0.7V สำหรับทรานซิสเตอร์ หรือ
V
GS
<
V
Threshold
สำหรับมอสเฟต ทำให้ทรานซิสเตอร์/มอสเฟตเข้าสู่สถานะ Cut-Off ไม่มีกระแสไหลผ่าน Collector/Drain จึงเป็นการเปิดวงจร ทำให้มอเตอร์ของเรา(ที่จริงคือโหลดอะไรก็ได้ แผงฟงแผงไฟห็ได้) ไม่ทำงาน
เมื่อ Base/Gate ได้รับสัญญาณเป็น Logic High ส่งผลให้ Base/Gate มีแรงดันไฟฟ้าเท่ากับแรงดันของสัญญาณ ทำให้
V
BE
> 0.7V สำหรับทรานซิสเตอร์ และสำหรับมอสเฟต
V
GS >
V
Threshold
กระตุ้นให้สารกึ่งตัวนำเกิดการนำไฟฟ้า จึงมีกระแสไฟฟ้าไหลผ่าน
Collector/Drain
เป็นการปิดวงจร โหลดจึงได้รับกระแสไฟฟ้าและทำงานนั่นเอง
สำหรับ PNP Transistor หรือ P-Channel MOSFET
สำหรับ PNP Transistor หรือ P-Channel MOSFET จะเห็นได้ว่ามีการต่อวงจรคล้ายกัน แต่การทำงานของวงจรจะต่างกันเล็กน้อย เราจะต่อโหลดกับ Ground โดยตรง เมื่อ Base/Gate ได้รับ Signal Low วงจรจะปิด (ตรงนี้ก็ตรงข้ามกับ NPN แล้ว) กระแสไฟฟ้าจะไหลผ่านไปยังโหลด วงจรจะทำตัวเป็น
Sourcing Current จ่ายกระแสไฟให้กับโหลด และเมื่อจ่าย High วงจรเปิด ไม่มีกระแสไหลผ่าน แต่โหลดยังถูกต่อเข้ากับ Ground วงจรจึงทำงานเป็น Sinking Current คอยรับกระแสไฟจากโหลดเพื่อเข้ามาลงกราวด์นั่นเอง
สำหรับโมดูล
IRF520 Driver
ที่เรามีจำหน่าย จริง ๆ แล้วมันก็เป็นวงจร N-Channel MOSFET ธรรมดานี่เอง ที่จะเห็นแตกต่างตรง RLoad ก็คือเราจะใช้ความต้านทานของมอเตอร์หรือโหลดใด ๆ ที่นำมาต่อใช้งานเป็น RLoad แทน มี R1 เพื่อทำการ Pull-Down ช่วยให้กระแสจากขาสัญญาณไหลเข้ามายัง Gate ของมอสเฟต และเพิ่ม R2 จำกัดกระแสของ LED1 เพื่อไว้แสดงสถานะของสัญญาณเป็น High หรือ Low นั่นเอง
ตัวอย่างการออกแบบวงจรเพื่อใช้งาน
Arduino ควบคุมมอเตอร์ 12V
ในตัวอย่างนี้เราจะมาสร้างวงจร NPN Transistor โดยจะแสดงวิธีการคำนวณอุปกรณ์ต่าง ๆ เพื่อให้ต่อวงจรแบบง่าย ๆ ได้ หากใครต้องการความรวดเร็ว ไม่อยากต่อวงจรก็ใช้
IRF520 MOSFET Driver
ได้เลยครับ
ในการทดลองนี้ จะใช้โหลดเป็นมอเตอร์ 775 ซึ่งผู้เขียนไปค้นเจอจากกองซากของที่รื้อ ๆ ออกมา ตามสเปคแล้วหากใช้ 12V จะกินไฟอยู่ที่ 0.14A แต่เราต้องเผื่อไว้ตอนมอเตอร์สตาร์ทซึ่งข้อมูลที่สืบค้นได้คืออาจกินไฟสูงถึง 10A(เพียงระยะเวลาสั้น ๆ เท่านั้น) เรามาดูวงจรของเรากันก่อนเลยครับ โดยวงจรเราจะมีซีก Low-Side ด้านไฟแรงต่ำ ก็คือด้านสัญญาณบอร์ด Arduino ของเรา และด้าน High-Side ด้านไฟแรงสูงก็คือด้านที่ต่อกับ 12V
เมื่อได้วงจรมาแล้วก็มาคิดเลขให้สมองทำงานกันหน่อย สิ่งแรกคือ มอสเฟต(หรือทรานซิสเตอร์)ที่เลือกใช้ พอดีผู้เขียนมีทรานซิสเตอร์เบอร์ TIP3055 อยู่ในกล่องเครื่องมือ ขอหยิบมาใช้เลยนะครับ สำหรับใครที่ใช้มอสเฟตก็มีขั้นตอนเหมือนกัน ไม่ยาก ๆ ก่อนอื่นไปเปิด Datasheet ก่อนเลยครับ (ใครที่ยังไม่รู้จัก Datasheet
แนะนำให้อ่านที่นี่
) ได้ความดังนี้
หน้าแรกเพียงหน้าเดียวก็รู้เรื่องหมดแล้วครับ ได้มาครบเลย ทีนี้เราก็มาดูสูตรที่เราจะใช้คำนวณกันก่อน จะได้รู้ว่าเราจำเป็นต้องคำนวณอะไรกันบ้าง
ก่อนคำนวณเรารู้อะไรบ้าง เรารู้หมดแล้วครับ I
C
เรารู้ว่ามอเตอร์ต้องการ 0.14A และ β จาก Datasheet 20-70 ตรงนี้เลื่อน Datasheet มาดูกราฟ DC Current Grain นิด จะเห็นว่า ที่ เป็น 0.15 มีค่า β เป็นประมาณ 100 เราก็คำนวณหา I
B
ได้แล้วครับ
วงจรต้องการ I
B
แค่ 1.5mA I/O ของ Arduino เราจ่ายได้ไม่ต้องเป็นห่วง ต่อไปก็หาค่า R เราก็รู้หมดแล้วว่า V
in
คือ 5V แรงดัน Logic ของ Arduino เรานั่นเอง สำหรับทรานซิสเตอร์คือ 0.7V และ ก็เพิ่งจะคำนวณมาได้ ก็จัดการซะให้เรียบร้อย
ได้ค่า ประมาณ 2.9k เลือกใช้ค่าตัวต้านทานที่มีขาย ใกล้เคียงก็คือ 2.7k ก็ต่อวงจรได้แล้วครับทีนี้
สังเกตได้ว่าในวงจรนั้นมีการเติมไดโอดลงไปตัวนึง ตรงนี้เราจะใช้ได้โอดอะไรก็ได้ครับ ผู้เขียนก็ใช้ 1N4001 ธรรมดา จุดประสงค์ที่ใส่ลงไปคือ ตามที่กล่าวแล้วว่ามอเตอร์เมื่อเราตัดไฟฟ้าแล้วใช้มือหมุนมันก็จะเปลี่ยนพลังงานกลเป็นพลังงานไฟฟ้า คือเปลี่ยนตัวเองเป็นไดนาโมนั่นแหละครับง่าย ๆ เช่นเดียวกันเมื่อเราหยุดจ่ายกระแสไฟฟ้าเข้าไป แต่มอเตอร์ยังมีแรงเฉื่อยหมุนต่อไปอยู่ระยะหนึ่ง มันก็จะผลิตกระแสไฟฟ้าย้อนกลับเข้าสู่วงจรของเรา ไดโอดตัวนี้จะช่วยบล็อกกระแสป้องกันไม่ให้วงจรได้รับความเสียหายนั่นเอง
เห็นจากรูปและโค้ดก็คงรู้กันแล้วนะครับ ใช่แล้ว ตัวอย่างแบบมักง่าย เปิดและปิดสลับกัน ดูกันง่าย ๆ เลยครับ เราแค่ลอง Drive มันเฉย ๆ เอง
วงจรทรานซิสเตอร์,มอสเฟตกับการควบคุมแบบ PWM
แน่นอนครับตามที่ได้อธิบายไปว่าไฟที่เราจะใช้ควบคุมโหลด มันจะขึ้นอยู่กับไฟของสัญญาณที่ทริกเข้ามาในขา Base จาก
I
C
=
β
I
B
เพราะอะไร? ทุกคนคงรู้จากสมการแล้วแหละมั๊งครับ ค่า
β
ก็เป็นทรานซิสเตอร์ตัวเดิม
ฉะนั้นค่าไม่เปลี่ยนแน่นอน
I
B
มากมาคูณตามสูตร
I
C
ก็จะมากตาม ในทางกลับกันหาก
I
B
น้อยมาคูณค่าเท่าเดิม
I
C
ก็จะน้อยไปแน่นอนครับ ทดลองได้โดยการนำโค้ด PWM ธรรมดา(ย้ายขาสัญญาณไปที่ขา PWM ด้วยนะ อย่าลืม)ไปขับวงจรใดก็ได้ตามที่ผ่านมา PWM เปิดมาน้อย
I
B
น้อย มอเตอร์จะหมุนช้า พอ PWM เยอะ I
B
เยอะมากขึ้น มอเตอร์ก็จะหมุนกันหนักหน่วงทีเดียว
การสร้างวงจร H-Bridge ควบคุมมอเตอร์
วงจร H-Bridge ก็คือวงจรที่ทำให้เราสามารถควบคุมมอเตอร์ให้หมุนกลับไปกลับมาได้โดยที่เราไม่ต้องสลับขั้วสายไฟ ซึ่งหากดูวงจรอาจดูซับซ้อน และการต่อวงจรบน Protoboard ก็อาจจะดูงง ๆ นิดหน่อย แต่ลองค่อย ๆ ไล่วงจรทีละจุดก็ต่อได้ไม่ยากครับ (อย่าทำตามในรูปนะครับ ในรูปคือใช้ 2N3904 และ 2N3906 เป็นตัวอย่างเฉย ๆ เวลาแต่ละคนต่อวงจรให้ดูว่าใช้เบอร์อะไร ขาไหนมีหน้าที่อะไร ต่อกันให้ถูกขา เดี๋ยวจะหาว่าไม่เตือน)
ส่วนหากถามว่าเราจะต่อวงจร H-Bridge ไปทำไม ในเมื่อไอซี H-Bridge สำเร็จก็มีขาย ใช่ครับ แต่สมมติมอเตอร์เราใช้ 10A เราจะต่อบอร์ดไปเข้า H-Bridge IC แล้วนำ Output ไปต่อกับ MOSFET เพื่อขยายสัญญาณอีกรอบ คือเปลืองครับ เราก็เอามอสเฟตมาสร้างวงจร H-Bridge ซะทีเดียวเลยดีกว่า ง่าย ๆ ใช่มั๊ย
สำหรับเรื่องของ PWM และ H-Bridge ตอนท้ายนี้ก็ได้กล่าวไว้เมื่อตอนเเรกไปหมดแล้ว คงไม่ต้องอธิบายซ้ำนะครับ แค่นี้บทความวันนี้ก็ยาวมาก ๆ แล้ว ยาวกว่าที่เราเขียนปกติสองเท่าแน่ะ ใครยังไม่ได้อ่าน หรือจำไม่ได้ก็ไปย้อนอ่านกันได้นะครับ (
คลิกกลับไปอ่านที่นี่ได้เลย
) ใครเจอจุดผิดตกแก้ไขก็ช่วยกันบอก แก้ไขเป็นความรู้ที่ถูกต้องต่อไปครับ วันนี้บทความยาวมาก ๆ แล้ว เดี๋ยวจะเบื่อกันไปก่อน พบกันใหม่ตอนหน้า สวัสดีครับ
<< มอเตอร์ สเต็ปมอเตอร์ เซอร์โว - ตอนที่ 3 : เซอร์โว
มอเตอร์ สเต็ปมอเตอร์ เซอร์โว - ตอนที่ 5 : การใช้งานสเต็ปมอเตอร์ 28BYJ-48 >>
tutorial
,
motor
,
electronics
,
Basic
,
มอเตอร์
,
มอเตอร์ไฟฟ้า
,
มอเตอร์กระแสตรง
,
h-bridge
,
hbridge
,
transistor
,
mosfet
,
มอสเฟต
,
ทรานซิสเตอร์
Share
Share :
COPY
Privacy Policy
|
Cookie Policy
|
Copyright © 2025
fitrox.lnwshop.com
All rights reserved.
ตะกร้า
(
0
)
▲
▼
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก
ยังไม่มีบัญชีเทพ
สร้างบัญชีใหม่
ไม่มีค่าใช้จ่าย
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
Fitrox Electronics
ไฟทร็อก อิเล็กทรอนิกส์ จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ บอร์ดไมโครคอนโทรลเลอร์ และอุปกรณ์สำหรับโปรเจคต่างๆ อ.เมือง จ.เชียงใหม่ (หลัง มช.)
เบอร์โทร :
0897245633
อีเมล :
fitrox.electronics@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
ค้นหาสินค้าในร้านนี้
ค้นหา
หรือค้นหาอย่างละเอียด
ค้นหาสินค้า
สินค้าที่ดูล่าสุด
{{pdata.name}}
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join เป็นสมาชิกร้าน
แชร์หน้านี้
แชร์หน้านี้
↑
TOP
เลื่อนขึ้นบนสุด
คุณมีสินค้า
0
ชิ้นในตะกร้า
สั่งซื้อทันที
สินค้าในตะกร้า ({{total_num}} รายการ)
ขออภัย ขณะนี้ยังไม่มีสินค้าในตะกร้า
ราคาสินค้าทั้งหมด
฿ {{price_format(total_price)}}
- ฿ {{price_format(discount.price)}}
ราคาสินค้าทั้งหมด
{{total_quantity}} ชิ้น
฿ {{price_format(after_product_price)}}
ราคาไม่รวมค่าจัดส่ง
ดูสินค้าในตะกร้า
เริ่มการสั่งซื้อ
➜
เลือกซื้อสินค้าเพิ่ม
พูดคุย-สอบถาม
อีเมล fitrox.electronics@gmail.com
โทร 0897245633
channel/UCnHfpCdqN1RkzAfEH_lRLvw?
1924052434588436
Add @zpq2828r