这次边做边写,基本上把做proj的整个步骤记录下来,包括中间的思考过程,也挺有意思的
小车主控板思路
主控板需要完成的功能:
1.接受传输过来的数据
2.根据数据控制电机PWM
3.根据数据控制舵机PWM控制电机的PWM实现:
1.一个函数,两个参数:move(dir,speed)
2.dir控制前后,speed控制pwm.
3.如果方向改变需要延迟一定时间控制舵机的pwm实现:
1.一个函数,两个参数:turn(dir,value)
2.dir控制左右,value是设定值控制pwm
3.value需要配合PID算法写好
两个电机控制需要两个tim的pwm,需要四个管脚输出控制正反转.
PID算法实现的时候,舵机有反馈线反馈现在所在的角度.反馈用ADC采样读取
PS: 未测试NRF24L01通信模块前自己留一个串口,使用蓝牙调PID
程序步骤
- 开启时钟(GPIO,TIM, ADC,USART,AFIO)
- 写move函数
- 写PID算法
- 写turn函数
- 配置蓝牙串口
- 调试PID
开启时钟
ABP1和APB2对应的外设见下表