KNOWLEDGEELECTRONICS

Solid-State Switching ตอนที่ 3 : ULN2803A ย่อโลกสวิตช์กำลัง 8 ช่องไว้ในชิปเดียว

This entry is part 1 of 3 in the series Solid-State Switching

Solid-State Switching

ULN2803A ย่อโลกสวิตช์กำลัง 8 ช่องไว้ในชิปเดียว

Solid-State Switching ตอนที่ 3 : ULN2803A ย่อโลกสวิตช์กำลัง 8 ช่องไว้ในชิปเดียว

Solid-State Switch EP02: Mosfet

Solid-State Switching ตอนที่ 2 : MOSFET ปลดล็อกสวิตช์ความเร็วสูง สั่งงานกระแสไฟมหาศาลด้วยไฟเพียงสะกิด

Solid-State Switching EP.01 - BJT Transistor เป็นสวิตช์อิเล็กทรอนิกส์ไร้เสียง

Solid-State Switching ตอนที่ 1 : BJT Transistor เปลี่ยน “นักขยายเสียง” ให้กลายเป็น สวิตช์ไร้เสียง

Highlight

บทความนี้เป็น ตอนที่ 3 ในซีรีส์ Solid-state switching ต่อจากเรื่อง BJT และ MOSFET ในสองตอนแรก สำหรับตอนนี้นำเสนอไอซีไดรเวอร์ยอดนิยม ULN2803A (Darlington Transistor Array) ทางออกของการควบคุมโหลดกระแสสูงในวงจรดิจิทัล ที่รวมวงจรสวิตช์และไดโอดป้องกัน (Free-Wheeling Diode) ไว้ถึง 8 ช่องในชิปตัวเดียว ช่วยลดพื้นที่บนบอร์ด PCB จากเดิมที่ต้องใช้ทรานซิสเตอร์และไดโอดแยกชิ้น รองรับแรงดันได้สูงสุด 50V และกระแสสูงสุด 500mA ต่อช่อง ตอบโจทย์ทั้งงานขับ LED, เรเลย์ ไปจนถึงสเต็ปเปอร์มอเตอร์ได้อย่างง่ายดาย

In Detail

ต่อยอดจากบทความสองตอนแรกที่เราได้รู้จักกับ BJT (ตอนที่ 1) และ MOSFET (ตอนที่ 2) ในฐานะตัวสวิตช์อิเล็กทรอนิกส์ (Solid-state switching) สำหรับควบคุมการปิด-เปิดวงจรกันไปแล้ว แต่ในทางปฏิบัติ เมื่อเราต้องออกแบบวงจรที่ต้องสั่งงานอุปกรณ์ไฟฟ้ากระแสสูงหลายๆ ตัวพร้อมกัน เช่น ทำไฟวิ่ง 8 ช่อง หรือขับรีเลย์ (Relay) 8 ตัว ข้อจำกัดเดิมจะเริ่มโผล่มาทันที… เพราะหากเราใช้ BJT หรือ MOSFET แยกชิ้น 1 ช่อง ต่อ 1 ตัว สำหรับ 8 ช่อง เราจะต้องใช้ทรานซิสเตอร์ 8 ตัว, ตัวต้านทาน 8 ตัว, และหากขับโหลดเหนี่ยวนำอย่างรีเลย์ (Relay) ก็ต้องเพิ่มไดโอดป้องกันแรงดันย้อนกลับ (Free-Wheeling Diode) อีก 8 ตัว! ผลลัพธ์คือบอร์ด PCB ของเราจะเต็มไปด้วยชิ้นส่วนอิเล็กทรอนิกส์กระจัดกระจาย เสียทั้งพื้นที่และเวลาประกอบอย่างมาก

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

พูดง่าย ๆ คือ สิ่งที่เดิมเราต้องประกอบขึ้นมาเองทีละช่อง ถูกจัดการและรวมมาให้เรียบร้อยภายใน IC ตัวเดียว

