Debug方法
当外设多了之后,有些外设初始化不成功的话,先去用st—link调试,找到出问题的,再去调换一下初始化的顺序。别在那一直看代码空想
如果实在中断中调用的函数出问题,那就用led去把它放在相应函数的不同位置,看看能否正常执行过去!实在没思路,二分法也是不错的选择!注意变量赋值或者判断语句是否合适
给程序做了标记记得取消,否则编译每次都会编译全部文件,速度很慢
蓝牙通信
两个蓝牙模块HC-05配对---血泪史_micro_xx的博客-CSDN博客_两个蓝牙模块配对 参考连接
蓝牙也跟GSM模块一样,使用AT指令区操作的
波特率都是9600
两个蓝牙要是都是隔一段时间都同时闪亮几次,说明就已经配对成功了,蓝牙主机可以向蓝牙从机发送数据了
连接密码都改成6632
蓝牙A 地址:98D3:61:F6199D 蓝牙B 地址:98D3:21:F7595C
背面塑料被弄花的是蓝牙B,它是从机
直接用PC操控两个蓝牙配对成功。
如果用单片机来一个发送,一个接收的话,则需结合AT指令进行编程。
或者把串口的发送和接收程序写好
用usart3进行蓝牙主机发送,usart2进行蓝牙从机接收
实在不会搞数据包,协议这些的话,那就直接通过单片机发送几个数字,另一个单片机通过判断它来执行相应操作吧,先试试可不可靠再说。以后再去补串口通信协议这部分知识点吧。
应该在从机那里设置一个串口接收中断就行。(如果通过蓝牙控制什么东西,或者想用串口1显示到电脑上,直接在连接蓝牙从机的串口二的接收中断里面编写业务代码)
板球控制系统
板球控制系统制作_weixin_40909092的博客-CSDN博客_板球控制系统
【自动化毕业设计】基于机械视觉控制的板球控制装置_automan05的博客-CSDN博客_板球控制
(参考资料链接)
外环一般是最后的控制期望(想要得到的效果)
要学会使用积分分离和积分过饱和处理
注意内环控制频率比外环控制控制频率要高,
喵呜教程中的,是采集完要输入的数据后来个低通滤波效果会更好??查资料理解一下。
板球串级PID
串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)_TYINY的博客-CSDN博客_串级pid内环和外环怎么确定
(参考资料链接)
外环输出 是 内环的目标值。
外环输出 是 内环误差(内环目标值 - 内环实际值)经过PID计算得出的值
理解消化野火直流有刷电机多闭环控制教程代码,然后做出 内环为速度环PD控制,外环为位置环的PI控制的串级PID控制
位置环的输出上限:Target_speed_max 3 (-3~3)
速度环的输出上限: Angle 40 (-40~40)
往回算kp,ki,kd的大概值。
临界比例度法:先去掉积分和微分部分,将P值逐渐增大到系统临界震荡,然后加入积分,对P适当缩小。