搜索
bottom↓
回复: 33

STM32单片机控制可控硅调压设计

  [复制链接]

出0入85汤圆

发表于 2021-1-21 23:26:35 | 显示全部楼层 |阅读模式
1.        可控硅简介
        可控硅,也叫晶闸管,广泛应用于交流控制系统中,可实现小功率控制大功率设备。可控硅分单向可控硅和双向可控硅,双向可控硅在结构上相当于两个单向可控硅反向连接,可以实现双向导通。以BTA41为例,其电路符号及封装如下:

        G极为控制极,当G极有正向(或负向)脉冲时,双向可控硅导通,直到交流信号过零点时关断,如下图所示。因此,要通过单片机控制输出电压,首先需要检测交流信号的过零点,然后延时一定时间后,输出一个脉冲,使可控硅导通。延时时间越长,导通时间越短,输出电压越低。

2.        电路设计
        首先过零检测电路如下。原理比较简单,由一个整流桥和光耦组成。

        输出波形如下图所示。上方为整流桥输出的波形,下方为光耦输出的波形。光耦输出端直接接单片机IO口即可。

        可控硅驱动一般采用专用的光耦,该光耦内部集成了小功率的可控硅,用于驱动外部大功率的可控硅。电路如下:

       
3.        程序设计
        首先使能外部中断和一个定时器,定时器打开溢出中断。外部中断用于检测过零点,定时器用于控制导通角和输出脉冲。
        调压过程:单片机外部中断被触发后(检测到过零点),根据要输出的电压,计算导通角(延时时间),通过定时器设置延时时间,开启定时器溢出中断。定时时间到后输出一个脉冲,控制可控硅导通。程序如下:
        外部中断函数:
  1. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  2. {
  3.         ac_flag = 0;
  4.         if(VoltFan != 0)
  5.         {
  6.                 if(VoltFan > 220)//大于220V 直接导通
  7.                 {
  8.                         HAL_GPIO_WritePin(DOUT2_GPIO_Port,DOUT2_Pin,GPIO_PIN_SET);
  9.                 }
  10.                 else
  11.                 {
  12.                         ac_delay = ac_delay_us[VoltFan/5];//查表获得延时时间
  13.                         __HAL_TIM_SET_AUTORELOAD(&htim2,ac_delay);//设置定时器延时时间
  14.                         __HAL_TIM_ENABLE_IT(&htim2,TIM_IT_UPDATE);
  15.                         __HAL_TIM_ENABLE(&htim2);
  16.                 }
  17.         }
  18. }
复制代码

定时器中断函数:
  1. void TIM2_IRQHandler(void)
  2. {
  3.   /* USER CODE BEGIN TIM2_IRQn 0 */

  4.   /* USER CODE END TIM2_IRQn 0 */
  5.   //HAL_TIM_IRQHandler(&htim2);
  6.   /* USER CODE BEGIN TIM2_IRQn 1 */
  7.         if (__HAL_TIM_GET_IT_SOURCE(&htim2, TIM_IT_UPDATE) != RESET)
  8.         {
  9.                 if(ac_flag == 0)
  10.                 {
  11.                         ac_flag = 1;
  12.                         HAL_GPIO_WritePin(DOUT2_GPIO_Port,DOUT2_Pin,GPIO_PIN_SET);//输出脉冲
  13.                         __HAL_TIM_CLEAR_IT(&htim2, TIM_IT_UPDATE);
  14.                         __HAL_TIM_SET_AUTORELOAD(&htim2,100);//设置定时时间100us(脉冲宽度)
  15.                 }
  16.                 else if(ac_flag == 1)
  17.                 {
  18.                         HAL_GPIO_WritePin(DOUT2_GPIO_Port,DOUT2_Pin,GPIO_PIN_RESET);//100us时间到 关闭脉冲
  19.                         __HAL_TIM_CLEAR_IT(&htim2, TIM_IT_UPDATE);
  20.                         __HAL_TIM_DISABLE(&htim2);
  21.                 }
  22.         }
  23.   /* USER CODE END TIM2_IRQn 1 */
  24. }
复制代码

