最近在用stm32做小车,用了两块板子去做,一块是f103c8t6,一块是f407vgt6。
首先小车最基本的的就是电机了,毕竟首先要让小车动起来。这块的思路是使用定时器输出PWM来控制小车的转速,使用一个定时器的四个通道即可。然后定义小车的前进、后退、左转、右转。
能够控制小车的速度后,设置小车的速度也是需要考虑的,此处首先需要进行测速,然后通过pid达到想要的速度。
测速我使用了码盘和红外对射模块,通过计算单位时间内红外对射的次数来计算小车的速度,用到了中断嵌套,先设置一个定时器中断,设置测速的时间,然后再定时器中断中加入一个计数中断,用来记录红外对射的次数。