极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 53862|回复: 13

基于arduino的自平衡车

[复制链接]
发表于 2012-11-5 21:44:10 | 显示全部楼层 |阅读模式
本帖最后由 johnsonzzd 于 2012-11-6 10:24 编辑

控制器:arduino uno
传感器:角加速度用BMA 180,角速度用ITG 3205,位移用电机12线正交编码器
算法:角度测量用卡尔曼滤波融合,控制用全状态反馈
动力:两个直流减速电机,电压12v 功率17w 速比64 速度120rpm。MC33886驱动。4s锂电池组。
无线通讯:3个XBEE无线模块分别在小车、Wii手柄遥控模块、PC检测模块上。













简化的kalman滤波,copy老外的:http://arduino.cc/forum/index.php/topic,8871.0.html
  1. float kalmanCalculate(float newAngle, float newRate,int looptime)
  2. {
  3.   newAngle=newAngle/10;
  4.   newRate=newRate/10;
  5.   float dt = float(looptime)/1000;
  6.   x_angle += dt * (newRate - x_bias);
  7.   P_00+=(- dt * (P_10 + P_01) + Q_angle * dt);
  8.   P_01+=( - dt * P_11);
  9.   P_10+=(- dt * P_11);
  10.   P_11+=(+ Q_gyro * dt);

  11.   y1 = newAngle - x_angle;           //测量值与预测值之差
  12.   S = P_00 + R_angle;               //预测误差与测量误差之和
  13.   K_0 = P_00 / S;                   //角度测量的卡尔曼增益
  14.   K_1 = P_10 / S;                   //

  15.   x_angle+=K_0 * y1;
  16.   x_bias +=K_1 * y1;
  17.   P_00-=K_0 * P_00;               //角度的预测误差更新
  18.   P_01-=K_0 * P_01;
  19.   P_10-=K_1 * P_00;
  20.   P_11-=K_1 * P_01;
  21.   return x_angle*10;
  22. }
复制代码


主要材料清单,我不是做广告啊。
  
编号
  
  
项目
  
  
型号
  
  
供应商
  
  
备注
  
  
1
  
  CPU
  
  Arduino Atmega328P
  
  http://item.taobao.com/item.htm?id=14753282555
  
  
 
  
  
2
  
  电机
  
  Faulhaber编码器空心杯减速电机带支架
  
  http://tradearchive.taobao.com/trade/detail/tradeSnap.htm?spm=a1z09.2.9.43&tradeID=125981947427046
  
  
 
  
  
3
  
  电机驱动
  
  飞思卡尔 33886大功率电机驱动板
  
  http://item.taobao.com/item.htm?id=6717655675
  
  
 
  
  
4
  
  轮胎联轴器
  
  电机轴6mm轮胎连接器
  
  http://item.taobao.com/item.htm?id=3360963897
  
  
 
  
  
5
  
  轮胎
  
  85mm直径
  
  http://item.taobao.com/item.htm?id=16069180495
  
  
 
  
  
6
  
  姿态传感器
  
  10DOF ITG3205 BMA180传感器
  
  http://item.taobao.com/item.htm?spm=a1z09.5.0.41&id=13463429069
  
  
 
  
  
7
  
  电池
  
  ACE 2200mAh,14.8v锂电池组
  
      
 
  
  
8
  
  稳压模块
  
   LM2596 DC-DC 可调降压 电源模块
  
      
给CPU供电
  
  
9
  
  有机玻璃板
  
  有机玻璃 厚3mm
  
      
 
  
  
10
  
  
铜柱
  
  
各种规格
  
      
 
  
  
11
  
  
螺柱
  
  
小车支架
  
  
 
  
  
标准件商店
  
  
12
  
  无线通讯
  
  
XBee 100米无线数传模块
  
      
 
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-11-5 22:35:42 | 显示全部楼层
好强大,我看到都铺尘了!!!
回复 支持 反对

使用道具 举报

发表于 2012-11-6 09:17:28 | 显示全部楼层
对你的算法和加速度转换感兴趣,你的小车应该吃灰很久了吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-6 09:31:22 | 显示全部楼层
本帖最后由 johnsonzzd 于 2012-11-6 09:34 编辑

感兴趣的朋友可以去飞思卡尔智能车官网电磁组看看,有指导资料。


2012年飞思卡尔智能车大赛电磁组第一名中南民族大学队


清华卓晴副教授的讲解:电磁组直立车模调试指南

回复 支持 反对

使用道具 举报

发表于 2012-11-6 09:45:10 | 显示全部楼层
请问编码器与电机是如何配套的?我想成套买两个、
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-6 10:33:15 | 显示全部楼层
宜昌城老张 发表于 2012-11-6 09:45
请问编码器与电机是如何配套的?我想成套买两个、

我把材料清单以及淘宝地址添上了。编码器是电机自带的,看起来很山寨。12线有点少。小车大部分时间处于原地平衡的低速状态,一个周期才几个脉冲,速度估计误差很大。店里应该能配更高分辨率的。
回复 支持 反对

使用道具 举报

发表于 2012-11-6 11:44:28 | 显示全部楼层
真是太好了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2012-11-6 16:19:21 | 显示全部楼层
看着很不错啊    手工不错
回复 支持 反对

使用道具 举报

发表于 2012-11-6 19:11:55 | 显示全部楼层
赞一个,楼主动手能力不错。如果再整个功率大点的电机,可以考虑自己做个segway。
回复 支持 反对

使用道具 举报

发表于 2012-12-29 21:31:32 | 显示全部楼层
就喜欢你这样的,所以的东西都发上来,对于我这样的小白才好照葫芦画瓢,画完才会自我创新,谢谢了,但,我感觉源码好像不全啊。
回复 支持 反对

使用道具 举报

发表于 2013-1-31 12:08:30 | 显示全部楼层
咨询FreeWay两轮平衡车(无刷电机+锂电池)
QQ:695118363
回复 支持 反对

使用道具 举报

发表于 2013-10-10 22:47:51 | 显示全部楼层
biaoji,我的小车蓝牙没法控制,接收到信号后晃动一下后就停下了
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:32:27 | 显示全部楼层
谢谢分享,准备也做一个。{:soso_e100:}
回复 支持 反对

使用道具 举报

发表于 2015-5-26 17:15:45 | 显示全部楼层
gooooood~~~
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-6 22:05 , Processed in 0.048554 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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