去年闲来无聊,正好手里有两个带有编码器的电机和一个STM32开发板就做了一个平衡车,
来玩 ,控制器是 STM32F303 电机驱动芯片是TB6612FNG,有不足请大家指点。
单片机源程序如下:
- /**
- ******************************************************************************
- * @file main.c
- * @author fengzi
- * @version
- * @date
- * @brief Main program body
- ******************************************************************************
- */
- #include "main.h"
- #include "delay.h"
- #include "led.h"
- #include "usart.h"
- #include "W25QXX.h"
- #include "stdio.h"
- #include "mpu6050.h"
- #include "inv_mpu.h"
- #include "inv_mpu_dmp_motion_driver.h"
- #include "exti.h"
- #include "control.h"
- #include "motor.h"
- #include "encoder.h"
- int main(void)
- {
-
- delay_init();//系统定时器初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- uart_init(128000);
- LED_Init(); //led初始化
- key_Init(); //按键初始化
- CUSTOM_W25Qxx_Init();//25q64初始化
- CUSTOM_EXTI_Init(); //mpu6050外部中断5ms
- CUSTOM_PWM_Init(7199,0);
- Encoder_Init_TIM2();
- Encoder_Init_TIM4();
- MPU6050_Init();
- mpu_dmp_init();
- while (1)
- {
- if(delay_50ms>=10)
- {
- delay_50ms = 0;
- Task_20HZ();
- }
- if(delay_500ms>=100)
- {
- delay_500ms = 0;
- Task_2HZ();
- }
-
- }
- }
- /****************************END OF FILE****/
复制代码
所有资料51hei提供下载:
STM32F303.rar
(654.52 KB, 下载次数: 54)
|