主控采用STM32,主要是PID控制,速度PID,位置PID。简而言之用一个电机的转速和角度传感器来控制另外两个电机的转速和方向。可以用来学习PID,编码器。
压缩包里有详细的文档,介绍编码器的、PID的、平衡小车等。是一份很不错的资料
软件篇:
系统采用外设有:TIM1 TIM2 TIM3 TIM4
ADC 滴答定时器
TIM1用于pwm的产生,两路pwm作用于1号和2号电机。
TIM2用于编码器的计数,采集2号电机转角
TIM3用于编码器的计数,采集1号电机转角
滴答定时器用于系统执行,时间间隔为0号电机最大速度为140的值。
ADC用于角度传感器的采集;
程序思路:
系统滴答定时器做中断(293ms一次中断),中断中执行控制函数。
AB电机只需要读取编码数,所以不需要求平均值,只需要读出实际的值就好。
C电机需要读出速度,所以每五次求一次平均值,算出平均速度,
读取adc也需要求平均值,防止变化过快。
根据角度是否等于0度来判断是否需要进入不同的模式;模式一和模式二根据按键的值来判断。
1