สิงหาคม 20, 2019, 06:48:35 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: 6-Digit Seven-Segment Display Circuit  (อ่าน 10487 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« เมื่อ: มีนาคม 03, 2011, 10:43:06 am »

6-Digit Seven-Segment Display Circuit
ตอนนี้มีแผนจะสร้างบอร์ดทดลอง เรียนรู้ และพัฒนา รูปแบบต่างๆ ไว้จำหน่าย และแจกฟรี
มีเวลาว่างวันละนิดๆ หน่อยๆ ก็ทำมันไปวันละ หน่อยๆ นิดๆ เริ่มกันที่ส่วนแสดงผลแบบ 7-Segment ก่อน
ออกแบบ และเขียนวงจรเสร็จ ก็เอามาปล่อยเลย เผื่อจะเป็นประโยชน์




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

ตอนนี้มาว่ากันว่าทำไม ต้องเลือกใช้ R ที่ต่ออยู่กับ 7-Segment ค่า 220 โอห์ม
ค่า 220 มาจากไหน? เริ่มจากแบบนี้ครับ
จากที่ทราบและทดลองมา (ไม่ขออ้างอิงถึงทฤษฤี) กระแสประมาน 10mA-15mA จะทำให้ความสว่างของแต่ละ Segment กำลังดี และไม่เป็นอันตรายต่อ 74540
และแรงดันตกคร่อมแต่ละ Segment แต่ละตัว (ตอนติด) จะมีค่าประมาณ 2V รู้ต่ออีกว่าแรงดันที่ออกจาก 74540 มีค่า 5V ตอนเป็นลอจิก '1' และ 0V ตอนเป็นลอจิก '0'
เข้าทางเลย รู้ V และ I หา R ได้สบายๆ ตามความสัมพันธ์ที่ว่า R=V/I
จะได้ R = (5V-2V)/15mA = 200 โอมห์ (อย่างง!! ตอนนี้กหนดกระแสเท่ากับ 15mA แรงดัน VCE ให้เป็น 0V แรงดันตกคร่อม 7-Segment ไปแล้ว 2V เหลืออีก 5V-2V เป็นของ R นั่นคือแรงดันตกคร่อม R = 5V-2V ตามสมการ)
ค่า 200 โอห์มนี้หายาก หรือต้องไปซื้อชนิด 5 แถบสี แพงโดยไม่มีเหตผล ดังนั้นเลือกใช้ 220 โอมห์ ละกัน ตัวละ 25 ถึง 50 สตังค์


ผ่านไปหนึ่ง ต่อไป มาดูกันว่าทำไม R ที่ต่ออยู่ที่ขา B ของ TR มีค่า 3.9 กิโลโอห์ม (3,900 โอห์ม)
ก่อนหน้านี้กำหนด ให้กระแสไหลผ่านแต่ละ Segment มีค่าเท่ากับ 15mA แต่เลือก R เท่ากับ 220 โอห์ม ดังนั้นตอนนี้กระแสที่ไหลผ่าน แต่ละ Segment จะเป็น
I = V/R จะได้ I = 3V/220 = 13.64mA
มองที่เมื่อ 7-Segment กำลังแสดงเลข 8 และมีจุดอยู่ด้วย แสดงว่ากระแสที่ไหลผ่าน TR จะมีค่าเท่ากับ 13.64mA*8 = 109.12mA กระแสตัวนี้คือกระแสสูงสุดที่ไหลผ่าน TR นั่นเอง
จากการทำงานของ TR บอกไว้ว่า IC = IB*Beta นั่นคือ IB = IC/Beta เมื่อ Beta มีค่าประมาณ 150 (ค่ากลางๆ จาก datasheet) ดังนั้นจะได้
IB = 109.12mA/150 = 0.727mA
ด้วยคุณสมบัติของ TR เมื่อ TR นำกระแสจะมีแรงดันตกคร่อม VBE ประมาณ 0.7V และยังรู้อีกว่า เมื่อ 74138 เป็นลอจิก '0' จะมีแรงดันประมาณ 0V
ดังนั้น จะรู้กระแสที่ไหลผ่าน R หรือ IB ได้จากความสัมพันธ์ IB = (VCC-VBE)/RB  จัดสมการใหม่เพื่อหาค่า RB จะได้
RB = (VCC-VBE)/IB = (5V-0.7V)/0.727mA = 5.9  กิโลโอห์ม


อ้าว!! แล้วทำไมเลือก 4.7 กิโลโอห์มล่ะ? ในเมื่อคำนวณได้  5.9  กิโลโอห์ม ??
ที่เลือกไปแบบนั้น เป็นการปรับค่าให้ออกมาสู่โลกของภาคปฎิบัติ ด้วยหลายเหตผล เช่น
อัตราการขยายของ TR ไม่ได้แน่นอนตามที่ระบุ อาจมีค่าต่ำลงถึง 60 หรือ สูงไปจนถึง 250
ค่า R ก็มีความผิดพลาด นอกจากนี้ แรงดันตกคร่อมส่วนต่างๆ ก็มาจากการประมาณ รวมไปถึง
แรงดันที่จ่ายออกจากอุปกรณ์ ก็ไม่ได้เป็น 5V พอดิบพอดี ลอจิก '1' อาจจะไม่ใช่ 5V ลอจิก '0' ก็อาจจะไม่ใช่ 0V
เห็นมั้ยครับต้นเหตุของความคลาดเคลื่อนบานเบอะ!!

แล้วจะทำยังไงดีล่ะ??
อืม... น่าคิด
กลับมาที่จุดประสงค์ของเราก่อนครับ จุดประสงค์คือ TR จะต้องจ่ายกระแสได้อย่างน้อยที่สุด 109.12mA ไม่เช่นนั้น เลขบางตัวจะสว่างน้อยลง
น้อยลงจนมองเห็นหรือไม่ ขึ้นกับว่ากระแสน้อยลงแค่ไหน เพราะเกิดการแบ่งกระแสเกิขึ้นลองคิดนึกภาพดูครับ
การแสดงผลเลข 1 ติดแค่สอง segments ก็ไม่น่าจะมีปัญหา แต่ถ้าเป็นเลข 0 เลย 8 มันต้องใช้หลาย segments (กี่ segment นับเอาเอง)

ความจริงข้อนึงชัดเจน คือ...เราไม่ทีทางรู้ได้เลยว่าค่าที่คำนวณออกมานั้นจะจะทำให้วงจรทำงานตามนั้นจริง (ถ้าไม่มีประสบการณ์) แต่มากกว่า 90% มันไม่เป็นไปตามที่คำนวณครับ
ถ้าผลของวงจรจริงความคลาดเคลื่นไปในทางบวก (TR จ่ายกระแสได้มากกว่า 109.12mA) ก็โชคดีไป แต่ความโชคดีมีน้อยมาก เพราะมี TR ตั้ง 6 ตัว แถม R และอื่นๆ อีก

แล้วจะทำยังไงล่ะ ถึงจะมั่นใจว่าจ่ายกระแสได้มากพอจริง?
ตรงไปตรงมาครับ อยากให้กระแสเพิ่ม ก็ลด R ลงมา จากที่คำนวณได้ RB = 5.9  กิโลโอห์ม ก็ลดมันลงลงมาอีกหน่อย ผู้เชี่ยวชาญหลายๆ ตำราหลายๆเล่ม ที่ว่าด้วย
Circuit Design For The Real World Applications แนะนำว่า ค่าคลาดเคลื่อนรวมของวงจรทำนองนี้ จะมีค่าเลวร้ายที่สุดไม่เกิน +/-30% เพราะฉนั้นเราก็ลด R ลงมาสัก 30% แล้วกัน
จะได้ RB' = 5.9K-(5.9K*0.3) = 4.13K ตอนนี้ค่า RB ใหม่ที่มั่นใจว่าวงจรทำงานได้แน่คือ 4.13K

แต่ผมไม่เลือก 4.13K เพราะร้านขายอุแกรณ์ไม่มี 4.13K หรือแม้กระทั่ง 4.10K ชนิด 4 แถบสีขาย นอกจากนี้ 7-Segment บางรุ่นแรงดันตกคร่อวิ่งไปถึง 2.8V ส่งผลให้กระแสไหลผ่านแต่ละ Segment ลดต่ำลงอีก
งั้นเอาแบบนี้แล้วกัน ใช้ 3.9K มีขายแน่ (ส้ม ขาว แดง) หรือใครจะใช้ 4.0K ก็ไม่ว่ากัน และเพื่อเพิ่มความแน่นอนและมั่นใจยิ่งขึ้น ลองมาคำนวณกลับดูสิ

IB = (5V-0.7V)/3.9K = 1.1mA
IC = IB*Beta = 1.1mA*150 = 165mA
ใช้ได้ๆ เพราะ TR ตัวนี้รับกระแส IC ต่อเนื่องได้ถึง 200mA
บางคนอาจจะคิดสงสาร TR ว่าต้องรับกระแสที่ไหลผ่านตั้งมากมาย มันจะร้อนสะสม แล้วจะพังมั้ยน้า?
ถ้ายังคิดแบบนี้อยู่... ก็ไม่ว่ากัน แต่มาทำความเข้าใจกันใหม่ กระแสที่ 165mA คือกระแสตอนแสดงเลข 8 และมีจุดด้วยนะ
ในการใช้งานจริงๆ มันจะมีโอกาศสักกี่ครั้งเชียว จริงมั้ย? นอกจากนี้ วงจรนี้ทำงานแบบ Multiplex กระแสไม่ได้ไหลต่อเนื่องสักหน่อย
คิดแบบตรงไปตรงมา มันจะทำกระแสนานแค่ T/6 วินาทีเท่านั้นเอง เมื่อ T คือเวลาในการ Scan แต่ละรอบ ที่สำคัญอุปกรณ์อิเล็กทรอนิกส์
มีค่าตัวนึงที่เรียกว่า Maximum Peak คือกระแสสูงสุดชั่วขนะ ซึ่งมีค่าสูงกว่ากระแสต่อเนื่องหลายเท่าแน่นอน เพราะฉนั้นงานนี้ หมูๆ


พอหอมปากหอมคอเท่านี้แหละครับ สุดท้ายก็ไปลอกวงจรเขามาใช้อยู่ดี จริงมะ?  ;D ;D
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
PICPlayer
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 15



| |
« ตอบ #1 เมื่อ: มีนาคม 03, 2011, 12:11:30 pm »

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

กระทู้: 6


| |
« ตอบ #2 เมื่อ: มีนาคม 03, 2011, 01:49:17 pm »

ขอบคุณมากๆ เลยครับ กำลังจะทำวงจรทำนองนี้อยู่พอดี
แต่ของผมต้องการแค่ตัวเลข 4 ตัว ผมสามารถตัด IC ทั้งสองตัวนั้นออกไปได้หรือเปล่าครับ?
ผมใช้ PIC16F887 ครับ
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #3 เมื่อ: มีนาคม 03, 2011, 03:27:03 pm »

@PICPlayer,
ทั้งหมดมันเป็นแค่แนวทางและหลักการคิดเชิงวิเคราะห์สำหรับงานจริงครับ ไม่สามารถนำไปใช้กับโลกทฤษฎีได้ทั้งหมด
เพราะฉนั้นอย่าปักใจเชื่อ ไม่ว่าจะเป็นสิ่งที่ผมเขียน หรือข้อมูลจากแหล่งต่างๆ ที่ได้อ่าน
โดยเฉพาะบทความเชิงความคิดเห็นส่วนตัว แบบที่ผมได้เขียนไว้ ของแบบนี้มันต้องลองให้เห็นเอง แล้วค่อยเชื่อ




@chaison,
ตัดไอซีทั้งสองตัวออกไปได้เลยครับ ไม่มีความจำเป็นอะไรมากนัก
อย่างที่บอกไปว่าผมใส่ไว้ในเชิงความยืดหยุ่น และความปลอดภัยของตัว MCU

บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: