技术文档

单片机 ir 单片机IO的常用驱动与隔离电路的设计

小编 2024-11-24 技术文档 23 0

单片机IO的常用驱动与隔离电路的设计

随着微电子技术和计算机技术的发展,原来以强电和电器为主、功能简单的电气设备发展成为强、弱电结合,具有数字化特点、功能完善的新型微电子设备。在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易变。因此,一旦生产过程有所变动,就不必重新设计线路连线安装,有利于产品的更新换代和订单式生产。

传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关、操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。针对电气控制产品的特点,本文讨论了几种单片机I/O的常用驱动和隔离电路的设计方法,对合理地设计电气控制系统,提高电路的接口能力,增强系统稳定性和抗干扰能力有实际指导意义。

1、 输入电路设计

图1 开关信号输入

一般输入信号最终会以开关形式输入到单片机中,以工程经验来看,开关输入的控制指令有效状态采用低电平比采用高电平效果要好得多,如图1如示。当按下开关S1时,发出的指令信号为低电平,而平时不按下开关S1时,输出到单片机上的电平则为高电平。该方式具有较强的耐噪声能力。

若考虑到由于TTL电平电压较低,在长线传输中容易受到外界干扰,可以将输入信号提高到+24 V,在单片机入口处将高电压信号转换成TTL信号。这种高电压传送方式不仅提高了耐噪声能力,而且使开关的触点接触良好,运行可靠,如图2所示。其中,D1为保护二极管,反向电压≥50 V。

图2 提高输入信号电平

图3 输入端保护电路

为了防止外界尖峰干扰和静电影响损坏输入引脚,可以在输入端增加防脉冲的二极管,形成电阻双向保护电路,如图3所示。二极管D1、D2、D3的正向导通压降UF≈0.7 V,反向击穿电压UBR≈30 V,无论输入端出现何种极性的破坏电压,保护电路都能把该电压的幅度限制在输入端所能承受的范围之内。即:VI~VCC出现正脉冲时,D1正向导通;VI~VCC出现负脉冲时,D2反向击穿;VI与地之间出现正脉冲时,D3反向击穿;VI与地之间出现负脉冲时,D3正向导通,二极管起钳位保护作用。缓冲电阻RS约为1.5~2.5 kΩ,与输入电容C构成积分电路,对外界感应电压延迟一段时间。若干扰电压的存在时间小于τ,则输入端承受的有效电压将远低于其幅度;若时间较长,则D1导通,电流在RS上形成一定的压降,从而减小输入电压值。

此外,一种常用的输入方式是采用光耦隔离电路。如图4所示,R为输入限流电阻,使光耦中的发光二极管电流限制在10~20 mA。输入端靠光信号耦合,在电气上做到了完全隔离。同时,发光二极管的正向阻抗值较低,而外界干扰源的内阻一般较高,根据分压原理,干扰源能馈送到输入端的干扰噪声很小,不会产生地线干扰或其他串扰,增强了电路的抗干扰能力。

图4 输入端光耦隔离

在满足功能的前提下,提高单片机输入端可靠性最简单的方案是: 在输入端与地之间并联一只电容来吸收干扰脉冲,或串联一只金属薄膜电阻来限制流入端口的峰值电流。

2、 输出电路设计

单片机输出端口受驱动能力的限制,一般情况下均需专用的接口芯片。其输出虽因控制对象的不同而千差万别,但一般情况下均满足对输出电压、电流、开关频率、波形上升下降速率和隔离抗干扰的要求。在此讨论几种典型的单片机输出端到功率端的电路实现方法。

2.1 直接耦合

在采用直接耦合的输出电路中,要避免出现图5所示的电路。

图5 错误的输出电路

