搜索
bottom↓
回复: 46

交流过零检测,控制pwm实现调制如何实现呢?中断100次?

[复制链接]

出0入53汤圆

发表于 2020-12-14 15:20:10 | 显示全部楼层 |阅读模式
如题<交流过零检测,控制pwm实现调制如何实现呢?中断100次?>

在工频50hz 过零要100次,那么单片机要获取过零点来实现调制,难道只有让mcu在1s去中断100次,去置零计数器来实现脉宽调制,还有其他方法吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出235入235汤圆

发表于 2020-12-14 15:35:40 | 显示全部楼层
先获得准确的100次中断吧。这个问题解决了,软件好办了。

硬件已经有了吗

出0入53汤圆

 楼主| 发表于 2020-12-14 15:49:01 | 显示全部楼层
lyping1987 发表于 2020-12-14 15:35
先获得准确的100次中断吧。这个问题解决了,软件好办了。

硬件已经有了吗 ...

硬件有了,就是这个100次中断太占用资源了,还有好的办法吗

出235入235汤圆

发表于 2020-12-14 16:06:40 | 显示全部楼层
zhcj66 发表于 2020-12-14 15:49
硬件有了,就是这个100次中断太占用资源了,还有好的办法吗

100次中断还好吧。。。电路愿意分享学习吗?   我之前一个项目是用AD去读过零。

出0入0汤圆

发表于 2020-12-14 16:09:08 | 显示全部楼层
做什么用,越看越晕;
要输出一个和交流采样同步的PWM波形吗

出0入18汤圆

发表于 2020-12-14 16:15:05 | 显示全部楼层
100次 对于 MCU来说  很容易的事情   随便啥M0 都可以妥妥的完成

出0入8汤圆

发表于 2020-12-14 16:19:40 | 显示全部楼层
家电中 很多都是125us 中断来处理所有事物的。包含你说的 交流过零调整功率

出0入4汤圆

发表于 2020-12-14 16:29:18 | 显示全部楼层
kebaojun305 发表于 2020-12-14 16:19
家电中 很多都是125us 中断来处理所有事物的。包含你说的 交流过零调整功率 ...

是的,125us应该是顺便推蜂鸣器,每秒中断8K次

出55入66汤圆

发表于 2020-12-14 16:35:12 | 显示全部楼层
这种问题百度就有答案吧,简单的话就全桥+光耦

出0入53汤圆

 楼主| 发表于 2020-12-14 16:51:52 | 显示全部楼层
mcu5i51 发表于 2020-12-14 16:09
做什么用,越看越晕;
要输出一个和交流采样同步的PWM波形吗

220直流电机调速

出0入53汤圆

 楼主| 发表于 2020-12-14 16:53:26 | 显示全部楼层
lyping1987 发表于 2020-12-14 16:06
100次中断还好吧。。。电路愿意分享学习吗?   我之前一个项目是用AD去读过零。 ...

见图片            

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-12-14 17:19:26 | 显示全部楼层
10ms中断一次,对于单片机来说,洒洒水拉~。怕处理不过来就上主频更高的

出100入101汤圆

发表于 2020-12-14 17:26:16 来自手机 | 显示全部楼层
10ms,没有问题

出0入442汤圆

发表于 2020-12-14 17:48:33 来自手机 | 显示全部楼层
ahong2hao 发表于 2020-12-14 17:19
10ms中断一次,对于单片机来说,洒洒水拉~。怕处理不过来就上主频更高的 ...

10ms不算什么,我用stc跑到32mhz开到256khz中断交错采样adc再做合并然后串口1mbps出来都轻轻松松。。当然arm不一定能到这么高,毕竟51中断不用保存几个寄存器,而arm需要保存几十个。

出235入235汤圆

发表于 2020-12-14 18:53:18 | 显示全部楼层

ZERO脚的波形你量过吗?100HZ准确吗?

出0入0汤圆

发表于 2020-12-14 20:32:42 | 显示全部楼层
中断检测加定时器  8M的单片机轻松应付了

出0入0汤圆

发表于 2020-12-15 08:18:03 | 显示全部楼层
外部零点中断中复位定时器和IO,定时中断中置位IO,很轻松

