COUNTER



新BLOG
 
新BBS
MN-BBS
旧BBS
CALENDAR
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
<<  2020 - 07  >>
 
LOGIN
現在モード: ゲストモード
USER ID:
PASS:
CATEGORIES
ARCHIVES
PROFILE
OTHERS
    処理時間 0.323975秒
POWERED BY
POWERED BY
ぶろぐん
DESIGN BY
ブログンサポート
          
自作デジポット(デジタルポテンショメーター)---(3)
ーーーグレイコード(3)ーーー

 A相とB相の信号を使えば,回転方向を検出できることは,

 理解できました。

 これをプログラムで実現するには,いくつか方法がある

 ようです。

 自作のMPG関連では,B相の立ち上がりを検出し,それを

 DFFのICにいれて,回転方向を検出してました。

 今回は,別な方法でやってみようかなと思います。

 基本的な考え方は,◯月の取説にあったように,前回と

 今回の2回のサンプリングをして,その組み合わせの全部

 から回転方向を決める方法です。

 エンコーダーから,出力されるグレイコードをバイナリ変換

 して,前回と今回の2回のサンプリングの差を取って,+1

 の場合は時計方向,-1の場合は逆時計方向としてもいい

 のですが,バイナリ変換するのにビット操作が必要なので,

 私にはちょっと苦手かなと思います。

 それで,組み合わせを全部拾い出し,それをインデックスに

 して,回転方向を決めるのが私には分かり易いかなと思い

 ました。

 前回グレイコード(2)記事の表から,前回と今回の

 サンプリングの可能性を考えて見ます。

 可能性は,次のようになります。
  
  時計回転
  前回→今回
  00 →00 動かない(0)
  00 →01 時計回転(+1)
  00 →11 一つ先に移動(エラー)

  01 →01 動かない(0)
  01 →11 時計回転(+1)
  01 →10 一つ先に移動(エラー)

  11 →11 動かない(0)
  11 →10 時計回転(+1)
  11 →00 一つ先に移動(エラー)

  10 →10 動かない(0)
  10 →00 時計回転(+1)
  10 →01 一つ先に移動(エラー)

  逆時計回転
  前回→今回
  00 →00 動かない(0)
  00 →10 逆時計回転(-1)
  00 →11 一つ先に移動(エラー)
 
  10 →10 動かない(0)
  10 →11 逆時計回転(-1)
  10 →01 一つ先に移動(エラー)

  11 →11 動かない(0)
  11 →01 逆時計回転(-1)
  11 →00 一つ先に移動(エラー)

  01 →01 動かない(0)
  01 →00 逆時計回転(-1)
  01 →10 一つ先に移動(エラー)

 全部で16通りありますので,前回を2ビットシフトして,

 今回と合計すると,その数値がインデックスの数値として

 使えることになります。エラーを100とすると,

  m[(前回<<2)+今回]=数値

  m[0000]=0
  m[0001]=1
  m[0011]=100
  m[0101]=0
  m[0111]=1
  m[0110]=100
  m[1111]=0
  m[1110]=1
  m[1100]=100
  m[1010]=0
  m[1000]=1
  m[1001]=100
  m[0010]=-1
  m[1011]=-1
  m[1101]=-1
  m[0100]=-1

 のようになり,[ ]内を16進数に直すと,
  m[0]=0
  m[1]=1
  m[3]=100
  m[5]=0
  m[7]=1
  m[6]=100
  m[F]=0
  m[E]=1
  m[C]=100
  m[A]=0
  m[8]=1
  m[9]=100
  m[2]=-1
  m[B]=-1
  m[D]=-1
  m[4]=-1

 のようにすることができます。この配列を使えば,

 回転方向の検出ができることになります。Webはくしゅ

| mabo52 | 23:40 | comments (0) | trackback (x) | DIY::  -pic |
コメント

コメントする










こんな物欲しいな
CLOCK
部分痩せ
NEW ENTRIES
COMMENTS
    ---SPINDLEのPWM制御 (その2) (7)
  • TR >06.18
    ---番外編---
  • TR >06.02
    ---SPINDLEのPWM制御 (その2) (5)
  • mabo >05.30
保留中コメント:10件
LINKS
    相互リンクさせていただいてます。
  • The Rider
Search Box
名言集
メール
   
連絡は下記から
名前:

メールアドレス:

件名:

メッセージ(必須):