我用的是金属传感器LDC1000由于pcb线圈较小,所以采用舵机带动,每一°扫描一次,判断数值最大的时候返回其角度值和90度的偏差,大概判断车身位置,然后后面逻辑应该怎么搞?
out= PID_Struct->proportion*iError +PID_Struct->integral*(iError-PID_Struct->last_error)+PID_Struct->derivative*(iError-2*PID_Struct->last_error+PID_Struct->prev_error);
这个经过参数调整应该能计算出一个有关角度的值,但是如何知道和速度,或者说控制速度的pwm的关系呢?
1.此时将你算出的OUT值乘以一个权重系数得到一个值,将此值作为PWM值输入给电机控制。(注意:此值需要限幅处理,不可超过PWM的最高值和最低值)
2.还有我认为你这个OUT值应该是一个位置偏差值。
如果你是用舵机控制循迹小车的行驶方向的话,应该将此out值作为舵机角度的输入。
如果是通过两车轮的差速控制方向的话,那么out值就对应与两轮的PWM差值。