找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6072|回复: 12
收起左侧

stm32平衡车程序,包括6050的解算,卡尔曼滤波,PID算法等

  [复制链接]
ID:190537 发表于 2018-9-14 15:14 | 显示全部楼层 |阅读模式
这是一套完整的stm32f103的平衡车程序,大家可以参考一下

单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "bluetooth.h"
  6. #include "motor.h"
  7. #include "speed.h"
  8. #include "mp6050.h"
  9. #include "key.h"
  10. #include "ultrasonic.h"
  11. #include "DataScope_DP.h"


  12. int main(void)
  13. {
  14.         u8 i,Send_Count;
  15.        
  16.         delay_init(72);
  17.         NVIC_Configuration();
  18.         uart_init(9600);
  19.         LED_Init();
  20.         KEY_Init();
  21.         BLUETOOTH_Init(9600);
  22.         MPU6050_Init();
  23.         PID_Init();
  24.         ENCODER_Init();
  25.         ULTRASONIC_Init();
  26.         MOTOR_Init();

  27.   while (1)
  28.   {
  29. //                DataScope_Get_Channel_Data( acc_x, 1 );  //上位机波形显示
  30. //                DataScope_Get_Channel_Data( gyro_y, 2 );  
  31. //                DataScope_Get_Channel_Data( angle_ax, 3 );   
  32. //                DataScope_Get_Channel_Data( angle_gy , 4 );     
  33. //                DataScope_Get_Channel_Data(angle, 5 );   
  34. //                DataScope_Get_Channel_Data(Kp , 6 );  
  35. //                DataScope_Get_Channel_Data(speed, 7 );  
  36. //                DataScope_Get_Channel_Data( 0, 8 );   
  37. //                DataScope_Get_Channel_Data(0, 9 );   
  38. //                DataScope_Get_Channel_Data( 0 , 10);  
  39. //                Send_Count = DataScope_Data_Generate(10);  
  40. //                for( i = 0 ; i < Send_Count; i++)   
  41. //                {  
  42. //                        while((USART1->SR&0X40)==0);   
  43. //                        USART1->DR = DataScope_OutPut_Buffer[i];   
  44. //                }  
  45. //                delay_ms(50); //20HZ        
  46.                
  47.                
  48.                 ULTRASONIC_Distance();//600ms测距一次
  49.                         //USART_ITConfig(USART3, USART_IT_TXE, ENABLE);//使能USART3发送中断
  50.                 delay_ms(600);
  51.   }
  52. }
复制代码

所有资料51hei提供下载:
平衡车.rar (331.46 KB, 下载次数: 232)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2018-9-14 17:58 | 显示全部楼层
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

ID:190537 发表于 2018-9-28 11:22 | 显示全部楼层
这是平衡车的原理图,仅供参考使用

电路图.pdf

519.85 KB, 下载次数: 80, 下载积分: 黑币 -5

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:380985 发表于 2018-9-28 23:39 来自手机 | 显示全部楼层
很不错哦
回复

使用道具 举报

ID:383047 发表于 2018-10-3 23:27 | 显示全部楼层
请问楼主为什么STM32F4 老死在这一句while((USART1->SR&0X40)==0);   谢谢
回复

使用道具 举报

ID:190537 发表于 2018-10-8 17:09 | 显示全部楼层
xiolo 发表于 2018-10-3 23:27
请问楼主为什么STM32F4 老死在这一句while((USART1->SR&0X40)==0);   谢谢

推荐你看一下这个http://www.stmcu.org.cn/module/forum/thread-613968-1-12.html
回复

使用道具 举报

ID:424962 发表于 2019-2-20 08:32 | 显示全部楼层
我这里也有一个原理图,gd的芯片,仅供参考

平衡车原理图.pdf

651.46 KB, 下载次数: 21, 下载积分: 黑币 -5

回复

使用道具 举报

ID:622505 发表于 2019-10-11 19:55 | 显示全部楼层
是全部程序吗?
回复

使用道具 举报

ID:260263 发表于 2019-10-16 11:43 | 显示全部楼层
感谢分享     
回复

使用道具 举报

ID:628345 发表于 2019-10-27 14:49 | 显示全部楼层
我那里也有部分资料,需要自取
回复

使用道具 举报

ID:399358 发表于 2019-11-7 10:20 | 显示全部楼层
非常nice
回复

使用道具 举报

ID:316073 发表于 2019-11-26 23:18 | 显示全部楼层
很不错噢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表