新しいOnStepは、OnStep対応のオープンな回路図面に対応したConfigとPinsがいくつか付いてきます。
対応するハードウェアはWikiに記載されています。
OnStep -Stellar Journey-
OnStep Groupe Wiki
OnStep自体もどんどん進化してて、IP化やフォーカサー対応など機能が増えて行ってます。
うちのNES君の場合、2つの駆動モーターと基本のGoto制御しか使用しないので、モータードライバとUSBシリアル、ST4対応のシンプルな構成です。
前回の回路同様に12V入力して、レギュレーターでマイコン用の5Vを作ります。
基板パターン起こし
個人的に回路図面を引くときはKiCadを使用しています。Eagleから乗り換えました。回路図とPCBパターンが作れるのでパターン起こしにはこの手のCADが必須です。
基板は自分でエッチングするのですが、生基板へのパターン転写はトナー印刷熱転写方式で行っています。
「プリント基板 トナー ラミネーター」あたりで検索すると方法が分かります。
部品など
マイコンのTeensy3.2、モータードライバのDRV8825、BluetoothシリアルモジュールRN-42がメインの部品です。今回はINDIでの制御を有線で行えるようにUSBシリアルを搭載します。
他に、ST4ポート用のモジュラジャックRJ12、DCINコネクタ、スイッチ、5Vレギュレータ、抵抗、コンデンサなどです。
ケースはタカチLC115H-N(電池ケース無し)です。
実装
DRV8825焼き切った時に交換できるように各モジュールは丸ピンソケットに載せています(^^;
DCソケットの向こうに付いてるmicroUSB付きのモジュールがUSBシリアルです。
ジャンパでUARTをBluetoothに流すか、USBシリアルに流すか選択できるようにしています。
INDIではBluetoothで使うことが無いのですが、スタンドアロン+スマホで運転するときは必要なので一応、基板対応しておきました。
ちなみに、BluetoothモジュールRN-42はどこにあるかと言うと、裏面の表面実装となっています(^^)
あと、レギュレータが意外に発熱したので小さなヒートシンクを付けました。
組み込み完成
モーターへのコネクタ類を引き出してケースに収めて完成です。
モーターへはDIN-6Pコネクタ経由で接続しています。RA側は基板から直接、DEC側はDIN-6Pソケットを経由します。
簡易赤道儀として動作させる場合はDEC側を使わないのでケーブルを外せるようにしてます。
ST-4ポートは一般的なピンアサインです。
OnStepの書き込み
TeensyにOnStepを書き込まないと話になりません。OnStepのGitから最新のBeta版をダウンロードして、Arduino統合環境でTeensyに書き込みます。
この時、使用する回路とモーター、ギヤ比に合わせて Config を設定し直します。
Config
基板回路種類によって Configが分かれています。
今回はTeensyを使用した一番単純な Config.Classic.h を使用します。
使いたい Config.****.h の先頭にある、defineスイッチをONにします。
#define Classic_ON // <- Turn _ON to use this configuration
オプションで私が追加したのは次の通りです。
#define POWER_SUPPLY_PINS_ONPins.hで定義される、Axis15vPin, Axis25vPin をHigh(5V)にします。
DRV8825のRESET, SLEEPの制御で使用しています。
#define AUTOSTART_TRACKING_ON隠しオプションのようですが、電源オンで即トラッキングを開始します。
簡易赤道儀として使う場合はこれができないと不便です。
#define ST4_PULLUPST-4ポートを内部プルアップします。実装部品を減らすための便利オプションです。
#define REVERSE_AXIS1_OFF // RA/Azm axis配線の関係でモーター回転方向が逆になってしまった場合、このフラグで反転させます。
#define REVERSE_AXIS2_ON // Dec/Alt axis
私の場合DEC側が反対だったので反転させています。
MaxRate, StepsPerDegreeAxis?, StepsPerWormRotationAxis1 などモーターやギヤ比に応じて設定するパラメータです。
OnStepのサイトに計算用のExcelシートがあるので、内容をよく読んで実際の機材の値を入れるとパラメータが計算されます。その値を転記しておきます。
おしまい
USBシリアルでINDIに接続した画面です。普通にLX200互換として振る舞います。
おおー、素晴らしいまとまり具合ですね。
返信削除しかし今となってはDINコネクタ、デカいですね!
ところで基板の穴あけって、一個一個ドリルスタンドでやるんですか?
自分はそれが面倒で、量産しないならスルーホール基板一本槍です!!!
DINデカいし太いです(笑)
削除ミニでもよかったんですが、NES側のモーターハウジングがDINなので(^^;
確かに基板作る作業で一番面倒なのが穴あけですよね。地道に開けてます(^^;
最近、目が弱くなって手元作業が苦手になってきました。
基板起こすのは趣味みたいなもんで、地道な手配線を取るか、描くのに時間を掛けるかの天秤ですね。
定ピッチに合わないパーツ(表面実装とかRJコネクタとか)の固定実装や効率的にコンパクトにまとまるのがメリットくらいです。
最近はプリント基板製造サービスが色々あるので量産ならそっちに頼んでしまうかもです。
> 地道に...
削除やはりそうですか。
以前はインデックス付きの専用ボール盤をつかえたのでポコポコやってましたが、
その反動か面倒になってしまいました。(汗)
マイコンの高機能化やブレッドボードに、I2CやSPIで配線も少なくなって楽になったものです。
いやほんと、楽になりました。
削除配線4本でグラフィカルディスプレイとか神かと(^^)
ついつい、つまみ食いしてしまうのです(^^;