มองเข้าไปข้างใน ULN2803A

แนวคิดของ ULN2803A จริง ๆ แล้วไม่ซับซ้อน หากเรามองมันเป็น Transistor Array หรือการนำวงจรทรานซิสเตอร์หลายชุดมารวมไว้ภายในแพ็กเกจ IC เดียว ตามรูปที่ 1

ULN2803_Transistor_Array_500px_cw
รูป 1 โครงสร้างภายในของ ULN2803 เป็น Transistor Array

และถ้าเราเจาะลึกลงไปอีกหนึ่งระดับ จะพบว่าแต่ละช่องของ ULN2803A ใช้ BJT ชนิด NPN จำนวน 2 ตัว ต่อร่วมกันในรูปแบบที่เรียกว่า Darlington Pair (วงจรดาร์ลิงตัน) โดยการต่อแบบ Darlington Pair ช่วยเพิ่ม อัตราขยายกระแส (Current Gain) ทำให้กระแสขนาดเล็กที่ป้อนเข้าทางอินพุต สามารถควบคุมกระแสที่ไหลผ่านโหลดได้มากขึ้น

จุดสำคัญอีกอย่างคือ ไมโครคอนโทรลเลอร์ไม่ได้เป็นผู้จ่ายกระแสให้กับโหลดโดยตรง แต่ทำหน้าที่ส่งสัญญาณควบคุมเข้ามาที่ ULN2803A จากนั้นวงจร Darlington ภายใน IC จะทำหน้าที่เป็นตัวขับกระแสให้กับโหลดอีกทอดหนึ่ง ดังนั้นไมโครคอนโทรลเลอร์อย่าง ESP32 หรือ Arduino จึงสามารถควบคุมโหลดหลายช่องพร้อมกันได้ โดยไม่ต้องให้ GPIO ของไมโครคอนโทรลเลอร์รับภาระกระแสของโหลดโดยตรง

darlington transistor
รูป 2 การต่อทรานซิสเตอร์แบบดาร์ลิงตัน

นำ ULN2803A ไปใช้งาน

ULN2803A มีรูปแบบวางตำแหน่งอินพุต (Pin 1-8) อยู่ตรงข้ามกับเอาต์พุต (Pin 11-18) ช่วยให้การลากเส้นวงจร (PCB Layout) เป็นไปได้อย่างมีระเบียบและง่ายดาย นอกจากนี้ ภายในตัวชิปยังมีขาร่วม COMMON (COM – Pin 10) ที่ต่อไดโอดป้องกันแรงดันย้อนกลับ (Free-Wheeling Diode) ครอบคลุมเอาต์พุตทั้ง 8 ช่องไว้ในตัว ไม่ต้องบัดกรีไดโอดภายนอกเพิ่มอีกต่อไป

IC ULN2803
รูป 3 ภาพผังการต่อขา Pin Assignment และวงจรภายในของ ULN2803A

ULN2803 module
รูป 4 บอร์ด ULN2803A ที่มีขายเป็นโมดูล

ตัวอย่างการเชื่อมต่อระหว่าง Arduino กับ ULN2803A

arduino control uln2803a
รูป 5 ตัวอย่างการใช้ Arduino กับ ULN2803

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

