求助各位:旋变解码器读出数据和理解的不一样呢? 点击:4785 | 回复:18



lankuaker

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-28 09:03:42
楼主

控制PMSM,电机极对数=7,使用旋变解码器AU6802N1,绝对式,12分辨率,串行读出数据。

因为看到 电角度angle =机械角度*p。

我是这样想的,那么转一圈从解码器读出的数据应该是连续增大或者减小,范围(0~360×7)=(0~2520)

实际上我手动扳动电机旋转,每次扳动一个位置,从旋变读出的数据,这些数据并不是连续的,有时大,有时小。

请问,这是 因为我理解的电角度范围错了?还是我读出的数据错了?

谢谢!




通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-28 13:07:01
1楼
绝对式的是格雷码。。读出来当然有大有小。。

ShowMotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 459回
  • 年度积分:0
  • 历史总积分:1711
  • 注册:2005年5月14日
发表于:2013-01-29 08:43:07
2楼
12位需要两个字节表达,高低字节是否颠倒了?

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-31 09:38:11
3楼
没颠倒,字节顺序正确的。

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-31 09:40:23
4楼
回复内容:
对:通讯网-原创军团关于 绝对式的是格雷码。。读出来当然有大有小。。 内容的回复:

看芯片手册没提到说是格雷码这点内容,难道所有的绝对式都是格雷码吗

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-31 09:45:33
5楼
回复内容:
对:ShowMotion关于 12位需要两个字节表达,高低字节是否颠倒了? 内容的回复:

字节顺序是对的,au6802最高位先出,我程序中注意到这一点了。我觉得纳闷的事情是,读出的数值不是按照顺序来的,比如全部增大,或者全部减小。而是在手动扳动电机转的时候,跳变。

ShowMotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 459回
  • 年度积分:0
  • 历史总积分:1711
  • 注册:2005年5月14日
发表于:2013-01-31 10:07:56
6楼

如果数据格式理解不对,高低位全反了有可能出现这种情况,比如渐变的原读数:0,1,2,3,

原读数:  0000,0000,0000;0000,0000,0001;0000,0000,0010;0000,0000,0011;0000,0000,0100

                        不变               变大                   变大                      变大                  变大

反着读:  0000,0000,0000;1000,0000,0000;0100,0000,0000;1100,0000,0000;0010,0000,0000

                        不变                变大                  变小                      变大                   变小                        

 

时三——王者之师

  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 1058回
  • 年度积分:0
  • 历史总积分:5014
  • 注册:2008年10月14日
发表于:2013-01-31 10:46:10
7楼

旋转一周,看一下显示数据,与预定先十万位是否一致,

比如:预定0-359;显示会出现593,就基本说明处理时位置颠倒了。

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-31 12:11:32
8楼
回复内容:
对:ShowMotion关于 如果数据格式理解不对,高低位全反了有可能出现这种情况,比如渐变的原读数:0,1,2,3,原读数:  0000,0000,0000;0000,0000,0001;0000,0000,0010;0000,0000,0011;0000,0000,0100                        不变               变大                   变大                      变大                  变大反着读:  0000,0000,0000;1000,0000,0000;0100,0000,0000;1100,0000,0000;0010,0000,0000                        不变                变大                  变小                      变大                   变小                           内容的回复:

我是对着au6802n1的手册波形图上面来的,它上面标示最高位先出,最低为后出。我取数据这是这样取的。没有弄颠倒。

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-01-31 12:29:28
9楼

上面是就是多摩川au6802n1英文和中文的,SPI通信时时序图。

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-02-01 11:02:06
10楼
回复内容:
对:时三——王者之师关于 旋转一周,看一下显示数据,与预定先十万位是否一致,比如:预定0-359;显示会出现593,就基本说明处理时位置颠倒了。 内容的回复:

对着电机轴顺时针旋转一周,读回数据能看到明显的有分为6组,每组可能都在(0~4095)的范围增加。是不是讲:这个电角度数据跟极对数是对应的呢。有几个极对数就有几组的数据。之前没用过这个,哪位能告知,谢谢

ShowMotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 459回
  • 年度积分:0
  • 历史总积分:1711
  • 注册:2005年5月14日
发表于:2013-02-01 15:24:32
11楼

刚看过手册,你这个AU6802N1确实和极对数相关,你的旋变极对数如果是6对极的,你的结果就是对的。

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-02-01 16:26:38
12楼
回复内容:
对:ShowMotion关于 刚看过手册,你这个AU6802N1确实和极对数相关,你的旋变极对数如果是6对极的,你的结果就是对的。 内容的回复:

如果是对的,我倒有点迷惑了,不知道这个角度应该怎么用了。

三番五次

  • 精华:0帖
  • 求助:6帖
  • 帖子:9帖 | 96回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2011年8月12日
发表于:2013-02-01 16:47:11
13楼
我用的是安川的电机,读数时有高圈和低圈,相当于十位数和个位数,个位数满了,十位数+1,所以个位数有时候大有时候小,但是和十位数一起读,则变化顺序是一样的了,不知道能不能帮到你。

时三——王者之师

  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 1058回
  • 年度积分:0
  • 历史总积分:5014
  • 注册:2008年10月14日
发表于:2013-02-01 17:02:29
14楼

你的旋转编码器安装如不是和电机同轴的(一体的),6倍减速后安装编码器,电机和编码器就同步了。

同轴的话,程序处理时,最终读数=4060*a+b;a过零计数0-5,进6清零;b现在显示读数;最终读数也会与电机同步。

ShowMotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 459回
  • 年度积分:0
  • 历史总积分:1711
  • 注册:2005年5月14日
发表于:2013-02-01 17:10:27
15楼
引用 lankuaker 的回复内容:回复内容:对:ShowMotion关于 刚看过手册,你这个AU6802N1确实和极对数相关,你的旋变极对数如果是6对极的,你的结果就是对的。 内容的回复:如果是对的,我倒有点迷惑了,不知道这个角度应该怎么用了。


假定你同步电机的极对数和旋变的极对数一致,用的12位精度:

那你的电角度θ=360°* Datax/4096-偏移量;(偏移量是编码器0位与实际电角度0°的差值需要另外标定);

如果极对数不一致,就比较复杂,一般厂家不会这样配置的。

 

lankuaker

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2010年12月04日
发表于:2013-02-01 17:10:55
16楼
O,貌似一直软件累加上一次的值就可以使用了,但这也就不是绝对式的了,那不是增量了。手册写的是绝对式的

ShowMotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 459回
  • 年度积分:0
  • 历史总积分:1711
  • 注册:2005年5月14日
发表于:2013-02-01 21:19:15
17楼

一次串行读取到的值就可以决定电角度在哪个位置可以理解为是绝对式。

sgyuyang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2019年8月01日
发表于:2021-12-25 10:55:35
18楼

同样的问题我也遇到了,不过我彻底解决了。给个红包,我一招教会你,绝对搞定。


热门招聘
相关主题

官方公众号

智造工程师