我们在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」获取学习资料网盘链接。

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

单片机检测220V交流电通断电路相关推荐

  1. 你问我答,单片机检测220V交流电通断电路

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

  2. 单片机检测220v交流电通断

    大家在实际项目中可能会有这样的需求:需要检测220V交流电通和断两种状态,用单片机识别出来. 网上有很多人讨论此问题,但是并没有一个经过验证的实际使用的电路,本文将项目中的一个电路分享出来,供大家使用 ...

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

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

  4. 单片机检测信号通断通用电路(3.3V/5V直流信号,24V+直流信号,220V交流信号)

    在实际的电路设计中,往往需要用到单片机检测某些信号通断,检测电压有无. 在一定的范围内,比如3.3V的直流信号,单片机的IO是可以直接连接信号检测的, 但是往往实际信号各种各样,24V/48V直流,2 ...

  5. 弱电怎么控制强电/怎么用单片机来控制交流电220V通断

    弱电怎么控制强电/怎么用单片机来控制交流电220V通断 一.搜索方案 二.教学视频 强电 弱电 一.搜索方案 最简单的弱点控制强电的办法就是继电器控制 通过5V,12V,24V等低电压控制继电器线圈吸 ...

  6. 单片机IO口控制12V电压通断,MOS和三极管电路

    POWER_EN为高电平时,Q2导通,使得Q1sg两端有压差,达到Q1的导通电压,此时Vin输出到Vout,这个Vin可以是12V POWER_EN为低电平时,Q2截止,使得Q1sg两端没有压差,Q1 ...

  7. 单片机C51使用两个按键控制继电器开关通断

    本教程实现了使用89C51控制按键开关,通过继电器间接控制380v交流电的通断,进而控制空调的电流的通断,实现节能减排的功效.使用1个继电器开关botton1控制继电器开的状态,1个继电器开关bott ...

  8. 基于单片机的CO浓度检测及报警系统设计(电路+程序流程)

    博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...

  9. 单片机C51使用一个按键控制继电器开关通断

    既上一次发布博文,这一次发表的文章是对上一篇博文的补充改进.本着优化算法的原则,硬件简化后,软件便会变得复杂.硬件部分使用一个按键控制继电器的通断情况,按下按键,单片机判断当前继电器的通断情况.如果当 ...

最新文章

  1. ffmpeg php 抠像_PHP中使用ffmpeg截取视频图片笔记
  2. fputc会覆盖吗_深覆盖 VS 深覆合如何区分?这一篇看完就都明白了!
  3. java treemap_Java TreeMap firstEntry()方法及示例
  4. 物理服务器向虚拟化无缝对接,服务器虚拟化下的网络变迁
  5. TS Decorator
  6. 将Notepad++配置为Python编译器
  7. JavaScript格式化金额及格式化输出
  8. 大数据分析中常用的方法有哪些
  9. 责任分配矩阵和raci的区别_数字音频处理器和调音台的区别是什么
  10. log4j配置文件位置详解
  11. Itext对pdf模板进行电子签名
  12. 概要、详细设计文档内容简述
  13. LoRa网关与服务器通信——MQTT
  14. matlab关于图像切割的一些总结:imcrop,getrect,ndgrid,函数
  15. 系统命名法(IUPAC命名法)
  16. 苹果电脑构建XLua的arm64-v8a、armeabi-v7a、x86等的so库,
  17. 歌德巴赫猜想:任意一个大于等于6的偶数都能拆分为2个质数之和:如:8=3+5 求证6到1000内的所有偶数都成立
  18. Ubuntu中给手机安装apk文件
  19. 数据库操作出现Duplicate entry ‘测试‘ for key ‘uk_name‘问题
  20. docker-compose部署xxl-job-admin 分布式任务调度平台

热门文章

  1. Web Service 性能测试工具比较
  2. 精述IBM的MQTT协议和MQTT-S协议
  3. [华为机试练习题]60.水仙花数
  4. 前端翻译:Activating Browser Modes with Doctype
  5. maven 添加本地库
  6. quantaxis使用docker安装,解决了一个很奇特的问题
  7. pythonfillcolor_openpyxl 填充颜色(单元格)
  8. tornado学习笔记day06-应用安全
  9. jQuery之滚动事件$(window).scroll(function()
  10. python完成‘21点游戏’