หลักการทำงานของวงจร Darlington Pair ภายใน ULN2803A

  1. เมื่อไม่มีสัญญาณ (Input = Low / 0V)
    ทรานซิสเตอร์ NPN ทั้งสองตัว (V1\large V_1 และ V2\large V_2) จะปิดการทำงานลงพร้อมกัน ทำให้ไม่มีกระแสไหลผ่านตัวไอซี แรงดันฝั่งเอาต์พุตจึงลอยสูงขึ้นเท่ากับแรงดันไฟเลี้ยง (+U\large +U) โหลดจึงยังไม่ทำงาน (ไฟดับ/รีเลย์ไม่ตัด)
  2. เมื่อมีสัญญาณป้อนเข้ามา (Input = High / 5V)
    สัญญาณไฟบวกจะวิ่งเข้าขา Base ของทรานซิสเตอร์ V1\large V_1 มีผลให้ทรานซิสเตอร์ V1 \large V_1 เริ่มนำกระแส ส่งผลให้แรงดันที่ขา Emitter ของทรานซิสเตอร์ V1\large V_1 สูงขึ้น (ประมาณ 0.6–0.7V) ซึ่งมากกว่าพอที่จะทำให้ทรานซิสเตอร์ V2\large V_2 นำกระแสได้
  3. เอาต์พุตสลับสถานะเพื่อทำงาน (Active Low / Inverted)
    เมื่อทรานซิสเตอร์ V2\large V_2 ทำงาน ก็เปรียบเสมือนการเปิดสวิตช์ ทำให้กระแสไฟฟ้าจากแหล่งจ่าย +U\large +U ไหลผ่านโหลด เช่น LED หรือรีเลย์ แล้วผ่านทรานซิสเตอร์กลับไปยังขั้วลบของแหล่งจ่ายได้ครบวงจร โหลดจึงเริ่มทำงาน เช่น LED สว่างขึ้น หรือรีเลย์ทำงาน

Note: น่ารู้เรื่อง Signal Inversion (การกลับสัญญาณ)

จุดที่น่าสังเกตคือ เมื่อเราส่งสัญญาณ High จาก GPIO ของไมโครคอนโทรลเลอร์เข้า ULN2803A ทรานซิสเตอร์ภายในจะเปิดทำงาน ทำให้เอาต์พุตถูกดึงลงสู่ Low (ใกล้ 0V)

พฤติกรรมนี้เรียกว่า Signal Inversion หรือการกลับสัญญาณ กล่าวคือ อินพุตเป็น High แต่เอาต์พุตเป็น Low

ดังนั้น เมื่อนำ ULN2803A ไปออกแบบวงจร ต้องคำนึงถึงลักษณะการทำงานนี้ด้วย เพราะการสั่ง GPIO เป็น High จะทำให้วงจรขับโหลดทำงาน ไม่ใช่การทำให้เอาต์พุตมีแรงดันเป็น High เหมือนสัญญาณอินพุต

Principle circuit diagram of a Darlington switching stage with schematic representations of the voltage curves at the moment of switching
รูป 6 การทำงานภายใน ULN2803

Bunpajarn Insight

ULN2803A จัดเป็นไอซีระดับคลาสสิก (Legacy Driver IC) ในกลุ่ม Solid-state switching ที่ยังคงเก๋าเกมและนิยมใช้เช่น การควบคุมรีเลย์ (Relay), (Solenoid Valve) หรือ มอเตอร์ DC เนื่องจากใช้งานง่ายและราคาประหยัด แต่ด้วยโครงสร้างที่ถูกออกแบบมาในยุคก่อน การนำมาประกอบร่างกับไมโครคอนโทรลเลอร์ยุคใหม่จึงมี “จุดสลบ” ทางไฟฟ้าที่วิศวกรต้องรู้ทันครับ

1. ต้องเผื่อแรงดันตกคร่อมทิ้งไว้เสมอ (VCE Drop)

เนื่องจากโครงสร้างภายในของ ULN2083 คือ BJT แบบดาร์ลิงตัน เวลางานดึงกระแสลงกราวด์ ตัวไอซีจะมีแรงดันตกคร่อมที่เอาท์พุตต่อช่องอยู่ประมาณ 1V ถึง 2V (ทางเทคนิคเรียกว่าค่า Saturation Voltage)

