开关量输入检测与输出的电路设计

  • 学习15428次

这是一个重磅资料,有经验的人喜欢藏着不告诉你,为了保持我的身份(电子设计经验分享第一人),我就给你透露一下。

问题由来:

两个板子之间要通过开关量通信,比如,我这个板子发现你那个板子是高电平,我就怎么样;我给你输出一个高电平,你那边的板子就怎么样。就是这么一个开关量通信的问题。

主要问题是:低电平肯定都是0,高电平就有可能是3.3V或者5V,甚至是12V。(这是由不同的厂家自己规定的,也没有一个统一的标准)

解决方案

接收对方电平的电路设计:

电平输入检测电路

分析:假设我现在用的单片机是3.3V的,所以我的单片机引脚接了一个10K的上拉电阻到3.3V。

如果对方电平输入是0V,由于肖特基二极管导通压降很小,我的单片机就会检测为低电平。

如果对方电平输入3.3V,5V,12V,总之只要是大于3.3V的电压,我的单片机测到的电压永远是3.3V,这样就不会由于输入单片机引脚的电平过高烧坏单片机。同时,由于BAT54C可以承受30V的反向电压,所以只要小于30V的电平都不会损坏BAT54C。

给对方高低电平的电路:

输出电平电路

分析:CON3的1脚接对方板子的高电平VCC,3脚接对方板子的地,2脚是输出的高低电平。

我的单片机引脚输出低电平,光耦导通,S8050基极接收低电平,不导通,对方接收到高电平,它接收到的高电平就是它要求的高电平,从而不会损坏对方的电路板。

我的单片机引脚输出高电平,光耦不导通,S8050基极接收高电平,导通,对方接收到低电平。

总结:电路虽然简单,但是可以解决大问题。

我已经把这篇文章做成PDF了,你可以下载到你的电脑保存了:

开关量输入检测与输出的电路设计

发表评论