Home

专治机电连接头里的电弧!这些磁性灭弧特性需要了解!

关键词: 保护, 电路设计, 电源管理

问:DC应用中的磁性灭弧

一些额定HVDC(直流高压)负载的机电接触器具有永久内置的“灭弧磁体”,有助于在连接头断开时“熄灭”或切断形成的电弧。这样可以提高连接头的直流额定值,并有助于延长在额定负载下的电气寿命。虽然在连接头闭合时也可能会产生电弧,但在连接头断开时产生的电弧要大得多。


一些限位开关、车用继电器和功率继电器(高于2A)也具有此功能。


磁性灭弧特性列在DigiKey网站的“特点”筛选条件下。但前体是,产品的规格书中指明产品具有磁性灭弧特性。不过,即使产品具有此特性,规格书也不一定会将其列出。如果产品具有极化输出,则很可能具备此特性。

一般来说,具有极化直流额定输出的机电接触器可以在两个方向上处理电流,但只有在连接头闭合时,且极性在连接头断开时必须正确才可以。如果连接头断开时极性不正确,将会产生相反的效果,即,增大电弧,加速连接头表面的损坏,并可能造成危险。交流负载器件通常不需要灭弧磁体,因为在连接头断开时,交流波形会跨过零点,自行熄灭电弧。

要确定哪款产品适合你的应用,请查看规格书中指定测试条件下的连接头额定值生命周期或通 – 断图表 。


一些规格书还会列出连接头通 / 断时间,包括电弧持续时间:

机电磁性灭弧应用:

电动汽车
-用于加快高压直流充电,并安全地关闭和断开电流负载

可再生能源和电源逆变器
-太阳能和风能用于安全切换并在逆变器过程中断开直流负载,以及在将储能传入和传出电池时使用

制造业和工业
-用于能量存储或备用系统、无人机或车队管理,甚至用于叉车充电系统中

Sensata 的说明:
所有Sensata Gigavac接触器都可以在闭合的连接头上承载双向电流。“双向”一词是指能够在电流流动时进行开关/断开操作。大多数Sensata Gigavac接触器都经过设计和优化,可在电流流动方向上断开电流,以实现最大的电流断开能力。我们也提供采用双向设计的接触器。此类器件一般通过改变内部灭弧磁体的方向来实现。

极化:
极化接触器上的电源端子标有正极(+)和负极(-)。这个标记用于指导产品的正确安装。大多数接触器都具有用于断开负载的内部灭弧磁体(在电流流动时断开)。这对于断开48V及以上的负载而言尤为重要。灭弧磁体设计用于特定方向的电流流动。不当安装可能会限制灭弧磁体的效果或使其失效,并显著缩短接触器的寿命。在系统电压超过48V的应用中,应注意将接触器按正确的电流流动方向安装。正确安装的接触器应使电流流入正极(+)端子并从负极(-)端子流出。

双向:
如果使用双向接触器,主电源端子可以连接在任何方向。无论电流流动的方向如何,内部灭弧磁体都被配置为断开形成的电弧。

更多电路应用相关技术内容, 请参考下面帖子:

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

想快速实现高性价比的电路保护?试试eFuse!

重点产品推荐

作者:Jeff Shepard

关键词:电路保护, eFuse

随着电子设备在家庭、办公室和工业中的普及,对高速、紧凑、低成本、可复位和可调节电路保护器件的需求越来越重要,以确保用户安全和最长的正常设备运行时间。传统熔断方法的熔断电流不准确、响应时间慢,而且通常保险丝更换不方便。

虽然从头设计一个合适的保护方案是可以的,但要在可重置的设备中满足苛刻的延迟和精度要求并非易事。此外,同样的解决方案现在也有望具备可调过流保护、可调浪涌电流压摆率、过压钳位、反向电流阻断和热保护等功能。这种设计需要大量的分立元件和数个 IC,这样不仅会占据 PC 板的上很大面积,提高成本,还会延迟上市时间。不断增加难度是为了满足高可靠性要求,满足诸如 IEC/UL62368-1 和 UL2367 等国际安全标准要求。

为此,设计人员可以转向使用电子保险丝 (eFuse) IC 来提供纳秒 (ns) 级短路保护,这比传统的保险丝或 PPTC 器件要快一百万倍。

本文在介绍 eFuse 及其工作原理之前,说明为什么需要更快速、更坚固、更紧凑、更可靠和更经济的电路保护。然后,介绍 Toshiba Electronic Devices and Storage Corporation 提供的几种 eFuse,并说明这些器件在经济实惠、结构紧凑和坚固耐用方面是如何满足设计者的电路保护需求的。

电路保护需求

过电流状况、短路、过载和过电压是电子系统的一些基本电路保护需求。过流状态下,会有过量的电流流经导体。这可能会导致高水平发热、火灾或设备损坏的风险。短路、过载、设计故障、部件故障以及电弧或接地故障都可能造成过流故障。为了保护电路和设备用户,过流保护需要瞬时动作。

存在过载时,过大的电流不会立即产生危险,但长期过载造成的后果与高过流同样不安全。过载保护是根据过载程度通过各种时间延迟来实现的。随着过载情况的加重,延迟会随之缩短。过载保护可以用延迟或慢速保险丝来实现。

过电压情况会导致系统运行不稳定,还可能导致产生过多热量,增大火灾风险。过电压也会给系统用户或操作员带来直接危险。与过电流一样,过压保护也需要快速动作,切断电源。

为确保运行安全、稳定,有些应用受还益于除基本保护功能以外的其他保护功能,具体包括可调级别的过压和过流保护、启动涌流控制、热保护和反向电流阻断功能。各种不同的电路保护装置可以满足这些保护功能的不同组合需求。

eFuses 如何工作

与传统保险丝和 PPTC 器件相比,eFuse IC 实现了更广泛的保护功能和更高的控制水平(图 1)。除高速短路保护外,eFuse 还提供精确的过压箝位、可调过流保护、可调电压和电流压摆率控制,以便尽可能减少浪涌电流和热关断。各个不同的版本还包括内置反向电流阻断功能。

图 1:eFuse 可以取代传统保险丝或 PPTC 设备,并具有更多的保护功能和更高的控制水平。(图片来源:Toshiba)


eFuse 性能的关键因素之一是内部功率 MOSFET,其“导通”电阻通常在毫欧 (mΩ) 范围内,并能处理高输出电流(图 2)。正常工作期间,功率 MOSFET 的极低导通电阻确保 VOUT 端电压与 VIN 端电压几乎相同。当检测到短路时,MOSFET 会非常迅速断开,而当系统恢复正常时,MOSFET 则用来控制浪涌电流。

图 2:低导通电阻功率 MOSFET(顶部中心)是 eFuse 实现快速动作和受控启动能力的关键。(图片来源:Toshiba)


