沼津高専 電子制御工学科 | |||||||
|
|||||||
改訂記録 | |||||||
---|---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | 提出先 | ||
A01 | 1998.12.17 | 森上 雅史 | 品川 | 初版 |
図.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つの回路を基板上から切り離すことによってボード自体の小型化を実現した。
また他にも
(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ビットの信号より成り立っている。
図.6 PWM回路構成図 |
右速度・方向データは68230のportAから、左速度・方向データはportBから送られてくる。カウンタのCLKは、68230のToutから得る。 PWM信号発生回路は、カウンタより得られた8bitのカウント値と7bitの速度データとの比較によりPWM信号を形成している。PWM信号波形形成原理図を図.7に示す。
図.7 PWM信号波形形成原理図 |
図.7からもわかる様に今回設計製作した基板は、Duty比が0%〜50%までのPWM波形を出力するようにしたものである。これは、次のような理由から行った。試作ボードのTMP試験において、Duty比が40%位でもモータの回転数が充分速いことが解った。ギヤボックスやモータ等の足まわり系は、我が卒研室のMIRS Vと同じものを使用しており、実際に負荷がかかった状態でもDuty比は30%程で走らせているという。Duty比が50%ともなると、モータの回転が速すぎて競技に使えるような速度ではないそうである。そこで実際にタイヤの回転数を回転計を用いて測定してみた。その結果を図.8 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
図.9 赤外線センサ回路の構成図 |
I/OSUBボードに搭載されているこの信号処理部は主に周辺回路からの赤外線信号の同期をとる信号同期部と68230に割込み要求をする割込み信号発生部からなる。信号同期部は74LS574が3個割込み発生部は74LS688,74LS00各1個ずつで構成する。 受光素子は赤外線受光素子IS1U60を使用する。
1−3 I/OSUB基板外形
図.10 I/OSUBボード基板外形図 |
図.11 送受信回路外形図 |
図.12 赤外線受信タイミングチャート |
信号処理部の割込み信号発生部の原理はある時間Tのときの赤外線信号の状態とそれからt[μS](68230のToutより出力されるCLKによる)後の赤外線信号の状態とを比較し状態が変化していたときに割込み信号が発生するというものであるが信号を発生させるのに74LS574を使用している関係上、IS1U60が赤外線受光時に一発パルスを出力するというのは好ましくない。そこで周辺回路で一発パルスを引き伸ばすことにより信号変調を行う。
一発パルスを伸ばす方法
74LS123はトリガパルスを入力することにより、抵抗とコンデンサで設定されたパルス幅(twQ)を出力し、さらに再トリガパルスを入力することによりパルス幅を伸ばすことができる。そこで赤外線を38[kHz]の周波数で600[μs]おきに送信することにより受光時には"H",非受光時には"L"を出力できるようになる。当然600[μs]という数字は設定パルス幅より短くなっている。
図.13 パルス幅 |
図.14 赤外線周辺回路外形図 |
a | b | c | a | b | c | |||||
No. | 方向 | 内容 | 内容 | 内容 | No. | 方向 | 内容 | 内容 | 内容 | |
1 | 未使用 | 未使用 | 未使用 | 17 | - | GND | 未使用 | 未使用 | ||
2 | 未使用 | 未使用 | 未使用 | 18 | 未使用 | 未使用 | 未使用 | |||
3 | 未使用 | 未使用 | 未使用 | 19 | - | GND | 未使用 | 未使用 | ||
4 | 未使用 | 未使用 | 未使用 | 20 | 未使用 | 未使用 | 未使用 | |||
5 | 未使用 | 未使用 | 未使用 | 21 | 未使用 | 未使用 | 未使用 | |||
6 | 未使用 | 未使用 | 未使用 | 22 | 未使用 | 未使用 | 未使用 | |||
7 | 未使用 | 未使用 | 未使用 | 23 | 未使用 | 未使用 | 未使用 | |||
8 | 未使用 | 未使用 | 未使用 | 24 | 未使用 | 未使用 | 未使用 | |||
9 | - | GND | 未使用 | GND | 25 | 未使用 | 未使用 | 未使用 | ||
10 | 未使用 | 未使用 | 未使用 | 26 | 未使用 | 未使用 | 未使用 | |||
11 | - | GND | 未使用 | 未使用 | 27 | 未使用 | 未使用 | 未使用 | ||
12 | 未使用 | 未使用 | 未使用 | 28 | 未使用 | 未使用 | 未使用 | |||
13 | 未使用 | 未使用 | 未使用 | 29 | 未使用 | 未使用 | 未使用 | |||
14 | 未使用 | 未使用 | 未使用 | 30 | 未使用 | 未使用 | 未使用 | |||
15 | - | GND | 未使用 | 未使用 | 31 | 未使用 | 未使用 | 未使用 | ||
16 | 未使用 | 未使用 | 未使用 | 32 | IN | Vcc | Vcc | Vcc |
No. | ピン名称 | 方向 | 内容 | No. | ピン名称 | 方向 | 内容 | |
1 | PA0 | IN | 右PWM方向データ | 26 | PA0 | OUT | 超音波センサ選択信号 | |
2 | PA1 | IN | 右速度データ0ビット | 27 | PA1 | OUT | 超音波センサ選択信号 | |
3 | PA2 | IN | 右速度データ1ビット | 28 | PA2 | IN | アンダーフロー信号 | |
4 | PA3 | IN | 右速度データ2ビット | 29 | PA3 | 未使用 | ||
5 | PA4 | IN | 右速度データ3ビット | 30 | PA4 | IN | センサ選択信号 | |
6 | PA5 | IN | 右速度データ4ビット | 31 | PA5 | IN | センサ選択信号 | |
7 | PA6 | IN | 右速度データ5ビット | 32 | PA6 | 未使用 | ||
8 | PA7 | IN | 右速度データ6ビット | 33 | PA7 | 未使用 | ||
9 | PB0 | IN | 左PWM方向データ | 34 | PB0 | OUT | 赤外線信号 | |
10 | PB1 | IN | 左速度データ0ビット | 35 | PB1 | OUT | 赤外線信号 | |
11 | PB2 | IN | 左速度データ1ビット | 36 | PB2 | OUT | 赤外線信号 | |
12 | PB3 | IN | 左速度データ2ビット | 37 | PB3 | OUT | 赤外線信号 | |
13 | PB4 | IN | 左速度データ3ビット | 38 | PB4 | OUT | 赤外線信号 | |
14 | PB5 | IN | 左速度データ4ビット | 39 | PB5 | OUT | 赤外線信号 | |
15 | PB6 | IN | 左速度データ5ビット | 40 | PB6 | OUT | 赤外線信号 | |
16 | PB7 | IN | 左速度データ6ビット | 41 | PB7 | OUT | 赤外線信号 | |
17 | PC0 | OUT | 右PWM方向データ | 42 | GND | - | GND | |
18 | PC4 | 未使用 | 43 | H1 | OUT | 超音波割込要求信号 | ||
19 | PC1 | OUT | 左PWM方向データ | 44 | GND | - | GND | |
20 | PC5 | 未使用 | 45 | H2 | IN | 超音波送信トリガ | ||
21 | PC2/Tin | 未使用 | 46 | PC2/Tin | IN | 超音波カウンタスタート | ||
22 | PC5 | 未使用 | 47 | H3 | OUT | 割込み要求信号 | ||
23 | PC3/Tout | IN | カウンタのCLK | 48 | PC3/Tout | OUT | アンダーフロー信号 | |
24 | PC7 | 未使用 | 49 | H4 | IN | 割込み許可信号 | ||
25 | GND | - | GND | 50 | GND | - | GND |
No. | ピン名称 | 方向 | 内容 | No. | ピン名称 | 方向 | 内容 | |
1 | Vcc | IN | Vcc | 9 | Vcc | IN | Vcc | |
2 | S0 | IN | 送信信号 | 10 | S0 | IN | 送信信号 | |
3 | S1 | OUT | 受信信号 | 11 | S1 | OUT | 受信信号 | |
4 | GND | - | GND | 12 | GND | - | GND | |
5 | Vcc | IN | Vcc | 13 | Vcc | IN | Vcc | |
6 | S0 | IN | 送信信号 | 14 | S0 | IN | 送信信号 | |
7 | S1 | OUT | 受信信号 | 15 | S1 | OUT | 受信信号 | |
8 | GND | - | GND | 16 | GND | - | GND |
No. | ピン名称 | 方向 | 内容 | No. | ピン名称 | 方向 | 内容 | |
1 | I1 | OUT | 赤外線信号 | 9 | I5 | OUT | 赤外線信号 | |
2 | Vcc | IN | Vcc | 10 | Vcc | IN | Vcc | |
3 | I2 | OUT | 赤外線信号 | 11 | I6 | OUT | 赤外線信号 | |
4 | GND | - | GND | 12 | GND | - | GND | |
5 | I3 | OUT | 赤外線信号 | 13 | I7 | OUT | 赤外線信号 | |
6 | Vcc | IN | Vcc | 14 | Vcc | IN | Vcc | |
7 | I4 | OUT | 赤外線信号 | 15 | I8 | OUT | 赤外線信号 | |
8 | GND | - | GND | 16 | GND | - | GND |
No. | ピン名称 | 方向 | 内容 |
1 | Vcc | IN | Vcc |
2 | S0 | OUT | 右方向信号 |
3 | S1 | OUT | 右PWM信号 |
4 | S2 | OUT | 左方向信号 |
5 | S3 | OUT | 左PWM信号 |