找回密码
 立即注册
查看: 940|回复: 6

如何实现软启动?

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-04-30 09:08:24

10

主题

30

回帖

256

积分

中级会员

积分
256
发表于 2023-5-31 13:50:00 | 显示全部楼层 |阅读模式
本帖最后由 MWX 于 2023-6-1 18:27 编辑

u16 KHZ;ZKB;

void PWMA_config(void);


void main(void)
        
{
        KHZ = 500;          //频率
        ZKB = KHZ/(1+1);   //占空比
           
}
上是对称PWM,(占空比ZKB上电时,频率KHZ的值减10(KHZ-10),慢慢减到ZKB值。就是慢启动。
梁工:请给指导写一下。



回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:485
  • 最近打卡:2025-05-03 08:49:35
已绑定手机

23

主题

589

回帖

2817

积分

金牌会员

积分
2817
发表于 2023-5-31 15:44:10 | 显示全部楼层
本帖最后由 wenhuixuan 于 2023-5-31 15:45 编辑

你这个所谓的慢启动,不就是电机的软启动吗?这个好办,你只要设置1个定时器(比如10ms),从最小值开始每计时1次就把占空比加(或减)1,一直加(或减)到需要的最终值即可实现软启动的效果了。

点评

没看懂你的慢启动是要怎么操作。 如果是用于功率控制,我们一般称之为“软启动”,即PWM从某个最小占空比开始,按一定的速度逐渐加大到设定值,这个过程,PWM周期通常是不变的。  详情 回复 发表于 2023-5-31 16:53
不停地学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-5-31 16:53:54 | 显示全部楼层
wenhuixuan 发表于 2023-5-31 15:44
你这个所谓的慢启动,不就是电机的软启动吗?这个好办,你只要设置1个定时器(比如10ms),从最小值开始每 ...

没看懂你的慢启动是要怎么操作。

如果是用于功率控制,我们一般称之为“软启动”,即PWM从某个最小占空比开始,按一定的速度逐渐加大到设定值,这个过程,PWM周期通常是不变的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-04-30 09:08:24

10

主题

30

回帖

256

积分

中级会员

积分
256
发表于 2023-6-1 18:12:14 | 显示全部楼层
本帖最后由 MWX 于 2023-6-1 18:27 编辑

对,是软启动。  
占空比最小到设定值。试了芯片的PWM特性,点空比=频率除2,
       PWMA_ARR    = KHZ;          //频率
        PWMA_DTR    = 10;                  // 死区
        PWMA_CCR1   = ZKB;                // 占空比=频率除2(50%对称)
       这三条任变频。省好多语句。

上面三条语句可修改频度范围也大,最稳定,网上的程序都麻烦。单要PWM输出几句就可以。不外调频率等功能简单多了。
要按键调频率,还要频率抖动,要有好多穿插。用中断可能就没有简单的路,STC也没有这方面例程。全国也没找出个正确的。


劳烦梁工,搞个例出来。

网上视频小儿科,不行的。

点评

看不明白你的描述,搞不懂你的要求,无法写啊。  详情 回复 发表于 2023-6-2 12:07
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-6-2 12:07:12 | 显示全部楼层
MW*** 发表于 2023-6-1 18:12
对,是软启动。  
占空比最小到设定值。试了芯片的PWM特性,点空比=频率除2,
       PWMA_ARR    = KHZ;   ...

看不明白你的描述,搞不懂你的要求,无法写啊。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-04-30 09:08:24

10

主题

30

回帖

256

积分

中级会员

积分
256
发表于 2023-6-2 15:04:09 | 显示全部楼层
本帖最后由 MWX 于 2023-6-2 15:06 编辑

早上还想单片机是一万条路,自己去创,不行开个窗能跑出去就行。
要啰嗦些话:如普通方波式就不用讨教了。芯片给了PWM功能,那就以PWM功能来设计,ARRH  ARRL  CCRH CCRL 是高底位写法,啰嗦写出对称互补也可以。使用PWM就是需要个可控制的方波信号,对称互补是指定要求。占空比(脉宽控制功率),(频率可调,点空比可调)为何要搞出那么多乱事?ARR和CCR不用拆分就OK了,按键控制改变ARR和CRR就可实现应市场大部分使用要求。
软启动是硬件PWM芯片都有的功能,需要片机也要有这功能,现在只能用程序实现软启动。我的设想上电3秒时间控制CRR的值 递增或递减到指定值。(按键调功率的也需变化CCR)这需要使用中断吧?使用PWM中断还是普通中断,还是混合全用?还是CCR必须拆分为H/L高低位?能否只变化CCR值,不扯其它?

PWMx_CCR1 =PWMx_ARR除2, PWMx_ARR的值就是周期频率的值,也不用算!输入值测出后加减就可以,PWMx_ARR()除2=50%占空比,实用的设定方法,

发贴要验证码,还是孩子思维。

点评

PWM是一个通用外设,需要复杂控制时,就要用到好多寄存器,你只是从你的简单应用的要求,而设计外设要考虑各种应用。 软启动,按一定时间间隔逐渐加大占空比至目标值即可。  详情 回复 发表于 2023-6-2 23:28
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-6-2 23:28:11 | 显示全部楼层
本帖最后由 梁工 于 2023-6-2 23:29 编辑
MW*** 发表于 2023-6-2 15:04
早上还想单片机是一万条路,自己去创,不行开个窗能跑出去就行。
要啰嗦些话:如普通方波式就不用讨教了。 ...

PWM是一个通用外设,需要复杂控制时,就要用到好多寄存器,你只是从你的简单应用出发提的要求,而厂家设计外设要考虑各种应用。
软启动,按一定时间间隔逐渐加大占空比至目标值即可。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:16 , Processed in 0.180574 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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