出0入53汤圆

 楼主| 发表于 2020-12-15 08:32:02 | 显示全部楼层
lyping1987 发表于 2020-12-14 18:53
ZERO脚的波形你量过吗?100HZ准确吗?

数字补丁                        

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入53汤圆

 楼主| 发表于 2020-12-15 08:34:32 | 显示全部楼层
wye11083 发表于 2020-12-14 17:48
10ms不算什么,我用stc跑到32mhz开到256khz中断交错采样adc再做合并然后串口1mbps出来都轻轻松松。。当然 ...

看来stc还是比较牛掰的,最近他们出的stc8怎么样,看价格很低

出0入442汤圆

发表于 2020-12-15 09:11:44 来自手机 | 显示全部楼层
zhcj66 发表于 2020-12-15 08:34
看来stc还是比较牛掰的,最近他们出的stc8怎么样,看价格很低

就是8g系列。这么高的中断率深度优化之后差不多占了70%的cpu吧。。所有判断条件全部最精简化,然后多级判断也是重新排序深度优化。进入中断过程有1个cyc的抖动(stc有极个别指令是多t的,用到这些指令就会产生额外延迟)。

出0入362汤圆

发表于 2020-12-15 09:28:04 | 显示全部楼层
用现成的过零光耦, TLP3064什么的, 然后mcu这边正常pwm就行了

出0入8汤圆

发表于 2020-12-15 09:31:10 | 显示全部楼层
罪过罪过,有个类似的应用,定时器中断是100us的,stc的单片机

出0入53汤圆

 楼主| 发表于 2020-12-15 11:11:39 | 显示全部楼层
cc2666 发表于 2020-12-15 09:31
罪过罪过,有个类似的应用,定时器中断是100us的,stc的单片机

红外接收或者433解码用的吧

出0入8汤圆

发表于 2020-12-15 11:13:49 | 显示全部楼层
zhcj66 发表于 2020-12-15 11:11
红外接收或者433解码用的吧

不是,也是光耦过零调pwm,想调的丝滑一下

出0入53汤圆

 楼主| 发表于 2020-12-15 11:43:44 | 显示全部楼层
wye11083 发表于 2020-12-14 17:48
10ms不算什么,我用stc跑到32mhz开到256khz中断交错采样adc再做合并然后串口1mbps出来都轻轻松松。。当然 ...

问个题外话,

想控制一个加热棒+型材的温度,通电升温后大概30s 温度传感器才有升温反应,像这种热惯性也比较大

对于这种加热控制如果设置120度,温度过冲不要超过2度  稳定后温度控制在±1%以内拨动,有什么好的办法吗?

买外面的温控器30升120能超温到180度,60度的差值有点恐怖,好在最终稳定能看着稳定在120度上

出100入101汤圆

发表于 2020-12-15 12:10:00 来自手机 | 显示全部楼层
交流光耦,TLP620,学习

出130入30汤圆

发表于 2020-12-15 12:30:31 | 显示全部楼层

为什么输出要加个比较器,不加行吗?

出0入442汤圆

发表于 2020-12-15 13:25:39 来自手机 | 显示全部楼层
zhcj66 发表于 2020-12-15 11:43
问个题外话,

想控制一个加热棒+型材的温度,通电升温后大概30s 温度传感器才有升温反应,像这种热惯性也比 ...

整一批设备,然后用不同参数跑一批数据,拿svm训一下做个pid就行了。

出0入309汤圆

发表于 2020-12-15 13:38:11 | 显示全部楼层
wye11083 发表于 2020-12-15 13:25
整一批设备,然后用不同参数跑一批数据,拿svm训一下做个pid就行了。

同求 ”拿svm训一下做个pid“ 的思路

出235入235汤圆

发表于 2020-12-15 19:59:38 | 显示全部楼层

波形看上去很漂亮。

出0入0汤圆

发表于 2020-12-15 20:00:54 | 显示全部楼层
你这是控制晶匝管么

出0入85汤圆

发表于 2020-12-15 21:05:28 | 显示全部楼层
过零要做好,貌似也不容易吧,过零相位准,触发阈值低,容易误触发;触发阈值设置的高,过零相位差大,抗干扰能力强;