สมมติว่าต้องการขับรีเลย์ 5V แล้วจ่ายไฟเลี้ยงวงจรฝั่งโหลดที่ 5V เป๊ะๆ แรงดันที่ไปถึงตัวรีเลย์จริงๆ อาจจะเหลือแค่ 3V – 4V เท่านั้น ซึ่งอาจจะทำให้รีเลย์ทำงานไม่เสถียร หรือถึงขึ้นไม่ทำงานได้ ดังนั้นควรเผื่อแรงดันไฟเลี้ยงฝั่งโหลดบวกเพิ่มไปอีกประมาณ 1.5V – 2V เช่น ถ้าขับรีเลย์ 5V แนะนำให้จ่ายไฟเลี้ยงฝั่งโหลดสัก 7V เพื่อชดเชยแรงดันที่หายไปในตัวไอซีครับ

2. เมื่อนำ ULN2803A มาใช้กับไมโครคอนโทรลเลอร์ที่ใช้ GPIO 3.3V

อีกหนึ่งข้อควรพิจารณาคือการใช้ ULN2803A ร่วมกับไมโครคอนโทรลเลอร์ที่ใช้ Logic 3.3V เช่น ESP32 เนื่องจากวงจรภายใน ULN2803A ใช้ทรานซิสเตอร์แบบ Darlington จึงต้องใช้แรงดันอินพุตให้เพียงพอต่อการขับกระแสโหลดที่ต้องการ

จาก Datasheet จะเห็นว่า เมื่อกระแสโหลดสูงขึ้น แรงดันอินพุตที่ใช้ในการทดสอบก็สูงขึ้นตามไปด้วย ตัวอย่างเช่น ที่กระแส 300mA มีการระบุค่าแรงดันอินพุตไว้ที่ประมาณ 3.0V ภายใต้เงื่อนไขการทดสอบที่กำหนด

ดังนั้น หากใช้ GPIO 3.3V จาก ESP32 จะมีแรงดันสูงกว่าค่าดังกล่าวเพียงประมาณ 0.3V เท่านั้น แม้จะไม่ได้หมายความว่า ESP32 จะขับโหลด 300mA ไม่ได้ แต่ก็มีแรงดันเผื่อค่อนข้างน้อย และควรตรวจสอบเงื่อนไขการทำงานจริงก่อนนำไปใช้กับโหลดที่กินกระแสสูง

แนวทางเลือกใช้งาน: หากต้องการขับโหลดกระแสสูงด้วย Logic 3.3V ควรพิจารณา IC ขับโหลดที่ใช้เอาต์พุตแบบ MOSFET เช่น TBD62083A ซึ่งออกแบบมาให้รับสัญญาณอินพุตแรงดันต่ำได้ โดยต้องตรวจสอบค่าแรงดันอินพุตและแรงดันตกคร่อมที่กระแสใช้งานจริงจาก Datasheet ของรุ่นนั้นด้วย

การเลือก IC ให้เหมาะกับแรงดัน GPIO และกระแสโหลด จะช่วยให้วงจรทำงานได้ตามต้องการ ลดการสูญเสียกำลัง และเพิ่มความมั่นใจในการออกแบบวงจร

ULN2803 Vi(on)

ภาคผนวก

ก. ตระกูล ULN2801 – ULN2805

ULN2803A ไม่ได้มีเพียงรุ่นเดียว แต่ยังมี IC รุ่นพี่รุ่นน้องในตระกูลเดียวกันให้เลือกใช้อีกด้วย โดยแต่ละรุ่นมีจำนวนช่องและคุณสมบัติที่แตกต่างกัน ดังตารางด้านล่างครับ