T1截止、T2导通期间,为了对T2提供足够的基极电流,R2的阻值必须很小。因为T2处于射极跟随器方式工作,因此为了减少T2损耗,必须将集射间电压降控制在较小范围内。这样集基间电压也很小,电阻R2阻值很小才能提供足够的基极电流。R2阻值过大,会大幅度增加T2压降,引起T2发热严重。而在T2截止期间,T1必须导通,高压+15 V全部降在电阻R2上,产生很大的电流,显然是不合理的。另外,T1的导通将使单片机高电平输出被拉低至接近地电位,引起输出端不稳定。T2基极被T1拉到地电位,若其后接的是感性负载,由于绕组反电势的作用,T2的发射极可能存在高电平,容易引起T2管基射结反向击穿。

图6为一直接耦合输出电路,由T1和T2组成耦合电路来推动T3。T1导通时,在R3、R4的串联电路中产生电流,在R3上的分压大于T2晶体管的基射结压降,促使T2导通,T2提供了功率管T3的基极电流,使T3变为导通状态。当T1输入为低电平时,T1截止,R3上压降为零,T2截止,最终T3截止。R5的作用在于: 一方面作为T2集电极的一个负载,另一方面T2截止时,T3基极所储存的电荷可以通过电阻R3迅速释放,加快T3的截止速度,有利于减小损耗。

图6 直接耦合输出电路

2.2 TTL或CMOS器件耦合

若单片机通过TTL或CMOS芯片输出,一般均采用集电极开路的器件,如图7(a)所示。集电极开路器件通过集电极负载电阻R1接至+15 V电源,提升了驱动电压。但要注意的是,这种电路的开关速度低,若用其直接驱动功率管,则当后续电路具有电感性负载时,由于功率管的相位关系,会影响波形上升时间,造成功率管动态损耗增大。

为了改善开关速度,可采用2种改进形式输出电路,如图7(b)和图7(c)所示。图7(b)是能快速开通的改进电路,当TTL输出高电平时,输出点通过晶体管T1获得电压和电流,充电能力提高,从而加快开通速度,同时也降低了集电极开路TTL器件上的功耗。图7(c)为推挽式的改进电路,采用这种电路不但可提高开通时的速度,而且也可提高关断时的速度。输出晶体管T1是作为射极跟随器工作的,不会出现饱和,因而不影响输出开关频率。

图7 TTL或CMOS器件输出电路

2.3 脉冲变压器耦合

脉冲变压器是典型的电磁隔离元件,单片机输出的开关信号转换成一种频率很高的载波信号,经脉冲变压器耦合到输出级。由于脉冲变压器原、副边线圈间没有电路连接,所以输出是电平浮动的信号,可以直接与功率管等强电元件耦合,如图8所示。

图8 脉冲变压器输出电路

这种电路必须有一个脉冲源,脉冲源的频率是载波频率,应至少比单片机输出频率高10倍以上。脉冲源的输出脉冲送入控制门G,单片机输出信号由另一端输入G门。当单片机输出高电平时,G门打开,输出脉冲进入变压器,变压器的副线圈输出与原边相同频率的脉冲,通过二极管D1、D2检波后经滤波还原成开关信号,送入功率管。当单片机输出低电平时,G门关闭,脉冲源不能通过G门进入变压器,变压器无输出。

这里,变压器既传递信号,又传送能量,提高了脉冲源的频率,有利于减轻变压器的体重。由于变压器可通过调整电感量、原副边匝数等来适应不同推动功率的要求,所以应用起来比较灵活。更重要的是,变压器原副边线圈之间没有电的联系,副线圈输出信号可以跟随功率元件的电压而浮动,不受其电源大小的影响。

当单片机输出较高频率的脉冲信号时,可以不采用脉冲源和G门,对变压器原副边电路作适当调整即可。

2.4 光电耦合

光电耦合可以传输线性信号,也可以传输开关信号,在输出级应用时主要用来传递开关信号。如图9所示,单片机输出控制信号经缓冲器7407放大后送入光耦。R2为光耦输出晶体管的负载电阻,它的选取应保证: 在光耦导通时,其输出晶体管可靠饱和;而在光耦截止时,T1可靠饱和。但由于光耦响应速度慢使开关延迟时间加长,限制了其使用频率。

图9 光耦输出电路

结语

