1. I/O SUBボード概要

1−1 構成

 I/OSUBボードは、超音波センサ回路、PWM回路、赤外線センサ回路の3つの回路を搭載した回路である。

1−2 機能性能 1−2−1 超音波センサ回路
超音波センサ回路構成
     
図.1 超音波センサ回路構成

 超音波センサ回路の機能は大きく分けて二つある。トリガが送られて来ると周波数40[kHz]の矩形波を0.4[ms]の間、送信回路に出力する機能と、受信信号を受け取ると割り込み要求信号をMPUに送る機能の二つである。また、正しく距離計測を行うために、回りこみ波を無視する機能も備え付けられている。
 距離計測はタイマのカウンタ値を読む事で行う。このタイマは、トリガを受け取ってから受信を感知するまでの間回し続けるのでカウンタ値と音速より障害物迄の距離を知ることができる。
 距離の計測に用いるカウンタはPITに内蔵されているタイマを利用している。タイマのクロック周波数は8×106/32[Hz]であるので、障害物までの距離Lは

    L=Count×(8×106/32)−1×v×(1/2)
    * L:距離 v:音速 Count:カウント値

で与えられる。最後の1/2は、超音波が障害物までの距離を往復するので、そのことを考慮して付け加えられている。
 しかしながら、音速vは一定値ではなく、周囲の温度で変化するため、この方法では、ある程度の誤差は覚悟しなければならない。
 昨年度までの基板は、超音波送受信回路部、カウンタ部などを1枚の基板に搭載していたが、このボードではこの2つの回路を基板上から切り離すことによってボード自体の小型化を実現した。

 また他にも
  

  • 動作の安定のためタイマーICのかわりにPLD内蔵のカウンタで一定時間Hレベルのパルスを作り出すようにした。
      
  • 回り込み波を除去する為に従来の比較回路に加えて一定時間受信を完全に無視する機能をつけた。
      
  • 従来では4つあった比較回路を1つにまとめた。 という特徴がある。
     この回路は、構成図にも示されているような、発振回路、ワンショット回路、比較回路の他にも、タイマ制御部、基準電圧発生部など様々な回路が複雑に組み合わさっている。これについての説明と、取扱上の注意を述べていくことにする。

    (1)発振回路

     この回路はコンデンサの放電を利用し、ゲートと組み合わせて構成した簡単な発振回路である。超音波センサ回路のメインクロックともなる重要な回路だがこの方法で正確に40[kHz]の周波数を作り出すことは難しい。また、ICにCMOSを使用しているので、回路自体がデリケートなこと、コンデンサの放電を利用しているので、少しの状況の変化(接触や、端子の先のRの値)によって、発振したりしなかったりと言うこともある。中央の抵抗値によって周波数が変化するので、最初は可変抵抗で抵抗値を変化させながらオシロスコープで、周波数を調べ丁度40[kHz]の周波数を示した時、その時の可変抵抗の抵抗値にできるだけ近い値(約5.6kΩ)を持つ抵抗を付けた。

    発信回路
     
    図.2 発信回路

    (2)ワンショット回路

     図.3にPLDにプログラムされたワンショット回路構成図を示す。又、タイミングチャートを図.4に示す。ワンショット回路は、64進カウンタと制御回路で、構成されており、PLDを2つ使っている。
    この回路から、トリガ一回毎に、ガードパルス、タイミングパルス、送信用ワンショットを一回づつ出力する。送信用ワンショットとCLKとのANDをとって幅0.4[ms]、周波数約40[kHz]のパルスを送受信回路に出力する。ガードパルス、タイミングパルスは、比較回路の項で述べる事にする。

    ワンショット回路     
    図.3 ワンショット回路

    タイミングチャート     
    図.4 タイミングチャート

    (3)タイマ制御部

     PIT内部のタイマを動かしたり、止めたりする部分である。タイマのカウントはトリガが送られて来てから、受信、又はタイマのオーバーフローが起こるまでの間行われる。この制御はRS−FFで行い、タイマのスタート信号のON/OFF制御をする。
     PIT内蔵のタイマは、設定によりいろいろ選べるが、この回路ではオーバーフローを検出できる「Device.Watchdog」と言うタイマを選んだ。

    (4)比較回路

     比較回路では主にノイズの除去と回り込み波による影響の無視を行う。受信回路から送られて来た受信波と、基準電圧をコンパレータで比較し、基準電圧より低い電圧の信号を除去する。
     また、回りこみ波の除去については送信してから、一定時間基準電圧のレベルを上げる事で対処する。この時間はタイミングパルスによって決められる。
     この方法は従来の超音波センサ回路に使われているものと同じであるが、この方法では完全に回りこみ波を除去できず、センサ間の距離やホーンの長さを調整して回りこみ波を消していた。しかしこの基板は従来の方法に加えて送信開始から一定時間受信そのものを無視する方法を取り、二重の対策で回りこみ波を除去する事にした。(この結果、新しい問題がおきてしまったが、そのことについては基板評価の項で述べる。)この受信無視時間の長さはワンショット回路から出力されるガードパルスで決定される。

    (5)基準電圧発生部

     超音波は波の性質を持っているため、スピーカから送信された超音波が、直接マイクで受信されてしまう。
     このため、障害物からの距離に関係なく、同じタイミングで受信が起きる事になる。回り込み波を受信する時間さえわかっているなら、その間だけ基準電圧を5vに引き上げれば、回り込み波による影響をコンパレータによって、打ち消す事が出来る。この基準電圧発生部は、コンデンサの放電を利用して、タイミングパルスから基準電圧を作り出す部分である。
    超音波の回りこみ     
    図.5 超音波の回りこみ

    (6)マルチプレクサ(MX)

     搭載されている4対のセンサの内、一度に距離計測が出来るのは1対だけである。計測を行うときには4対の内1対を選ばなければならない。
     マルチプレクサは、コネクタを通じて4つの送受信回路と直結しており、PITから送られてくるセンサ選択信号により、使用する1対のセンサを選択する。
     センサにはそれぞれ0から3まで番号がつけられていて、センサ選択信号もそれに対応して00から11迄の2ビットの信号より成り立っている。

    1−2−2 PWM回路

     この回路は、モータを制御する信号であるPWM信号を作り出し、方向データと共に出力する回路である。速度データとカウンタのカウント値との比較によりPWM信号を形成している。この信号のDuty比は、速度データで128段階に変化させている。図.6にPWM回路の構成図を示す.
    PWM回路構成図     
    図.6 PWM回路構成図

     右速度・方向データは68230のportAから、左速度・方向データはportBから送られてくる。カウンタのCLKは、68230のToutから得る。 PWM信号発生回路は、カウンタより得られた8bitのカウント値と7bitの速度データとの比較によりPWM信号を形成している。PWM信号波形形成原理図を図.7に示す。
    PWM信号波形形成原理図     
    図.7 PWM信号波形形成原理図

     図.7からもわかる様に今回設計製作した基板は、Duty比が0%〜50%までのPWM波形を出力するようにしたものである。これは、次のような理由から行った。試作ボードのTMP試験において、Duty比が40%位でもモータの回転数が充分速いことが解った。ギヤボックスやモータ等の足まわり系は、我が卒研室のMIRS Vと同じものを使用しており、実際に負荷がかかった状態でもDuty比は30%程で走らせているという。Duty比が50%ともなると、モータの回転が速すぎて競技に使えるような速度ではないそうである。そこで実際にタイヤの回転数を回転計を用いて測定してみた。その結果を図.8 Duty比−タイヤの回転数特性図 に示す。
    Duty比−タイヤの回転数の特性図     
    図.8 Duty比−タイヤの回転数の特性図

     この図から解ることはまず一つめに、Duty比が10%〜50%位まではほぼ直線的な特性を示しているということ、そして二つめにDuty比が50%を越えるとタイヤの回転数にほとんど変化がみられなくなるということだ。従ってDuty比が10%〜50%までのPWM波形を出力させることが出来れば充分であることがわかる。そこで試作ボードでは、Duty比0%〜100%までを128段階に変化させていたものを初版ボードでは、Duty比0%〜50%までを128段階に変化させる様に改良した。つまり少ないDuty比を128段階に変化させ、より細かく正確にモータを制御する事が可能であるという事になる。
     昨年度までの基板は、回路が複雑でICの個数も10個とかなり多かった。今回は、回路を簡略化しICの個数を5個に減す事に成功した。基板の面積で比べると昨年度の50%でありコンパクトになった事を物語っている。これは、両面基板にした事、左右の信号を一つのコネクタにまとめた事、68230内蔵TIMERの有効利用により実現出来たものと思われる。このTIMERは、24bitダウンカウンタを含んでおり、設定された周波数のCLKをToutより出力できる。設定は、自由に変える事が可能である。
     速度データをnとするとPWM信号のパルス幅TとDuty比Dは次式で計算出来る。

        T[μs]=(n+1)×5[μs]
        D[%] =(n+1)/256×100
                    0≦n≦127

    1ー2−3 赤外線センサ回路

     赤外線センサ回路は、赤外線センサ信号処理回路と外部回路である赤外線周辺回路から成る。この回路は、赤外線周辺回路から送られてくるHigh level もしくは Low levelの信号を処理し、信号に状態変化がおきた時に、割り込み要求信号をMPUに送る機能を有する。またそのときの各受光素子の状態は後述のレジスタを読むことにより得る。
    赤外線センサ回路の構成図     
    図.9 赤外線センサ回路の構成図

     I/OSUBボードに搭載されているこの信号処理部は主に周辺回路からの赤外線信号の同期をとる信号同期部と68230に割込み要求をする割込み信号発生部からなる。信号同期部は74LS574が3個割込み発生部は74LS688,74LS00各1個ずつで構成する。 受光素子は赤外線受光素子IS1U60を使用する。

    1−3 I/OSUB基板外形
    I/OSUBボード基板外形図     
    図.10 I/OSUBボード基板外形図

    2.外部回路基板概要

    2−1 超音波センサ回路

    2−1−1 機能性能

    送受信回路
     この回路は、I/OSUBボードには搭載されてはいない。送受信回路一つにつきセンサが一対搭載されており、マルチプレクサによって選択される。この回路はゲートを組み合わせた送信回路と、オぺアンプを使った増幅回路の二つの回路があり、送受信を行う。

    2−1−2 外形
    送受信回路外形図     
    図.11 送受信回路外形図

    2−1−3 インターフェイス
    NO.ピン名方向信号
    1Vcc Vcc
    2S0送信信号
    3S1受信信号
    4GND GND

    2−2赤外線周辺回路

    2−2−1機能性能

    使用素子
    74LS123
     単安定マルチバイブレータ
    IS1U60
     この素子はリモコン用の赤外線受光素子である。そのためパルス幅がリモコンのパルス幅の常識を越えるようなものであると、素子がノイズと判断し素子内の比較器のスレッショルド電圧をあげることにより受光しなくなる。そこで図.12.(a)のように周波数38[kHz]の赤外線を600[μs]おきに発信する。そうすることにより図.12.(b)の波形を得る。
    赤外線受信タイミングチャート      
    図.12 赤外線受信タイミングチャート

     信号処理部の割込み信号発生部の原理はある時間Tのときの赤外線信号の状態とそれからt[μS](68230のToutより出力されるCLKによる)後の赤外線信号の状態とを比較し状態が変化していたときに割込み信号が発生するというものであるが信号を発生させるのに74LS574を使用している関係上、IS1U60が赤外線受光時に一発パルスを出力するというのは好ましくない。そこで周辺回路で一発パルスを引き伸ばすことにより信号変調を行う。

    一発パルスを伸ばす方法
     74LS123はトリガパルスを入力することにより、抵抗とコンデンサで設定されたパルス幅(twQ)を出力し、さらに再トリガパルスを入力することによりパルス幅を伸ばすことができる。そこで赤外線を38[kHz]の周波数で600[μs]おきに送信することにより受光時には"H",非受光時には"L"を出力できるようになる。当然600[μs]という数字は設定パルス幅より短くなっている。
    パルス幅      
    図.13 パルス幅

    2−2−2外形
    赤外線周辺回路外形図
      
    図.14 赤外線周辺回路外形図

    2−2−3インターフェイス

    CN1
    *周辺回路からI/OSUBボードへの方向を”←”で表す。
    NO.信号名方向内容備考
    1Si赤外線受光信号変調後
    2Vcc  
    3Si+1赤外線受光信号変調後
    4GND  

    CN2,3
    *周辺回路から赤外線センサーへの方向を”←”で表す。
    NO.信号名方向内容備考
    1Vo赤外線受光信号変調前
    2GND  
    3Vcc  

    3.各基板の部品の詳細

    CN1:PCN10シリーズDIN41612(準拠)
    VME-busコネクタ

    CN2 PS-50PE-D4LT1-PN1(航空電子)   50ピンコネクタ

    3−1 超音波センサ回路

    IC10:4052(マルチプレクサ)
    IC11:4069(CLK発振用IC)
    IC12:16V8(PLD)
    IC13:μPC339(コンパレータ)
    IC14:16V8(PLD)
    IC15:LS00(AND)
    IC16:LS04(NOT)
    IC17:LS279(R-S FF)

    C10〜C17:(バイパスコンデンサ)
        VCCとGND間のノイズ除去の為に取り付ける
    C18:(発振用コンデンサ)
        発振回路にあるコンデンサ
    C19:(ガード回路コンデンサ)
        コンパレータの入力に取り付けられたコンデンサ

    R5:発振回路用抵抗
    R7:発振回路用抵抗
    R8:プルアップ抵抗
    R9:基準電圧用抵抗
    R10:基準電圧用抵抗
    R11:プルアップ抵抗

    D1:タイミングパルスを通すダイオード

    CN3:航空電子16ピン(アングルタイプ)

    3−2 PWM回路

    IC1:7407
        (オープンコレクタ出力 buffer×614ピン)
         20[mm]×6[mm]

     PWM回路の先にある可逆powerボードにおいて、フォトカプラを使用しているため大電流を流すのに7407を用いている。この素子を使うには、pull-up抵抗(R1〜R4)が必要である。R1〜R4の値に関しては、以下の事から求められる。

     フォトカプラに組み込まれている
    発光ダイオードの駆動電圧:1.3[V]
    駆動電流:10[mA]
    TTLのLow Level出力電圧:0.4[V]
    電源電圧:5[V]

    よってpull-up抵抗Rは次のようになる。

        R=(5-1.3-0.4)/10×10−3=330[Ω]
        IC2・IC4:74LS684
        (8bit comparater×1 20ピン)
            25[mm]×6[mm]

     速度データは7bitのため17ピン(P7)はGNDに落とす。18ピン(Q7)にはカウンタの出力の最上位bitが入る。

    IC18:74LS04
         (NOT × 6 14ピン)
           20[mm]×6[mm]
      IC3のCCLK(11ピン)を反転させてRCLK(13ピン)に入れる時に用いている。

    C1〜C4:104  (バイパスコンデンサ)
      Vcc−GND間のノイズ除去のため各ICに取り付ける。

    CN5:MOLEX 5ピンコネクタ (5046-05A)アングルタイプを使用

    3−3 赤外線センサ回路

    CN4:航空電子16ピン(アングルタイプ)
      IC5,6,7:74LS574
      8入力D FF/OCはGNDにおとしておく

    IC8:74LS688
      8ビットデジタルコンパレータ

    IC9:74LS00
         NAND×4

    C5,6,7,8,9:バイパスコンデンサ

    参考文献
    自律知能ロボット用制御システム開発
    (園3 I/O NOT-電子制御-9404-3)