除了功率 MOSFET 之外,eFuse 的有源性质也有助于实现众多的性能优势(表 1)。传统保险丝和 PPTC 是无源器件,跳闸电流的精度很低。它们都依靠焦耳加热且耗费时间,从而增加了其反应时间。另一方面,eFuse 会不断监测电流,一旦电流达到可调限流值的 1.6 倍,就会启动短路保护。一旦启动,eFuse 的超高速短路保护技术只需 150 至 320 纳秒即可将电流降至接近零,而保险丝和 PPTC 的反应时间则为 1 秒或更长。这种快速反应时间减少了系统应力,从而增强了稳健性。由于 eFuse 电子保险丝不会被短路破坏,因此可以多次使用。

表 1:与保险丝和 PPTC(聚合开关)器件相比,eFuse IC 的保护速度更快、精度更高、保护功能更全。(表格来源:Toshiba)


与作为一次性设备的传统保险丝相比,eFuse 有助于降低维护成本,缩短恢复和维修时间。eFuse 有自动恢复和锁定保护两种故障恢复方式:前者是在故障条件消除后自动恢复正常运行,后者是在故障消除后被施加外部信号时恢复。eFuse 还提供过压和热保护,这对传统保险丝或 PPTC 来说是不可能的。

选择 eFuses

选择合适的 eFuse 通常要从应用的电源轨开始。对于 5 至 12 伏电源轨,TCKE8xx 系列 eFuse 是不错的选择。该系列的额定输入电压高达 18 V,电流 5 A,通过了 IEC 62368-1 认证,符合 UL2367 要求,采用 WSON10B 封装,尺寸为 3.0 mm x 3.0 mm x 0.7 mm 高,间距为 0.5 mm(图 3)。

图 3:Toshiba 的 eFuses 采用 3 mm x 3 mm、0.7 mm 高的 WSON10B 表面贴装封装。(图片来源:Toshiba)


对于设计者来说,TCKE8xx 系列提高了灵活性,包括由外部电阻设置调节过流值、由外部电容设置调节压摆率控制,提供过压和欠压保护、热关断功能以及一个针对选用型外部反向电流阻断 FET 的控制引脚。

设计者还可以选择三种不同的过压钳位:用于 5 V 系统的 6.04 V 钳位(例如 TCKE805NL, RF),用于 12 V 系统的 15.1 V 钳位(包括 TCKE812NL, RF),以及无钳位电压(例如 TCKE800NL, RF)(图 4)。根据不同的型号,过压保护分为自动重试和钳位两种方式,钳位水平的设定精度为 7%。欠压锁定可通过一个外部电阻设定。热关断可在 eFuse 的温度超过 160℃ 时将其断开,从而保护 IC 免受超温影响。具有自动恢复热保护的型号在温度下降 20°C 时重新启动。

图 4:TCKE8xx 系列电子保险丝包括多种型号,钳位电压为 6.04 V 的 TCKE805 适用于 5 V 系统,钳位电压为 15.1 V 的 TCKE812 适用于 12 V 系统,而 TCKE800 则没有钳位电压。(图片来源:Toshiba)


为确保稳定运行,这些 eFuse 具有供设计者在启动时设置电流和电压斜率的选项(图 5)。当接通电源时,巨大的浪涌电流会流入输出电容并使 eFuse 跳闸,从而导致运行不稳定。eFuse 的 dV/dT 引脚上的外部电容器可用来设定电压和电流的启动斜坡,以防止出现无跳闸。

图 5:设计者可以设置电压和电流的启动斜坡,以确保 eFuse 稳定运行。(图片来源:Toshiba)


根据应用要求,设计者可以添加一个外部 N 沟道功率 MOS,用于阻断反向电流;添加一个瞬态电压抑制 (TVS) 二极管,用于输入瞬态电压保护;添加一个肖特基势垒二极管 (SBD),用于 eFuse 输出的负电压尖峰保护(图 6)。反向电流阻断在热插拔式磁盘驱动器和电池充电器等应用中非常有用。外部 MOSFET 通过 EFET 引脚控制。

在电源总线上会出现超过 eFuse 最大额定值的瞬时电压的系统中,需要添加 TVS 二极管。在有些应用中,eFuse 的输出端可能会出现负电压尖峰,而选用型 SBD 可以保护负载侧的 IC 和其他设备以及 eFuse 本身。Toshiba 推荐将 SSM6K513NU, LF 作为外部 MOSFET,DF2S23P2CTC, L3F 作为 TVS 二极管,而 CUHS20S30, H3F 作为 SBD。

图 6:TCKE8xx 系列 eFuse 的典型应用显示了用于输入瞬态电压保护的可选 TVS、用于输出引脚负电压尖峰保护的 SBD 以及用于阻断反向电流的外部 MOSFET。(图片来源:Toshiba)


内置反向电流阻断 MOSFET 的 eFuse

对于要求解决方案尽可能小且具有反向电流阻断功能的应用,设计者可以使用具有两个内部 MOSFET 的 TCKE712BNL, RF eFuse(图 7)。第二个内部 MOSFET 没有任何性能损失;两个 MOSFET 的合并导通电阻只有 53 mΩ,与使用外部阻断 MOSFET 时差不多。

图 7:TCKE712BNL, RF eFuse 包括两个 MOSFET(顶部中间),可实现反向电流阻断,无需外部 MOSFET。(图片来源:Toshiba)


与 TCKE8xx 系列的固定电压设计相比,TCKE712BNL, RF 的输入电压范围为 4.4 至 13.2 V。为了支持这种可能的输入电压范围,该器件有一个过压保护 (OVP) 引脚,使设计者能够设置过压保护水平,以适应特定的系统需求。此外,TCKE712BNL 还增加了一个 FLAG 引脚,用于提供开漏信号输出,表明存在故障状况。

结语

确保电子系统的电路和用户保护功能至关重要,在目前设备激增、故障可能性增加的情况下尤其如此。同时,设计者必须将成本和封装降到最小,同时还要具有最大的保护灵活性,满足适当的保护标准。

eFuse 具有超快的动作速度、出色的精确性、可靠性和可重复使用性。这类器件性能优良、高度灵活,不仅成为传统保险丝和 PPTC 器件的替代品,而且还具有多种内置功能,可大大简化电路和用户保护的设计工作。

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

大咖论道:如何挖潜CoaXPress 2.0玩转高速图像传输!

关键词:CoaXPress 2.0,高速图像传输

随着科技的飞速发展,图像传输作为信息交流的关键环节,其需求正呈现出日益增长的趋势。在这个数字化时代,高速、高效、稳定的图像传输技术成为了各行各业追逐的目标。而在这个领域,Microchip的CoaXPress® 2.0器件正以其卓越的性能和领先的技术水平,为高速图像传输开创崭新的篇章。

CoaXPress(CXP)技术一直以其在同轴电缆传输领域的独特地位而备受瞩目。而CoaXPress 2.0则是其最新的技术演进,标志着高速图像传输技术的新时代的到来。Microchip凭借其创新实力,充分挖掘了CoaXPress 2.0的潜力,为用户提供了更卓越、更高效的图像传输解决方案。