รุ่นไอซี (Model)ตัวต้านทานขา Input (RIN​)ระดับแรงดันลอจิกที่เหมาะสม (Compatible Logic Input)ตัวอย่างการนำไปใช้งานร่วมกับ
ULN2801Aไม่มี (General Purpose)ไม่กำหนดแรงดันตายตัว (ต้องต่อ R ภายนอกเอง)วงจร Custom ที่ต้องการกำหนดกระแส Base เอง
ULN2802A10.5 kΩ (พร้อม Zener 7V)14 V – 25 V (High Voltage CMOS)วงจรควบคุมอุตสาหกรรม หรือระบบไฟ 12V/24V
ULN2803A2.7 kΩ5 V (5V Standard TTL / CMOS)(ยอดนิยมที่สุด) Arduino, PIC, TTL Logic 5V
ULN2804A10.5 kΩ6 V – 15 V (CMOS / PMOS)ไอซีตระกูล CMOS 4000 series ที่ไฟ 9V–12V
ULN2805A1.05 kΩ5 V High-Output TTL / CMOSสัญญาณลอจิก 5V ที่ต้องการกระแสไดรฟ์อินพุตสูง

ข. รู้จักกับ TBD62083A

ในงานออกแบบวงจรอิเล็กทรอนิกส์ยุคปัจจุบัน หากต้องการควบคุมโหลดกระแสสูงด้วยไมโครคอนโทรลเลอร์แรงดันต่ำ (เช่น ESP32, STM32 หรือ Raspberry Pi ที่ใช้สัญญาณลอจิก 3.3V) TBD62083A คือไอซีดรายเวอร์ 8 ช่อง (DMOS Transistor Array) ที่ถูกสร้างขึ้นมาเพื่อแก้ข้อจำกัดเดิมๆ ของไอซีคลาสสิกอย่าง ULN2803A โดยเฉพาะ

ทำไม TBD62083A ถึงเป็นตัวเลือกที่เหนือกว่าสำหรับวงจรยุคใหม่?

  1. โครงสร้าง DMOS FET ที่ไม่มีแรงดันตกคร่อมสูง (VCE\large V_{CE}) ต่างจาก ULN2803A ที่ใช้ทรานซิสเตอร์ BJT Darlington ซึ่งมีแรงดันตกคร่อม VCE(sat)\large V_{CE(sat)} สูงถึง 1V – 2V ส่งผลให้เกิดความร้อนสะสมสูงและทำให้แรงดันไฟเลี้ยงฝั่งโหลดตก แต่ TBD62083A เปลี่ยนมาใช้โครงสร้าง DMOS FET (MOSFET) ซึ่งทำงานด้วยค่าความต้านทานขณะเปิด (RDS(ON)\large R_{DS(ON)}) ต่ำกว่า ทำให้โหลดได้รับแรงดันเต็มประสิทธิภาพมากกว่า
  2. แมตช์กับลอจิก 3.3V ได้อย่างสมบูรณ์ ULN2803A มีค่า VI(on)\large V_{I(on)} ที่ต้องการแรงดันอินพุตค่อนข้างสูง ทำให้เมื่อนำสัญญาณ 3.3V ไปป้อนเข้าตรงๆ มีความเสี่ยงที่ตัวไอซีอาจจะทำงานได้ไม่เต็มประสิทธิภาพ แต่ TBD62083A ถูกออกแบบวงจรอินพุตมาให้รองรับลอจิกแรงดันต่ำตั้งแต่ 2.5V ถึง 25V ได้โดยตรง จึงสามารถรองรับการขับกระแสเอาท์พุต 300mA – 500mA ได้อย่างเสถียรและโดยไม่ต้องต่อวงจรแปลงระดับแรงดัน (Level Shifter) เพิ่มเติม

Reference :

Conrad.com
Engineersgarage.com
ULN2803A (Rev. C) Datasheet
TBD62083A – TBD62084A Datasheet


Solid-State Switching

Solid-State Switching ตอนที่ 2 : MOSFET ปลดล็อกสวิตช์ความเร็วสูง สั่งงานกระแสไฟมหาศาลด้วยไฟเพียงสะกิด
my avatar

Pawinphat Charoenrat

Founder of Bunpajarn.com • Electronics & Embedded Systems

Leave a Reply

Your email address will not be published. Required fields are marked *