出0入53汤圆

 楼主| 发表于 2020-12-16 10:09:30 | 显示全部楼层
marshallemon 发表于 2020-12-15 21:05
过零要做好,貌似也不容易吧,过零相位准,触发阈值低,容易误触发;触发阈值设置的高,过零相位差大,抗干 ...

带上负载后,运行了一会mcu(gd的)莫名其妙的死掉了,重启恢复,但是还会死掉

出235入235汤圆

发表于 2020-12-16 21:44:22 | 显示全部楼层
zhcj66 发表于 2020-12-16 10:09
带上负载后,运行了一会mcu(gd的)莫名其妙的死掉了,重启恢复,但是还会死掉

死掉的原因找到了吗?和中断有关?

出10入10汤圆

发表于 2020-12-17 07:46:50 | 显示全部楼层
10ms中断对于单片机很轻松,难道怕单片机累着?

出0入0汤圆

发表于 2020-12-17 08:30:28 | 显示全部楼层
zhcj66 发表于 2020-12-16 10:09
带上负载后,运行了一会mcu(gd的)莫名其妙的死掉了,重启恢复,但是还会死掉

可能是这样的:电容用的少,布线不合理

出0入53汤圆

 楼主| 发表于 2020-12-17 08:35:12 | 显示全部楼层
lyping1987 发表于 2020-12-16 21:44
死掉的原因找到了吗?和中断有关?

找到了,一根传感器线碰到了外壳,接地了

出0入53汤圆

 楼主| 发表于 2020-12-17 08:36:32 | 显示全部楼层
本帖最后由 zhcj66 于 2020-12-17 08:37 编辑
szxszx 发表于 2020-12-17 07:46
10ms中断对于单片机很轻松,难道怕单片机累着?


喜欢上了mcu的儿子--DMA,有种强迫症

出0入0汤圆

发表于 2020-12-17 22:51:44 来自手机 | 显示全部楼层
我觉得用125us中断一次已经是太过频繁了。但我看小家电的有人的代码要开两个中断,一个是100us中断一次,这个是主时标以及很多东西都要放在这处理;另一个是50us中断一次,用于产生不同的pwm频率,发出不同的声音,单片机是普通的台系或者国产8位机。

出105入79汤圆

发表于 2020-12-18 00:38:46 | 显示全部楼层
家电 机器人项目 一般实时控制5ms - 10ms足矣,GUI可以去到 25ms~50ms.

出0入0汤圆

发表于 2021-9-1 00:02:06 | 显示全部楼层

楼主你这个过零检测好用吗,会不会误触发

出100入312汤圆

发表于 2021-9-1 06:24:55 来自手机 | 显示全部楼层
不错,学习

出0入53汤圆

 楼主| 发表于 2021-9-1 09:15:56 | 显示全部楼层
faye 发表于 2021-9-1 00:02
楼主你这个过零检测好用吗,会不会误触发

未发现   

出0入0汤圆

发表于 2023-11-1 08:15:20 来自手机 | 显示全部楼层
挖旧帖,220v接一个1m大电阻直连mcu io口来检测过零,发现偶尔会丢失一个过零波形(即本来是每隔10ms电平就变化一次的,但偶尔出现20ms才变化一次),不知为何

出20入186汤圆

发表于 2023-11-1 08:33:08 | 显示全部楼层
我一个加热控制的是不做过零检测,直接100HZ的PWM控制,最多两头误差2%,可以忽略,用了好几年了,很稳定,还简单。


修改:
是1HZ的PWM控制,

出0入4汤圆

发表于 2023-11-6 15:58:29 | 显示全部楼层
yuyu87 发表于 2023-11-1 08:33
我一个加热控制的是不做过零检测,直接100HZ的PWM控制,最多两头误差2%,可以忽略,用了好几年了,很稳定, ...
(引用自45楼)

在零点附近开和在波峰波谷开,不会相差很多吗

出20入186汤圆

发表于 2023-11-6 17:25:07 来自手机 | 显示全部楼层
50hz的一秒有100个馒头波,所以最多误差2%
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-19 04:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表