不用担心,本期节目,来自Microchip的专家将为我们介绍,Microchip在 CoaXPress® 2.0领域的最新动态。 【点击观看】

主讲嘉宾:

王鸥(Betty Wang),Microchip主任应用工程师

2014年加入Microchip,在半导体行业有着13年的工作经验。目前负责CoaxPress® 产品以及电机控制方案的推广及支持工作。

Microchip CoaXPress 2.0器件以其高速传输性能成为业界的领先者。每个同轴电缆通道支持高达12.5 Gbps的数据传输速率,为用户提供了更广泛的传输通道。在医学影像、工业视觉等对实时性要求极高的领域,其高速传输性能成为技术创新的助推器。

不仅在高速传输方面卓有建树,更以其灵活配置的特性迎合不同用户的多样需求。用户可以根据具体应用场景选择最优配置,实现系统性能的最大化。这种灵活性使得其解决方案在医疗、工业等领域得到更广泛的应用。

部分高速机器视觉数据传输接口标准比较

  CoaXPress l.x CoaXPress 2.0 Camera Link CLHS 10 GigE Vision GigE Vision USB3 Vision SDI
Single Speed 1.25 – 6.25 Gbps 1.25 -12.5 Gbps 2 Gbps (Base, 1 Cable) 10 Gbps 10 Gbps 1 Gbps 5 Gbps 1.485 Gbps (HD-SDI)
Max Speed N x 6.25 Gbps (N cables) N x 12.5 Gbps (N cables) 6 Gbps (Full, 2cables) N x 10 Gbps (N cables) 10 Gbps 1 Gbps 10 Gbps 2.97 Gbps (3G-SDl) 5.94 Gbps (6G-SDl)
Link Cost Medium Medium Medium Medium High Medium/High Low Medium
Power consumption Medium Medium Medium Medium High Low Low Medium
Complexity Medium Medium Low Medium High High High Medium
Cabling Coax Coax Custom | Multi-Core Fiber Cat-7 Cat-6 Custom | Standard Coax
Length at full rate 45 m 35 m 10 m/ 7m 80 km 100 m 100 m 3 m 100 m
Data Integrity CRC CRC None CRC and FEC CRC / Resend CRC / Resend None CRC
Real Time Trigger Yes Yes Yes Yes No No No No
Power over Cable 13 W/ cable 13 W/ cable PoCL: 4 W No PoE: 13 W PoE: 13 W 5 w No

*仅供参考, 最新数据及规格请参照官方文档

在图像传输领域,稳定性是至关重要的一环。Microchip CoaXPress 2.0器件通过同轴电缆传输,成功避免了信号干扰和数据损失的问题,为传输质量提供了可靠的保障。在工业环境中,其稳定可靠的性能更是备受用户信赖。

( 图片来源:Microchip Technology Inc.)

系列器件采用CXP 2.0 标准,并拥有以下特点

  • 全新向后兼容设计
  • 在所有速度级别上都集成了时钟数据恢复(CDR)和相机侧时钟
  • 应用场景中,摄像机和采集卡的传输速度比其他解决方案快4到8倍,可以显着提高机器视觉处理吞吐量。
  • 能以更低功率和近乎零延迟,支持四倍电缆/链路距离。

新产品系列还支持以任何速度无缝锁定从CXP-1到CXP-12的所有频率,提高了设计容差和灵活性,并通过单根电缆支持12.5 Gbps的带宽,消除了对多通道的需求。更广泛的布线选项确保了系统可以安装在需要的地方,集成的CDR改善了从摄像机发送到采集卡的信号防抖性能。摄像机低频时钟恢复功能消除了在FPGA进行单独时钟编程的需要。集成的链路信号完整性测试使系统能够在运行前和运行期间对电缆链路完整性进行实时检查。

除此之外,在场景覆盖层面,Microchip提供了整理的系统解决方案以供参考,方便研发人员快速对接应用场景。

(图片来源:Microchip Technology Inc.)

作为高速图像传输领域的头部产品,Microchip CoaXPress 2.0器件不仅满足当前市场的需求,更为未来的发展奠定了坚实的基础。随着其在医疗、工业、安防等领域的广泛应用,我们有理由相信, CoaXPress 2.0将成为高速图像传输技术的新标杆,引领行业迎接更广阔的发展空间。

与本期讲座相关技术文档资源,整理如下,

DigiKey链接:

Microchip CoaXPress®系列产品I

Microchip CoaXPress®系列产品 II

PolarFire SoC FPGA 视频 MPF300 PolarFire® FPGA + MCU/MPU SoC 评估板

MPF100T-1FCSG325I FPGA 夹层卡(FMC) 接口 CoaXPress FMC 子板 平台评估扩展板

Microchip官网链接:CoaXPress® Technology

如需获取更多Microchip产品相关内容,请浏览得捷电子网站中的Microchip产品专题页面。

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

新品推荐:一款适用于工业和车辆的高可靠密封连接器

重点产品推荐

关键词:密封连接器,抗振性

TE Connectivity (TE) 的 SUPERSEAL Pro 连接器为底盘应用提供高价值解决方案。它经过特别设计,在恶劣环境下运行的工业和商用车辆的密封直列应用中可提供更好的可靠性和提升性能。SUPERSEAL Pro 2、3 和 4 位密封连接器采用经过验证的具有 17 A 载流能力的 MCON 1.2 SWS 端子,具有更好的抗振性,符合商用车底盘应用的要求。与竞争对手的低抗振性单触点系统相比,这种更高的性能使 TE 能够赢得更多的 CPV 和市场份额,尤其是在轻型卡车行业。

产品特性

  • 可信任
  • 通过经过时间考验的 MCON 1.2 SWS 终端提高抗振水平,符合商用车底盘应用要求
  • 采用 UL 94 V-0 材料和可选 HB 提供更高的安全性和更好的易燃性保护
  • 通过增强的密封保持功能实现高水平的保护
  • 易于组装
  • 带有 TPA 预锁和增强型前密封,无需额外组装
  • 使用两种编码选项和颜色防止连接器错配
  • 提供品种齐全的一站式服务

适用范围

  • 线对线
  • 传感器
  • 照明
  • 量表
  • 执行器
  • 路由器
  • 电磁阀

目标市场

  • 公交车
  • 轻型卡车
  • 重型卡车
  • 2 轮机动车
  • 工业应用
  • 家电

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

IC脚距小于2.54 毫米 没有适合的原型板怎么办?

关键词:开发工具, 测试

问:小脚距原型组件

有时,我们的客户在设计的最初阶段需要开发小脚距 IC 的工具。然而,我们尚未找到处理脚距小于标准2.54 毫米 IC 的原型板和面包板。

我们的确在售一些类似的小脚距产品,但大部分脚距均为 2.54 毫米,如此处所示。

