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

如何实现软启动?

[复制链接]

该用户从未签到

8

主题

22

回帖

178

积分

注册会员

积分
178
发表于 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值。就是慢启动。
梁工:请给指导写一下。



回复 送花

使用道具 举报

  • TA的每日心情
    无聊
    昨天 21:06
  • 签到天数: 152 天

    [LV.7]常住居民III

    18

    主题

    534

    回帖

    1302

    积分

    金牌会员

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

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

    点评

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

    使用道具 举报

    该用户从未签到

    46

    主题

    3044

    回帖

    6863

    积分

    超级版主

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

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

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

    使用道具 举报

    该用户从未签到

    8

    主题

    22

    回帖

    178

    积分

    注册会员

    积分
    178
     楼主| 发表于 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
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3044

    回帖

    6863

    积分

    超级版主

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

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

    使用道具 举报

    该用户从未签到

    8

    主题

    22

    回帖

    178

    积分

    注册会员

    积分
    178
     楼主| 发表于 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
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3044

    回帖

    6863

    积分

    超级版主

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 04:34 , Processed in 0.068983 second(s), 58 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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