[DIY]双轮自平衡小车

2015-10-21 14:30:21平衡
894713
作品效果:


preview.jpg

工作原理:
两轮自平衡小车在完成自身平衡的同时能够完成运动控制和适应不同环境的其它控制任务。我们利用陀螺仪和加速度传感器MPU6050来检测车体状态的变化,并利用直流光电编码电机控制驱动,精确控制电机进行相应的调整,以保持系统的平衡。
preview_a.jpg

材料准备:
all.jpg
0824双孔梁144 1
25mm直流电机连接片 2
同步带轮90T 2
轮胎68.5x22mm 2
法兰盘 4mm 2
螺丝M4*8 22
螺丝M4*16 4
尼龙柱30mm 6
塑料铆钉M4*8mm 4
亚克力板B 2
Orion主控板 1
直流编码电机扩展包(包含2个25mm直流编码电机) 1
陀螺仪传感器 1
红外接收模块 1
红外遥控器 1
18650锂电池 1
RJ25连接线20cm 3
六角扳手
十字起子


制作步骤:
  • 搭建底盘,由一根双孔梁作为整个小车的主要支架,底两侧安装25mm编码直流电机。
step01_a.jpg

step01.jpg

step02.jpg

step03.jpg

  • 将车轮固定在编码电机输出轴上
step04.jpg


step05.jpg

step06.jpg
  • 安装主控板和其它电子模块
step07.jpg


step08.jpg

step09.jpg

step10.jpg
  • 将亚克力支架固定在双孔梁上的内螺纹槽中。同时压住编码电机的连接线。
step11.jpg

step12.jpg

  • 安装剩余的电子模块以及连线(编码电机驱动接Port 1、陀螺仪接Port 8、红外接收器接Port 6
step13.jpg

step14.jpg

step15.jpg

step16.jpg

  • 用魔术贴将电池固定在小车顶部,完成搭建
step17.jpg
使用方法:
打开电源开关,先将小车放倒在地面,待电机停止转动后,扶正小车后并复位主控板。小车将在2秒内转为平衡状态。用红外遥控器方向键控制小车前进后左右转弯。

Arduino源代码:https://github.com/xeecos/me-orion-balance-bot

Arduino.zip

22.45 KB, 下载次数: 1512

2人收藏
13 条回帖
大连林海论坛元老2017-6-27 21:45:26
虎子哥 发表于 2017-6-27 20:22
最新编码电机驱动板已不适用这个程序的驱动,需要替换成最新的编码电机库 ...

虎子哥,这个很受用户喜欢,要是有时间 抽空改一个样例呗 替大家先谢谢你
大连林海论坛元老2015-10-21 19:05:57
木果创客中级会员2015-10-21 19:11:03
为什么要编码电机,普通的不行嘛?
虎子哥管理员2015-10-21 19:48:57
木果创客 发表于 2015-10-21 19:11
为什么要编码电机,普通的不行嘛?

也可以,普通电机的控制效果会差些
timon注册会员2015-10-31 23:52:36
控制精确度不够,所以还是用编码
glxcn新手会员2015-11-24 20:19:00
void PID_angle_compute(void)
{
......
#ifdef MOTOR_ENABLE
    runMotor(0, pwm_left);
    runMotor(1, pwm_right);
#endif

    PID_angle.Timer = micros();
  }
}

PID.CPP 代码中 让MOTOR运动的似乎为     
runMotor(0, pwm_left);
runMotor(1, pwm_right);
其他地方无让MOTOR运动的代码  但是结果测试,  runMotor(0, pwm_left);
无法让MOTOR运动啊  求解

feiyuchun新手会员2015-12-6 10:36:30
学习。。。
上帝在傻笑新手会员2016-3-21 17:49:40
您这个程序有问题啊,能传一个能用的程序么,谢谢
yuan87878新手会员2016-10-9 10:16:48
程序上传成功了,开机电机没有反应。求解?怎么办?
虎子哥管理员2017-6-27 20:22:11
最新编码电机驱动板已不适用这个程序的驱动,需要替换成最新的编码电机库
12下一页
需要登陆后才可进行回复 登录

返回顶部
现在加入我们,注册一个账号 账号登陆 QQ账号登陆 微博账号登陆