解决该问题的有效办法是,配合使用一系列适配器和分线板。

你可以点击以下链接查看相关零件;所有这些零件均在售且有库存,如果算上无库存的物料,那么这一数字几乎是原来的两倍: 适配器,分线板


此链接中包含的零件可以轻松插入典型的面包板中: 无焊面包板 

查找零件的最佳方法是,选择适配器所匹配的 IC 封装。在我们遇到的许多情况中,客户可以用不同的封装适配器来替代,从而摆脱困境,或至少在印刷板制造出来之前,通过开发来实现。为方便起见,你还可以根据筛选条件按引脚脚距进行搜索。

除了板以外,我们还提供了一系列 IC 测试夹,可直接夹到IC上并与其引脚相连 : IC 测试夹 

如果你不需要转接板和 IC 夹,我们还有多种通用型测试钩和抓取器,支持将夹子连接到最小表面贴装IC的引脚上,因为对于此类IC而言,通常的示波器引脚尖端和探针手柄因过大而无法连接这些引脚: 通用型测试钩和抓取器 

更多设计和测试工具相关技术内容, 请参考下面帖子:

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

LED这两种 PWM 调光方法 哪种更好?

关键词:  LED, 电路设计, 工作原理

问:两种常见的 LED PWM 调光方法

脉宽调节 (Pulse Width Modulation, PWM) 技术,是指利用 PWM 控制信号,其原理是通过改变 LED 正向工作电流的占空比来调节 LED 的发光亮度。本文介绍两种常见的 LED PWM 调光方法。

1. 带低通滤波 PWM 调光

我们以 TI LED 驱动器 TPS61165 举例:下图是一个具有低通滤波 PWM 输入的典型的 LED 驱动器升压电路,使用的是照明用白色 LED 。

(图片来源于 TI )

上面的电路中,LED 驱动器中结合了一个 LPF,并结合了一个外部复位。逻辑电平 PWM 信号被缓冲和电平移位,因此它在参考电压 (VBG) 和地(GND)之间摆动。然后,滤波后的信号用作升压误差放大器的参考,迫使 FB 节点调节到 VREF,以便设置 LED 电流通过低侧电阻R1。

下面是 TPS61165 (低通滤波 PWM )波形

(图片来源于TI)

滤波PWM的主要缺点是:

1.当PWM占空比从0到100%快速变化时,升压输出电压的响应缓慢。这主要是由于LED正向电压的变化导致升压输出电压需要在不同的电平之间转换。

2.当滤波后的参考电压变得非常小时引入偏移误差(offset errors)。

偏移误差是这类控制的主要问题。由于VREF变得非常低(低占空比),误差放大器的偏移量成为参考电压的很大一部分。为了纠正这一点,要么必须进行微调,要么必须使用更复杂的偏移抵消放大器。图3显示了LED电流设定点上偏移电压(VOS)的有效框图。这可以建模为误差放大器+输入处参考电压的偏移(VOS可以是正的也可以是负的)。对于正VOS, D = 0时可以实现的最小LED电流。

(图片来源于TI)

2. 采样PWM调光

对低通滤波PWM调光方法的改进是对PWM进行采样,PWM输入信号被转换为数字代码,并将该数字代码应用于内部DAC。因为这是为更高性能的LED驱动器设计的,所以这主要用在集成电流源的产品上。此外,这些器件提供了将PWM输入与I2C占空比代码相结合的能力。

举例: TI的 LM36923

PWM 采样调光典型框图

(图片来源于TI)

由于采样把PWM转换为代码,因此偏移电压的问题变成了LSB大小问题。这可以从下图中看到,其中最小电流为50µA(相当于LM36923器件11位调光响应中的代码1)。并且包括了超时计数器,以确保0占空比下的0电流。

(图片来源于TI)

采样PWM的主要缺点是驱动采样器所需的静态电流较高。这主要是由于使用的是高频振荡器。

采样PWM (相对于滤波PWM)的主要优点如下:

  • 1.允许将PWM输入映射到指数调光曲线(或任何其他可用的映射模式)。
  • 2.允许LED电流在占空比变化之间斜坡。使用可编程斜坡可以将低分辨率PWM占空比输入转换为更高分辨率的电流斜坡。
  • 3.数字滤波器(可编程迟滞)可用于消除可能导致LED亮度闪烁的PWM输入中的抖动。
  • 4.允许低频PWM输入。由于PWM输入转换为数字代码,因此避免了低频PWM所需的大型低通滤波器。
  • 5.允许更快地响应占空比的变化。由于PWM采样时钟远高于PWM输入频率,因此可以在单个PWM周期内解释占空比的任何变化。然而,当PWM占空比偏差较大时,LED电压的波动会成为瓶颈。

总结:

随着传统照明到发光二极管 (LED) 的快速发展, 设计人员的难点在于,与传统白炽灯或日光灯照明不同,要在保持光线质量的同时对 LED 调光并非易事。虽可进行模拟调光,但这会造成明显的色度和发射光“温度”偏移。了解LED的关键参数与LED调光的方法,帮你事半功倍。

更多LED相关技术内容, 请参考下面帖子:

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

一周新品推荐: NXP的 LPC553x/S3x MCU系列和PUI Audio 的触觉反馈元件

重点产品推荐

 

关键词:MCU,触觉反馈

产品一:NXP的LPC553x/S3x MCU系列

NXP的 LPC553x/S3x MCU系列扩展基于Cortex-M33的通用MCU系列。它具有显著的性能增强、带奇偶校验或ECC的全部片上RAM、更新的安全特性以及精密模拟加法器。

该系列采用高性价比40nm NVM工艺技术。

LPC553x/S3x系列包含一个专有的DSP加速器,可减少10倍时钟周期,显著提高了信号处理效率。

产品特性

  • An Arm® Cortex®-M33 MCU系列
  • 高效40nm闪存技术,带112kB奇偶校验和16KB ECC RAM
  • 超过600个内核标记(4.17/MHz,在带缓存的闪存中运行),有源功率低至57uA/MHz
  • 采用TrustZone-M技术,增强了安全性和安防性
  • 系统集成DSP加速(Cordic引擎,为电机控制应用提供>3.5倍的改善)
  • 高精度快速ADC、仪表级运算放大器(可编程增益高达64倍)和DAC
  • 电机控制PWM和四通道编码器/解码器
  • 借助MCUXpresso生态系统实现全面支持

适用范围

  • 工业和楼宇自动化
  • 电机控制
  • 电源逆变器
  • 消费类产品
  • 电动工具
  • 家电
  • 智能家居
  • 安全/生物测定访问控制
  • 安防系统

产品二:PUI Audio 的触觉反馈元件

PUI Audio 为医疗、工业和安全应用提供触觉反馈元件。

