舵机中值及限幅
S3010舵机位于理论中值时一个周期的高电平时间应该为1.52ms由此可得占空比为7.6%,由此可以推算出单片机的对应占空比值,假设pwm时钟频率为30Mhz
则:计时20ms需要计数30 000 000/1000×20=600 000次
Duty= 7.6%×周期为10ms时的总计数值 (一个周期需要计数300 000次)
则舵机理论中值对应的PWM高电平计数个数为:Duty_mid=45 600;
注意一定是让舵机到达理论中值后再安装转向机构,还需要借助按键找出舵机的左右极限值,并且在程序内部要写限幅,保护舵机避免被烧。
舵机初始化及输出控制函数。
/*******************************************************************************
* 函数名 :Steering_Init
* 描述 :舵机初始化
* 参数 :
freq PWM频率(10Hz-3MHz)
angl
*******************************************************************************/
void Steering_Init(uint32 freq, int16 angl)
{
pwm_init(PWMB_CH1_P74,freq,angl); //PWMA初始化
}
转向控制
根据控制器计算的控制量,通过一定比例给到舵机的PWM输出,从而实现舵机的打角 代码。
//转向限制幅度
if(Price_PWM >=500) Price_PWM=500;
if(Price_PWM<=-500) Price_PWM=-500;
Steering_Angl(Price_PWM/2);//输出到舵机打角
被控对象与被控量
整个方向控制系统的被控对象是小车的转向机构,也就是舵机和左右驱动轮,而被控量就是小车的前进角度。
反馈对象与反馈量
在方向控制系统中,反馈对象是摄像头和电磁模块,而对应的反馈量是电感值和前瞻中心值。
全部0条评论
快来发表一下你的评论吧 !