智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 26164|回复: 73
打印 上一主题 下一主题

探讨电磁组的站立,个人站立的经验总结,仅供参考

    [复制链接]

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
跳转到指定楼层
1#
发表于 2012-2-3 23:04:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
探讨电磁组的站立,个人站立的经验总结,仅供参考,不文明者请绕行!!!
因为图像比较难上传,整文档,带图的请自己下载附件。。
一、问题电磁车要直立,需要什么?怎么利用?
①控制车模直立的直观经验来自于杂技表演。一般的人通过简单练习就可以让一个直木棒在手指尖上保持直立。这需要两个条件:一个是托着木棒的手掌可以移动(相当于电磁车的电机);另一个是眼睛可以观察到木棒的倾斜角度(mma7260加速度计)和倾斜趋势(陀螺仪角速度计)。通过手掌移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这两个条件缺一不可。
②电磁车要直立需要知道车体的倾斜角度和倾斜速度。通过测量车模的倾角和倾角加速度控制车模车轮的加速度来消除车模的倾角。因此车模倾角以及倾角加速度的测量成为控制车模直立的关键。
③Mma7260如何获得车体倾斜角度

我们按照图0-1的安装方法,就是图0-3的情况
         
图0-3的情况                    图4 串口输出

如果我们用串口输出的话,他的值应该和图0-4一样X y 最小 z最大。
只需要测量其中一个方向上的加速度值,就可以计算出车模倾角,比如使用Z轴方向上的加速度信号。车模直立时,固定加速度器在Z轴水平方向,此时输出信号为零偏电压信号。当车模发生倾斜时,重力加速度g 便会在 Z轴方向形成加速度分量,从而引起该轴输出电压变化。变化的规律为
△u =k g sinθ
式中,g为重力加速度;θ 为车模倾角;k为比例系数。当倾角θ 比较小的时候,
输出电压的变化可以近似与倾角成正比。 似乎只需要加速度就可以获得车模的倾角,再对此信号进行微分便可以获得倾角加速度。但在实际车模运行过程中,由于车模本身的运动所产生的加速度会产生很大的干扰信号叠加在上述测量信号上,使得输出信号无法准确反映车模的倾角。这时怎么办?因此对于车模直立控制所需要的倾角信息需要通过另外一种器件获得,那就是角速度传感器-陀螺仪 二者融合卡尔曼滤波获得角度,角速度。
④角速度传感器
                           
在车模上安装陀螺仪,可以测量车模倾斜的角速度,将角速度信号进行积分便可以得到车模的倾角。那么有了这个两个信息,角度,角速度就可以调整车的直立行走了。
⑤角度、角速度二者如何融合
角速度传感器(ENC-03MB)、加速度传感器(MMA7260)。AD测量并转换得两者数据,送KALMAN滤波,输出得到角度(angle)、角速度(angle_dot),就可以用了!这里有个问题就是,加速度本身算出的是角度,但是他不准!所以才带上角速度传感器一起送入卡尔曼滤波的的输入。加速度计反正弦求出的角度静止时是很精确的,但是在运动(偏航就是运动吧)时由于有除重力附加的加速度,所以算出的角度将不准。角速度积分求出的角度,因为是积分,所以在累加过程中又慢慢的累计误差,慢慢得出的角度也不准了,角速度传感器本身也有温漂问题,也会造成影响。融合之后很精确。

角速度直接来自en03
角度控制电机的p  
角速度控制电机的i

这样通过pi来控制电机的转动速度。就可以了!到此小车直立所需要的信息就够了。如果匀速,就需要加入编码器。

二、硬件的几点注意
1 电路的简单分析