作为音频电子元件领域的引领专家和创新者,PUI Audio 一直与医疗、工业和安全市场领域的触觉设备制造商紧密合作。下一代电子元件的发展正在推动着触觉技术的进步,为各种 HMI 带来触觉增强性能。

HD-EM0803-LW20-R 系列和 HD-EM1003-LW15-R 系列

PUI Audio 的 8 mm x 3 mm(直径x厚度)HD-EM0803-LW20-R 系列是一款偏心旋转质量振动触觉电机。该器件最初为寻呼机或蜂鸣器设计,非常适合在可穿戴设备中提供触觉反馈。

HD-EM1204-LW20-R 系列和 HD-EM1206-SC-R 系列

使设备振动的最常见方法是小型直流 (DC) 电机(振动电机)。飞轮安装在旋转轴上,正常运行时直接穿过其中心,旋转平稳,无振动。为了产生振动,将偏心旋转质量 (ERM) 配重添加到轴上,以产生人为的不平衡。

HD-EM1204-SC-R 系列和 HD-EM0802-LW15-R 系列

更先进的元件基于线性谐振执行器 (LRA) 技术,元件通常只有一枚小硬币那么大。LRA 不是旋转,而是在一个平面上上下振动,以产生不同程度的触觉响应。

LRA 由导线(又名音圈)、小圆形磁铁和连接到设备外壳的弹簧组成。当交流电通过音圈时,磁场会施加不同程度的力,导致磁铁上下移动。反过来,这种机械运动会对弹簧施加力,从而以预设频率产生振动感。

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

自己编写函数示例代码很难吗?分享几个示例!

 

关键词: 编程, 开发工具

问:Arduino Uno的函数示例

我决定自己编写函数示例代码,因为这应该是Arduino中的基本示例。网络上确实有关于使用函数的文档,但是,如果要尝试使用代码环境,则必须得访问Arduino网站,而且他们的示例扩展的效果并不好。本帖将分成以下几个部分:以不包含任何函数的起始代码为例、使用一个函数转换相同的程序、展示可以利用函数做些什么的扩展示例、与没有函数的代码版本进行比较,表明更少的代码更易于使用。注意,本例假设已知一些基本的Arduino示例。

无函数的起始代码

/*
 * This code is the starting code for my functionExample, I want to turn pins 13, 12, 11 high; wait for half a second; turn all the pins off; wait for half a second;
 * and turn pins 13 and 11 on while keeping 12 off and wait for another half second.
 */
void setup() {
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
}
boolean writePin = HIGH; //set a global variable to make it easier to turn things on and off in the function, use !writePin for LOW
void loop() {
  //first, let's see how cumbersome writing code can be when trying to run several LEDs
  //write all output pins high:
  digitalWrite(13, writePin); 
  digitalWrite(12, writePin);
  digitalWrite(11, writePin);
  delay(500); //delay half a second
  //write all pins low
  digitalWrite(13, !writePin); 
  digitalWrite(12, !writePin);
  digitalWrite(11, !writePin);
  delay(500); //delay half a second
  //write 13 and 11 high, keep 12 low
  digitalWrite(13, writePin);
  digitalWrite(12, !writePin);
  digitalWrite(11, writePin);
  delay(500);//delay half a second
  //doing that sequence alone takes 12 lines of code to accomplish something that could probably be done in less
}
// 20 lines of code not including comments

我通常会计算包含{}的重要代码行的数量,而不计算注释,因为这些注释无论如何都会在编译器中被忽略。这篇代码看起来非常笨拙,包含很多重复的行,因此如果需要执行不同的操作,你就必须进行更改。在进行故障排除或开发更为复杂的程序时,其效率会非常低下。

利用函数重新改造起始代码

/*
 The Arduino home page does
 try to explain funcitons using a math example and reading an analog pin, which is cool, but there are more things one can
 do with functions. The anatomy of a function in Arduino is as follows:

 dataType variableName(dataType parameterVariable1, dataType parameterVariable2, ...){}
 
 All functions have to have a valid Arduino dataType at the beginning of the line of code because we use a variable to reference the entire code that will be run between the {}
 If you want numbers or some sort of result with measurable values, you will have to use a data type that can store those values; examples are
 int, double, unsigned long, long, boolean, float (and all the other types that can store data)
 The only thing to mention is that functions with these dataTypes must have a return statement; Example:

 int addTwoNumb(int one, int two){
 int result = one + two;
 return result;
 }

 The function above returns the calculation of one and two and can be stored in a new variable when called/used in the main loop.
 The values inside the () are called parameters, functions don't always require parameters (most do though), so the () can be empty.
 Parameters are placeholder variables with any data type valid in Arduino. These variables do not have to be assigned values until the function is used/called in the main loop, values are passed as soon as they are called. Any number of new variables can be added into a function and any amount of code can be added to a function, even functions can call other functions! (gets a little confusing at that point)
 */
void setup() {
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
}
boolean writePin = HIGH; //set a global variable to make it easier to turn things on and off in the function, use !writePin for LOW
void loop() {
  sequenceLights(13, 12, 11, writePin, writePin, writePin, 500); //call/use sequence lights on pins 13, 12, 11; use the default value for writePin (HIGH), delay for half a second (500 mS)
  sequenceLights(13, 12, 11, !writePin, !writePin, !writePin, 500);
  sequenceLights(13, 12, 11, writePin, !writePin, writePin, 500);
}
/* Functions are typically defined or written below the loop statement for clarity*/
//notice that the function below uses the exact same code but uses different variables and that we don't use a datatype (void), we aren't calculating anything, so there doesn't need to be a datatype
//the function takes 3 integers to begin with: pin13, pin12, pin11; these represent the values for the pins we want to control
//then the next three values are writeFunc1, writeFunc2, writeFunc3 which are boolean values used to control the pins (HIGH or LOW), we want to be able to use unique instructions per light as that is how the original sequence worked
//finaly delayPeriod is used in place of 500, because what if we want to change the timing, why not?
void sequenceLights(int pin13, int pin12, int pin11, boolean writeFunc1, boolean writeFunc2, boolean writeFunc3, int delayPeriod){
  digitalWrite(pin13, writeFunc1);
  digitalWrite(pin12, writeFunc2);
  digitalWrite(pin11, writeFunc3);
  delay(delayPeriod);
}
//17 lines of code not including comments

即使整篇代码只减少了3行,但在希望试验延迟值或者引脚是变高还是变低等情况下,你就能轻松快速地调整相关值。如果没有函数,你每次都需要手动添加四行代码。

初始代码接线图

01_00

使用函数的扩展代码