单片机接口技术在很多文献中均有详细的介绍,但在对大量电气控制产品的改造和设计中,经常会碰到用接口芯片所无法解决的问题(如驱动电流大、开关速度慢、抗干扰差等),因此必须寻求另一种电路解决方案。上述几种输入/输出电路通过广泛的应用表明,其对合理、可靠地实现单片机电气控制系统具有较高的工程实用价值。

2022年学习单片机必备基础,想入门先看这篇文章

今天呢,我们再来讲一下,我们为什么要学单片机?2

单片机,到底是学些什么东西?

单片机就是对我们I/O口的一个控制,无论单片机对外界进行何种控制,都是通过我们单片机的I/O口来进行操作的。

所以我们学单片机也就是学我们这个I/O的一个操作,还有就是接受外部的一个控制,通过I/O来感受外部的一个电压。

通过单片机来接收外部的一个输入信号,也就是通过我们的I/O口来感受外部的一个电压,一个变化,我们也要学。

51单片机,它总共有P0 P1 P2 P3这四个八位的双向输入输出端口。

这里要注意,我们单片机这四个I/O口它可以作为双向使用,也就是说可以进行输入也可以作为输出。

每个端口呢,都有储存器,输出驱动器和输入缓冲器。

I/O内部的一个电路的四个I/O端口呢,都能作为输入输出口使用,也就是说我们这个P0 P1 P2 P3这四个端口呢,都可以作为输入和输出使用。

总的来说学单片机这个I/O口的一个控制,以及单片机内部的一些资源的一些使用,比如说定时器中断,这个也是在学51单片机中的一个难点。

我们再来看一下单片机I/O口内部的一个结构,它是怎么样的?这里有三种,一种是准双向的I/O口,还有一个是开漏输出的I/O,还有是强推挽输出的I/O。

我们51单片机通常使用的是这两种。I/O口使用这两种,一种是准双向的I/O,另外一种是开漏输出的I/O。

开漏输出是针对我们51单片机的P0口,51单片机P0口呢,他没有上拉电阻,所以他要输出高电频的话,他必须外部来接一个上拉才能输出一个低电频或者是高电频。

而准双向I/O,他内部已经上拉了一个电阻所以他直接可以输出高电频和低电频,不需要外部加。

单片机P0口,他是开漏输出的I/O,P1 P2 P3,它都是准双向的一个I/O,也就是说都是内部具有上拉电阻的。而P0口呢,它是没有上拉电阻的,他必须要通过外接一个上拉才能进行输出。

我们看一下他怎么来输出高低电频的,这是我们内部单片机内部的一个输出口,假设我们输出内部输出一个高电频,经过一个反向器变成低电频,反向器就是将我们高电频变成低电频,低电频变成高电频,这样一个反向的一个作用,然后通过上拉电阻,电压过来就输出一个高电频。

漏极开漏的一个I/O呢,它没有上拉,如果要输出高电频的话,这个I/O口它是没有输出信号的,如果要让他输出信号,你必须外部接一个上拉电阻,这样的话他才会输出一个高电频,如果输出低电频的话,那么这里是高电频,高电频的话呢,那么电频过来可以输出低电频,但是他不能输出高电频,这里大家要注意。

不确定的信号,通过这个上拉电阻来让它实现高电频,也就是说这样可以起到防干扰的一个作用,然后呢,就是这个电阻可以起到限流的作用,因为这个上拉电阻,电流分流分开来了,所以他起到一个限流的一个作用。

那么下拉呢,假设我们这个I/O口,这是我们内部的一个输出,经过一个反向器过来输出过来是一个上拉电阻

我们再来看一下上拉电阻它有什么好处,在OC门要输出高电频的时候呢,外部必须加上拉电阻,这个OC门,就是我们前面说到的一个漏极开漏输出的电路,所以刚才我们也已经讲了,这里必须要加上拉电阻才能输出高电频。

P0口要接上拉电阻,然后加上拉电阻之后还可以加大我们普通I/O口的驱动能力,就是提高我们的一个驱动,让我们I/O口驱动能力更大,然后还可以起到一个限流的作用,刚才已经讲了,还有一个是防干扰,防电磁干扰,因为这个上拉电阻可以把我们不确定那个信号,通过这个电阻呢,拉到高电频。

