电动独轮平衡车V1
电动独轮平衡车说明:电路及程序:
采用24V250W直流电机,通过链条带动轮子,单片机(STC12C5624AD)
读取MPU-6050模块数据经PID运算通过H桥控制电机转速,实现前后平衡。
通过扶手控制速度,腰部的扭动来实现转向达到左右平衡。
轮子看起来比较小,因为我觉得轮子大了力量会不足。
从实验来看,电机的力量稍微不足,人上去后如果倾角太大会无法平衡,
建议加大功率。
由于结构设计问题,经常掉链子,建议用无刷的轮毂电机。
程序还不够完美,车子跑一段时间后,角度会出现偏差。
目前我还没学会,勉强能前行四五米,准备趁周末好好练练。
昨天练了一个多小时,今天感觉腰酸背痛的。
建议先要把辅助轮用上,掌握好前后的平衡后,再去掉辅助轮单手扶墙练习。
车子(不含电池)重量约:5.1kg。
成本估算:
GY-521 MPU-6050模块:25
轮子12寸: 60
童车辅助轮: 15
电机24V250W: 80
齿轮+链条: 50
搁脚: 15
角钢: 50
控制电路: 100
锂电池24V12AH: 450
共计约: 845
算上其它一些东西估计成本1000左右。
照片里是没有电池的,因为我用的电动自行车的电池,体积比较大,背在
书包里的。这个车车的许多设计都是参考我骑的电动自行车来的。
albert_w 发表于 2014-4-4 23:53
左右平衡是怎么做的? 还是跟自行车一样靠技术?
的确,左右平衡是要靠技术的,车往哪边倾斜则需要往哪边转向,
都是一样的道理,短时间的转向可以靠扭腰,长时间的转向则需要靠转移重心使轮子倾斜。
今天上午练了两小时,总算是找到一点感觉了,现在上传视频:
挺拉风的 赞一个不错哦 本帖最后由 stm8s 于 2014-4-4 22:44 编辑
三角铁这车太危险, {:titter:}看起来好像不太结实 体型比较丰满的人站上去估计够呛吧 这个mos管电路不太懂 能介绍下不 左右平衡是怎么做的? 还是跟自行车一样靠技术?{:lol:} eva015401 发表于 2014-4-4 22:44
看起来好像不太结实 体型比较丰满的人站上去估计够呛吧
的确,这结构实在不牢靠,老是掉链子。 金牛AKI 发表于 2014-4-4 23:29
这个mos管电路不太懂 能介绍下不
这个是由IR2104驱动MOS管构成的H桥,与普通H桥相比,增加了NE555做的电容升压电路,可以令上方的MOS管持续导通。
但是,实际上不需要占空比达到100%,可以省略NE555那一块电路,H桥的一方让下方MOS管导通,另一方加PWM即可。 看了下你的视频你的电池背在包里对吧,还是是车子只能跑一会儿还是你自己让停下来的,我感觉你的控制程序很少,可以研究下控制算法 对了你的电路图中
电感L1和电容C19是怎么取得,能否说下,对模电这一块不是很懂 mark...... 金牛AKI 发表于 2014-4-5 14:58
看了下你的视频你的电池背在包里对吧,还是是车子只能跑一会儿还是你自己让停下来的,我感觉你的控制 ...
电池是在包里,车子停下是因为掉链子了,程序虽少但是已经实现了平衡。 金牛AKI 发表于 2014-4-5 15:04
对了你的电路图中
这个电路的L、C主要是为了方便驱动其它类型的负载,比如TEC。
对于直流电机来说,L可以直接用导级代替,C可以不要。 我看到这架子,有一种菊花一紧的感觉{:lol:}{:lol:} 赞一个,有个视频更好了 楼猪最新进展如何? 进展如何 可以骑了 不过市面上有这个壳和 电机 电池 自己弄个板 DIY
为何不拆个旧电动自行车的轮子呢? 赞一个不错哦 wind2100 发表于 2014-4-18 18:35
可以骑了 不过市面上有这个壳和 电机 电池 自己弄个板 DIY
求网址{:biggrin:} 赞一个,好东西 霸气侧漏 发表于 2014-4-18 16:48
进展如何
接下来,楼主要再买一些零件,把这个独轮平衡车改为两轮平衡车。
因为独轮的太难学,而且也不太安全,
虽然自己骑着没什么,但是给别人骑就不放心了。 好资料,赞一个! lcw_swust 发表于 2014-4-21 09:01
接下来,楼主要再买一些零件,把这个独轮平衡车改为两轮平衡车。
因为独轮的太难学,而且也不太安全,
虽 ...
你这是做产品的节奏 路过路过 帮楼主赞下 程序确实写得很简单 Yahom 发表于 2014-8-23 15:07
程序确实写得很简单
的确简单,本来也不需要多复杂。
核心算法是:
获取车体前倾角度(互补滤波)、PID、PWM调节电机转速。
二输平衡车的算法也差不多,只是多了转向处理,有兴趣可以看看这个帖子:
http://www.amobbs.com/thread-5583542-1-1.html
lcw_swust 发表于 2014-8-23 15:35
的确简单,本来也不需要多复杂。
核心算法是:
获取车体前倾角度(互补滤波)、PID、PWM调节电机转速。
楼主厉害,大赞一下 厉害,mark 向前骑时,人猛下向后倾,电机给反向力矩刹车,有没感觉车顿的一下,人感觉不舒服 liuxiangmeng123 发表于 2014-8-29 22:33
向前骑时,人猛下向后倾,电机给反向力矩刹车,有没感觉车顿的一下,人感觉不舒服 ...
这个是不会的,因为程序中调节PWM时限制了PWM的增量.
add=amplmt(add,KK*40); 鼓楼一下,动手能力真强。 我的平衡车载人时不震荡,空载不载人时,在0度时频繁震荡,为啥? liuxiangmeng123 发表于 2014-9-10 22:22
我的平衡车载人时不震荡,空载不载人时,在0度时频繁震荡,为啥?
其实我的这个车也有这个问题,后来做二轮平衡车的时候把这个问题解决了,
因为原来的程序的PID只用了PI,后来加入D之后就可以在空载时保持平衡了.
程序在这个帖子的88楼:
http://www.amobbs.com/forum.php?mod=viewthread&tid=5583542&page=1#pid7871955
牛啊,单轮双轮你对搞…… 这个自己做好玩啊 貌似加了微分后,反应变慢了 liuxiangmeng123 发表于 2014-9-12 07:39
貌似加了微分后,反应变慢了
不会吧,把你的程序弄上来看看。 MARKMARKMARK 强大,学习了。。。 楼主厉害,还是把角铁换厚些的吧,要不然菊花要遭殃{:titter:} dqlm016 发表于 2014-9-12 10:46
楼主厉害,还是把角铁换厚些的吧,要不然菊花要遭殃
别担心,这车已经拆掉了,做成二轮的了。 这个好玩,学习一下 电动独轮平衡车说 赞~~~~~~~ 好,晚上回去发 mark一个 赞一个。车身架构要好好调整,不然安全系数也太低了 前天骑独轮车摔了一跤 手和膝盖都摔破了 这是代码,Kp在main.c文件里设置,Ki、Kd在PWM.c文件里,
而且人越重,车子反应越慢 你的两轮车pid参数是怎么一步步调出来的,我是按网上的步骤,但效果不好 本帖最后由 lcw_swust 于 2014-9-13 11:13 编辑
liuxiangmeng123 发表于 2014-9-12 21:04
这是代码,Kp在main.c文件里设置,Ki、Kd在PWM.c文件里,
而且人越重,车子反应越慢 ...
大概看了下你的程序
PWM=PWM+add;
这一句之后应当有个对PWM的限制,不能超出一定的范围,否则可能会溢出。
KP有个软启动过程,这想法不错,但是估计作用不明显,因为KI项同样会造成PWM的快速变化,
若有需要,建议在最终调节PWM处对PWM作软启动处理。
你的算法中多处都用到了float,我觉得没必要,其实许多数据都可以放大后按整数来算,最终的结果除以一个系数即可。
例如计算0.12+0.34=?,可以写成(12+34)/100。
你的Kd略大,我觉得Kd只需取到比Kp略大就行,比如40。
关于PID参数的调节,我是做实验得来的,多尝试一下就明白了。
查看串口数据的波形,我这里有个自己写的软件:
用的时候先看看“说明.txt”
在PWM_Calcu()内加入这些句子:
uart1_sendbyte(0xaa);//起始
uart1_sendbyte(4);//4字节数据帧(最多为10字节)
uart1_sendbyte(iPWML>>8);//高字节
uart1_sendbyte(iPWML);//低字节
uart1_sendbyte(iPWMR>>8);
uart1_sendbyte(iPWMR);
串口连接后,即可以软件中看到iPWML、iPWMR的波形。 楼主厉害,顶! 你的程序里PID计算那有三处限制函数,前两次有什么意义??还有设置角度-6是干什么?
err0=(GyDegXy+600)/10;//设置角度为-6.00,当前角度为GyDegXy//Ts-Tr;
add=(S32)Pid_p*(err0-err1);
err2=err1;
err1=err0;//保存本次误差
err0=amplmt(err0,KK*40); //第一个限制
add=add+(S32)Pid_i*err0;
//add=(S32)Pid_p*(err0-err1)+(S32)Pid_i*err0+(S32)Pid_d*((err0-err1)-(err1-err2));
add=amplmt(add,KK*40); //第二个限制
Vout=amplmt(Vout+add,KK*200);//第三个限制 独轮可以考虑加个座垫不? 本帖最后由 lcw_swust 于 2014-9-14 11:21 编辑
liuxiangmeng123 发表于 2014-9-13 16:16
你的程序里PID计算那有三处限制函数,前两次有什么意义??还有设置角度-6是干什么?
er ...
第一个限制:
1、防止误差过大引起乘法溢出
2、让比例项在误差较大时也能起作用
第二个限制:防止增量过大引起振荡,毕竟电机的响应速度不是很快,调节过快会有较大滞后,极易振荡。
第三个限制:限制PWM,因为赋给PWM寄存器的值最大为255,所以肯定不能超过255,此处限为200是留了一点余量,因为电路中IR2104需要自举,占空比不能太接近100%。
角度-6是因为车体需要向前倾斜一点才好握把手。 谢谢分享 vibrate 发表于 2014-9-13 18:45
独轮可以考虑加个座垫不?
座垫可以加,只是我觉得这样驾驶起来不方便。
这个帖子里有加座垫:
http://www.amobbs.com/forum.php?mod=viewthread&tid=5508583&highlight=%E7%8B%AC%E8%BD%AE
一个叫SBU的平衡车也有座垫:
淘宝上也有普通独轮平衡车的座垫卖:
楼主厉害,不过看到骑这种车的人很少,我看到过几次。 目前很惹火的产品,做的厂家也多。 mark mark,硬件不懂啊,只能看看程序了 谢谢楼主 有没有人用无刷电机做的? ledao_rj 发表于 2014-9-15 21:39
有没有人用无刷电机做的?
有
http://www.amobbs.com/forum.php?mod=viewthread&tid=4854220&highlight=%E7%8B%AC%E8%BD%AE
淘宝网上卖的也基本上是无刷电机做的。 看上去有点危险啊 看上去高大上,拉出去回头率100%啊 lcw_swust 发表于 2014-9-16 09:07
有
http://www.amobbs.com/forum.php?mod=viewthread&tid=4854220&highlight=%E7%8B%AC%E8%BD%AE
淘宝网 ...
这个人好像做着做着就做不下去了。 好利好~~~~~ ledao_rj 发表于 2014-9-16 21:32
这个人好像做着做着就做不下去了。
是啊,好像是电路上的问题。
我觉得他的电机和车架不错。 看住不错 支架强度是个问题 结构也是问题 我也打算研究研究 谢谢楼主分享了 很不错! 这个做的有点生猛了 谢谢楼主开源 楼主,转弯怎么办,自己屁股扭吗? 945595199 发表于 2014-12-27 21:38
楼主,转弯怎么办,自己屁股扭吗?
只要车体倾斜,自然就会转弯,玩过“铁环”吧?跟那个很像。 高手,长见识了 很强大,要向楼主学习,增强动手能力 不是有程序么?顶起来呀!
请问楼主程序中的:
GAX=GAX+z*GAY/SINDIV+(-y)*GAZ/SINDIV;
GAY=(-z)*GAX/SINDIV+GAY+x*GAZ/SINDIV;
GAZ=y*GAX/SINDIV+(-x)*GAY/SINDIV+GAZ;
为何GAX需要加上GAY,GAZ的分量?这一段出自何处?还是自己构造的? xl1736 发表于 2016-2-15 20:29
请问楼主程序中的:
GAX=GAX+z*GAY/SINDIV+(-y)*GAZ/SINDIV;
GAY=(-z)*GAX/SINDIV+GAY+x*GAZ/SINDIV;
这里是计算重力向量的旋转,
X座标会受绕Y轴、Z轴旋转的影响,式子可以用二维向量的旋转来类推。
在这个帖子的33楼有详细一点的说明:
http://www.amobbs.com/thread-5614575-1-1.html 电路图用什么软件打开呀 weiming4033 发表于 2016-2-16 09:52
电路图用什么软件打开呀
protel 我也想做啊。可惜没有那个技术啊。 wscaption 发表于 2016-2-16 15:10
我也想做啊。可惜没有那个技术啊。
二轮的好做一些:
http://www.amobbs.com/thread-5583542-1-1.html lcw_swust 发表于 2016-2-16 08:59
这里是计算重力向量的旋转,
X座标会受绕Y轴、Z轴旋转的影响,式子可以用二维向量的旋转来类推。
在这个 ...
为何我算的不一样。我是用欧拉角的微分方程算的。
出自《惯性导航》秦永元P327 xl1736 发表于 2016-3-25 16:28
为何我算的不一样。我是用欧拉角的微分方程算的。
出自《惯性导航》秦永元P327 ...
很惭愧,其实你发的图我没看懂,数学太差了。。。
也许有些角度是反的,比如sin(-X)=-sinX,
所以我给的式子中的sin...,可能别人用的-sin... 这个电路 可以实现 PWM %100吗? gdmfq 发表于 2016-9-30 17:25
这个电路 可以实现 PWM %100吗?
可以 做的很漂亮,支持一下 {:shocked:}{:victory:} lcw_swust 发表于 2016-10-3 14:20
可以
谢谢,还有D1 D2可以去掉是吗 ? gdmfq 发表于 2016-10-8 09:53
谢谢,还有D1 D2可以去掉是吗 ?
在某些情况下可以去掉,建议做下实验。
强烈建议保留
页:
[1]