void setup() {
  //Serial.begin(9600); //I often use the serial monitor to debug my program or to do some testing, I then comment the line of code to increase some runtime speed (counted this line of commented code as it was essential to my process)
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
}
int countRndSeq = 0; //set initial variable for counting variable for the random sequence to "reset"
int randPin = random(8, 14); //set the random Pin variable to a random number between 8 and 13 (14 for including 13 as a choice); we only need 8-13 as those are the pins I use
void loop() {
  randSequenceLightSlow(5, 125, 1200); //run function for a random sequence, set counting interval at 5, set minimum delay at 125, set the max delay to 1200 (1.2 seconds) (I decided to move the randMode into the function because it was easier to accomplish)
  countRndSeq = 0; //reset the counter for the next sequence
  delay(3000); //wait three seconds then turn off all the lights (made a function for that)
  allPinsWrite(13, 12, 11, 10, 9, 8 , LOW);
  randSequenceLightSlow(7, 125, 1450); //run function for random sequence using counting interval at 7, minimum delay at 125, set max delay to 1450 (1.450 seconds)
  countRndSeq = 0; //reset counter for next sequence
  delay(3000); //wait three seconds and turn off all the lights 
  allPinsWrite(13, 12, 11, 10, 9, 8, LOW);
} 
/*
 * The following uses a while loop for control, it does random lights and slows down delay by a set interval between steps (larger interval will make it count and slow down much quicker)
 * As long as that counting number (countRndSeq) is less than the max delay (maxDel), it will do the following in order:
 * 1. chose a random pin 8-13 and set it equal to a variable
 * 2. Pick the random Mode value each time the while loop runs again (increases chance to get modes 0-2)
 * 2. turn off the pin associated to that number using the delay amount of the same number that countrRndSeq is currently at
 * 3. Increase countRndSeq by the interval amount set by calling the function (can be any integer)
 * 4. Check if the current count is greater than the minimum delay and then check which mode (remember I set it to random above); there are 3 modes 0, 1, 2
 * NOTE: For #4, 0 has a high chance of adding less to countRndSeq, 1 has a medium chance of adding a bit more to countRndSeq, 2 has a low chance of adding quite a bit to countRndSeq
 * 5. Set the final pin after the sequence has finished to high to simulate that is the final pin the program landed on
 * See calcThreshChance for an explanation of how I made weighted random events for the chance for the lights to slow faster
 */ 
void randSequenceLightSlow(int interval, int minDel, int maxDel){
  while(countRndSeq < maxDel){
    randPin = random(8, 14);
    int mode = random(0, 3);
    digitalWrite(randPin, HIGH);
    delay(countRndSeq);
    digitalWrite(randPin, LOW);
    delay(countRndSeq); 
    countRndSeq += interval;
    if(countRndSeq > minDel && mode == 0){
      countRndSeq += calcThreshChance(mode, interval);
    } else if(countRndSeq > minDel && mode == 1){
      countRndSeq += calcThreshChance(mode, interval);
    } else if(countRndSeq > minDel && mode == 2){
      countRndSeq += calcThreshChance(mode, interval);
    }
  }
  digitalWrite(randPin, HIGH);
} 
/*
 * Simple function that uses integers 8-13 and a boolean value to turn on or off all the LEDs at once
 */ 
void allPinsWrite(int p1, int p2, int p3, int p4, int p5, int p6, boolean writeInst){
  digitalWrite(p1, writeInst);
  digitalWrite(p2, writeInst);
  digitalWrite(p3, writeInst);
  digitalWrite(p4, writeInst);
  digitalWrite(p5, writeInst);
  digitalWrite(p6, writeInst);
} 
/*
 * The following function takes an integer 0-2 and calculates the chance for it to add more to the number countRndSeq
 * First it sets up three variables local to the function (chance for around 50, a chance for around 200, and a chance for around 300)
 * Then the following first check is made: check which mode is selected, 0, 1, or 2 (if someone entered something else or not calculated it will return 0 and count by the regular interval in the randomSequence)
 * If it is mode 0, use a relatively short random range from 45 to 69 and check if that random number falls between 50 and 60 which is a pretty high chance based on the short range, so it will more than likely add 1000 plus that random number to countRndSeq
 * If it is mode 1, use a larger range from 200 to 299 and check if that random number lies between 250 and 255, which is a medium chance, so it may or may not use that random number + 2000
 * If it is mode 2, use a much larger range from 300 to 599 and check if that random number lies between 320 and 324, which is a low chance, so it has less likelihood of using that random number and adding 3000
 * All other cases it will just add the regular interval
 */ 
int calcThreshChance(int mode, int interval){
  int randCh50 = 0;
  int randCh200 = 0;
  int randCh300 = 0;
    if(mode == 0){
      randCh50 = random(45, 70);
      if(randCh50 >= 50 && randCh50 <= 60){
        return randCh50 + 1000;
      } else {
        return interval;
      }
    } else if (mode == 1){
      randCh200 = random(200, 300);
      if(randCh200 >= 250 && randCh200 <= 255){
        return randCh200 + 2000;
      } else {
        return interval;
      }
    } else if (mode == 2){
      randCh300 = random(300, 600);
      if(randCh300 >= 320 && randCh300 <= 324){
        return randCh300 + 3000;
      } else {
        return interval;
      }
    } else {
      return interval;
    }
}
//77 lines of code not including comments

这篇代码的主题是在一定程度上模拟六面骰子的滚动,该骰子起先快速滚动,后来逐渐减慢到静止不动。该代码包含内置随机函数,该函数使用了起始编号(包含在生成中)和在生成中排除的结束编号。它不仅随机化了引脚(8-13),还随机化了和一些骰子一样明显减速的几率。我用了三种几率“模式”来实现这一效果:高几率:计数变量的增量较少;中等几率:计数变量的增量稍多;低几率:计数变量的增量较多(请参见代码中的注释,了解完整的代码环境)。我创建了三个自定义函数,使这个概念更加易于理解和试验。

逐渐减慢到静止不动。该代码包含内置随机函数,该函数使用了起始编号(包含在生成中)和在生成中排除的结束编号。它不仅随机化了引脚(8-13),还随机化了和一些骰子一样明显减速的几率。我用了三种几率“模式”来实现这一效果:高几率:计数变量的增量较少;中等几率:计数变量的增量稍多;低几率:计数变量的增量较多(请参见代码中的注释,了解完整的代码环境)。我创建了三个自定义函数,使这个概念更加易于理解和试验。

无自定义函数的扩展代码

