MARK-X用自作モータードライブ応用設定2011年11月20日 23時53分46秒

五藤光学のMARK-X赤道儀用の自作モータードライブですが、ソフトウェアの構成としては汎用的に設計、実装しました。

赤道儀のモータードライブは要はギアの減速比と使用するモーターの減速比、パルスモータのパルス数に依存するだけです。

なので、減速比に応じた分周処理をマイコンで処理するだけで、その設定は任意にすることが可能です。プログラム固定で行ってもビルドし直すことを考えればソースプログラムの定義マクロ値のみを修正すればいいのですが、今回はそれすら行わなくてもいいように設計しました。

すなわち、EEPROMでタイマカウンタを設定してそれを読み取って処理するというやり方です。

また、対象とするモータの種類としてMARK-X赤道儀の純正のモータをコントローラ単体として使用する場合をMOTOR TYPE=0、ギアードパルスモータで直接的に駆動する方法をMOTOR TYPE=1として大雑把に言えば2種類の制御が行えるようにしました。MOTOR TYPE=0とMOTOR TYPE=1では回転方向が逆になります。
別の言い方ではMOTOR TYPE=0は平ギアの介在により回転方向が反転する接続方式で、MOTOR TYPE=1はモーターの軸をそのままウォーム軸(微動ハンドルを取り付ける軸)に接続するやり方です。

MOTOR TYPE設定、プリスケーラ設定、モード毎のタイマカウンタ値のすべてをEEPROM設定を介して行います。
※2012年8月追記(2015年7月18日修正):2012年7月以降のソフトウェアではモード毎のタイマカウンタ値に加えてコメットトラッカーと月時モード時の可変設定のための正規化した比率値を設定しています。

以下、確認、設定方法を示します。

以下はPicKit2をMOTOR TYPE=1のモータードライブに接続したところ

以下はPicKit2プログラマを接続後に起動した初期状態

「Read」をクリックして書き込み済みのプログラムとEEPROMの状態を読み込んだ状態。プログラム部分はプロテクト設定で書き込んでいるため全て0に見えます。

以下のようにEEPROMにはデータが配置されています。
以下ではMOTOR TYPE=1に設定されていて、プリスケーラは0(1/1)、MOTOR TYPE=1でのタイマカウンタ値が16進でB984という値に設定されていることを示します。この個体では水晶発振子の実測値は8.000582MHzとなっています。


EEPROMの設定を変えるためには最初に「Program Memory」の「Enabled」のチェックをはずします。チェックをしたままで「Write」を行うとプログラムも壊れます。

それでは実際にタイマカウンタ値を変更してみます。
MARK-X用のモータードライブですがNikonの赤道儀用に設定値を変更してみます。MARK-Xのウォームホイルは歯数126枚ですが、Nikonの6.5cm赤道儀のウォームホイルの歯数は144枚とのことです。B984という値をA254に変更します。

「Write」を押すとEEPROMに書き込みを行います。くどいようですが、「Program Memory」の「Enabled」部分のチェックははずしておきます。

MARK-X用の設定からNikon用への変更はたったのこれだけです。
ウォームホイル歯数144枚はビクセンも同様ですのでビクセン、ニコン向対応はほぼ同じようなものになります。

以下にEXCELでの計算状況を示します。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログでは「組込み」と「組み込み」のどちらを使っている?

コメント:

トラックバック

このエントリのトラックバックURL: http://kumikomi.asablo.jp/blog/2011/11/20/6208884/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。