可控硅的触发脉冲一般在20~50us即可,感性负载脉冲宽度需要加大,一般不小于100us。
程序中延时时间是预先计算好通过查表获得的。计算方法通过计算sinx的积分获得,可参考下表。






本帖子中包含更多资源

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

x

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

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入42汤圆

发表于 2021-1-22 00:31:11 来自手机 | 显示全部楼层
这样的过零监测,会不会有滞后呢?

出100入101汤圆

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

出0入0汤圆

发表于 2021-1-22 09:17:10 | 显示全部楼层
你那公式是怎么算的! 对应的电压会准吗 误差有点少。

出0入0汤圆

发表于 2021-1-22 09:36:03 | 显示全部楼层
你那Excel 表 能不能共享一下,我学习学习一下。

出0入85汤圆

 楼主| 发表于 2021-1-22 10:16:02 | 显示全部楼层
本帖最后由 ZXF_CUG 于 2021-1-22 10:17 编辑
Himi 发表于 2021-1-22 09:36
你那Excel 表 能不能共享一下,我学习学习一下。


sin(x)做定积分,公式不会有误差,误差取决于别的因素,比如过零检测的误差等。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2021-1-22 10:22:58 | 显示全部楼层
这个可以有 点赞!

出0入85汤圆

 楼主| 发表于 2021-1-22 10:24:16 | 显示全部楼层
我是一个大白菜 发表于 2021-1-22 00:31
这样的过零监测,会不会有滞后呢?

不会有滞后,可能会有提前。整流后的电压在下降阶段,当电压小于光耦的二极管导通电压时,此时还未到过零点,光耦输出端就会输出高电平。
另外整流桥的二极管也有压降,会有误差。

出0入0汤圆

发表于 2021-1-22 11:13:59 | 显示全部楼层
ZXF_CUG 发表于 2021-1-22 10:16
sin(x)做定积分,公式不会有误差,误差取决于别的因素,比如过零检测的误差等。
...

非常感谢

出0入0汤圆

发表于 2021-1-22 11:15:50 | 显示全部楼层
ZXF_CUG 发表于 2021-1-22 10:24
不会有滞后,可能会有提前。整流后的电压在下降阶段,当电压小于光耦的二极管导通电压时,此时还未到过零 ...

过零偏移 可以用软件补偿一下, 看你过零光耦是单向的,可以用双向的会好一些。

出0入42汤圆

发表于 2021-1-22 11:20:45 | 显示全部楼层
ZXF_CUG 发表于 2021-1-22 10:24
不会有滞后,可能会有提前。整流后的电压在下降阶段,当电压小于光耦的二极管导通电压时,此时还未到过零 ...

好的,感谢指导,抽空搭个电路测试一下

出0入131汤圆

发表于 2021-1-22 11:28:09 | 显示全部楼层
请问三相电机 380v 可以使用可控硅来控制启停吗?

出0入93汤圆

发表于 2021-1-22 12:07:20 | 显示全部楼层
第二幅图从原理上就是错的,这... 直到交流信号过零点时关断,到底是电流过零时关断还是电压过零关断?从你的图上只能看出电压过零关断,这不坑人么

另外,MOC3052光耦到底是移相的还是过零的光耦。你一移相光耦放个过零光耦的原理图,岂不是误人子弟

出0入85汤圆

 楼主| 发表于 2021-1-22 12:58:00 | 显示全部楼层
takashiki 发表于 2021-1-22 12:07
第二幅图从原理上就是错的,这... 直到交流信号过零点时关断,到底是电流过零时关断还是电压过零关断?从你 ...

过零时光耦关断,输出端为高电平,有问题吗?
MOC3052不是过零光耦,图中符号确实有错误,但原理图是可以用的。

出0入93汤圆

发表于 2021-1-22 13:02:07 | 显示全部楼层
ZXF_CUG 发表于 2021-1-22 12:58
过零时光耦关断,输出端为高电平,有问题吗?
MOC3052不是过零光耦,图中符号确实有错误,但原理图是可以 ...

当然有问题。电流过零时会关断,电压过零时未必会关断,但是图上明显标的是电压参数。

出0入85汤圆

 楼主| 发表于 2021-1-22 15:57:03 | 显示全部楼层
