这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 平衡小车套件开发程序更新

共257条 1/26 1 2 3 4 5 6 ›| 跳转至

平衡小车套件开发程序更新

助工
2015-07-12 20:23:05     打赏

之前的程序条理性不够好,给大家带来的不便深感抱歉。这两天新建了个工程重新写了一遍底层。全部寄存器操作,我一直认为寄存器更容易学,更容易深入,我接触过不少本科生学弟都是直接从寄存器开始学,现在都很熟悉了。

这个程序在平衡的基础上,集成了线性 CCD 底层、超声波避障、无线模块驱动等。因为线性 CCD 和和无线模块对环境或者外设的要求,在程序里面默认是被注释的。但是超声波避障功能是默认开启的,所以一旦使用这个程序, 请先接上超声波模块。 如果不要超声波功能, 请在程序里面的 SYS.H里面把 MODE_BIZHANG 改成 0 即可。在避障时候,蓝牙遥控依然可以使用,但是小车检测到前方 0.5 米有障碍会自动后退。同学们可以接上超声波,下载这个程序试试。

程序使用MDK5.1开发,可以兼容4.7

因为TIM2既接了一路编码器,也作为超声波接口,所以测距时,这一路编码器是没用的。

解决方法有两个:放弃定时器的编码器接口模式(相当于放弃了四倍频),使用单个编码器的两通道分别测量两路编码器,解放出了一路定时器就可以做超声波接口了。

使用超声波的时候小车性能有所影响,要达到更好的性能请同学们优化一下算法结构(主要是单编码器和陀螺仪的速度环和转向环控制问题)和调整一下参数。

程序主要用户文件说明如下:
Source Group1
 Startup_stm32f10x_md.s :stm32 的启动文件
 User
 Minibalance.c: 放置主函数,并把 DMP 读取和人机交互的工作放在死循环里面。
 SYSTEM
 Delay.c:提供系统延时初始化函数及相关的函数
 Sys.c:提供时钟、中断、系统初始化函数
 Usart1.c:提供串口 1 初始化函数及相关的函数
 HARDWARE
 Led.c:提供 LED 初始化函数及相关的函数
 Key.c:提供按键初始化函数及相关的函数,如单击双击检测。
 Oled.c:提供 OLED 初始化函数及相关的函数
 Usart3.c:提供串口 3 初始化函数及相关的函数,其中蓝牙遥控使用的串口 3 接收中断函数在这里面。
 adc.c:提供 ADC 初始化函数及相关的函数,如电池电压检测,线性CCD 初始化和驱动程序。
 Timer.c:提供各个定时器 1 初始化函数及相关的函数,但是 TIM1 的中断服务函数在control.c 文件里面
 Motor.c 提供电机控制初始化函数
 Encoder.c 提供编码器采集相关函数
 Ioi2c.c:提供模拟 IIC 初始化函数及相关的函数
 Balance
 Control.c 提供全部的控制函数,并放在 TIM1 的中断服务函数里面执行
 Datascope:波形显示上位机相关的库文件
 Inv_mpu.c:MPU6050 内置 DMP 的相关库文件
 Inv_mpu_dmp_motion_driver.c:MPU6050 内置 DMP 的相关库文件
 Fitler.c:提供平衡小车常用的滤波算法,如卡尔曼滤波,互补滤波
 Mpu6050.c:提供 MPU6050 初始化函数及相关的函数
 Show.c:提供用于数显和上位机使用的相关函数
 http://yunpan.cn/cdsAqRrDZxSyi  访问密码 ——回复可见内容——





关键词: 平衡小车      程序    

院士
2015-07-13 09:07:13     打赏
2楼
有更新了

高工
2015-07-13 09:30:39     打赏
3楼
顶一个先,,,

菜鸟
2015-07-13 09:34:57     打赏
4楼
顶,下载来看看

助工
2015-07-13 11:46:55     打赏
5楼
学习一下

菜鸟
2015-07-13 13:16:07     打赏
6楼
这个确实要支持一下

助工
2015-07-13 17:37:28     打赏
7楼

感谢分享精彩资料!


菜鸟
2015-07-13 21:44:12     打赏
8楼
下载学习  感谢分享

菜鸟
2015-07-13 21:44:13     打赏
9楼
下载学习  感谢分享

菜鸟
2015-07-14 09:54:45     打赏
10楼
下载学习一下!!

共257条 1/26 1 2 3 4 5 6 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]