智能车制作

标题: 在电机PID中 给定的速度减去当前速度 当前速度是编码器得到的吧,怎么写这个当前速度 [打印本页]

作者: zyj    时间: 2012-4-18 17:16
标题: 在电机PID中 给定的速度减去当前速度 当前速度是编码器得到的吧,怎么写这个当前速度
在电机PID中 给定的速度减去当前速度 当前速度是编码器得到的吧,怎么写这个当前速度的程序

作者: 鸟在人间    时间: 2012-4-18 19:44
比如你用的编码器的线数是200线,用你读出来的数值除以200就是在这段时间内你的编码器的齿轮转了多少圈,然后计算你的编码器与小车的齿轮比,知道现在小车的轮子转了多少圈,测出你的小车轮子转一圈是多少,然后就可以换算出小车在这段时间内走了多远,继而知道小车在这段时间内的速度,这就是当前速度。
作者: 萌脓的象    时间: 2012-4-18 20:10
你可以经过换算。。也可以不换算。。。因为转的脉冲数和速度成正比。。。定性的也能反映车速。。。如果楼主用的xs,pt7口里面有个寄存器PACNT就能作为计数器,直接写左(右)速度等于这个就可以,如果楼主是电磁组想用双测速可以用cd4520外部计数器作为第二路测速。。。k10或k60则直接有两路计数器寄存器!
作者: zyj    时间: 2012-4-18 20:46
萌脓的象 发表于 2012-4-18 20:10
你可以经过换算。。也可以不换算。。。因为转的脉冲数和速度成正比。。。定性的也能反映车速。。。如果楼主 ...

光电的,直接写左(右)速度等于PACNT就可以??不懂 左右速度等于脉冲个数?

作者: 萌脓的象    时间: 2012-4-18 20:50
你是多少ms采一次PACNT?PANCT是一个累加的计数器,车速度和每个采样周期的脉冲个数是一一对应的!如果你给个匀占空比,那么每个采样周期得到的PACNT的值应该差不多吧!记得每取一次后清0!
作者: maple___10    时间: 2012-4-18 21:18
楼上正解。速度与脉冲数是线性的。。
作者: ljl1033835624    时间: 2012-4-18 21:26
正好遇到,学习!!!
作者: zyj    时间: 2012-4-19 12:10
萌脓的象 发表于 2012-4-18 20:50
你是多少ms采一次PACNT?PANCT是一个累加的计数器,车速度和每个采样周期的脉冲个数是一一对应的!如果你给 ...

现在发现知道怎么求速度的 问题是要得到对应的pwm值。。。。。pwm值越大应该速度越快吧  可是两者对应的具体关系又是什么呢。。。。我不知道怎么写对应的pwm值啊、
作者: 萌脓的象    时间: 2012-4-19 14:05
zyj 发表于 2012-4-19 12:10
现在发现知道怎么求速度的 问题是要得到对应的pwm值。。。。。pwm值越大应该速度越快吧  可是两者对应的具 ...

这个。。。你看看你们的pwm初始化设置。。满占空比多少。。然后你按着比例给吧。。多尝试尝试!
作者: zyj    时间: 2012-4-19 17:26
萌脓的象 发表于 2012-4-19 14:05
这个。。。你看看你们的pwm初始化设置。。满占空比多少。。然后你按着比例给吧。。多尝试尝试!

jack告诉我这个瞬时速度就是编码器返回来的值



作者: 萌脓的象    时间: 2012-4-19 18:21
zyj 发表于 2012-4-19 17:26
jack告诉我这个瞬时速度就是编码器返回来的值

可以这么理解啊。。。编码器每个采样周期测出来的值就是编码器的脉冲数,编码器的脉冲数间接的是走过的距离,没问题吧!那走过的距离除以采样时间是不是就是车在这个采样周期时间内的速度?

作者: zyj    时间: 2012-4-19 20:26
萌脓的象 发表于 2012-4-19 18:21
可以这么理解啊。。。编码器每个采样周期测出来的值就是编码器的脉冲数,编码器的脉冲数间接的是走过的距 ...

直接把这个脉冲数当做PWM的。

作者: 开拓创新    时间: 2012-4-20 15:03
受教
作者: boshihou121    时间: 2012-4-26 14:42
不需要具体知道速度是多少,没要求把速度显示出来,就是个比例值,用就行,不转换也可以
作者: etech    时间: 2012-4-26 19:31
不用换算速度也行,直接用捕获到的参数调
作者: Solemn胜威    时间: 2012-4-26 19:37
你的速度PID搞好了吗?能说说看吗?是直接用设定的值,不断的与测速值相减的吗?那么车子的速度表达式 是什么样的呢?是SPEED=set-speed-PANCT???没弄明白呢
作者: zsk-    时间: 2012-5-11 22:21
萌脓的象  正解
作者: 黄河浪    时间: 2012-5-12 10:02
萌脓的象 发表于 2012-4-18 20:10
你可以经过换算。。也可以不换算。。。因为转的脉冲数和速度成正比。。。定性的也能反映车速。。。如果楼主 ...

你的“左右”是或的意思吗
作者: WangLunShuer    时间: 2012-5-12 19:40
萌脓的象 发表于 2012-4-18 20:10
你可以经过换算。。也可以不换算。。。因为转的脉冲数和速度成正比。。。定性的也能反映车速。。。如果楼主 ...

致敬
作者: 萌脓的象    时间: 2012-5-17 20:35
黄河浪 发表于 2012-5-12 10:02
你的“左右”是或的意思吗

恩恩
作者: IT天下    时间: 2012-5-17 20:49
zyj 发表于 2012-4-19 17:26
jack告诉我这个瞬时速度就是编码器返回来的值

是的,编码器测的就是当前速度。
作者: 蛋求无悔    时间: 2013-3-4 21:40
围观大神级回答,超赞
作者: 永远的记忆    时间: 2016-5-5 19:02
受教了

作者: louisha    时间: 2017-2-8 19:34
WangLunShuer 发表于 2012-5-12 19:40
致敬

我给定2000,返回120多(不是错,只是编码器合成算法的问题),问下怎么写pid啊

作者: EIE九洲    时间: 2019-12-30 19:45
萌脓的象 发表于 2012-4-18 20:10
你可以经过换算。。也可以不换算。。。因为转的脉冲数和速度成正比。。。定性的也能反映车速。。。如果楼主 ...

所以编码器就是用来做速度反馈的吗






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2