คำตอบสั้น ๆ
ในวงจรนี้ Vth (เกตไปยังแหล่งกำเนิดแรงดันไฟฟ้าที่ MOSFET เพิ่งเปิดใช้) มีความสำคัญ Vth ควรต่ำกว่า Vh-Vl = 5V - 3.3V = 1.7V อย่างมาก
BSS138 มี Vth 0.8 / 1.3 / 1.5 นาที / ทั่วไป / สูงสุด
ดังนั้นในขณะที่คิดว่ามันจะ "ดีพอ" ที่นี่ที่ 1.7> 1.5 ขอบนั้นมีขนาดเล็กอึดอัด
น่าเสียดายที่ตัวเลือกที่คุณเลือกนั้นแย่กว่า BSS138
FQN1N60C มี Vth of 2 / - / 4 V. เช่นที่ดีที่สุด Vth ของ 2V มันสูงกว่า 1.7V ที่ต้องการและมันสามารถมี Vth ได้มากถึง 4V ซึ่งมากกว่า 1.7V อย่างมากมาย .
ที่ยอมรับ (แค่) TO92 MOSFET ในสต็อกที่ Digikey เป็นZetex / ไดโอด Inc ZVNL110a
มี Vth 0.75 / - / 1.5 Volts นี่เป็นเรื่องเดียวกันกับ BSS138
อีกต่อไป:
BSS138 เป็นขยะที่ค่อนข้างใหญ่ มันมีสถานที่ แต่มันถูกขยายออกไปเกินขีดความสามารถด้านความปลอดภัยในวงจรนี้ น่าเสียดายที่ตัวเลือกที่คุณเลือกคือ FQN1N60C นั้นแย่ยิ่งกว่าเดิม
แรงดันไฟฟ้าที่เพิ่มขึ้นของคุณ LV เป็นแรงดันไฟฟ้าเทียบเท่ากับ HV จะเอาชนะค่า Vth สูงของ FQN1N60C
เหตุผลที่วงจรดั้งเดิมของคุณทำงานได้ไม่ดีเพราะ FQN1N60C เป็นตัวอย่างที่น่าเสียใจอย่างมากของงานศิลปะ MOSFET และสาเหตุที่วงจรแก้ไขของคุณทำงานได้ดีก็เป็นเพราะ FQN1N60C เป็นตัวอย่างงานศิลปะ MOSFET ที่น่าเสียใจมาก MOSFET Vth ที่ต่ำจะทำงานอย่างถูกต้องในวงจรดั้งเดิมและล้มเหลวในวงจรที่แก้ไข
นี่เป็นเพราะในวงจรดั้งเดิม FQN1N60C Vth นั้นสูงเกินไปสำหรับ Vth ที่มีอยู่และไม่เปิดอย่างถูกต้อง MOSFET ที่มี Vth ต่ำพอจะเปิดใช้งานอย่างถูกต้องกับแรงดันไฟฟ้าที่มี ในวงจรที่มีการแก้ไขคุณได้จัดเตรียม FQN1N60C ด้วยแรงดันเกตที่เพียงพอในสถานะที่ดำเนินการ แต่ไม่มากจนจะถูกใช้งานโดยไม่ได้ตั้งใจ หากคุณใช้มอสเฟต Vth ต่ำมันจะถูกเปิดโดยแรงดันไฟฟ้าชะตากรรมที่มีอยู่เมื่อมันตั้งใจที่จะปิดและวงจรจะล้มเหลว
วงจรเป็นวงจรที่ฉลาดมาก แต่ความฉลาดนั้นขึ้นอยู่กับมอสเฟตที่มีแรงดันเกตพอที่จะขับได้เมื่อ TX_LV ต่ำ แต่แรงดันไฟฟ้าไม่เพียงพอที่จะขับเมื่อ TC_LV สูง โดยปกติ LV = T_LV เมื่อ TX_LV สูงดังนั้น MOSFET จึงไม่เห็นแรงดันเกต ด้วยการเพิ่ม LV เป็น HV คุณจะได้แรงดันเกต (HV-LV) เมื่อ TX_LV สูง เนื่องจาก HV-LV = 5-3.3 = 1.7V FQN1N60C ไม่ได้เหนี่ยวไกที่ผิดเนื่องจาก VTH ที่ใช้งานจริง> 1.7V
ด้านล่างเป็นแผนภาพวงจรตัวเปลี่ยนระดับดั้งเดิม
BSS138 เป็น N Channel MOSFET - ดังนั้นจึงดำเนินการเมื่อเกตมีค่าเป็นบวกเมื่อเทียบกับแหล่งที่มามันเป็นเรื่องปกติที่ท่อระบายจะสูงกว่าแหล่งที่มาและบล็อกไดโอดภายในร่างกายเมื่อ Vds เป็น + และดำเนินการเมื่อ Vds เป็นค่าลบ .
การดำเนินการปกติ
ด้วย TXLV และ TXHV สูงเกตอยู่ที่ LV (เดิมคือ 3V3 แหล่งที่มาคือ TX_LV = 3.3 ดังนั้น Vgs = 0 ดังนั้น FET จึงปิด FET
แหล่งที่มาที่ TX_LV ดึงมาที่นั่นโดย R3
ส่งตรรกะ 0 จากซ้ายไปขวา
ดึง TX_LV ต่ำ แหล่งที่มา = 0V, เกต = 3V3 ดังนั้น Vgs = 3V3 เช่นนี้> Vth BSS138 เปิดอยู่ เนื่องจาก source = 0V และ FET เปิดอยู่ TX_HV จะถูกดึงไปที่ระดับต่ำเช่นกัน นั่นเป็นเรื่องง่าย :-)
ส่งลอจิก 0 จากขวาไปซ้าย
ดึง TX_HV ต่ำ Drain = 0 Gate คือ 3V3 ผ่านการเชื่อมต่อที่ยาก
แหล่งที่มา = 3V3 (แต่ดูด้านล่าง) ดังนั้น: Vgs = 0 FET ปิดอยู่ Vds = - 3V3
แต่ BSS138 มีไดโอดภายใน S ถึง D ไดโอดนี้จะทำงานโดยการดึง TX_LV ลงไปที่ไดโอดแบบลดลงเหนือ TX_HV
ง่ายอีกด้วย
ตอนนี้แทนที่ BSS138 ด้วย FQN1N60C
Vth ของ MOSFET คือ> ถึง >> 1.7V margin ระหว่าง 5V ถึง 3V3
ตอนนี้ในการส่งลอจิก 0 ซ้ายไปขวาแหล่งกำเนิดลงดินจะให้ Vgs = 3V3 = <4V กรณีที่เลวร้ายที่สุด ถ้า Vth จริงอยู่ที่ 1.7V วงจรจะทำงาน
การเพิ่มเลเวลเป็น 5V จะทำงานเหมือนตอนนี้ Vgs = 5V
แต่เมื่อ TX_LV สูงยังมีไดร์ฟ 5-3.3 = 1.7V ที่ MOSFET แม้ว่ามันควรจะเป็น 0V และเคยเป็นมาก่อน
หากคุณเปลี่ยน MOSFET ซึ่งมี Vth <1,7V มันจะเปิดอยู่เสมอ นั่นคือ MOSFET ที่มีคุณภาพดีกว่าทำงานได้แย่ลง (หรือไม่เลย) "การรักษา" คือการใช้ MOSFET เริ่มต้นด้วย Vth <ถึง << 1.7V