单片机如何检测市电通断?(应用甚广~)

我们在topemic网站上分享过一篇题为"单片机检测220V交流电通断电路"的文章,目前有近万次阅读,在这里做个总结分享给没有读过该文的公众号朋友。

废话不多说,直接上图:

该电路工作原理如下:

  1. 当220V断开时,光耦不导通,SIG_IN1为高电平

  2. 当220V导通时,在交流电的正半周期,光耦导通,3和4脚近似短路,SIG_IN1为低电平;在交流电的负半周期,光耦不导通,此时SIG_IN1电压为多少呢? 注意并不是高电平,原因是电容要充电,需要一定的时间,时间常数约为t=R30 * C17=100K * 2.2uF=0.22s。而220V交流电频率为50Hz,周期为0.02s,负半周时间只有0.01s,在这个时间内,电容远远没有充满电,所有对单片机来说还是低电平。这样就实现了在220V断开时单片机检测为高电平,在220V导通时单片机检测为低电平的逻辑。

附上实际测量的波形:光耦1脚和SIG_IN1波形图

可以看到在220V导通期间,由于C17不断的充电、放电,电压是一个较低的值,对单片机IO来说是低电平。

针对该电路,有很多网友提出了非常好的问题,在这里把问题和解答也分享给大家。

问题1:图中已经有了D5( 1N4007),反向等于是截止的,那么D8(1N4148)是否多余呢?

回答:反向电压时,理论是截止,完全关断的,但是实际总会有漏电流,加上D8,可以保证落在光耦反向压降不大于1N4148导通压降,防止反向击穿。


问题2:使用PC817的时候,“IN4148的作用是保护光耦不被反向电压击穿”,这个IN4148一定需要吗???

回答:可以不加。理论上1N4007在加反向电压时应该马上截止,但实际上它并不是马上截止的,而是需要一个很短的时间 (反向恢复时间),虽然这个时间很短(1-2us), 但在这个时间会有反方向电压加到光耦输入端,我没有测试过会不会造成损坏,但毕竟是隐患。快速导通二极管1N4148可以防止反向电压引起的损坏。


问题3:保留D8,去掉D5是否可以?

回答:正常是可以的,但是有D5肯定保险一些。反向电压会使D8导通,但毕竟需要压差和时间。有可能会把光耦反向击穿。


问题4:R30,C17可以去掉吗?不接VCC,直接进MCU?

回答:直接进MCU,利用MCU里面的上拉电阻是可以的,如果还是用上面的检测原理,那么外面加一个电容即可。如果把电容也去掉,需要MCU通过软件去判断50Hz的高低电平来判断220V是否通断。


问题5:2.2uf的贴片电容,在持续的充放电,一直在不停的充放电,会导致使用寿命很短吗?

回答:充放电不会影响电容寿命。比较常见的是电解电容在高温下失效。


问题6:如果不用PC817,而是用PC814双向光耦,是否可以?是否能简化电路?

回答:可以,就是成本上会稍高一些。


问题7:R33(100K)和R39(100K)分别置于L,N上,跟一个电阻200K至于一个交流线上,这样有什么好处吗?在安全距离满足的情况下,我觉得是一样的效果,不知,这样的理解是否正确。

回答:2个电阻,每个电阻的功率是1个电阻的一半,电阻选型时就不需要那么大的额定功率了。用两个100K还有一个好处是,把弱电和强电部分隔离开,安全性增强了。


问题8:想请问,电容充满后,往哪放电,如果把电容放在接入220V之后,光耦之前呢?效果会如何?

回答:在交流电的正半周,PC817内部的LED发光,此时充满电的电容就会通过PC817内部的光敏三极管放电。放电电流从PC817的4脚,经光敏三极管,流到3脚,也就是地(同时也是电容另一极)。电容放到光耦前面理论上应该也是可以的,但对电容耐压要求会高好多,成本更高一些。


问题9:这个电路可以用于检测220V直流电的通断吗

回答:当然是可以的。


问题10:你好,我按这个电路连接后,电路中的电流只有零点几毫安,PC817没工作呀