图1 Enc-03官方的参考电路图
里面有几点疑问
1 vout如何通过4.7uf电容
VOUT 后接4.7uf的电容,这VOUT不是输出直流吗?电流极性不变啊,那么怎么通过电容?不是单纯的给电容充电了吗?直流的定义是极性不变,不是说幅值不变。 不动叫恒流。我说的直流是它的定义,和我们的习惯认识有点差异,我们一般说直流更接近横流(或者恒压)。 所以只要有角速度变化一旦陀螺仪检测到角速度,VOUT就会有电压,由于电容的电压不能突变,电容两侧的电压是相等的,所以电压就通过电容了。
2 温飘是什么
  温飘,就是en03静止的时候他的输出端不是一个固定的值,而是随着温度的变化而变化。经过测试,en03的温飘没有想象的那么严重,做智能车的同学可以把它忽略掉。如果温度变化10°以上,需要调整下。测试数据如下:
型号        时间10s        时间1min        时间10min        时间1h
ENC-03MB          0x1f4        0x1f2        0x1f1        0x1f2
ENC-03RC #1        0x2a3        0x2ac        0x2b5        0x2b2
ENC-03RC #2        0x04f        0x04f        0x058        0x05a
一个ENC-03MB、两个ENC-03RC主要测试静态,AMS1117-3.3V供电,环境温度19度 测试长期加电的输出漂移,测试点为运放输出,为10位AD所采集的原始数据。
结论是:ENC-03MB温飘小,比较好。
3 en03的放置
首先看清en03m的引脚分布

                     图3 en03 官方的引脚图
看手册是从左下开始,逆时针1234.

图4实际的安装方法图
三、调试的几点注意
首先要确保采集到的角度足够稳定,要没有毛刺,也就是说硬件要有保证。有微小偏差没关系,这是因为车平衡时的角度为0度,如果有点偏差,车顶多就是平衡时倾斜一点,再靠水平的速度、位移调节也不会让车动弹的!
  再就是一定要确保你的PID各项构成负反馈,如果其中任意一项构成正反馈都永远不会稳,或者只能稳定一小段时间。参数共4项,需要依次测试。
    调节过程中,要时刻记住PWM量程是多少,假设为0~255,那么在调节过程中就要根据这个参数来设定各个K值大概的值。你想想太小的话,假设角度K=2,那么当角度很大的时候,假设30度,这时控制量才为2*30=60<<255,效果就是车都快到了,你给电机的能量才一点点,你说车还能站

本帖子中包含更多资源

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

x

评分

3

查看全部评分

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
推荐
 楼主| 发表于 2012-2-4 20:37:17 | 只看该作者
不需要用到剩下的两个参数(位移K或者速度K)也能实现平衡。用这些东西就用到编码器了,在没有直立的时候引入这些,我觉得不好,参数越少越好调,多了就乱了。
回复 支持 0 反对 1

使用道具 举报

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
推荐
 楼主| 发表于 2012-2-4 19:43:25 | 只看该作者
PWM=角度*p+ 角速度*i  是这样
回复 支持 1 反对 0

使用道具 举报

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
2#
 楼主| 发表于 2012-2-3 23:06:14 | 只看该作者
首先要确保采集到的角度足够稳定,要没有毛刺,也就是说硬件要有保证。有微小偏差没关系,这是因为车平衡时的角度为0度,如果有点偏差,车顶多就是平衡时倾斜一点,再靠水平的速度、位移调节也不会让车动弹的!
  再就是一定要确保你的PID各项构成负反馈,如果其中任意一项构成正反馈都永远不会稳,或者只能稳定一小段时间。参数共4项,需要依次测试。
    调节过程中,要时刻记住PWM量程是多少,假设为0~255,那么在调节过程中就要根据这个参数来设定各个K值大概的值。你想想太小的话,假设角度K=2,那么当角度很大的时候,假设30度,这时控制量才为2*30=60<<255,效果就是车都快到了,你给电机的能量才一点点,你说车还能站起来么?另外K=10000的话,当车体倾斜1度的时候,控制量为10000*1=10000>>255,效果就是只要角度不为精确地0度,那么电机就会全速运行,以最大力量调整车体,这时你想想能稳定么,车体倾斜角度会很快发散,最后倒下。
    整定方法大概如下:
