找回密码
 注册
关于网站域名变更的通知
查看: 1501|回复: 10
打印 上一主题 下一主题

关于旋转编码开关

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-12-29 10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 bluskly 于 2012-12-29 10:44 编辑 8 s  {8 a% f9 ^- ]# X0 y

( {3 \8 @8 Q& @& n    之前我在该论坛已经发过帖子了,知道器件为旋转编码开关,但是刚刚拿到规格书,发现更加迷糊了。: I0 y" U% `6 W
    之前我的理解是,在A信号的高电平期间,只要检测到B信号来了上升沿就表明顺时针旋转。在A信号的高电平器件,只要检测到B信号来了下降沿就表明是逆时针旋转。
! o6 t* ?/ _3 l. q6 D; E' m    于是连接电路如下所示:+ f0 t$ d5 M3 i; J! C/ _, n/ M& g  L
/ [  r9 B& C6 P  V

. u7 O# i; F" a        后来参考别人电路,采用AD采样的办法,连接电路如下图:8 G! ]7 [& q- w9 t: Z

# G3 b& {* {; `$ u# i: H) d + }$ j8 K7 X1 O6 X7 ]9 }, C
PS:该处所有器件都是需要的,而且A,B网络连接到上图中的A,B处。
% }* c8 s3 ~; S' Z. u3 T, \- t2 T, i& \3 w$ q" \5 @1 }0 ?
     今天看了一下规格书,发现此处很迷糊。$ W# }. E( B2 r  ?# Z6 p/ s
这个编码怎么出来的?怎么来判断旋转方向,怎么知道旋转速度?. J* Z& |8 w+ L! x
$ G  R! p" X0 \) o% |; R
附件为该器件的datasheet。9 p/ e- C4 Z) {) M1 Q  a# @
EC12D1524403K.pdf (632.59 KB, 下载次数: 20) * @0 p, S1 B, M
; C3 ?4 H1 r  P  R: K

" t5 R9 ]% `9 c5 D1 b希望能够遇到高手指点一二。。  小弟不胜感激。。
& s8 d% ]- _1 i
8 o% g7 v# l: M& C  BQQ:460381988   方便交流的可以加Q

该用户从未签到

2#
发表于 2012-12-29 11:07 | 只看该作者
本帖最后由 jacklee_47pn 于 2012-12-29 11:31 编辑 $ u) h0 b( X* i& X: t

( L* f, u4 z+ t$ m* S- M1 R9 s% BA 接到 CPU (或單晶片)的 INT,B 接到 CPU (或單晶片)的輸入端。A 當產生正沿的時候(就是有箭頭的地方)產生中斷,去看 B 的輸入是高電平或是低電平,就可以知道是正轉或是反轉,有幾個 A (或是 INT )就是被旋轉的幾步(或是格數)。
+ ^6 z3 @6 I' x( d$ h" ]0 I* }  I# s- r$ y& P
每個 A 的間隔時間就可以算出轉速。例如:每個 A 間隔 0.125 秒,旋转编码开关一圈會產生 8 個 A 正沿信號,所以轉速是 0.125*8 等於每秒走一圈。
5 R8 s6 ^* v- }& ]8 u0 I" l

该用户从未签到

3#
发表于 2012-12-29 11:38 | 只看该作者
本帖最后由 jacklee_47pn 于 2012-12-29 11:40 编辑 6 m& [: ]+ r# o8 d$ n1 {" ~/ M
- F# ~+ X6 W$ ]( J
上面之前我遇過的是SW走一格,剛好會在A的地方產生一個週期脈波。(SW走一格產生一個正沿和負沿信號)' `+ F, Q9 w. v* u' N3 W

