|
说明:以下只涉及到核心算法,程序其它部分可根据实际情况设计。
1.delay过程在这里用作延时,可根据实际情况调整延时时间,实现电机在某个固定速度上运行一段时间。
2.pwm_out过程为pwm信号输出。
3.以下一个while代表一次加速度,利用延时过程在while里进行延时累加,实现pwm缓慢加速。可根据实际运行情况实现分级加速。如地铁中常使用的4级调速。
4.如应用至电力机车中,对于电机的调速,电机的加速度尽量接近车辆在一定作用力下的自然加速度,防止对功率管、电机和车辆各个系统造成过大冲击。
pwm_add=20; //pwm0设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
pwm_out(pwm_add); //pwm0公共过程
delay(base_time,2000);
pwm_add=20; //pwm0设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
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设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
while(pwm_add!=255) //pwm0输出小于151时使其不断累加
{
delay(base_time,add_time); //控制加速度
pwm_out(pwm_add); //pwm0公共过程
pwm_add=pwm_add+1; //累加器
}
|
|