takashiki 发表于 2021-1-22 13:02
当然有问题。电流过零时会关断,电压过零时未必会关断,但是图上明显标的是电压参数。 ...

过零检测是在市电输入端,可以认为电流和电压没有相位差。

出0入93汤圆

发表于 2021-1-22 16:38:32 | 显示全部楼层
ZXF_CUG 发表于 2021-1-22 15:57
过零检测是在市电输入端,可以认为电流和电压没有相位差。

好吧,你可以坚持你的观点,但请不要在这里误人子弟。市电输入端可以认为电流和电压没有相位差,那还需要做什么功率因数补偿,这个世界早就大同了。

出0入4汤圆

发表于 2021-1-23 09:37:58 来自手机 | 显示全部楼层
可控硅的控制相比其他晶体管,很特别,学习了

出0入0汤圆

发表于 2021-1-23 15:46:10 | 显示全部楼层
之前做过国内交流电因为都是50HZ所以检测到零点后直接定时开启就可以了,时间是可控的。

出0入4汤圆

发表于 2021-1-24 10:35:21 | 显示全部楼层
可控硅需要先关后开的

出0入0汤圆

发表于 2021-1-24 10:38:49 来自手机 | 显示全部楼层
我也进来学习下

出16170入6148汤圆

发表于 2021-1-24 14:43:14 | 显示全部楼层
发技术帖子欢迎。广告不欢迎,广告已经删除。

请以后不要再发广告,否则将封锁ID处理。

出0入26汤圆

发表于 2021-2-8 12:07:30 | 显示全部楼层
takashiki 发表于 2021-1-22 16:38
好吧,你可以坚持你的观点,但请不要在这里误人子弟。市电输入端可以认为电流和电压没有相位差,那还需要 ...

可控硅过零检测,都是指电压过零。

出0入10汤圆

发表于 2021-2-8 12:46:22 | 显示全部楼层
技术贴 不多见了,挺好

出0入93汤圆

发表于 2021-2-8 13:34:01 | 显示全部楼层
xly 发表于 2021-2-8 12:07
可控硅过零检测,都是指电压过零。

我一直说的都是关断。可控硅无法控制关断,只能是电流过零时自由关断,所以必须区分感性负载。你看他第二幅图的关断考虑感性负载了吗,而且文字里面只字未提。
至于过零检测时市电电压和电流没有相位差,那是楼主认为的,我并不这么认为,除了这行外我没有提及过零检测。

出0入0汤圆

发表于 2021-2-8 14:04:27 | 显示全部楼层
闸管关断的条件是:主端子间的正向电流小于维持电流。端子A、K之间之间的正向电压,直至为零,或加反向电压 。

出0入0汤圆

发表于 2021-2-25 09:08:33 | 显示全部楼层
您好,这个设计有示例程序参考一下吗?我是刚入行的新手准备做这块的设计,您这边有资料可以分享一下吗?有偿也可,感谢

出0入85汤圆

 楼主| 发表于 2021-2-25 09:17:32 | 显示全部楼层
哥斯拉 发表于 2021-2-25 09:08
您好,这个设计有示例程序参考一下吗?我是刚入行的新手准备做这块的设计,您这边有资料可以分享一下吗?有 ...

可以加我微信Zhang_cug

出0入0汤圆

发表于 2021-2-25 16:32:20 | 显示全部楼层
晶闸管导通前,肯定是没有电流的,所以过零检测是指电压过零检测。
晶闸管导通后,如果是双向晶闸管的截止,需要等到电流过零点才截止。(如果是单向晶闸管,电流或电压过零都会截止)

出0入0汤圆

发表于 2021-2-26 12:25:29 来自手机 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2021-3-12 13:37:25 | 显示全部楼层
takashiki 发表于 2021-2-8 13:34
我一直说的都是关断。可控硅无法控制关断,只能是电流过零时自由关断,所以必须区分感性负载。你看他第二 ...

看了您的回复,我都怀疑您用过可控硅吗?

出0入0汤圆

发表于 2021-5-19 14:44:33 | 显示全部楼层
标记学习

出0入0汤圆

发表于 2021-5-19 17:51:00 | 显示全部楼层
印象中有专门的IC,类似SPI接口的

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-28 21:03

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

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