6 v% K( Y- V# ~. S. \  W0 a如果你的SW不是這樣,單只有半個週期(一個正沿或負沿信號),那就辛苦了,只要 A 狀態改變,就要去看 B的狀態。
  • TA的每日心情
    开心
    2024-5-2 15:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2012-12-29 11:47 | 只看该作者
    了解一下!!!

    该用户从未签到

    5#
     楼主| 发表于 2012-12-29 15:13 | 只看该作者
    jacklee_47pn 发表于 2012-12-29 11:07
    6 c( t( I$ k/ F1 ^) E+ a8 {A 接到 CPU (或單晶片)的 INT,B 接到 CPU (或單晶片)的輸入端。A 當產生正沿的時候(就是有箭頭的地方)產生 ...

    ) B9 b& {5 w* \% a& i/ f7 X, r       关于怎么判断顺时针还是逆时针旋转 我已经基本了解。就是在A信号的上升沿去读取B信号的电平值。若B为低电平,表明是顺时针旋转,若B为高电平,表明是逆时针旋转。+ |/ ~- j% q6 ?% X1 S
        刚也数了一下,旋转360°,会走30格,也就是需要15个周期,也就是会产生15个上升沿。( U" K9 H: S4 M6 ?# A% X+ x- l
        但是我转动的时候 不会是匀速转动呀,那么此时每一个周期 或者没一个电平持续的时间就会不一样。那我怎么知道我该变化多少?难道是我顺时针走一格 我就增加某个值,逆时针走一格,我就减去某个值?

    该用户从未签到

    6#
    发表于 2012-12-29 19:58 | 只看该作者
    难道是我顺时针走一格 我就增加某个值,逆时针走一格,我就减去某个值?  ===> 是的就是這樣。1 ]3 D& t* w5 z9 g; T

    . |" ~' c) ?/ Y; f8 L但是我转动的时候 不会是匀速转动呀,那么此时每一个周期 或者没一个电平持续的时间就会不一样。那我怎么知道我该变化多少?   ===> 所以要用 Interrupt +  Timer 功能,用 Interrupt 去啟動Timer去計算每次間隔的時間,1/(時間*15)就是當下瞬間轉速(每秒多少圈) 。多取幾次(或是一段時間)然後加起來平均,就是單位時間內的平均轉速。如果這 Timer 超過某個設定時間值,就可以忽略不計算轉速。

    该用户从未签到

    7#
     楼主| 发表于 2012-12-31 22:50 | 只看该作者
    jacklee_47pn 发表于 2012-12-29 11:38
    , d3 p' w0 s' H/ |- q+ {% w上面之前我遇過的是SW走一格,剛好會在A的地方產生一個週期脈波。(SW走一格產生一個正沿和負沿信號)
    - ^1 u, L6 g2 O4 m3 X0 X: C( `; u! q8 m! K, S# c! ]
    如果 ...

    ( {5 F9 V, H- s+ n2 N  L我找了一个单片机 内部带有正交解码的接口的。

    该用户从未签到

    8#
    发表于 2013-1-1 21:56 | 只看该作者
    本帖最后由 luo7678094 于 2013-1-1 21:57 编辑 1 N8 Z" f( k4 g) {4 s
    , u1 v1 k5 U* C0 z) C+ C2 e6 A
    你要是有需要的话我给你参考程序,我自己前段时间还特意写了个程序,AVR单片机的;作为硬件工程师,我写完这个程序之后格外更清晰的认识这个东西了;我用了4种方法,最后还是发现我目前这种方式最有效!!无论转动多快,无论怎么转,都能100%识别,我用的是ALPS的和你这个一样的结构,只不过我的带了轻触按键

    该用户从未签到

    9#
     楼主| 发表于 2013-1-2 00:42 | 只看该作者
    luo7678094 发表于 2013-1-1 21:56
    5 C+ E' Z8 N" A( u$ D你要是有需要的话我给你参考程序,我自己前段时间还特意写了个程序,AVR单片机的;作为硬件工程师,我写完这 ...
    ! u! F6 d  p0 P' |3 `- }& A
    好的 邮箱:huangjinyi@leader-intl.com.cn  QQ:460381988

    该用户从未签到

    10#
    发表于 2013-1-3 13:49 | 只看该作者
    bluskly 发表于 2013-1-2 00:42 ! |- s, n- S7 H2 a
    好的 邮箱:  QQ:460381988
    3 d. q6 [+ H" h4 R, [- m4 T/ H( p6 v
    刚刚发往你QQ邮件

    该用户从未签到

    11#
     楼主| 发表于 2013-1-4 10:32 | 只看该作者
    luo7678094 发表于 2013-1-3 13:49 2 |+ C+ t- r0 Y
    刚刚发往你QQ邮件
    ( x0 P) ^# a& i. I+ ~$ V
    邮件已经查收,就是看不懂。看你里面貌似还有什么数字电位器,屏幕什么的。有没有简单点的,我没搞过AVR,更加迷糊了点。

    点评

    哎!哥们你的C语言要提高啊。  发表于 2013-1-5 16:45
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-9-20 04:29 , Processed in 0.140625 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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