名称 MIRS1301 モーター制御ボード/モーター駆動ボード詳細設計書
番号 MIRS1301-ELEC-0005

最終更新日:2013.1.31

版数 最終更新日 作成 承認 改訂記事
A01 2013.12.17 岩田大輝, 高原一真 初版
A02 2014.1.31 高原一真 青木先生 ソフトウェア関連

目次

  1. はじめに
  2. 変更点概要
  3. 仕様詳細
  4. 作成方法
  5. テスト方法
  6. 判明している問題点と解決案

  1. はじめに

    本ドキュメントは、MIRS1301の新モーター制御ボードおよびモーター駆動ボードの詳細設計書である。

  2. 変更点概要

  3. 仕様詳細

    1. 回路図

      回路図を以下に示し、回路面での変更点を説明する。

      まず標準機のモーター制御ボード に存在していたトランジスタは不要と判断し廃止している。
      ロータリーエンコーダー E6A2-CWZ5C の カタログ(PDF)によると
      オープンコレクタ(30mAまで吸い込み可)で出力されるとあるためである。

      つぎに、回転方向検出用のフリップフロップ及びNANDゲートを廃止している。
      ロータリーエンコーダーからの信号の変化を毎回割り込み処理で検出すれば、
      PIC内の処理だけで回転方向の検出が可能なためである。

      最後に、モータードライバ:MP4212周辺の回路を変更してフォトカプラを従来の4つから2つに減らしている。
      この部分の回路は以下の2つのサイトで紹介されているものの簡略版である。
      舞鶴工業高等専門学校 電子制御工学科 町田秀和研究室 | 各種DCモータドライバ回路集
      渓鉄 - KeitetsuWorks|Nch MOS FETとPch MOS FETで構成するモータドライバ
      具体的には、Pch-MOSとNch-MOSでCMOSを作り、入力の信号線を2本に減らしている。
      C-MOS構造であるため、モーターは常に正転・逆転・ブレーキの状態であり、フリー状態にならない。

      制御ボードと駆動ボードを接続するためのコネクタには、現在使用していないGNDピンが存在する。
      この理由は、今後モーター駆動ボードのみを改良しフォトカプラが変更された場合に、
      GNDピンが必要になる可能性があるためである。

    2. 制御方式

      モーター始動時にオフセットを予め加えておくことで、始動時の応答時間を減少させる。
      また標準機のPI制御にD制御を加えることと、
      制御周期を従来の100msecから10msecまで短くすることで、
      モーター始動直後の急激な速度変化に対する即応性を上げる。
      また速度の計算に重み付け無しの移動平均法を使用することで、処理時間を抑えつつ1msecごとの速度計算を実現させる。

      ロータリーエンコーダーとの通信不良時などを考慮して、
      出力を直接指定可能なモードも実装する。

    3. 通信プロトコル

      コマンドバイトと引数バイト列を送信したあと、戻値バイト列を受信する。
      多バイトデータのエンディアンは全てビッグエンディアンである。
      コマンドのリストを以下に列挙する。
      通信プロトコル
      機能コマンド引数戻値
      ハードウェアリセット 0x00 無し 無し
      ソフトウェアリセット 0x01 無し 無し
      エコーバック 'e' 任意(1Byte) 'e', 引数(1Byte)
      モーターデータ取得 0x80 無し 経過時間 [msec] (4Byte)
      回転角 [pulse] (4Byte)
      角速度 [pulse/sec] (2Byte)
      Duty比 [1/1023] (2Byte)
      回転角初期化 0x81 回転角 [pulse] (4Byte) 無し
      PID制御データ取得 0x82 無し 制御周期 [msec] (1Byte)
      比例ゲイン [1/1023 * sec/pulse] (2Byte)
      積分ゲイン [1/pulse] (2Byte)
      微分ゲイン [sec^2/pulse] (2Byte)
      目標角速度 [pulse/sec] (2Byte)
      偏差 [pulse/sec] (4Byte)
      積分項 [pulse] (4Byte)
      微分項 [pulse/msec^2] (4Byte)
      PID制御パラメータ設定 0x83 制御周期 [msec] (1Byte)
      比例ゲイン [sec/pulse] (2Byte)
      積分ゲイン [1/pulse] (2Byte)
      微分ゲイン [sec^2/pulse] (2Byte)
      無し
      Duty比直接設定 0x90 無し Duty比 [1/1023] (2Byte)
      目標角速度設定 0x91 無し 目標角速度 [pulse/sec] (2Byte)

  4. 作成方法

    1. 基板加工機用 mit ファイル

      MotorControlBoard.mit

      MotorDriveBoard.mit

    2. パターン図と実装図

      パターン図と実装図を以下に示す。

    3. 使用部品

      作成に必要な部品を以下に示す。
      モーター制御ボード部品表
      記号部品名商品名数量備考
      IC1PICPIC16F19381モーター制御用
      R1~3抵抗1.2kΩ 3LEDの電流制限用
      R4,5抵抗1.2kΩ 2ロータリーエンコーダー用プルアップ抵抗
      C1,C2セラミックコンデンサ0.1uF2パスコン
      D1LED緑色LED1デバッグ用
      D2LED赤色LED1デバッグ用
      D3LED黄色LED1デバッグ用
      CN1コネクタMOLEX 5pin1PICkitボード用
      CN2コネクタMOLEX 4pin1I2Cバス用
      CN3コネクタMOLEX 4pin1モーター駆動ボード用
      CN4コネクタMOLEX 4pin1ロータリーエンコーダー用
      PIN1ピンヘッダ1pinヘッダ1デバッグ用GNDピン
      PIN2,3ピンヘッダ1pinヘッダ2デバッグ用PWM出力確認用
      モーター駆動ボード部品表
      記号部品名商品名数量備考
      R1,R2抵抗300Ω 2電流制限用
      R3,R4抵抗150Ω 2プルアップ抵抗
      R5~8抵抗10Ω 4ダンパ抵抗
      C1,C2セラミックコンデンサ0.1uF2パスコン
      IC1,IC2フォトカプラTLP5522絶縁用
      IC3モータードライバMP42121
      CN1コネクタMOLEX 4pin1モーター制御ボード用
      J1DCジャック2.1mm径1電源用
      J2DCジャック2.1mm径1モーター用
      PIN1ピンヘッダ1pinヘッダ1デバッグ用GNDピン
      PIN2,3ピンヘッダ1pinヘッダ2フォトカプラ動作確認用
      PIN4,5ピンヘッダ1pinヘッダ2モータードライバ動作確認用

    4. プログラム

      MIRS1301 エレクトロニクス詳細設計書からダウンロードできる。

  5. テスト方法

    MIRS1301 ソフトウェア詳細設計書からダウンロードできるファイルに、テストプログラムが含まれている。

  6. 判明している問題点と解決案

    今回はロータリーエンコーダーからの信号(A,B)のうち、Aの立ち上がり/立ち下がりエッジしかカウントしていない。
    Bの立ち上がり/立ち下がりエッジもカウントすることで分解能をさらに上げることができる。

    モーター駆動ボードにフリー状態が存在しないことによる問題は特に確認されなかった。

▲上へ


MIRS1301 ドキュメント管理台帳へ

沼津工業高等専門学校 電子制御工学科