[STM32F1] 基于STM32的双轮自平衡小车,终于完成了

[复制链接]
 楼主| eurphan 发表于 2016-1-2 12:20 | 显示全部楼层 |阅读模式
本帖最后由 eurphan 于 2016-1-2 12:22 编辑

  9月份就把底盘模块买回来了,玩了一段时间,把各个驱动都弄好了,但是是第一次弄PID死活站不起来,后来由于一些原因没时间弄便把他搁置了,到了最近,时间充足,便再一次拾起了她,经过几个月的技术积累,不出半天,小车就站起来了。在这几天的时间里,马马虎虎,可以稳定站立,前后左右转弯,也算是做成功了吧,至少不算是浪费了钱了。特发此贴,以作纪念,同时,大家有需要的也可以下载下来参考参考。
  说说配置吧,主控STM32F103RB,霍尔编码器,MP6050,蓝牙遥控,另加超声波避障
视频:http://v.youku.com/v_show/id_XMTQzMjgwNjg1Ng==.html?from=y1.7-1.2
`1Y%7[VHQ_JDKW0$]UCEK)V.png
P~Q[~5DUQ3$%ZF5P%1KDQ@Q.png

10.整机-F103RB互补.rar

3.49 MB, 下载次数: 294

gampt 发表于 2016-1-2 18:32 | 显示全部楼层
MARK 有空研究研究
飞思捷芯 发表于 2016-1-2 18:47 | 显示全部楼层
实在不敢恭维您的视频配乐,哈哈
wsnsyy 发表于 2016-1-2 20:19 | 显示全部楼层
飞思捷芯 发表于 2016-1-2 18:47
实在不敢恭维您的视频配乐,哈哈

哪里有视频啊
 楼主| eurphan 发表于 2016-1-2 21:03 | 显示全部楼层
飞思捷芯 发表于 2016-1-2 18:47
实在不敢恭维您的视频配乐,哈哈

哈哈,民族歌曲
飞思捷芯 发表于 2016-1-2 21:08 | 显示全部楼层

仔细看看一楼,有链接的,优酷视频:D
ecoren 发表于 2016-1-2 21:38 | 显示全部楼层
这同学,喜欢造车,也喜欢打篮球,
 楼主| eurphan 发表于 2016-1-2 21:48 | 显示全部楼层
ecoren 发表于 2016-1-2 21:38
这同学,喜欢造车,也喜欢打篮球,

哪里看出来的?
aerwa 发表于 2016-1-3 09:18 来自手机 | 显示全部楼层
楼主强大,现在做个东西干扰因素太多了,做了一半都不了了之。
cov0xt 发表于 2016-1-3 09:32 | 显示全部楼层
楼主可以造高达了
mmuuss586 发表于 2016-1-3 11:08 | 显示全部楼层

不错,好好努力;
angus118 发表于 2016-1-3 13:05 | 显示全部楼层
不错不错,
fly928sky 发表于 2016-1-4 10:58 | 显示全部楼层
不错,有时间研究一下
逍遥李 发表于 2016-1-4 13:53 | 显示全部楼层
不错的,干的不错!
aliu_us 发表于 2016-1-8 19:59 来自手机 | 显示全部楼层
楼主做得不错,走起来挺稳的。
734774645 发表于 2016-1-8 20:59 | 显示全部楼层
  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. }
问一下楼主,那个平衡直接在初始化函数里实现了吗?
734774645 发表于 2016-1-8 21:01 | 显示全部楼层
基于STM32的两轮平衡车的视频的背景歌曲是什么,很好听,求楼主说一下,收藏了去。
yiyigirl2014 发表于 2016-1-8 21:08 | 显示全部楼层
内置陀螺仪和加速度计,通过算法获得倾斜角,感应到向前倾斜了就向前加速,反之向后加速。
yiyigirl2014 发表于 2016-1-8 21:09 | 显示全部楼层
运作原理主要是建立在一种被称为“动态稳定”(DynamicStabilization)的基本原理上,也就是车辆本身的自动平衡能力。以内置的精密固态陀螺仪(Solid-StateGyroscopes)来判断车身所处的姿势状态,透过精密且高速的中央微处理器计算出适当的指令后,驱动马达来做到平衡的效果。
yiyigirl2014 发表于 2016-1-8 21:11 | 显示全部楼层
动态稳定是指电力系统受到小的或大的扰动后,在自动调节和控制装置的作用下,保持较长过程的运行稳定性的能力,通常指电力系统受扰动后不发生发散振荡或持续的振荡,是电力系统功角稳定的另一种形式。
动态稳定可分小扰动动态稳定和大扰动动态稳定。
1)小扰动动态稳定是指扰动量足够小,系统可用线性化状态方程描述的动态稳定过程。
2)大扰动动态稳定是指扰动量大到系统必须用非线性方程来描述的动态稳定过程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

244

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部