1.调角度K值,调到基本能够站立;
2.调角速度K值,从零慢慢增加,这个K很小。太小的话,车子反应迟钝,好像没有这项一样,太大的话,车子抗扰能力变差,所以要适当。
3.调水平速度K值的时候,要注意你获得的车速是不是很精确的,如果用很多线的光电码盘就会很精确,但如果码盘只要几线,或者用一个霍尔传感器,获得的速度就会很不精确,这时就要做好车速的低通滤波,很关键!有这个功夫还不如直接上个编码器。车速K值也是慢慢增加,增加过程中观察车的反应。
4.位移K值也应该很小,因为是速度的累计,慢慢会漂移变大,设定一个上下限,是为了防止漂移过大造成控制量过大最后会等于255。
稳定站立,长达20分钟,前后移动1cm,几乎原地不动,测试视频:
http://v.youku.com/v_show/id_XMzQ1MDY3NTgw.html
巡线跑,速度稳定,测试视频:
http://v.youku.com/v_show/id_XMzQ1MDQ3ODA4.html
助赢电子上海分店http://shop60778869.taobao.com
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
10
威望
75
贡献
25
兑换币
0
注册时间
2012-2-3
在线时间
0 小时
毕业学校
3#
发表于 2012-2-3 23:40:02 | 只看该作者
回复 支持 反对

使用道具 举报

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
4#
 楼主| 发表于 2012-2-4 08:43:12 | 只看该作者
是的,调试方法参考这个帖子的。里面的内容还参考了清华的文档,参考内容比较多,因为学习这些东西,需要查一些资料,我就把查阅的一些资料,做了一些记录,也为了防备后期自己找不到,再花费很多时间找
回复 支持 反对

使用道具 举报

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
5#
 楼主| 发表于 2012-2-4 08:44:37 | 只看该作者
本手册内容是店主学习过程中得资料总结,参考了网上很多资料,互相交流仅供参考,
回复 支持 反对

使用道具 举报

45

主题

277

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12254

论坛元老奖章

威望
1516
贡献
10106
兑换币
289
注册时间
2008-5-19
在线时间
316 小时
6#
 楼主| 发表于 2012-2-4 09:11:33 | 只看该作者
在整个调试过程中,我个人觉得调试的方法很重要,pid怎么看现象,什么现象是超调,怎么就算可以?网上说的个人觉得还是偏抽象,念口诀不怎么管用。调试的中册,是对调试方法的一个总结,也是结合了网上的一些资料和自己调试过程遇到的一些问题。几天内发布。
回复 支持 反对

使用道具 举报

22

主题

347

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4752
威望
1907
贡献
1651
兑换币
340
注册时间
2011-3-11
在线时间
597 小时
7#
发表于 2012-2-4 09:57:50 | 只看该作者
必须顶。
回复 支持 反对

使用道具 举报

19

主题

667

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2730

热心会员奖章特殊贡献奖章论坛骨干奖章推广达人奖章在线王奖章活跃会员奖章优秀会员奖章

威望
1504
贡献
364
兑换币
29
注册时间
2012-2-4
在线时间
431 小时
毕业学校
外国语学校
8#
发表于 2012-2-4 11:48:13 | 只看该作者
嗯!很不错!楼主的这个传感器模块需要零点矫正吧??能详细讲讲陀螺仪和加速度计的零点修正吗?
回复 支持 反对

使用道具 举报

19

主题

667

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2730

热心会员奖章特殊贡献奖章论坛骨干奖章推广达人奖章在线王奖章活跃会员奖章优秀会员奖章

威望
1504
贡献
364
兑换币
29
注册时间
2012-2-4
在线时间
431 小时
毕业学校
外国语学校
9#
发表于 2012-2-4 11:51:07 | 只看该作者
楼主只是直立,不行走。就用了PI 吗?PWM=角度*p+ 角速度*i  是这样吗?疑惑中!!

回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-25 01:55 , Processed in 0.059015 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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