集电极开路输出我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极c跟发射极e之间相当于断开),所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。再看图三。图三中那个1k的电阻即是上拉电阻。如果开关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k电阻上的压降也为0,所以输出端的电压就是5v了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1kω),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。所以,如果要达到一定的电压的话,r就不能太小。如果r真的太小,而导致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。如果我们将一个读数据用的输入端接在输出端,这样就是一个io口了(51的io口就是这样的结构,其中p0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于p0口来说,就是高阻态了。对于漏极开路(od)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,oc就变成了od,原理分析是一样的。另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起oc或者od来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的oc或od输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,avr单片机的一些io口就是这种结构。什么是上拉电阻?下拉电阻?在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。1.电阻作用:(1)接电阻就是为了防止输入端悬空(2)减弱外部电流对芯片产生的干扰(3)保护cmos内的保护二极管,一般电流不大于10ma(4)上拉和下拉、限流(5)改变电平的电位,常用在ttl-cmos匹配(6)在引脚悬空时有确定的状态(7)增加高电平输出时的驱动能力。(8)为oc门提供电流1)那要看输出口驱动的是什么器件,如果该器件需要高电压的话,而输出口的输出电压又不够,就需要加上拉电阻。2)如果有上拉电阻那它的端口在默认值为高电平你要控制它必须用低电平才能控制如三态门电路三极管的集电极,或二极管正极去控制把上拉电阻的电流拉下来成为低电平。反之,(9)尤其用在接口电路中,为了得到确定的电平,一般采用这种方法,以保证正确的电路状态,以免发生意外,比如,在电机控制中,逆变桥上下桥臂不能直通,如果它们都用同一个单片机来驱动,必须设置初始状态.防止直通!2、定义:l上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理!l上拉是对器件注入电流,下拉是输出电流l弱强只是上拉电阻的阻值不同,没有什么严格区分l对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。3、为什么要使用拉电阻:l一般作单键触发使用时,如果ic本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在ic外部另接一电阻。l数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定!l一般说的是i/o端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,i/o端口的输出类似与一个三极管的c,当c接通过一个电阻和电源连接在一起的时候,该电阻成为上c拉电阻,也就是说,如果该端口正常时为高电平,c通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,作用吗:比如:当一个接有上拉电阻的端口设为输如状态时,他的常态就为高电平,用于检测低电平的输入。l上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是你同学说的灌电流线驱动(差动输出)线驱动器是一个源电流输出器件。在导通状态时,线驱动器输出为电源(vcc);在关断状态时,输出悬空。因此,线驱动器需要一个灌电流输入接口。下面表格中给出了一个简单的线驱动器的原理图。差动输出(欧姆龙称为线性驱动输出)线性驱动输出就是根据rs-422a的数据输送回路。可通过双股搅合线电缆进行长距离输送集电极开路集电极开路电路是灌电流输出器件。在关断状态时,集电极开路输出连到地;在导通状态时,集电极开路输出悬空。因此,集电极开路输出需要一个源电流输入接口。下面表格中给出了一个简单的集电极开路输出电路的原理图。推挽式推挽式输出结合了线驱动与集电极开路输出,在关断状态时,推挽式输出接地;在导通状态时,推挽式输出连到电源(vcc)。推挽输出(欧姆龙称为互补输出)输出回路有2种,即npn与pnp2种晶体管输出。根据输出信号h或l,2种晶体管输出互相交叉进行on或off动作,使用时,正电源,0v分别为吸合,拉下互补输出是输出电流流出或流入2种动作,特征是信号的上升、下降速度快,可进行导线的长距离延长。可与开路集电极输入机器(npn/pnp)连接,另外还可以连接到电压输入机器上。但是为了能更好的发挥未来的性能,一般推荐在电压输入机器上使用电压输入的编码器。漏型输入所谓“漏型输入”,是一种由plc内部提供输入信号源,全部输入信号的一端汇总到输入的公共连接端com的输入形式。又称为“汇点输入”。、输入传感器为接近开关时,只要接近开关的输出驱动力足够,漏型输入的plc输入端就可以直接与npn集电极开路型接近开关的输出进行连接但是,当采用pnp集电极开路型接近开关时,由于接近开关内部输出端与0v间的电阻很大,无法提供电耦合器件所需要的驱动电流,因此需要增加“下拉电阻”。如图。增加下拉电阻后应注意,此时的plc内部输入信号与接近开关发信状态相反,即接近开关发信时,“下拉电阻”上端为24v,光电耦合器件无电流,内部信号为“0”;未发信时,plc内部dc24v与0v之间,通过光电耦合器件、限流电阻、“下拉电阻”经公共端com构成电流回路,输入为“1”。下拉电阻的阻值主要决定于plc输入光电耦合器件的驱动电流、plc内部输入电路的限流电阻阻值。通常情况下,其值为1.5—2kω,计算公式如下:第一种公式:r≤[(ve-0.7)/ii]-ri式中:r——下拉电阻(kω)ve——输入电源电压(v)ii——最小输入驱动电流(ma)ri——plc内部输入限流电阻(kω)公式中取发光二极管的导通电压为0.7v。第二种公式:下拉电阻≤[输入限流电阻/(最小on电压/24v)]-输入限流电阻源型输入所谓“源型输入”,是一种由外部提供输入信号电源或使用plc内部提供给输入回路的电源,全部输入信号为“有源”信号,并独立输入plc的输入连接形式。输入传感器为接近开关时,只要接近开关的输出驱动力足够,源型输入的plc输入端就可以直接与pnp集电极开路型接近开关的输出进行连接。相反,当采用npn集电极开路型接近开关时,由于接近开关内部输出端与24v间的电阻很大,无法提供电耦合器件所需要的驱动电流,因此需要增加“上拉电阻”。如图。增加下拉电阻后应注意,此时的plc内部输入信号与接近开关发信状态相反,即接近开关发信时,“上拉电阻”上端为0v,光电耦合器件无电流,内部信号为“0”;未发信时,plc内部dc24v与0v之间,通过光电耦合器件、限流电阻、“上拉电阻”经公共端com构成电流回路,输入为“1”。上拉电阻的阻值主要决定于plc输入光电耦合器件的驱动电流、plc内部输入电路的限流电阻阻值。通常情况下,其值为1.5—2kω,其计算公式与下拉电阻计算公式相同。增长共性或减少共性取决于连接的设备。漏型有减少共性,打开时电流从负载流向单元。源型正相反,共性增加,电流从单元流向负载。以上资料来源于网络,本人只是加以集合,以便应用。s7-200plc既可接漏型,也可接源型,而300plc一般是源型,欧美一般是源型,输入一般用pnp的开关,高电平输入。而日韩好用漏型,一般使用npn型的开关也就是低电平输入。所以选择plc的模块是要分清源型还是漏型的。使用伺服的时候也应注意是线驱动,还是oc输出,因为这跟上位运动控制器有直接的联系。