1.2陀螺仪上位机
如果要查看陀螺仪,我们需要使用第四个组件:
右击窗口分别对X,Y,Z进行设置即可(打开串口且程序协议完成后)。
1.3PID调制
1.3.1PID参数传输
左侧菜单栏第三项可以新增命令
命令里可以键入发送内容:
我们可以在命令中输入参数占位符,用来接收控件的参数,不同模式的占位符:
Str模式(Ascii):%f、%d等printf函数可以识别的占位符;
Hex模式(十六进制):%% 。
控件的不同状态对应不同的参数,控件的参数可以在右键菜单里进行设置。
控件的参数设置详情可参考官网:数据、命令、参数 | VOFA-Plus上位机
拖动控件可以绑定相应的命令:
拖动后即可发送相应的数值。
接着我们只需要在程序中写一个串口的接收回调函数。
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
if(UartHandle->Instance==USART2)
{
//....
}
}
再加上一个数据解析函数:
float Analyse_Data(void)
{
//Your code is here...
将解析后的数据赋值给PID中的参数 。就相当于使用上面的滑动控件与发送命令来隔空发送PID的参数进行调试了。
1.3.2PID参数调制
在程序中串口发送这几个数据:
绿线表示pid运算得出的结果值
红线表示实际速度
蓝线表示目标速度
调整P至参数极性正确:
调整P至实际值逼近目标值:
调整I和D至几乎重合:
即为调节成功。
三.总结
VOFA+是一个很简单易上手的开源工具,用的好的话在很多方面都能起作用,至少调节PID的时候不会特别盲目了。感谢广大开源工程师,让技术氛围变得更好。