void setup() {
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
}
int countRndSeq = 0;
int randPin = random(8,14);
int minDel1 = 125;
int maxDel1 = 1200;
int interval1 = 5;
int minDel2 = 125;
int maxDel2 = 1450;
int interval2 = 7;
int randCh50 = 0;
int randCh200 = 0;
int randCh300 = 0;
void loop() {
  while(countRndSeq < maxDel1){
    randPin = random(8, 14);
    int randMode = random(0, 3);
    digitalWrite(randPin, HIGH);
    delay(countRndSeq);
    digitalWrite(randPin, LOW);
    delay(countRndSeq);
    countRndSeq += interval1;
    if(countRndSeq > minDel1 && randMode == 0){
      randCh50 = random(45, 70);
      if(randCh50 >= 50 && randCh50 <= 60){
        countRndSeq += randCh50 + 1000;
      } else {
        countRndSeq += interval1;
      }
    } else if(countRndSeq > minDel1 && randMode == 1){
      randCh200 = random(200, 300);
      if(randCh200 >= 250 && randCh200 <= 255){
        countRndSeq += randCh200 + 2000;
      } else {
        countRndSeq += interval1;
      }
    } else if(countRndSeq > minDel1 && randMode == 2){
      randCh200 = random(300, 600);
      if(randCh200 >= 320 && randCh200 <= 324){
        countRndSeq += randCh200 + 3000;
      } else {
        countRndSeq += interval1;
      }
    } else {
      countRndSeq += interval1;
    }
  }
  digitalWrite(randPin, HIGH);
  countRndSeq = 0;
  delay(3000);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9, LOW);
  digitalWrite(8, LOW);
  while(countRndSeq < maxDel2){
    randPin = random(8, 14);
    int randMode = random(0, 3);
    digitalWrite(randPin, HIGH);
    delay(countRndSeq);
    digitalWrite(randPin, LOW);
    delay(countRndSeq);
    countRndSeq += interval2;
    if(countRndSeq > minDel2 && randMode == 0){
      randCh50 = random(45, 70);
      if(randCh50 >= 50 && randCh50 <= 60){
        countRndSeq += randCh50 + 1000;
      } else {
        countRndSeq += interval2;
      }
    } else if(countRndSeq > minDel2 && randMode == 1){
      randCh200 = random(200, 300);
      if(randCh200 >= 250 && randCh200 <= 255){
        countRndSeq += randCh200 + 2000;
      } else {
        countRndSeq += interval2;
      }
    } else if(countRndSeq > minDel2 && randMode == 2){
      randCh200 = random(300, 600);
      if(randCh200 >= 320 && randCh200 <= 324){
        countRndSeq += randCh200 + 3000;
      } else {
        countRndSeq += interval2;
      }
    } else {
      countRndSeq += interval2;
    }
  }
  digitalWrite(randPin, HIGH);
  countRndSeq = 0;
  delay(3000);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9, LOW);
  digitalWrite(8, LOW);
}
//105 lines of code not including comments

注意,在实现相同效果的情况下,此部分的代码数量显著增加(函数版本的代码少了28行,这在构建更大的程序时非常重要)。它不仅减少了代码数量,而且这些函数的使用方式非常便于利用不同的值进行试验。而手动编码版本的代码需要在代码中更改若干变量才能进行试验。想象一下,在需要进行大量试验的情况下,如果进行每个操作都需要更改代码,那将是多么的恐怖:而如果使用函数,那么只需编辑一个代码块即可快速测试功能。

扩展代码接线图

03_00

更多Arduino技术相关内容, 请参考下面帖子:

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

都是电路保护 但它们差别有点大

关键词: 保护, 工作原理

问:电路保护器件的差异

气体放电管(GDT)——这是电压驱动型零件。
在电路中的电压达到特定水平之前,GDT将处于断路状态。当电压达到特定水平时,GDT中的气体将电离并导电,从而使高压电平接地。高压降低后,气体去离子化,GDT将回到断路状态,直到下一次浪涌。与其他电路保护元件相比,GDT可以吸收超多的瞬增能量。

A white rectangular box with two corners

Description automatically generated

TDK 气体放电管B88069X9231T253

图像仅供参考,请参阅产品规格书。

二极GDT ——用于线对线或线对地电路。
三极GDT——可同时用于某一部分的线对线或线对地电路。

保险丝——保险丝是由安装在两个电端子之间的金属条或熔断丝元件组成。

金属条在电流通过时会发热,当发热到一定程度时,金属条就会熔化并断裂,导致电路断开。此时,需要更换损坏的保险丝以使电路重新工作。保险丝是最便宜的电路保护装置,通常也最易于使用。

A close-up of a black and silver electronic device

Description automatically generated

Kamaya表面贴装型保险丝 FMC16202WBTP

图像仅供参考,请参阅产品规格书。

断路器——与保险丝相似,断路器能够保护电路免受过电流的影响,但区别在于断路器在断开电路时不会毁坏自身,并且可以重置。

A black plastic device with a round black object

Description automatically generated with medium confidence

Qualtek 断路器 QMB-152-11C3N-3BA

图像仅供参考,请参阅产品规格书。

压敏电阻 ——这是电压驱动型零件。在没有电压通过时,压敏电阻通常具有高电阻。随着电压水平的增加,其阻值会减小。当高压通过压敏电阻并超过其击穿电压时,该零件将迅速降低电阻并将电压钳位至安全水平。此时,该电阻将部分通电并吸收多余能量以保护电路。

电压下降后,如果该零件未损坏,就会恢复为高电阻状态,并可正常使用。

A close-up of a brown and grey object

Description automatically generated

AVX压敏电阻VC020105V101WP

图像仅供参考,请参阅产品规格书。

更多电路保护器件技术相关内容, 请参考下面帖子:

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

如果不说 你会特别留意肖特基二极管的这些参数吗?

重点产品推荐

作者:Alan Yang

关键词:晶体管, 工作原理, 规格

我们在肖特基二极管设计过程中,肖特基二极管与普通二极管有什么区别,有哪些参数与特点我们需要留意。本文分享那些电感容易忽略关键参数。

  1. 什么是肖特基二极管

肖特基二极管即热载流子二极管,是基于金属-半导体结制造而成。

肖特基二极管结构:

肖特基二极管的结构与普通二极管有所不同。肖特基二极管使用的是键合到N型掺杂材料中的单层薄金属,而不是双层掺杂半导体材料。这种金属与N型半导体层叠的组合也称为M-S结(金属-半导体结)。

结构上与普通二极管的区别

图表, 图示, 箱线图

中度可信度描述已自动生成

这种金属可以是贵金属中的任何一种(如铂、钨、金等),具体取决于厂商的绝密配方。

结的金属侧形成了阳极,半导体侧成为阴极。正向偏压时,肖特基二极管的最大正向压降在 0.2 至 0.5 伏特范围内,具体取决于正向电流和二极管类型。当肖特基二极管与电源串联使用时,例如在反向电压保护电路中,这样的低正向压降是非常有用的,因为它能够降低功率损耗。

符号上与普通二极管的区别

文本

描述已自动生成
图 3:肖特基二极管的物理结构基于金属- N 型半导体结,因而具有很低的正向压降和极快的开关速度。

  1. 特性与参数:

举例:onsemi NSR0340HT1G

  • 反向电压

反向电压一般指的是反向偏置方向上可以施加到器件上,而不引起击穿的最大电压。

以 onsemi NSR0340HT1G举例,数据手册中的反向电压为40V,

表格

描述已自动生成

与普通二极管相比,肖特基二极管由于耗尽区较窄,无法承受高反向电压;一段肖特基二极管反向电压范围在50V以内,而普通二极管的电压范围可以到500V甚至上千伏不等。

  • 正向电流

