ZRYXY
发表于 2011-2-21 16:04:50
Build started 21.2.2011 at 16:03:47
In file included from ../Balance_2motors.c:7:
../Balance_1602.h:2: error: expected ')' before 'Y'
../Balance_1602.h:3: error: expected ')' before 'Y'
../Balance_1602.h:4: error: expected ')' before 'Y'
../Balance_1602.h:5: error: expected ')' before 'Y'
../Balance_2motors.c:129: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'told'
../Balance_2motors.c: In function '__vector_18':
../Balance_2motors.c:212: error: 'tnew' undeclared (first use in this function)
../Balance_2motors.c:212: error: (Each undeclared identifier is reported only once
../Balance_2motors.c:212: error: for each function it appears in.)
../Balance_2motors.c:214: error: 'told' undeclared (first use in this function)
../Balance_2motors.c:215: error: 'time' undeclared (first use in this function)
../Balance_2motors.c: In function 'main':
../Balance_2motors.c:467: warning: implicit declaration of function 'PutInt1602'
../Balance_2motors.c:468: warning: implicit declaration of function 'Putc1602'
make: *** Error 1
Build failed with 10 errors and 2 warnings...
ZRYXY
发表于 2011-2-21 21:19:49
感激,液晶出来了。要把JTAGEN熔丝选上
ZRYXY
发表于 2011-2-22 00:16:03
这个程序问题仍然没有解决,10个错误
ZRYXY
发表于 2011-2-24 23:07:42
void SetXY1602(uchar Y,uchar X);
void Putc1602(uchar Y,uchar X,char c);
void Puts1602(uchar Y,uchar X,char *s);
void PutInt1602(uchar Y,uchar X,unsigned int data,unsigned int n);
这几个Y都有问题
ZRYXY
发表于 2011-2-24 23:08:39
ISR(INT2_vect)
{
tnew=TCNT2;
if(tnew>=told) //计算方波周期
time=tnew-told;
else
time=256-told+tnew;
ZRYXY
发表于 2011-2-24 23:09:11
volatile uint told=0,tnew,time;
ZRYXY
发表于 2011-2-24 23:09:32
这都哪里错了不知道
elephant7878
发表于 2011-2-24 23:30:23
请问楼主电机+轮子+联轴器在哪买的
ZRYXY
发表于 2011-2-25 10:59:10
回复【109楼】elephant7878
-----------------------------------------------------------------------
楼主已给图片了,是在淘宝上。我也是买的这个
szy494468597
发表于 2011-2-25 14:56:03
很好 参考一下
Humanity
发表于 2011-2-25 14:57:38
马克
kms2hh
发表于 2011-2-25 16:10:55
好东东,收藏了!
Mec.Rover
发表于 2011-2-28 15:18:08
请问楼主参数整定有什么技巧?
feng741
发表于 2011-2-28 16:13:27
今天刚回学校,又要继续奋斗了!!
回复【102楼】ZRYXY
-----------------------------------------------------------------------
这个问题是因为你没有定义uchar和uint两个宏,这个怨我!我图省事把这两个定义直接写在io.h中了,这样以后就直接用这两个宏就可以了,但这也让代码不可移植了。不要学我这么干,我以后也不这么干了。用的时候这样定义吧:
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
此段程序分别加在Balance_1602.c和Balance_2motors.c程序前边。
这样就OK了。通过这个错误,也知道了大家都没有运行过程序啊。。如果我有时间会把程序整理下、加些注释。
cc6868
发表于 2011-2-28 16:22:05
视频看了还有点好耍
feng741
发表于 2011-2-28 17:18:45
回复【114楼】Mec.Rover
-----------------------------------------------------------------------
回家过了个年,回来之后有点忘记了。。
首先要确保采集到的角度足够稳定,要没有毛刺。有微小偏差没关系,这是因为车平衡时的角度为0度,如果有点偏差,车顶多就是平衡时倾斜一点,再靠水平的速度、位移调节也不会让车动弹的!检查测量到角度的效果可以用我上边25楼提到的那段程序稍加修改。
再就是一定要确保你的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。
出现点效果后的调节也不是按照1234这样调的,后来我是1、3、4反复调节的,2基本没动。
很多细节问题有点忘了,当时刚做完应该写下来的啊。。
FlashNuk
发表于 2011-2-28 17:55:25
顶你
ZRYXY
发表于 2011-2-28 18:46:54
没有Balance_1602.c只有Balance_1602.H
ZRYXY
发表于 2011-2-28 18:48:52
In file included from ../Balance_2motors.c:7:
../Balance_1602.h:2: error: expected ')' before 'Y'
../Balance_1602.h:3: error: expected ')' before 'Y'
../Balance_1602.h:4: error: expected ')' before 'Y'
../Balance_1602.h:5: error: expected ')' before 'Y'
../Balance_2motors.c: In function 'main':
../Balance_2motors.c:474: warning: implicit declaration of function 'PutInt1602'
../Balance_2motors.c:475: warning: implicit declaration of function 'Putc1602'
make: *** Error 1
Build failed with 4 errors and 2 warnings...
这次4个错误
ZRYXY
发表于 2011-2-28 18:54:33
用惯ICCAVR了,你的程序看的头晕,我和你的硬件一样了,烧入HEX文件怎么调试都不通,1602能正常显示数据,但串口接收不到数据,最主要还是这个程序调不通,好难理解啊,呵呵,楼主别笑话,本人初级阶段接受你的程序慢,如果能简练点程序并能正常生成HEX文件估计要好些
feng741
发表于 2011-2-28 19:24:34
回复【121楼】ZRYXY
-----------------------------------------------------------------------
修改问题后的程序,点击此处下载 ourdev_618995UWBCLG.rar(文件大小:105K) (原文件名:程序.rar)
PS:我上传的这个程序不是我最终烧录的程序,我当初上传之前做了点格式的改动,现在好了。
如果你的程序直接用我的话,那启动系统是需要先按下PINB0按钮的。main函数512行while(1){...}。
我现在没有时间简化程序,只加了注释,等我有空改下。
hhui02
发表于 2011-2-28 19:43:33
好玩,帮顶
ZRYXY
发表于 2011-2-28 20:13:56
回复【122楼】feng741 梦不落
回复【121楼】zryxy
-----------------------------------------------------------------------
修改问题后的程序,点击此处下载
-----------------------------------------------------------------------
感谢感谢再感谢
ZRYXY
发表于 2011-2-28 20:17:54
不过编译后又出现4个错误
C:\Downloads\ourdev_618991KLR48T\default/../Balance_2motors.c:644: undefined reference to `Read1Key'
C:\Downloads\ourdev_618991KLR48T\default/../Balance_2motors.c:655: undefined reference to `Read1Key'
C:\Downloads\ourdev_618991KLR48T\default/../Balance_2motors.c:680: undefined reference to `Read1Key'
C:\Downloads\ourdev_618991KLR48T\default/../Balance_2motors.c:705: undefined reference to `Read1Key'
make: *** Error 1
Build failed with 4 errors and 0 warnings...
feng741
发表于 2011-2-28 20:30:43
回复【125楼】ZRYXY
-----------------------------------------------------------------------
我又更新了,重新下,怎么在我这里有问题开始不报错。。。
cc6868
发表于 2011-2-28 20:34:58
mark一个
ZRYXY
发表于 2011-2-28 20:37:04
回复【126楼】feng741 梦不落
-----------------------------------------------------------------------
神啊,太好了,你今天一直在线
ZRYXY
发表于 2011-2-28 20:39:10
太好了,都通过了,没有错误了
ZRYXY
发表于 2011-2-28 20:40:40
回复【126楼】feng741 梦不落
-----------------------------------------------------------------------
请问下神,你的ENC-03MB接的5V基准电压还是3.3V?
feng741
发表于 2011-2-28 20:44:41
我今天刚来学校呵呵,闲着没事做,就来这多转了一会。
ZRYXY
发表于 2011-2-28 20:47:56
我的7260和ENC-03都是把引脚直接杜绑线接到PA0和PA1上了,这样行吗?在这之前用的HEX烧进去后,液晶都显示了,但就是串口不输出,电机就是不动,不知道为什么?神啊,你太厉害了
ZRYXY
发表于 2011-2-28 20:57:33
我用的这两个模块,不过ENC-03MB是坏的,我又换成ENC-03MA了,电机和你买的一个地方带霍耳传感器的,惭愧研究你的和ZLSTONE的平衡车2个月了,还没弄出来,你还是学生,真厉害,佩服!
feng741
发表于 2011-2-28 20:58:21
回复【130楼】ZRYXY
-----------------------------------------------------------------------
叫我梦不落,,
你说的是ENC03的参考电压端怎么接?这个脚悬空。ENC03的电源VCC为5V。AD基准电压为MMA7260模块带的3.3V电源(实测3.36V)。
ZRYXY
发表于 2011-2-28 20:58:45
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_619000T5C75E.jpg
(原文件名:未命名.jpg)
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_619001TC13H8.jpg
(原文件名:未命名1.jpg)
ZRYXY
发表于 2011-2-28 21:02:53
烧写你的程序后,1602液晶的第二行,前两个三位参数一直变换数据,过一会就都变成0了,而后面的两个三位参数一直是000,这是我按PB0后的反映,这是为什么啊?
feng741
发表于 2011-2-28 21:04:00
我说了要启动运行需要按下PB0的开关,或者你用杜邦线接一下地,只能接一下哦,如果抖动使得1602第一个参数下边显示^符号,这时已经进入了设置参数模式,所有功能都停用,这时要再按下PB3,使得^符号消失,推出设置模式,恢复正常调节模式。
feng741
发表于 2011-2-28 21:04:59
你有qq不
ZRYXY
发表于 2011-2-28 21:05:52
对,这些状态通过读你的程序我操作了,是没错
ZRYXY
发表于 2011-2-28 21:06:58
我的QQ:526108027
lixiyu
发表于 2011-2-28 23:22:00
不知道楼主还在不在???有问题要问………………谢…………qq:252887908
lixiyu
发表于 2011-3-1 21:11:19
为什么我的发言审核通不过呢???楼主的qq是多少???我有问题要问………………
xingyunliushui
发表于 2011-3-5 15:45:30
酷!我也想做一个!
shamork
发表于 2011-3-5 15:56:07
mark
liu969610245
发表于 2011-3-5 17:02:54
学习下
xxl88
发表于 2011-3-5 18:58:54
Segway
flotox
发表于 2011-3-6 08:44:24
我是大三的学生,现在也在做这个,我想问下楼主当初做这个做了多久?
fkepdcjgd
发表于 2011-3-7 12:00:45
请问楼主,你用加速度传感器,来测倾角,只能是在静态时有意义?
如果它处于加速状态,你所得出的倾角是不对的呀。。。
你的倾角计算是atan-1(x/z)?,如果是,那么当这个轴上有牵引力的加速度时,会怎么样?
fkepdcjgd
发表于 2011-3-7 12:01:32
到底是你这样准,还是只用陀螺准些呢?
qj0226
发表于 2011-3-13 21:43:32
大哥啊·~~我用你的程序编译出来hex文件有21.7kb,烧入单片机的时候说文件太大。。
我用的是winavr。。 大哥当年编译出来的hex文件有多大啊?
feng741
发表于 2011-3-14 08:29:23
回复【148楼】flotox
-----------------------------------------------------------------------
3个月
回复【149楼】fkepdcjgd 雾都溪风
-----------------------------------------------------------------------
陀螺仪+加速度计KALMAN滤波得出真实角度。
回复【151楼】qj0226
-----------------------------------------------------------------------
LZ位的程序存在小问题,请用122楼的程序,直接打开工程文件,再编译。
AVR Memory Usage
----------------
Device: atmega16
Program: 12438 bytes (75.9% Full)
(.text + .data + .bootloader)
Data: 492 bytes (48.0% Full)
(.data + .bss + .noinit)
Build succeeded with 0 Warnings...
sankunchai
发表于 2011-3-15 10:43:57
学习
sl961102
发表于 2011-3-15 11:15:55
学习一下。
sunicecream
发表于 2011-3-21 11:25:31
收藏了,以后再看
zaixingshou
发表于 2011-3-23 12:05:31
我也在做平衡小车,可不知道咋做啊,老板逼的急啊
xdco
发表于 2011-3-23 16:39:33
mk
iirobot
发表于 2011-3-24 12:20:43
回复【34楼】largolun
-----------------------------------------------------------------------
回复【33楼】esdart
-----------------------------------------------------------------------
2个电机+2个轮子+2个联轴器88元在这里可以买到的
蛮便宜的
http://item.taobao.com/item.htm?id=8028813325
vague2010
发表于 2011-3-31 11:31:17
我可以回复吗?怎么做标记收藏啊?
我回个贴就可以了吗?
楼主做的不错,我也正在做,自己用做呢,现在在做四轴的电调。
下了楼主的上位机,我得弄弄,现在还出不来图形,得看看格式
ansion520
发表于 2011-4-2 20:09:02
楼主,各位高手,请问这句“w=(gyro-1178)/0.67;//角速度值” 上面的1178是什么意思,不明白!是不是ENC-03的静态输出电压???
lonmaker84
发表于 2011-4-2 20:54:34
kalman绝对是个好东西。。。应用很广,不论是控制领域还是通讯领域。
denglu
发表于 2011-4-2 23:04:56
Mark
feng741
发表于 2011-4-3 12:04:00
回复【160楼】ansion520
-----------------------------------------------------------------------
是的,参照ENC-03MB数据手册,里边有详解。回复【161楼】lonmaker84
-----------------------------------------------------------------------
恩!深有体会!
afeibfp
发表于 2011-4-3 12:48:30
没做过类似产品,真想有时间自己搞一个.学习了.
rezire199847
发表于 2011-4-3 19:17:47
8位的单片机这个数据能处理的过来吗?请问
Apache-Zjk
发表于 2011-4-4 12:44:21
mark for tomorrow
ggg12345
发表于 2011-4-4 14:21:12
mark -----------------------------------------------------------------------
ansion520
发表于 2011-4-5 16:13:31
谢谢楼主指点。打算做个可以载人的!轮子不知用那种好!
请问【162楼】 denglu 你的轮子是多少寸的!
请问楼主怎么不用霍尔传感也达到一样的效果!?看你的上面有用这个速度来算PWM值!
wangrong
发表于 2011-4-5 17:44:11
不错!学习中
wcm_e
发表于 2011-4-5 19:26:02
mark
ansion520
发表于 2011-4-7 19:44:55
点击此处下载 ourdev_629079PB11SM.zip(文件大小:12.73M) (原文件名:segspecs.zip)
老外DIY的资料!很全!各位高手解读一下·!
lovehuan
发表于 2011-4-9 10:10:29
您好梦不落,请问你的电机轮子和联轴器从哪里买的?
pinhenxiaoche
发表于 2011-4-9 10:47:01
LZ速度很快哦。。这么块就搞起啊
rezire199847
发表于 2011-4-10 00:34:25
楼主,我抄了你卡尔曼滤波这段,在keil上编译出了这个错误
static float P = {
{ 1, 0 },
{ 0, 1 }
};
BALANCE_FLOATDATASENDING.C(170): error C231: 'P': redefinition
好像是什么重复定义啊?为什么呢?
landscape11
发表于 2011-4-11 08:42:39
回复【28楼】feng741 梦不落
-----------------------------------------------------------------------
楼主好东西啊,我现在也在做,没事玩玩,哈哈
pinhenxiaoche
发表于 2011-4-13 16:22:43
我也是呵呵,谢谢啦! QQ:649276108
_Daniel_
发表于 2011-4-13 22:14:28
回复【174楼】rezire199847 無ξ
-----------------------------------------------------------------------
重复定义,p在psw上好像有定义
lovehuan
发表于 2011-4-13 22:19:41
您好,自平衡小车为什么要选用扭矩大的电机呢?
_Daniel_
发表于 2011-4-15 14:14:56
回复【179楼】lovehuan
-----------------------------------------------------------------------
车体倾斜的时候,扭矩大的电机容易抵消重力产生的扭矩
_Daniel_
发表于 2011-4-15 14:18:54
大家用卡尔曼滤波没出过什么问题吗?
_Daniel_
发表于 2011-4-15 14:49:19
为什么我用卡尔曼之后,角度异常的大?
at90s
发表于 2011-4-24 01:46:01
Mark
lovehuan
发表于 2011-4-24 18:26:12
请问大家一个问题,知道的朋友请不吝赐教,急用!陀螺仪模块中有一个lm324运放器,可我手头上没有,请问可以用其他的运放器代替吗?具体怎么实现,请朋友告知。谢谢·····!
guchai
发表于 2011-4-25 01:42:13
请教霍尔传感器在这里起的作用是什么?是起到检测速度的作用,磁铁和霍尔传感器应该如何安装在何处和具体能使用霍尔传感器A3144吗?
fetchkai
发表于 2011-4-25 02:43:15
顶一下!非常好
_Daniel_
发表于 2011-4-25 15:56:03
回复【185楼】lovehuan
请问大家一个问题,知道的朋友请不吝赐教,急用!陀螺仪模块中有一个lm324运放器,可我手头上没有,请问可以用其他的运放器代替吗?具体怎么实现,请朋友告知。谢谢·····!
-----------------------------------------------------------------------
可以不用运放器,我是这样做的,陀螺仪的out口直接接一个1k限流电阻,然后直接接到AD转换口,这样【陀螺仪输出电压-陀螺仪静止电压】/0.67,就可以得到陀螺仪的输出了,楼主的应该就是这样的
ansion520
发表于 2011-4-26 19:17:14
把位移和速度去掉应该也可以站起来吧!?
lovehuan
发表于 2011-4-26 19:48:59
回复【189楼】ansion520
-----------------------------------------------------------------------
我感觉应该可以,而且坛子里也有人做出来了。问题是速度和位移在小车的平衡里起什么作用呢?
kunjin
发表于 2011-4-26 20:44:12
收藏
ji0605
发表于 2011-4-28 15:13:42
回复【楼主位】feng741 梦不落
-----------------------------------------------------------------------
询问ENC-03MA的安装问题,是不是陀螺仪的要竖直放立啊?你图中的线太多了,看不见ENC-03MA的安装
tcejtps
发表于 2011-5-2 22:45:15
试过一次,果断不能平衡,过段时间试试这个
au730
发表于 2011-5-2 22:59:50
mark
summerstar
发表于 2011-5-4 22:33:03
mark!
web110
发表于 2011-5-4 22:48:55
鼎好
junxiang1127
发表于 2011-5-5 20:53:04
也正在做这个东西,好了也和大家一起分享,现在在读程序中......
祝福大家都能搞起自己的自平衡小车
bshaot
发表于 2011-5-6 23:05:40
回复【99楼】feng741梦不落
-----------------------------------------------------------------------
我的1602A也不出数据,调过对比度,还是不行,是不是1602A与1602B有区别呢?
lovehuan
发表于 2011-5-9 22:09:02
程序中TIMSK &= 0xc3;这一句是什么意思?
sdqwepoi
发表于 2011-5-9 22:50:50
mark~学习了
_Daniel_
发表于 2011-5-14 21:43:58
回复【192楼】ji0605
-----------------------------------------------------------------------
水平就可以了,只要旋转轴和敏感轴平行就可以了
dzq112358
发表于 2011-5-14 22:07:17
mark 顶
dzq112358
发表于 2011-5-14 22:14:32
回复【楼主位】feng741 梦不落
-----------------------------------------------------------------------
楼主真的很强,很想做一个,小弟在用加速度传感器MMA7260的时候,遇到一个问题,好像它不能测运动中的加速度,很奇怪,请教楼主。
ntwhq
发表于 2011-5-16 07:07:28
mark