找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4983|回復(fù): 0
收起左側(cè)

STC12C2052AD使用pwm信號(hào)給直流電機(jī)調(diào)速的算法

[復(fù)制鏈接]
ID:104126 發(fā)表于 2016-1-24 02:29 | 顯示全部樓層 |閱讀模式
說(shuō)明:以下只涉及到核心算法,程序其它部分可根據(jù)實(shí)際情況設(shè)計(jì)。
1.delay過(guò)程在這里用作延時(shí),可根據(jù)實(shí)際情況調(diào)整延時(shí)時(shí)間,實(shí)現(xiàn)電機(jī)在某個(gè)固定速度上運(yùn)行一段時(shí)間。   
2.pwm_out過(guò)程為pwm信號(hào)輸出。
3.以下一個(gè)while代表一次加速度,利用延時(shí)過(guò)程在while里進(jìn)行延時(shí)累加,實(shí)現(xiàn)pwm緩慢加速?筛鶕(jù)實(shí)際運(yùn)行情況實(shí)現(xiàn)分級(jí)加速。如地鐵中常使用的4級(jí)調(diào)速。
4.如應(yīng)用至電力機(jī)車中,對(duì)于電機(jī)的調(diào)速,電機(jī)的加速度盡量接近車輛在一定作用力下的自然加速度,防止對(duì)功率管、電機(jī)和車輛各個(gè)系統(tǒng)造成過(guò)大沖擊。

pwm_add=20;   //pwm0設(shè)置初始值,使得啟動(dòng)時(shí)有足夠電壓驅(qū)動(dòng)電機(jī),并且實(shí)現(xiàn)降壓?jiǎn)?dòng)
    pwm_out(pwm_add);   //pwm0公共過(guò)程
delay(base_time,2000);


    pwm_add=20;   //pwm0設(shè)置初始值,使得啟動(dòng)時(shí)有足夠電壓驅(qū)動(dòng)電機(jī),并且實(shí)現(xiàn)降壓?jiǎn)?dòng)
    while(pwm_add!=150) //pwm0輸出小于151時(shí)使其不斷累加
     {
    delay(base_time,add_time);   //控制加速度
          pwm_out(pwm_add);   //pwm0公共過(guò)程
       pwm_add=pwm_add+1;  //累加器
  }
delay(base_time,3000);  //運(yùn)行一段時(shí)間


    pwm_add=150;   //pwm0設(shè)置初始值,使得啟動(dòng)時(shí)有足夠電壓驅(qū)動(dòng)電機(jī),并且實(shí)現(xiàn)降壓?jiǎn)?dòng)
    while(pwm_add!=255) //pwm0輸出小于151時(shí)使其不斷累加
     {
          delay(base_time,add_time);   //控制加速度
          pwm_out(pwm_add);   //pwm0公共過(guò)程
       pwm_add=pwm_add+1;  //累加器
  }

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表