首页 > 代码库 > schmitt trigger 施密特触发器 【数字电路】
schmitt trigger 施密特触发器 【数字电路】
schmitt trigger
Hey guys, Just think about this situation!
对于一个理想运放,信号从正极输入的时候,如果信号大于0,超过了线性区域,输出的Vout是Vmax,同理输入小于线性输出Vmin,那么输出将是Vmin。
如果输入信号有时候会和0,“暧昧一下”,在受噪声的干扰情况下,会短暂和0V交越。
输出此时就会发生很短暂的跳跃,这种跳跃是不好的,这使得Op对于0V电压太过于敏感,如下图中最下面的红色输入信号。实际中我们往往会留取一定的阈值,这时候schmitt trigger就出现鸟。
figure 1
施密特触发器利用了正反馈。
figure 2
注意,此时输入电压不再直接和Op的接口A接触(如figure 1所示),此时如figure 2 中所示,这里相当于把输入电压“移”到了R1的前面。这是个很重要的技巧。
由于添加了正反馈,这里什么时候会反生输出的电压翻转呢?以前没有正反馈的时候是0V,现在呢?
figure 3
当Va == 0 V,Vout == Vmax的时候,Vin = -(R1/R2)Vmax ,这里可以知道,当Vin是一个负电压的时候,由于R1 和R2的串联分压的作用就会使得Va电压为0,Vin小于这个值输出Vout就会翻转,否则Vout == Vmax。
当Va == 0 V,Vout == -Vmax的时候,只有当Vin是个正电压的时候,Va才会被串联分压为0V,继续增大才会使得Va大于0,从而使得Vout == Vmax
正是这种方式,实现了两个阈值电压,一个Vh,一个V l,大于Vh才跳转为Vmax,小于Vl才会跳转到-Vmax
简直是曲折,过了几天了,仿真才做好。。。之前输出结果一直不对
问题抛出去问了好多人。。。最后还是自己搞定了。
问题在于Multisim的virtual 模型有问题,用实物芯片模型即可,当然不同的芯片输出的效果可能也不同。
这里我用的LM741.很简单的运放
可以看出仿真效果还是很好的,输出电压的Vmax = 4V左右,(10K/40K)*Vmax = 1V 左右
不得不感叹。。。schmitt这家伙太聪明了。。。。
如果希望Vh 是负电压,而Vl是正电压呢?
可以对正反馈电路稍作修改。如图
figure 4
我用了两个1K的电阻,此时输出的Vmax在3.8V的样子,阈值电压 = Vmax * 1/(1+1) = 1.9V得到了很好的印证
如果希望移动对称阈值的中心点呢?
figure 5
Rf 我用的5K,Vmax 用的 4V(实际输出的方波能达到3.9V),用了1K和2K的电阻分别用来作为上图理论分析中的R1和R2.
于是Vh = 4*(1+1/5-1/2)/(1+1/5+1/2) = 1.647V(实际在1.53)
Vl = 4*(1-1/5-1/2)/(1+1/5+1/2) = 0.7059(实际在0.803) 可以看出还是吻合的很好的