|
說明:以下只涉及到核心算法,程序其它部分可根據(jù)實際情況設(shè)計。
1.delay過程在這里用作延時,可根據(jù)實際情況調(diào)整延時時間,實現(xiàn)電機在某個固定速度上運行一段時間。
2.pwm_out過程為pwm信號輸出。
3.以下一個while代表一次加速度,利用延時過程在while里進行延時累加,實現(xiàn)pwm緩慢加速。可根據(jù)實際運行情況實現(xiàn)分級加速。如地鐵中常使用的4級調(diào)速。
4.如應(yīng)用至電力機車中,對于電機的調(diào)速,電機的加速度盡量接近車輛在一定作用力下的自然加速度,防止對功率管、電機和車輛各個系統(tǒng)造成過大沖擊。
pwm_add=20; //pwm0設(shè)置初始值,使得啟動時有足夠電壓驅(qū)動電機,并且實現(xiàn)降壓啟動
pwm_out(pwm_add); //pwm0公共過程
delay(base_time,2000);
pwm_add=20; //pwm0設(shè)置初始值,使得啟動時有足夠電壓驅(qū)動電機,并且實現(xiàn)降壓啟動
while(pwm_add!=150) //pwm0輸出小于151時使其不斷累加
{
delay(base_time,add_time); //控制加速度
pwm_out(pwm_add); //pwm0公共過程
pwm_add=pwm_add+1; //累加器
}
delay(base_time,3000); //運行一段時間
pwm_add=150; //pwm0設(shè)置初始值,使得啟動時有足夠電壓驅(qū)動電機,并且實現(xiàn)降壓啟動
while(pwm_add!=255) //pwm0輸出小于151時使其不斷累加
{
delay(base_time,add_time); //控制加速度
pwm_out(pwm_add); //pwm0公共過程
pwm_add=pwm_add+1; //累加器
}
|
|