回答:现在的电流大约0.5mA,不过在我这边使用的PC817是可以正常工作的。你的没法工作,那你尝试减小电阻使其电流工作在20mA左右,具体参考你选用的PC817的芯片手册。这个电流同时会影响后端C17电容的放电速度。另外要考虑电阻封装,由于电阻的电压和功率较大,要保证不超过额定值,防止爆了。


推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

嵌入式Linux

微信扫描二维码,关注我的公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32项目(三)——通用LIN控制器

STM32——通用LIN控制器 宗旨:技术的分享是有限的,分享的精神是无限的。 需求: LIN马达控制器:AFS(DHLAFL)——弯道辅助照明系统 DHL:上极限,下极限,零位,马…

精妙的SQL语句收藏

说明&#xff1a;复制表(只复制结构,源表名&#xff1a;a 新表名&#xff1a;b)select * into b from a where 1<>1说明&#xff1a;拷贝表(拷贝数据,源表名&#xff1a;a 目标表名&#xff1a;b)insert into b(a, b, c) select d,e,f from b;说明&#xff1a;日程安排提…

hihoCoder #1758 加减

$\DeclareMathOperator{\lowbit}{lowbit}$ 题目大意 对于一个数 $x$&#xff0c;设它最低位的 1 是第 $i$ 位&#xff0c;则 $\lowbit(x)2i$ 。 例如 $\lowbit(5)1$&#xff0c;$\lowbit(12)4$ 。 定义对 $x$的一次变换为&#xff1a;有 50% 的概率变成 $x\lowbit(x)$&#xff…

十年经验工程师为何被裁?

事件去年年底&#xff0c;公司来了一位工作十余年的工程师&#xff0c;据说软件硬件都会&#xff0c;应聘的岗位是XX算法工程师。比较巧的是&#xff0c;这位工程师是我上一家公司隔壁部门的同事。我们均来自大厂&#xff0c;但是是国企&#xff0c;二线城市。所以尽管他在前公…

飞康CEO:敢于向传统的灾备法则说“不”

近日&#xff0c;借美国飞康软件公司创办人兼首席执行官胡艾瑞徵先生访华期间&#xff0c;比特网记者对其进行了独家专访。 飞康软件公司成立于2000年&#xff0c;在过去的9年中&#xff0c; IPStor已经发展成为飞康包括整合重复数据删除功能的虚拟磁带库(VTL)、持续数据保护(C…

STM32项目(四)——暗室网关

STM32项目&#xff08;四&#xff09;——暗室网关 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 需求&#xff1a; 采集环境箱温度&#xff0c;采集20个通道的电流值&#xff0c;点灯节拍控制&#xff1b;&#xff08;上位机服务器端复杂&#xff09…

做10多年测试的老何

题图&#xff1a;老何是我的同事&#xff0c;他也喜欢篮球&#xff0c;因为篮球&#xff0c;我们两的话题比较多。老何做了十几年的测试工作。我们比较有猿粪的是&#xff0c;12年我在TCL&#xff0c;当时他也在TCL工业研究院&#xff0c;我们两的办公室也就相邻两栋楼。不过那…

[紧急问题和解决方案] 无法打开被权限管理服务(RMS)加密的Office 2003文档

在2009年12月11号以后&#xff0c;我们发现了关于“无法打开被‘权限管理服务’&#xff08;RMS&#xff09;加密的Office 2003文档”的紧急问题。为了避免对您的业务任何可能的影响&#xff0c;特提前向您介绍症状和解决方案如下&#xff1a;<?xml:namespace prefix o ns…

STM32项目(五)——智能回收箱

智能回收箱 智能回收箱功能&#xff1a; 智能废旧回收箱定位&#xff08;GPRS/GPS&#xff09;。 回收箱异常开门报警、重量超限报警、容量超限报警&#xff0c;电量低下报警等&#xff08;信息/邮件&#xff09;。 废旧物品投递时先刷卡&#xff0c;显示卡号等信息确认无误后可…

推荐一个C++大佬