正向电流,一般指的是指的是通过器件的最大允许时间平均电流量。

以onsemi NSR0340HT1G举例,数据手册中的正向电流典型值为250mA

表格

描述已自动生成

正向电流也不是一直不变的,温度以及正向电压越大,正向电流越大。

图表

描述已自动生成

与类似规格的普通二极管相比,一般来说,肖特基二极管在高功率应用中的功耗更低且散热效率更高。

正向电压

二极管不是无损器件;当正向偏置方向携带电流时,会出现一些压降,这被称为器件的正向电压。正向压降会随着正向电流调整。正向电流越大,正向电压也越大。

以onsemi NSR0340HT1G举例,数据手册中的正向电压:

当正向电流10mA的时候,正向电压典型值320mV

当正向电流100mA的时候,正向电压典型值415mV

当正向电流200mA的时候,正向电压典型值470mV

表格

描述已自动生成

肖特基二极管与标准二极管相比,因为它是使用金属-半导体结而不是不同掺杂的半导体区域的结来构造的,通常具有较低的正向电压特性。

在正向偏压时,肖特基二极管只需0.3-0.4 伏即可开始导通,而普通二极管则需要0.6-0.7伏。这在必须节能的应用中非常有益,如电池驱动和太阳能电池应用。

借助低正向电压的优势,肖特基二极管可以有效地保护敏感器件不受过电压的影响。

漏电流

在一定的反向偏置下流过二极管的电流不足以引起反向击穿,称为漏电流。漏电流不是一直不变的。一般情况下,漏电流通常会随着温度和施加的反向偏置电压的量而增加。

肖特基二极管与标准二极管相比,以及随之而来的漏电流较高、电气稳定性和长期可靠性较低。

以onsemi NSR0340HT1G举例,数据手册中的漏电流:

当反向电压等于10V时,漏电流的典型值为0.2uA

当反向电压等于25V时,漏电流的典型值为0.4uA

当反向电压等于40V时,漏电流的典型值为1.3uA

表格

描述已自动生成

下面这张图,我们可以清楚的看到漏电流随着反向电压以及温度的变化而变化。

表格

描述已自动生成

我们可能会发现,当反向电压很高,温度很高的时候,漏电流几乎以指数的方式往上升。这个时候,之前可以忽略不计的漏电流无法忽视了。稍不注意,就可能导致热失控的情况,从而导致器件升温,引起进一步的漏电流,然后恶性循环直至器件损坏。

作为一个粗略的经验法则,当温度每升高10°C,漏电流就会增加一倍。如果为25°C的器件温度提供漏电流特性(这是常见的),当器件温度接近其额定最大温度时,应该准备好观测值大约高出1000倍。

结电容

当反向偏压时,二极管两端的区域就像电容的电极一样。由于结的厚度在物理上相当小,因此产生的电容量可以是显著的,并且由于其有效厚度随施加的反向电压的量而变化,因此结电容也依赖于电压。

图表, 折线图

描述已自动生成

这种现象通常被利用来制造可变电容,并经常用于RF应用,但在其他用例中,它只是另一个隐藏的寄生元件,很容易被忽视,直到它引起问题。

以onsemi NSR0340HT1G举例,数据手册中的结电容:

在反向电压为10V,频率为1MHz的时候,结电容典型值为6pF

表格

描述已自动生成

肖特基二极管的窄耗尽区,可形成低电容二极管。这意味着,与普通二极管相比,肖特基二极管可避免嗡嗡声和其他电容噪声,因此肖特基二极管成为RF电路的首选。

恢复时间

二极管表现出一个实质性的反向恢复现象,其中从正向偏压过渡到反向偏压状态的过程涉及一个短暂的电流通过器件的反向方向,在显著高于稳态漏电流的水平。

受影响的器件通常根据该恢复周期的时间持续时间进行分类或描述,例如“快速恢复”或“超快速恢复”,并进一步根据恢复过程中通过器件的电流波形的特征形状进行分类或描述,例如“软恢复”。

以onsemi NSR0340HT1G举例,数据手册中的恢复时间:

表格

描述已自动生成

肖特基二极管常用于高效率电源和直流-直流电压转换器电路内,得益于其效率高且恢复时间短。

  1. 肖特基二极管电源上的应用:

肖特基二极管的另外一个重要特性是非常快的开关速度。从打开状态切换为关闭状态时,标准二极管需要花费一定时间来消除耗尽层的电荷,与之不同的是,肖特基二极管的金属-半导体结没有相关的耗尽层。

与硅结二极管相比,肖特基二极管的峰值反向电压额定值受到限制。因此它们通常限定用于低压开关模式电源。onsemi 的 1N5822RLG 峰值反向电压 (PRV) 额定值高达 40 V,最大正向电流为 3 A。它可应用于开关模式电源的多个领域(图 4)。

肖特基二极管在开关模式电源中的典型应用示例,包括用于逆功率保护 (D1) 和瞬态抑制 (D2)。

肖特基二极管可用于保护稳压器电路,防止在输入端意外施加反极性。本例中的二极管 D1 正是用于此用途。该二极管在此应用中的主要优势是正向压降较低。肖特基二极管(本例中的 D2)另一个更重要的功能是,在开关关闭时提供返回路径,让电流流过电感器 L1。D2 必须是使用较短的低电感连线连接的快速二极管,才能实现这项功能。在低电压电源的这项应用中,肖特基二极管具有极佳的性能。

肖特基二极管还可应用于 RF 设计,它们的快速开关、低正向压降、低电容特性使其非常适用于检测器和采样保持开关。

总结:

肖特基二极管的优缺点都非常明显。肖特基二极管有着低正向电压, 高速开关, 低噪声, 低功耗的优势,我们常常可以在电压箝位,开关模式电源,电池供电器件等应用中看到他的身影。另一方面,肖特基二极管的缺点也很显著,漏电流大,反向电压较低,我们一定要在设计中格外小心。

更多有关二极管技术文章,请点击以下链接,也欢迎大家在文未留言讨论。

小编的话

作为一种低功耗、超高速半导体器件,肖特基二极管广泛应用于开关电源、变频器、驱动器等电路。正如文章所言,虽然我们在相关系统电路设计中常常会用到肖特基二极管,但对一些关键参数和特性可能还没有给予足够的重视。您对文章中例举的这些关键参数有哪些理解?您对肖特基二极管的应用有哪些经验和疑问?欢迎留言,分享交流!

******

如任何问题,欢迎联系 DigiKey客服团队

中国(人民币)客服

service.sh@digikey.com

中国(美金)/香港客服

– china.support@digikey.com

打开微信搜一搜,输入「digikey」

点击关注 DigiKey 官方微信公众号

按指引完成会员登记

之后每周自动推送工程师专属秘技,边学技术边攒积分,各类工具好礼、专属采购福利等你来领。

Copyright©DigiKey Electronics