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
页: 1 [2] 3 4 5
查看完整版本: 我的两轮自平衡车基本做完,给大伙瞧瞧~