打印
[STM32F1]

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

[复制链接]
7923|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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 (200.11 KB )

`1Y%7[VHQ_JDKW0$]UCEK)V.png

P~Q[~5DUQ3$%ZF5P%1KDQ@Q.png (238.46 KB )

P~Q[~5DUQ3$%ZF5P%1KDQ@Q.png

10.整机-F103RB互补.rar

3.49 MB

沙发
gampt| | 2016-1-2 18:32 | 只看该作者
MARK 有空研究研究

使用特权

评论回复
板凳
飞思捷芯| | 2016-1-2 18:47 | 只看该作者
实在不敢恭维您的视频配乐,哈哈

使用特权

评论回复
地板
wsnsyy| | 2016-1-2 20:19 | 只看该作者
飞思捷芯 发表于 2016-1-2 18:47
实在不敢恭维您的视频配乐,哈哈

哪里有视频啊

使用特权

评论回复
5
eurphan|  楼主 | 2016-1-2 21:03 | 只看该作者
飞思捷芯 发表于 2016-1-2 18:47
实在不敢恭维您的视频配乐,哈哈

哈哈,民族歌曲

使用特权

评论回复
6
飞思捷芯| | 2016-1-2 21:08 | 只看该作者

仔细看看一楼,有链接的,优酷视频:D

使用特权

评论回复
7
ecoren| | 2016-1-2 21:38 | 只看该作者
这同学,喜欢造车,也喜欢打篮球,

使用特权

评论回复
8
eurphan|  楼主 | 2016-1-2 21:48 | 只看该作者
ecoren 发表于 2016-1-2 21:38
这同学,喜欢造车,也喜欢打篮球,

哪里看出来的?

使用特权

评论回复
9
aerwa| | 2016-1-3 09:18 | 只看该作者
楼主强大,现在做个东西干扰因素太多了,做了一半都不了了之。

使用特权

评论回复
10
cov0xt| | 2016-1-3 09:32 | 只看该作者
楼主可以造高达了

使用特权

评论回复
11
mmuuss586| | 2016-1-3 11:08 | 只看该作者

不错,好好努力;

使用特权

评论回复
12
angus118| | 2016-1-3 13:05 | 只看该作者
不错不错,

使用特权

评论回复
13
fly928sky| | 2016-1-4 10:58 | 只看该作者
不错,有时间研究一下

使用特权

评论回复
14
逍遥李| | 2016-1-4 13:53 | 只看该作者
不错的,干的不错!

使用特权

评论回复
15
aliu_us| | 2016-1-8 19:59 | 只看该作者
楼主做得不错,走起来挺稳的。

使用特权

评论回复
16
734774645| | 2016-1-8 20:59 | 只看该作者
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "led.h"
#include "bluetooth.h"
#include "motor.h"
#include "speed.h"
#include "mp6050.h"
#include "key.h"
#include "ultrasonic.h"
#include "DataScope_DP.h"


int main(void)
{
        u8 i,Send_Count;
       
        delay_init(72);
        NVIC_Configuration();
        uart_init(9600);
        LED_Init();
        KEY_Init();
        BLUETOOTH_Init(9600);
        MPU6050_Init();
        PID_Init();
        ENCODER_Init();
        ULTRASONIC_Init();
        MOTOR_Init();

  while (1)
  {
//                DataScope_Get_Channel_Data( acc_x, 1 );  //上位机波形显示
//                DataScope_Get_Channel_Data( gyro_y, 2 );  
//                DataScope_Get_Channel_Data( angle_ax, 3 );   
//                DataScope_Get_Channel_Data( angle_gy , 4 );     
//                DataScope_Get_Channel_Data(angle, 5 );   
//                DataScope_Get_Channel_Data(Kp , 6 );  
//                DataScope_Get_Channel_Data(speed, 7 );  
//                DataScope_Get_Channel_Data( 0, 8 );   
//                DataScope_Get_Channel_Data(0, 9 );   
//                DataScope_Get_Channel_Data( 0 , 10);  
//                Send_Count = DataScope_Data_Generate(10);  
//                for( i = 0 ; i < Send_Count; i++)   
//                {  
//                        while((USART1->SR&0X40)==0);   
//                        USART1->DR = DataScope_OutPut_Buffer[i];   
//                }  
//                delay_ms(50); //20HZ        
               
               
                ULTRASONIC_Distance();//600ms测距一次
                        //USART_ITConfig(USART3, USART_IT_TXE, ENABLE);//使能USART3发送中断
                delay_ms(600);
  }
}
问一下楼主,那个平衡直接在初始化函数里实现了吗?

使用特权

评论回复
17
734774645| | 2016-1-8 21:01 | 只看该作者
基于STM32的两轮平衡车的视频的背景歌曲是什么,很好听,求楼主说一下,收藏了去。

使用特权

评论回复
18
yiyigirl2014| | 2016-1-8 21:08 | 只看该作者
内置陀螺仪和加速度计,通过算法获得倾斜角,感应到向前倾斜了就向前加速,反之向后加速。

使用特权

评论回复
19
yiyigirl2014| | 2016-1-8 21:09 | 只看该作者
运作原理主要是建立在一种被称为“动态稳定”(DynamicStabilization)的基本原理上,也就是车辆本身的自动平衡能力。以内置的精密固态陀螺仪(Solid-StateGyroscopes)来判断车身所处的姿势状态,透过精密且高速的中央微处理器计算出适当的指令后,驱动马达来做到平衡的效果。

使用特权

评论回复
20
yiyigirl2014| | 2016-1-8 21:11 | 只看该作者
动态稳定是指电力系统受到小的或大的扰动后,在自动调节和控制装置的作用下,保持较长过程的运行稳定性的能力,通常指电力系统受扰动后不发生发散振荡或持续的振荡,是电力系统功角稳定的另一种形式。
动态稳定可分小扰动动态稳定和大扰动动态稳定。
1)小扰动动态稳定是指扰动量足够小,系统可用线性化状态方程描述的动态稳定过程。
2)大扰动动态稳定是指扰动量大到系统必须用非线性方程来描述的动态稳定过程。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

244

帖子

3

粉丝