■ はじめに
モータを搭載した動力車について、そのモータの回転数を測定したいとの熱意で、ここまでいろいろ苦労してきたが、やっとゴールが見えてきた。 今回改善しようとした点は、測定の不安定さや不確実性である。 その結果として、回転数から計算される車輪のスリップ率のデータが不安定となっていた。 しかし、自信の持てる測定データをなんとか得る事が出来た。 そこで、この改善過程で得られた多くのノウハウを忘れないようにメモしておくことにする。
■ 対策1: シルード線を使用する
赤外線を受光するサテライト・ユニットとArduino の間をつなぐ信号線は、普通の導線を使用していたが、ノイズの侵入を疑ってシールド線を使用することにした。 車速を測定するゲートからの信号線については、深く考えずになんとなくシールド線を使用してきたものの、今回は問題視せずに普通の導線を使用していたものである。
手持ちのシールド線は、2線のものであったので、RESET信号とOUT信号のみにシールド線を使用し、VsとGND ラインは通常の導線のままである。
また、この配線工作に伴い、XBee シールドを予定通りに Arduino 本体に積み重ねて使用するようにした。
******* New_Keninryoku_test4 *********** --------- 省略 ------- //出口スリット while (slit2 == HIGH) { voltage = analogRead(vol_pin); current = analogRead(cur_pin); vol = vol + voltage; cur = cur + current; n = n + 1; slit2 = digitalRead(SLIT2_PIN); STOP = digitalRead(OUT_PIN); if (STOP ==HIGH & Flag == 0){ ← 1回目確認 delay(1); if (STOP ==HIGH & Flag == 0){ ← 2回目確認 delay(1); if (STOP ==HIGH & Flag == 0){ ← 3回目確認 t3 = millis(); OKであれば完了時刻を計測 Flag = 1; タイムスタンプ記録済みのフラグ } } } } --------- 省略 ------- //出力処理 tt = t2 - t1; tp = t3 - t1-2 ; delayした2msecをマイナスしておく --------- 省略 -------
■ 対策2: パスコンを追加する
ノイズ防止のために、0.1μFのパスコンをサテライト・ユニットのIC電源側と、Arduino のデジタル入力ポート部に追加する。
■ 対策3: スケッチの内容を修正する
既定のカウントが終了した事を示すOUT信号をArduino のデジタル入力ポートD5 にて受取った時に、1msecを間にはさんで、3回確認させることにする。 これによってノイズによる誤信号の受け取りを防止する事が出来るだろうと考えた。
修正した部分を右に示す。
****************************
この対策1〜対策3を実施した時点で、 EF64-1032号機の牽引力測定を実施した。 その結果は 「スリップ率の実体を捕える」で報告の通りである。 どの対策案が効果かあったのかは不明であるが、とにかく何とかモータ回転数の測定が出来るようになったのである。
しかし、測定を始めた時には、まだパルス完了時刻のデータが不安定であった。 改善効果が無いのかとがっかりしていたが、乾電池電圧を測定してみると、2.59ボルトであった。 そこで新品の乾電池に取り換えると、パルス完了時刻のデータは、ピタリと安定し、無事測定が出来たのである。
ちなみに、新品の乾電池に取り換えた時は、3.20ボルトであった。 そして、4.5ボルトと5.5ボルト時の牽引力を測定後は、3.05ボルトに落ちていた。 そして、6.5ボルト時の牽引力を測定後には2.80 ボルトまで低下していた。 テスト終了2時間後には、2.96ボルトまで回復していた。
測定は、速度特性と牽引力特性(パラメータ3ヶ)の4回測定するが、各測定ではそれぞれ30個×4 回実施しているので、30×4×4 = 480 個のデータを測定していることになり、そのたびに1〜2回乾電池を取り換えなければならない事になる。
これはやはり大変である。 充電式電池が必須であることを、改めて認識する。
.
■ テスターを使っての周波数測定を試みる
測定ユニットの作り直しが必要と考えていたので、その工作の前に、周波数測定方法を改善する事にした。 大枚をはたいてのテスター購入であったので、これを生かすことをする。
テスターの件は、「総合テストを始めたが・・・・・・」で報告しているが、入力値が5ボルト以上で、ゼロクロスの正弦波が必要であり、今回のようなロジックパルスは測定不可能であった。
そこで、先回工作した周波数測定用パルス増幅回路を改良したのが、右の回路図である。 物置部屋レイアウトの建物照明用 12ボルト専用電源として使用していたAVアダプターを借用して12ボルト電源とし、2個の抵抗の中間部をテスタのマイナス側にすることによって、±6ボルトの出力を取り出そうとしたものである。
この回路をブレッドボード上で構成して、テスターで測定している状態を下に示す。
結果は上々である。 見事に “ 37.92KHz ”と表示されている!
この回路に修正した増幅回路を下に示す。 接続するクリップに合わせて、ピンヘッダとピンソケットを使い分けたつもりである。 使用状態を下に示す。
ブレッドボードで測定した時は、37.92KHzだったのに、今度は38.12KHzを示している・・・・・・・・・・? (時間が経過したので乾電池の電圧が回復しているのかな?)
.
■ 対策4: ツェナーダイオードを使用した回路の検討
充電式電池を使用する案として、電池を3個使用すれば必要な電圧を確保できるが、電圧が3.6Volt 以上になって XBee の制限電圧を超えるので、3.3Volt のツェナーダイオードで電圧制限しようとする方法を検討してみた。
ツェナーダイオードの使い方をネットで勉強して右の様な回路を組んでみたが、あるサイトで重要なアドバイスを発見する。 それは、ツェナーダイオードはひどい雑音発生源となるので、コンデンサーなどで充分に対策せよとのアドバイスであった。
雑音対策でいろいろ苦労しているのに、新たな雑音発生源を採用するのか? また、抵抗値の設定に対してもいろいろ考慮が必要なようで、XBeeのような消費電流を必要とするような回路には不向きではないかと判断して、この案を取り下げる事にした。
⇒ 対策案4は取り下げ
.
■ 対策5: 水晶発振子を使用する
周辺回路が難しそうで自信がなかったが、38KHzで振動する水晶振動子を使って見ることにした。 幸いに、求めていた内容にピッタリのサイトを見つけたので、そのまま参考にさせて頂いた。 回路図を右に示す。
NANDを使用する回路であるが、適当なロジックICを探すものの、4回路仕様の物しか見付けられなかったので、これらの部品を入手して実際に作動を確かめることにした。 部品は秋月から取り寄せたもので、発振子は Mercury Electronic Industrial製の38KHz用を、NANDは、TI 製の4回路2入力NAND SN74HC00N を使用した。
これら部品を使用し、発振回路のみをブレッドボード上で構成してテストしてみた。 その様子を下に示す。 下左はブレッドボードの状態を、下右は実験状態を示す。
.
周波数測定は、テスター用に制作した回路を使って測定した結果を右の写真に示す。
見事、 38KHz で発振している事が分かる。
ブレッドボードの電源は充電式の電池を使用しているので、この電圧でも発振する事が分かった。 そこで、この電源を安定化電源に変えて、電圧を変えて発振周波数を測定した。
その結果を上のグラフに示す。 発振可能な電圧は 1.6ボルト以上であり、当方の目的に対して、充分に満足出来る仕様である事が分かった。 そして消費電流も 1〜2mA と僅かであった。 この水晶発振子を使用した回路にすれば、充電式電池を使用した低電圧仕様でも充分に作動することが分かったので、充電作業をこまめに実施しながらでも、安易な気持ちで電池の交換作業が実施出来であろう。
そこで、上記に示した Ver.5 の回路でユニットを作ってみることにした。 発振回路部はノコギリ波状になっていると想定するので、電源とのNANDを取って波形を整形させると共に、さらにモータ回転パルスとの重ね合わせとして、さらにNAND回路を使うことにした。 これによって、ICの3個のNAND回路を有効に使うことになったが、トランジスタがひとつ減らせるメリットも出てきた。
これで、Ver.2で設定したバッテリチェックも兼ねた電源作動表示用のLEDも、その機能を発揮できるようになり、電池の電圧が2.4ボルト以下になるとこのLEDが消えてしまうので、発振回路の限界とXBee の作動限界を、余裕をもって知らせてくれるであろう。
ユニバーサル基板は、モデル1(回路はVer.1のもの)のユニットを分解して再利用した。 センサーとの接続端子は前方に配置し、14ピンのICを真ん中に置き発振回路はその脇にコンパクトに納めた。 水晶発振子のリード線は細かったので、ゴム系接着剤で基板と接着させている。
出来あがったユニットの回路について、発振状態をチェックし、38KHzで発振していることを確認した。 これで一安心である。
.
また、回路を度々変更するので、右の写真のように、XBeeモジュールとの間もピン&ソケットで結線するようにし、取り外し分解を容易にするようにした。
■ 対策6: サテライト・ユニットの負論理回路化
測定車からの赤外線通信を受けるサテライト・ユニットでは、パルスカウントの完了の信号を正論理で送信していた。 そこで、ノイズが乗っても影響に少ないと思われる負論理とするために、プルアップ出力回路に変更することにした。
その回路図を右下に示す。 カウント完了の信号をトランジスタを使ってプルアップ回路にして、Arduino に送信するようにした。
.
対策1と対策2も反映ずみである。
この回路変更によって、スケッチの “STOP ==HIGH ” の部分を “ STOP ==LOW ” に内容変更を実施したのは当然である。 ( New_Keninryoku_test5 )
■ 新しい測定ユニット・モデル3の確認
色々な対策を盛り込んだ測定ユニットの作動確認を実施した。 モータ端子電圧を測定する抵抗分圧回路は、新品の抵抗を使ったので、もう一度校正する必要がある。 このため、前回と同様に、ベンチテストを実施してA/D変換されたデータの校正を実施した。 今回はEF81-81号機を使用して実施した。 この測定結果をもとに、デジタル値から電圧への変換係数を修正した。
またこの実験に続けて、測定ユニットの消費電流の測定も実施した。 測定装置の概要を下に示す。 測定ユニットの電源を安定化電源に変更して電圧値が任意に設定出来るようにし、 その時の電圧と電流を読み取る。 模型車両の走行回路用の電源はパワーユニットを使用して5ボルト程度に設定し、適当な車両を走らせておく。 この時、電源回路の一端からリード線を用いて木片の上に置かれた動力車(今回使用したのはEF81-81号機)のモータ端子に接続し、モータへの供給電源としておく。 そして、Arduino を起動させて、その送信データをシリアルモニタで観察する。 測定結果を右上のグラフに示す。
測定ユニットは、モータ回転数の検知と発生パルスの赤外線LEDによる送信、および、モータ端子電圧のXBee による送信を実施している状態で、電流と電圧を測定したものであり、さらに、シリアルモニタで観察されたパルス完了時間 tp (msec)の値もプロットしてみた。
今回制作したモデル3のユニットでは、消費電流がアップしているものの、1.6ボルトまで作動しているようである。 パルス完了時間 tp は、1.5ボルト程度まで、殆ど一定値を保持している。 (ただし、充分な馴らし運転を実施していなかったため、時間が少しずつ低下しているが、これはモータが温められその回転が少しアップしたものと推定する。) これらのデータより、モータのパルス検出回路と、38KHzの発振回路、および赤外線送信回路が働いている事を示しているので、パルス送信は充分機能していると判断してもよいであろう。
.
勿論、モータ端子電圧もしっかりと測定されているのでXBee による無線通信も充分に機能していることが分かる。
■ 効果の確認: 実際の測定の実施
この新しいユニットを使用してEF81-81号機の測定を実施した。 牽引力特性におけるパルス完了時間 tp と車両速度測定ゲートの通過時間 tt の比率をプロットしたグラフを右に示す。
中央部は殆どバラツキの無いパターンを示しており、それぞれの計測方法が安定していると判断している。 牽引力が駆動側や制動側のスリップ領域に近ずくにつれてスリップが大きくなり、駆動側では車輪が滑って車体が前に進めなくなる、即ち、測定ゲートの通過時間 tt が長くなるため比率は低下して行く。 牽引力がマイナスの場合、即ち制動側では、この反対の現象となり、車輪の回転よりも前に滑って行くので通過時間 tt が小さくなり、この比率は大きくなる。 理屈通りのパターンとなっている。
これらの値をもとにして、スリップ率を計算したグラフを下に示す。 先回の報告よりも綺麗なデータとなっている。 スリップ率を数%オーダーで観察出来るように拡大したグラフを右に示すが、数%のバラツキは測定限界に依るものとして許容するとすることにして、充分に満足の行くデータを示している。
現在、一回の測定で、測定特性と牽引力特性(3個のパラメータ)を測定するのを標準としているが、この1回の測定で、電池はかなりの電圧降下をきたしているため測定のたびに電池交換を実施することにする。 しかし、充電式なので、6この電池を使い回しながら使用すれば何ら問題ないのである。
■ まとめ
モータ回転数の計測に関して、とにかく安定したデータを得る事が出来るようになったし、乾電池の使いまわし対策も可能となった。 どの対策が効果があったのかは判然としないが、低電圧でも安定した発振を可能とした対策5が効果があったのではないかと思っている。
今後は、この測定方法を使って動力車の特性を測っていくつもりであるが、さらに、トラクションタイヤの有無によるスリップ状態の違いなど、面白そうな実験も検討してみたいですね。