材料
ステッピングモーター
手持ちの SPG20-332 を使用しました。ギヤードモーターでステップ角0.75度、1回転480ステップという分解能です。
モーターの選定において、ステップ角をどのくらいにするのかは、回すフォーカスノブの感度によって決める必要があります。ステップ角が大きい場合はギアやプーリーを入れて回転比を調整します。
今回はマイクロフォーカスノブを回すので、ステップ角3度くらいでも良かったかもしれません。
モーターケース
塩ビパイプ(径40mm)とキャップを組み合わせてモーターケースにします。固定金具
厚3mm、幅12mmのアルミ平板を万力や工具で曲げて固定用のアームを作ります。モータードライバ
簡単便利な DRV8825モジュール を使用しました。ステップパルスと方向を与えればモーターを回せるので制御が簡単です。
コントローラ部
制御に使うマイコンは、秋月のArduino Pro Mini互換基板(AE-ATMEGA-328 MINI)です。小型で扱いやすく、プログラムの書き込みもシリアルでOKなので、最近よく使っています。
フォーカサーの回転方向とスピードは、ゲームコントローラでおなじみのアナログスティックを使って操作します。上下倒し込んだ方向に動き、倒す角度によってスピードが変わるというシンプルなインターフェイスにしました。
空中配線が面倒&アナログスティック固定のために専用の基板を書き起こしました。
また、ケースはタカチのSW-130を使用します。
今回作成する電動フォーカサーは、ハンドコントローラで駆動するのと同時に、Raspberry Piでの制御も考えているので、モーター部とコントローラ部はミニDIN4Pで取り外しができるようにしました。
加工
モーターケースを作ります。
塩ビパイプにキャップを被せ、適当な長さに切断。反対側にもキャップを付けると小さなモーターケースになります。
一応、見栄えも気にして塗装もしてみました。
取付け用のアームの曲げ加工ですが、かなり強引に曲げました。
曲げ加工は気を付けないと折ってしまうので、ゆっくり、できればバーナーで適度に熱する方が安全です。
採寸もしていないので基本、現物合わせで加工しました。
今回はフォーカス軸をモーターで直接回すので、モーター反動さえ抑えられればなんとかなります。
ギヤを組んだり、プーリーを入れるならもう少し大掛かりな固定方法が必要ですが、平板の厚みが3mmあるのでこれだけでもかなり強固に固定できます。
モーターとフォーカス軸との接合は、フレキシブルなカップリングで接続しました。
フォーカス軸側は径2.5mm、モーター側はDカット径3mmなので、径に合ったカップリングをMISUMIにて購入しました。
どうしてもモーター軸とフォーカス軸のブレが出るので、フレキシブルなものにしないと軸を壊す原因になります。
コントローラ部
回路図
ほとんどモジュール基板の配線のみです。
用途としてモーターを回しっぱなしにしないので、バッテリーは006Pの9V電池を使います。
Arduino基板も9Vで駆動しますが、アナログスティック等は内蔵の5V出力を利用します。
実際の配線は AE-ATMEGA-328 MINI と DRV8825 を2階建て方式でピンヘッダでつなぎ、モーターやアナログスティック、バッテリーへの配線をするだけです。
タカチのケースSW-130 に余裕をもって収まります。
握りやすくスティック操作も楽です。
プログラム
スティックの上下方向で回転方向、倒す角度で回転速度をコントロールします。
回転速度は、低速、中速、高速の3段階で回せます。
停止時はモータードライバをスリープするので、余計な電力を消費しません。また、5分間無操作の時はマイコンもスリープするので、電池駆動に優しい仕様です。
スティックのクリックでスリープから復帰します。
今回使用したモーターの場合、実測データから、アイドル時は16.8mA、モーター低速時は128mA、中速時は113mA、高速時は87mA、スリープ時は1.6mA流れます。
Arduino スケッチファイルのダウンロードはこちら。
FocuserController-0.1.zip
プログラムについてはすべて自己責任で使用してください。
使用にともなう損害、被害があっても当方は一切、責任を負いません。
改変などはご自由にどうぞ。
ビルドには MsTimer2 ライブラリが必要です。
追記
秋月 2軸(X-Y)ジョイスティックモジュール を使用する場合の回路図です。
DRV8834を使用して低圧モーターを駆動する場合の回路です。
DRV8825をそのままDRV8834に置き換えます。
モーター側の電源が必要になるので、レギュレーターで必要な電圧を得るようにしてください。
定格3Vのモーターを使用する場合、VCCに5Vを加えるとするとREGULATOR は低損失の3Vレギュレータを使用するのがいいでしょう。
C1は100uFで、C2、C3はレギュレータの推奨に合わせればOKです。
注意点としては、モーター側に流れる電流値に足る余裕のある定格レギュレータを選択してください。
5V -> 3V で使えそうなレギュレータは、BA30DD0Tあたり、、
https://www.marutsu.co.jp/pc/i/127888/
VCCをもう少し高い電圧で使用するなら低損失でない一般的なレギュレータでもOKです。
コントローラ用のプログラムはDRV8825のものがそのまま使用できると思います。
はじめまして
返信削除私も電動フォーカサーを自作したくて色々やていて4このサイトに出会いました。
シンプルで使いやすそうなので参考にして自作したいと思っています。そこで、パーツについて教えてください。アナログジョイスティックは秋月その他で探しても6つの端子のものしか見つかりません。回路図を見るとジョイスティックの端子が8つありますが、これはどういうものでしょうか。
tobosakuさん、こんにちは。
削除参考にしていただいて光栄です。
アナログスティックですが、物はこれになります。
共立エレショップ スイッチ付アナログジョイスティック
http://eleshop.jp/shop/g/gH6K411/
秋月ならこれでも代用できます。
秋月電子 2軸(X-Y)ジョイスティックモジュール・カラーケーブル付
http://akizukidenshi.com/catalog/g/gM-08763/
秋月のモジュールを使用する場合の回路図を記事に追加しておきましたので参考にしてください。
プログラムの書き換えは不要だと思います。
分からないことがあれば、遠慮なくどうぞ(^^)
満月期の工作、頑張ってください!
はじめまして、大変参考になります。感謝です。
返信削除ところで教えて頂きたいのですが、SPG20-332は、調べてみるとユニポーラーのモーターの様です。のりきゅうさんの回路図ですとモーターへの配線は4本で、バイポーラーの様にも見えます。現在秋月では1332という後継機を売っているようですが、これもユニポーラーです。
ユニポーラーのモータを、バイポーラーで使うっていう事でしょうか?よろしくおねがいします。
Hiroshiさん、こんばんは。
削除そうですね。バイポーラとして使います。
モーターの回路図を見ればわかるのですが、6芯のうちコイル中間からの線をつながず両端のみで使用するか、中間と片端で使用する(ハーフコイル)かを選べます。
つながない線は絶縁して放置しておいて構いません。
ありがとうございます。
削除参考にさせていただきたいと思います。
のりきゅうさん
返信削除ONSTEP基板はいろいろありがとうございました。
基本的なことをお教えください。
FocuserController-0.1.zip
のダウンロードが上手くいきません。
よろしくお願いします。
こんにちは。
削除上の記事のリンクをクリックすると、googleドライブのビュワーが開きますので(エラーになるかもしれませんが)、右上にある「ダウンロード」アイコンをクリックします。
多分、ダウンロードが始まると思います(^^)
のりきゅうさん
返信削除Onstepが一段落しAliexpressのジョイスティックが届きましたので、電動フォーカサーに取り組もうとしています。手に入れたステッピングモーターの定格が3Vのため、ドライバーとして、DRV8835を使いたいと思っています。
http://akizukidenshi.com/catalog/g/gK-09848/
またまた基本的なことで申し訳ありませんが、配線をお教えいただけますと幸いです。
すみませんです。
こんにちは(^o^)/
削除ご指名のドライバは残念ながら私のプログラムでは動作しません。
低圧モーターを使用する場合は、DRV8834を使用します。
https://www.switch-science.com/catalog/1742/
モジュールがDRV8825とほぼ互換なので、回路図はそのまま使えます。
ただ、電源部分を2系統にする必要があるので、例えば、入力電圧を5Vにして、レギュレータで3Vに落とす回路を追加しモーターに入れるようにします。
5Vならモバイルバッテリーが使えていいかもしれません。
あと、DRV8834用にプログラムを少し書き換える必要があります。
少し時間を頂けたら、回路図と共に書き直してみますよ?
そうですか。プログラムの書き換え、時間のあるときによろしくお願いします。
返信削除ところでEAGLE→KiCadに移行したそうですが、無料版では基板の大きさが制限されることが理由でしょうか?EAGLEを覚えてしまったのですがKiCadに乗り換えるかどうか迷っています。
KiCadに乗り換えた理由は、基板のサイズ制限があったのと、EAGLEがAUTODESKに移った時にサインインを強制するようになったからです。
削除できるだけ制限のない使用をしたいのでEAGLEを諦めたというわけです(^^;
機能的にはEAGLEの方が高機能ですが、DIY程度の設計なのでKiCadでも困ってないですね。
基板製造に使うガーバーデータも大丈夫です。
異なる点としては、パーツライブラリとかパッケージのあつかいが違うのと、オートルーターが別ソフトになっていてやや勝手が悪いところでしょうか。
コメントありがとうございます。できれば連休中にKiCadに慣れたいと思います。
返信削除お譲りいただいた3枚のOnstep基板のうちの2枚に部品を実装しました。お世辞抜きで大変よくできていると思いました。以前にArdionoMegaを使用したOnstep回路を3台作りました。のりきゅうさんの基板は組み立てがブレッドボードより簡単で間違いが起きにくく、ラズパイのケースが転用できるところもありがたいです。決定版だと思いました。
Onstep→フォーカサーが何とかなりそうになってきましたのでESP8266に移りたいと思います。自分には初期設定がかなり難しそうです。よろしくお願いします。
OnStep基板が活躍出来て幸いです(^^)/
削除DRV8834を使用する場合の図を追記しておきました。
電源部分をモーターに応じて変更して頂ければ動くはずです。
プログラムは修正なしでそのまま使用できると思います。
DRV8834の件お礼申し上げます。
返信削除フォーカサーの基板をEAGLEで作成中です(初めての経験です)。
非常に初歩的なことをお教えいただけると幸いです。
ONSTEP基板のアイデアをいただいて、ラズパイの基板と同規格にし、スイッチサイエンスに注文したいと思っています。
ラズパイ基板の穴4つはドリルで穴をあけるように指定しました。
たとえばArduino Nonoを取り付ける穴は、ボード図に部品を置くだけであけてもらえるものでしょうか。それともそれぞれの穴の部分にホールスルーの穴あけを指示しないと穴の開いていない基板になってしまいますか?
こんにちは(^^)/
削除Arduinoなどのモジュール基板のEAGLEライブラリがあります。
例えば、https://github.com/cyberlink1/Arduino-Eagle-Cad-Library こことか。
これをダウンロードしてEAGLEに登録し、そのライブラリを使用すれば穴の情報やレイアウトもすべて正しく扱えます。
他のモジュールなど(例えばDRV8825)もライブラリを探せばどこかにありますよ。
コネクタ類などは現物のパーツから色々探して使ってます。
基板製造のためのガーバーデータにも反映されるので便利です(^^)
ありがとうございます。
返信削除いろいろありがとうございます。
返信削除DRV8255,8234とも作動OKでスイッチサイエンスに注文していた基板もできてきました。
後はモーターをフォーカサーに取り付けるわけですが、これが私には回路以上に大変です。
いずれにしろ、これまでK-astekさんなどに注文しなければ手に入らなかったステッピングモーターを使用した電動フォーカサーを原価2000円程度で自作することができました。
5年前から考えると夢のようです。のりきゅうさんをはじめ、HPで情報を公開されている方には改めてお礼申し上げます。
ご無沙汰しております。
返信削除指定どおりに作製し、機能的には全く問題ありませんでした。知り合いに紹介したところ、動作中のモーターの振動が小さくできないかと指摘されました。モーターの速度を落としたりDRV8825のマイクロステップを有効にするためのスケッチの変更箇所をご教示いただいませんでしょうか。
よろしくお願いします。
こちらのフォーカサー、上手く動きました!しかし、ちょっと動きが速すぎでした。もう一段スピードを落とす方法はありませんか?
返信削除こんにちは、のりきゅうです。
削除お返事できずにすみません。動くようになってなによりです。
速度を落とす方法ですが、プログラム内の最初の方に、
// モーターコントロール定義
#define DELAYMAX 20 // 回転遅延時間(ms)
という定義があります。この数値 20 を大きくすると回転遅延が長くなるので速度が落ちるはずです。
とりあえず、4倍の80辺りから試してみてください。
のりきゅうさん、
返信削除ありがとうございました。
DELAYMAXの値を大きくすることで速度は遅くなりました。ただフルステップのステップタイミングを大きくしたものなので1.8度でカッ、カッと振動が大きいですね。マイクロステップの端子がLOWのままなのでここをhighにすれば滑らかになるものですかね?
この点ご教授頂けると幸いです。
M0~M2がすべてLOWなのでフルステップの状態です。
削除下記のコメント直上くらいに、
// モータードライバ初期化(スリープ)
次のコードを入れてM0~M2をLOW/HIGHでステップ指定してください。
下記は1/32ステップの例です。
digitalWrite(M0, HIGH);
digitalWrite(M1, LOW);
digitalWrite(M2, HIGH);
モーターステップでの解像は限界があるので、本来ならばギヤードモーターなどを使ってモーター速度を減速させるのがよいかもしれません。
このコメントは投稿者によって削除されました。
削除のりきゅうさん、
返信削除お忙しい中、コメントありがとうございました。
やはりFullステップでしたか。多分そうかなと思い、基板に3PのDIPスイッチを取り付け、ハード的にM0~M2を5Vに接続できるようにしてみました。切り替えでFull~1/32まで変えられるようになりました!
これでピント合わせの苦労から解放されます(^_-)-☆
次はMoonLite互換のフォーカサーも動くようにしないとです。
Onstep基板でも いつもお世話になっています。
返信削除こちらのフォーカサーも作成しました。
フルステップでは回転振動がおおきいので、1/4マイクロステップで回すようにしました。
動作はしたのですが、モーターの回転を速くするやりかたがあれば教えていただけませんでしょうか。
#define DELAYMAX 20を 8に変えてみたりしたのですが、はやくなりません。
コメント記入者が UnKnown になってしまっています。 すみません
削除「saitamanotokoro」でログインしています。
saitamanotokoroさん、こんにちは。
削除DELAYMAXを小さくすると早く(遅延が短く)なるはすです、、、
速さが変わらないということでしょうか?
使用しているモーターが分からないので何とも言い難いですが、、、、
あと、アナログスティックの傾斜で速度が変わるはずなので確認してみてください。
のりきゅうさん いつもお世話になります。
返信削除モータードライバーは DRV8825 モーターは1.8°のNEMA17です。
アナログスティックの傾斜でスピードは二段階ぐらいにかわります。
速度はDELAYMAXですね。
もう少し、DELAYMAX の数値をいろいろ変えて やってみます。
saitamanotokoroさん、こんにちは。
削除状況がなんとなくつかめたので、他の方法を。
TIMERINT を DELAYMAX の2倍+αの値にしてみてください。
デフォルトでは
#define DELAYMAX 20
#define TIMERINT 50
ですが、例えば
#define DELAYMAX 8
#define TIMERINT 20
とか。
お試しください。
はじめまして41nenと申します。自作の回路で制作するのはハードルが高そうですね。
返信削除私はラジコン飛行機を以前からしていて、キットからの組み立てをしていました。
そのなかにラジコン用サーボモーターを使用しますが、それを応用して電動フォーカ
サーを実用化しました。これを動かすのにサーボテスターを使用します。
サーボモーターは角度で90度ほどしか動きませんが、ドロチューブノブとは簡易
クラッチで接続し、粗動は手動でノブを動かします。ラジコンの経験がないと、
理解できないかもしれませんが、工夫次第で実用になる物ができます。
アストロアーツで私の天体画像を公開しています。名前は比例制御電動フォーカサー
としボリュウームで任意の位置にピントを合わせられます。
41nenさん、こんにちは。
削除ラジコンサーボ、イメージできます。大昔のブーム世代なので(^^;
フォーカサーはみなさん工夫して実装されていますよね。
望遠鏡をいじるなら、一度は試したい題材なのかも。
観望写真拝見しました。月の姿が素晴らしいですね!
撮影場所が良いのでしょうか、星がたくさん写っているように感じます。