我们再来看一下上下拉电阻的一个选择原则。

从降低功耗方面考虑呢,因为电阻越大,电流越小,因为根据欧姆定律可以知道I等于U除以R,电阻越大,那么电流就越小。

从确保足够的引脚驱动能力考虑,应该是要让这个上拉电阻足够的小,因为电阻越小呢,电流才越大,同样是根据这个欧姆定律。

开漏输出的时候过大的上拉电阻会导致信号上升沿变缓,前面我们讲了OC门电路,这个P0口要加上拉电阻,上拉电阻,如果选择的过大的话,它会导致我们上升沿变得缓慢,

这是我们理想的情况下的一个上升沿,上升沿就是从我们的电频变成高电频。

上拉电阻阻值较小的时候呢,他上升信号变化的时候变换就比较快,如果是上拉电阻比较大的话呢,那么它的信号变化呢,他的时间就比较长。

所以通常呢,我们在选择上拉电阻的时候呢,通常是4.7K到10K左右,我们开发版也接着就是10K的一个电阻增加我们的一个驱动能力,以及防干扰这些功能。

单片机的一个介绍呢,我们就讲到这里。

免费领!单片机入门到高级开挂学习路径(附教程+工具)

从这节课开始,大家已经认识到了单片机,并且知道学习单片机要学习哪些东西。快找我领取资料,开启导师一对一互动,开启单片机世界的大门!

相关问答

用AD采样电流 单片机 控制?

另外要注意电阻上的功率是很大的,它要达到P=UI=5*20=100W。看来只能使用瓷管电阻了。这么高的参考电压用在这个场合,电流还这么大,十分不推荐。如果可以的话...

单片机 rr 是什么指令?

RR在汇编中是移位类指令,是不带进位的循环右移,而RRC是带进位的循环右移。RRRoadRunner(简称RR)是易驰车载电脑中可选配程式,用来管理软硬件资源的中控软...

什么是 单片机 ?

单片机不是执行特定逻辑功能的芯片,而是将计算机系统集成到芯片上的芯片。它等效于微型计算机。与计算机相比,单芯片计算机仅缺少I/O设备。简而言之:芯片变成...

单片机 txrx属于哪个端口?

单片机上的TX和RX通常是指串口通信的发送引脚和接收引脚。具体来说,TX表示发送引脚,RX表示接收引脚。在单片机中,串口通信通常使用全双工的方式进行数据传输...

51 单片机 p0口功能?

做基本I/O口使用。CPU发出的控制信号为低电平,使多路控制开关MUX接通B端,即与输出锁存器的“!Q”连接,同时使与门输出为低电平,场效应管Q1截止。当P0输出数...

单片机 外中断实验实验四外中断P1.0~P1.7接8个发光二极管,管...

[最佳回答]问题:提问者并未陈述相关待解决问题。1.未陈述是否通过代码实现。2.若通过代码实现,未陈述通过何种语言实现。3.未陈述单片机类型。4.未陈述发...

单片机 中txrx怎么发送和收数据?

单片机中的TX和RX分别代表串口的发送和接收引脚,因此要发送或接收数据,需要进行如下操作:1.发送数据:将要发送的数据写入到UART的数据寄存器中,然后触发发...

单片机 MOV R 0,A.和MOV @R0,A的区别?

MOVA,@R0是将R0保存的地址中的值传送给累加器AMOVA,R0是将R0的值传送给累加器A。比如:MOV30H,#55HMOVR0,#30HMOVA,@R0此时A=55HM...

单片机 auxr显示错误?

是系统出故障进不去造成的是系统出故障进不去造成的

单片机 开关元器件名称?

1.电阻固定电阻:RES半导体电阻:RESSEMT电位计;POT变电阻;RVAR可调电阻;res12.电容定值无极性电容;CAP定值有极性电容;CAP半导体电容:CAPSEMI可调...

猜你喜欢