Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2961719
  • 博文数量: 1027
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 12258
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1027)

文章存档

2018年(76)

2017年(81)

2016年(70)

2015年(52)

2014年(41)

2013年(53)

2012年(85)

2011年(46)

2010年(233)

2009年(291)

分类: Android平台

2017-03-17 10:51:52

https://tieba.baidu.com/p/4912565181
http://www.ndiy.cn/thread-41064-1-1.html

 兴趣爱好做了一辆自平衡小车,如今快毕业了 想出来他  当然不会亏了论坛兄弟 资料全部开源。小车调的不是很好、
  但是能站立的很稳,小车的前后左右控制没弄   要毕业 忙着找工作。小车如果谁有兴趣 连车架板子一起200元拿走 可以走淘宝,好了不做广告了。开始小车的介绍了


本项目由9个模块组成,1、电源模块。2、MCU模块。3、蓝牙模块。4、电机驱动模块模块。5、MPU6050模块。6、指示模块。7、电机接口模块。8、2.4G无线通讯模块9、扩展模块

通过这些模块的协调配合,共同组成该项目完成其功能。
MCU模块:采用STM32F103C8T6单片机作为主控MCU,其拥有64k字节Flash闪速存储器,20K字节内部RAM,37 个I/O 口线,两个16位定时/计数器, 3个全双工串行通信口,片内振荡器及时钟电路,2个12位的ADC,一个24位的系统定时器。和复位电路,时钟电路,下载电路组成单片机最小系统。
电源模块:主电源由12V2200MAH电池提供,通过LM2596S得到5V电压,再由ASM11173.3V稳压芯片得到3.3V,供给单片机,传感器,通讯模块。
MPU6050模块:通过MPU6050传感器检测到当前角度值和加速度,通过该值实时调整小车的角度,从而是小车自平衡的目的。
电机驱动模块:电机驱动模块由TB6612芯片组成,外围电路非常简单,效率高,控制频率高。
指示模块:通过2只蓝色,2只绿色LED组成,用于遥控器控制时方向的确定,给遥控控制带来极大的方便。
电机接口模块:电机接口模块保护电机接口模块和编码器接口模块组成,完成电机的驱动和编码器的供电与读取,编码器用来校准电机的控制方向和力度。
2.4G无线通讯模块:2.4G通讯模块由NRF2104的模块构成,遥控器通过2.4G控制小车的前进.后退.左转.右转,单片机通过SPI总线读取遥控器的数据。
蓝牙模块:有HC05的蓝牙模块,HC05是一个比较老式的蓝牙模块,但是HC-05模块使用方便,通过串口读取上位机发送的数据控制小车运行。
扩展模块:单片机所有IO没有全部用完,引出没有用的IO,方便以后升级小车。

硬件调试:
制作过程:
1.把厂家做好的板子拿到,先检查板子的线路是否正确。
2.先开始焊电源部分,因为如果电源部分有问题后面东西焊上去全部烧掉。
3.测试电源部分电压是否正常,5V电压是否正确,3.3V电压是否准确。
4.再焊单片机最小系统部分。先写一个最小的程序,看下单片机能不能正常下载,不能下载检查单片机电路。
5.再开始焊外围电路,焊一个电路测试一个部分,比如要焊MPU6050,把MPU6050程序下好,通过仿真看MPU6050是否能正常读取。
6.最后焊电机驱动桥,电机不接测试电机驱动桥电压是否正常,电压是否正确。
7.装上电机,测试电机运动是否正确。确定电机运动方向。
8.把电路板安装到小车车架上。
实物图见附录A。


软件调试
以上硬件安装完成,基本的程序架构也出来了。保证了每个模块的正确。再开始编写程序,通过Keil C51编译代码,首先按照功能划分不同的子程序,编写一个1MS的定时器,以1MS的定时器做系统调度的基准。每个模块每100MS调用一次。先读取MPU6050的角度和加速度,通过四元素变换成欧拉角,把加速度进行量化。再读取编码器的值。读取2.4G模块接收到和蓝牙模块接收到的控制值。最后结合角度,加速度,编码器的值和控制值进行串级PID运算。一个角度环和一个位置环。先调试角度环,是小车能基本站立,并且对外力由比较强的反应,角度环使用PID中的PD,因为小车的重量不均匀,PID中的I不能使用。再调试位置环PI,这时候小车应该已经很稳定了。位置环不用D只用PI,因为位置的方向是不确定的,所以引人D回带来系统很大的干扰。再加上遥控器的控制值,用来控制小车的前进后退,左转右转。

82CA7A6D-761C-401C-A88C-828E7552A55B.JPG (92.43 KB, 下载次数: 11)


82CA7A6D-761C-401C-A88C-828E7552A55B.JPG

03426D1D-F1BF-4EB9-B1F1-EE4AB74B0801.JPG (103 KB, 下载次数: 11)


03426D1D-F1BF-4EB9-B1F1-EE4AB74B0801.JPG

99101EDC-6B6A-4A85-8C96-F2B6B99DD7B7.JPG (116.66 KB, 下载次数: 4)


99101EDC-6B6A-4A85-8C96-F2B6B99DD7B7.JPG

C68F5370-6B88-4A28-A9DD-B6F830AB28A1.JPG (64.29 KB, 下载次数: 5)


C68F5370-6B88-4A28-A9DD-B6F830AB28A1.JPG

QQ图片20151223200955.png (472.46 KB, 下载次数: 10)


QQ图片20151223200955.png

QQ图片20151223201228.png (200.77 KB, 下载次数: 16)


QQ图片20151223201228.png

PCB.zip


1.88 MB, 下载次数: 163, 下载积分: 下载币 -5


PCB



阅读(81) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册