这里向大家推荐一个优质C公众号&#xff0c;号主程序喵&#xff0c;硕士毕业&#xff0c;浸淫C多年&#xff0c;帮助过不少C新手入门和进阶&#xff0c;可以说一句“精通C”啦。他搞过人脸识别&#xff0c;研究过自动驾驶&#xff0c;人生就是不断的挑战自我&#xff0c;现在从…

浮点数保留n位小数

p 1.234 p round(p,2) print(p) # 1.23 #round(你要操作的数,保留几位)转载于:https://www.cnblogs.com/liangying666/p/9161711.html

Silverlight HLSL实现背景滚动

一个Silverlight HLSL的简单例子&#xff0c;通过HLSL实现图片上的像素点的的水平移动&#xff0c;从而实现一个滚动背景的效果。 首先把Shader写出来吧。我这里借助了Shazzam &#xff0c;界面如下&#xff1a; 下面是我的HLSL&#xff1a; sampler2D input : register(s0);//…

极简的 PNG 编码函数 svpng(),用来学习C语言,真的很爽

这个是在知乎上看到的大神写的文章&#xff0c;如果是学习C语言入门的&#xff0c;我觉得可以从这个入手&#xff0c;特别是对图像感兴趣的。文章中提到的「我」&#xff0c;指的是「Milo Yip」大神。1. 什么是png格式图片&#xff1f;相对地&#xff0c;PNG&#xff08;Por…

STM32项目(六)—— 中文电子捡货标签

STM32项目&#xff08;六&#xff09;—— 中文电子捡货标签 宗旨&#xff1a;技术的分享是有限的&#xff0c;分享的精神是无限的。 传统物流行业仓储拣货采用纸单作业&#xff0c;拣货完成后再进行验货、出货&#xff0c;容易造成拣货错误、拣货速度与效率低、新员工培训时间…

如何把Linux工具里的“军刀”BusyBox移植到RT-Thread Smart?

RT-Thread Smart 系列连载序号内容1《当“树莓派”遇上RT-Thread Smart——应用编程入门》2《RT-Thread Smart和树莓派&#xff1a;wget & cURL网络客户端》3《如何把Linux工具里的“军刀”BusyBox移植到RT-Thread Smart&#xff1f;》4sdl图形类应用5dropbear及ssh server…

bzoj3195 [Jxoi2012]奇怪的道路——状压DP

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id3195 看到数据范围就应该想到状压呢... 题解(原来是这样)&#xff1a;https://www.cnblogs.com/LadyLex/p/7252789.html 代码如下&#xff1a; #include<iostream> #include<cstdio> #include&l…

Google Maps API 进级: GoogleMaps常用事件及应用思路1

转自&#xff1a;http://hi.baidu.com/xfm_zhr/blog/item/8c1790517e87ea888d54302a.html1. GoogleMaps常用事件及应用思路 地图再被鼠标拖动时&#xff0c;GMap2对象会激发dragstart,drag,dragend等事件。 示例&#xff1a;动态显示地图的中心位置。 //更新信息&#xf…

STM32项目(七) —— 智能仓库管理系统

智能仓库管理系统 随着经济的发展&#xff0c;对企业的生产经营要求提高&#xff0c;企业必须综合利用各种先进技术&#xff0c;在网络与信息技术的支持下&#xff0c;改进现在的生产经营模式和组织结构&#xff0c;增加利润。随着企业规模的扩大。高效方便的仓库管理系统&…

花三千块钱求推荐一个靠谱的C++工程师

直接说重点有个朋友想招一个C工程师&#xff0c;因为项目的原因&#xff0c;不可能现在招新人培养&#xff0c;想招到一个熟练C的工程师&#xff0c;所以想在公众号里面广而告之。如果是你推荐的人入职后&#xff0c;就可以获得三千奖励&#xff0c;如果是你本人入职&#xff0…

Linux服务器安全设置总结

众所周知&#xff0c;网络安全是一个非常重要的课题&#xff0c;而服务器是网络安全中最关键的环节。Linux被认为是一个比较安全的Internet服务器&#xff0c;作为一种开放源代码操作系统&#xff0c;一旦Linux系统中发现有安全漏洞&#xff0c;Internet上来自世界各地的志愿者…