くっしーの徒然日記

ジャンクなモータドライブ その後2

4月に手に入れたジャンクなモータドライブ(前々回記事)について、
GWにハードは作った物の(前回記事)、ソフト修正がさっぱり手つかずだ。
同じハードを題材に貧スタさんの所では、元のCPUをAVRに載せ替え、
独自softによる互換マイコン作成と意欲的なプロジェクトが着々と進行
しているのでぼちぼち、うちも修理くらいは完了させたい所である。

【↑改造済みMead1軸制御回路 DK-V】

さて、ハードはともかくsoft(アセンブラ)は、約30年振り。
参考にさせていただいた西中筋天文同好会の福井さんの記事にある
アセンブラソースを、Meadのステッピングモータ、PFC42H-48081
励磁シーケンスに従って、出力波形の変更と、MKの赤道儀と
ステッピングモータのギア比とステップ数に合わせたタイマーの変更。
やる事は、たったこの2点だけ。
(先人の努力に感謝。福井さんありがとうございます。)

でも、ソースを頭から見ていくと、いきなり、CPU、PIC16F84Aのデータ
シート
の命令コードにない記述(たぶん開発ツールのMPLAB IDE
規定されている記述?やっぱり何か参考書を買ってくるべきだったか?)が
目に付き、いきなり???状態。そんな訳で1ヶ月以上ほったらかしていた
訳である。合わせて、これがMK用のモータードライブで、GP用じゃない
と言う点も、モチベーションが上がらなかった原因の一つではある。

言い訳は、これ位にして、早速、出力波形と、タイマーの時間の
計算をした。このモードラ、ユニポーラ駆動が出来るコイル構成なのに
ケーブルの芯数を減らす為か、コイルを半分だけ使って、バイポーラ
駆動しているから、ちょっとややこしいが、何とか電流の向きを見ながら
出力波形のパターンを作った。↓


続いてMKの赤道儀のギアの数を数えて、各ステップのインターバルを
計算する。ここで、このソースの中で、タイマーの数値の在処は判るが
どうやって割り込みのタイミングが決まっているか良く判らなかった。

しょうがないので、職場のソフト屋さんに、『これどーやって単位時間が
決まってるの?』と質問。彼もPICのデータシートを見るのは初めてらし
かったが、データシートから、『ここにプリスケーラの設定があるから、
これを設定するんじゃん?』との事、質問したタイミングが悪くて、
その日、彼は社内大会でこれから行かなきゃいけないとかで、最終的な
所までデータシートから探しきれずに、『ここを決めてるところを探して
やれば出来るよ』と言いながら行ってしまった。

しょうがないので、その言葉をヒントにしばらくデータシートを眺めていると
プリスケーラはオプションレジスタで設定。現行ソースは、3bitとも1で
256分周だと、やっと判った。

それ以外にも、入力周波数の1/4で命令サイクルが動いていて、割り込み
タイマー(TMR0)もその間隔でで動くことも判った。

でもソースを見ると、間隔が長いはずの月のタイマーが小さい数字になってる
なんで?とよくよくデータシートを見ると、TMR0ってカウントアップして
256でオーバーフローしたら割り込みかけるのね。で、この時、値をセットすると
そこから256までカウントアップするのね!この辺も知識がないから気付く
のに少し時間が掛かった。

それと補正カウンタの方はプログラム内でループを回しているだけのソフト
タイマーで有る事もソースから読みとれた。と言うわけで、だんだん見えてきた
感じで、やっとうちのMKに合わせたカウンター値をはじき出すことができた。


参考にしたソースの波形パターンとタイマー値を変更してMPLAB IDEで
コンパイル。この辺のMPLABを使ってのコンパイルの仕方は、こちらの
HPの記事
を参考にさせていただいた。

でもって、コンパイルしたHEXファイルを、GWに作ったライターと、
『icprog』で書き込んで、CPUの完成!直ぐそのまま実機に挿して試して
みたい衝動に駆られるが、この回路、波形パターンを間違えると、
トランジスタが燃えてしまう回路で出来ているからここは慎重に!

↓ブレッドボード上に、デバッグ回路を組んで、オシロで波形を確認する。


なんとか、上下のトランジスタを同時ONにするパターンには成ってなく、
予定通り、先にポートをHにして100μsec待ってから次のポートをLにする
動作↓が確認できた。よしよし、これなら壊れないはずだ!

【CH1:RA3:2V/div CH2:RA1:2V/div T:0.1msec/div】

と言う事で、いよいよ実機にCPUを載せて、モータをつなげて、スイッチオン!
おお~!モーター回ったよ~!なんともたったこれだけの事だが、随分嬉しい。
やっとネックのsoft変更をクリア出来たか。

でもって、色々とスイッチを押してみると、恒星のボタンを押すと、月の
時間になる?!あれ?接続図と、ソースをよーく見比べると、どうも接続図の
書き間違いの様である。まあ、ボタンが異なるだけで実害は無いか。

でも、このままだと、通常使う『恒星』動作をさせるのにボタンを押し続ける
必要がある。良く見ると元の回路は、電源スイッチがセンターオフで、
3ポジションあるから、これで『恒星』を選択させよう。きっとオリジナルは
どちらかで恒星、どちらかで月なのかな?

↓やっと動き出したモータードライブ

【CH1:A:2V/div CH2:A':2V/div T:10msec/div】

このスイッチを使うには、RB1のポートとRB4のポートをショートさせて
やればいいやとジャンパーを一本追加。いざ動かすと、『太陽』モード時に
元の恒星ボタンを押すと電源がGNDに落ちて止まってしまう。『げげっ!』
と慌ててジャンパーを外しながら、なんだポートはsoftで定義しているから
割付を変えればいいだけだった。ついついハード屋さんのくっしーは
なんでもハード改造で済ませてしまおうとする癖が有っていけない。

そんな訳で、ソースとデータシートを見ながら、ポートの割付を変更して
何とか無事に動くようになった。

翌日、さてどうやって時間を確認しようか?MPLAB IDEには、シュミ
レーション機能も有るらしいが、まだそこまで使いこなしていないくっしーは
モータの出力シャフトのギアの穴に消しゴムを切って突っ込んで、そこに
時計の秒針を差して、それが1周する時間を計ることにした。↓


だいたい一周120秒位の計算に成るので、10周もさせて20分位見て
針が戻ってきた所でストップウオッチで時間を計り誤差をだいたい算出して
カウンターの値を変更するという、なんとも原始的な方法で、取りあえず、
ざっと調整して、200ppm位に成ったので、その辺で切り上げた。

せっかくTCXOが3ppm品を使っている(たまたま手持ちがそれしかなかった)
のだからもう少し追い込んでも良いのだが、今の所15秒しか露光しないので
追尾エラーは1/300秒のシャッターを切ったのと同等なので、これで充分である。
デジ一を買って、10分も露光するようになったら、その時に追い込めばいいや。

残るは、電源回りの回路をどうするかだな。
電源回路は、図面を良く見ると保護ダイオード側は電圧が少し高くても動作に
悪影響は無さそうなので、以下にしようかと思っているが、

電源にニッケル水素辺りを使って、電圧を下げてレギュレーター無しに
しようかなとも考えたりする。ちなみに電流は480mAも流れているので、
6V以上ではレギュレターのPDが厳しいしな。

まあ、取りあえず動かせる様になったから、早く撮影テストしてみたいなぁ。

2011.6.10-17(6/18)

補足:

最初は元ソースの2相励磁のままで作ったが、電流が多いのと、動作
ステップを細かくする為に、1-2相励磁に変更した。上記の計算等は
2相励磁の物である。1-2相時は以下となる。



電流はそれでも380mA程流れる。

動作ステップの影響を検討すると、2相だと20msec間隔で動くので、
止まっている時間が20msec=1/50秒である。つまり動かない赤道儀で、
1/50秒のシャッターで写したのと同じ結果になる。1-2相励磁だと1/100秒
シャッター時に相当する。

星雲星団の低倍率での撮影には、Nikon8cmさんの所の撮影データ
(追尾無し時)からも、1/50秒は大して影響が無いといえる。
高倍率で惑星を撮影する時は、30fpsで動画撮影をして取り込むので、
通常1/30秒のシャッターが切れているような物である。つまり33msec分
ブレている訳だ。これに20msecでモードラが動くと、今まで33msecでの
ブレ分が1/50秒20msecになるので、モードラ無しの2/3のブレ量に軽減
される。1-2相だとこれが1/100秒10msecなので1/3に軽減される事になる。

こう考えると、2相の場合の2/3は、モードラが無いのとそう大して
変わらないと言う風にも取れるので、高倍率の惑星動画撮影時にも、
それなりの効果がしっかり現れそうな、1-2相励磁を選択した訳である。

でも惑星撮影しない時は、1相励磁にして電流削減する様に、ソフトを
使い分けるか?出来ればスイッチ一つで励磁を変えられる様に出来れば
良いがくっしーのsoft力では、随分先のことになりそうだ。
(貧スタさん、いかが?)

「ジャンクなモータドライブを買った」
「ジャンクなモータドライブ その後」
「ジャンクなモータドライブ その後2」

コメント一覧

くっしー
福井さん、こんにちわ。

あの記事のお陰で、『こんな事も出来る』と言う事を知りましたし、その内容も、充分に活用させていただきました。有り難う御座いました。

福井さんは、卒論で8080をいじられたのですね。あとお仕事でも多少いじられたとの事。私は新入社員教育で確か2時間x5回位のマイコン講座とかで、アセンブラをいじった切りでしたので、なかなか今回、ハードルが高かったです。
結局仕事はRFハード屋さんとしてやってきましたので、CPUのデータシートが見慣れず、読みとるのに苦労しました。もう少し簡単に出来ると思っていたのですが、私も50を超えて、頭までハードに成ってしまっていた様です(笑)

今、治したモードラは、スカイセンサーが手に入って、しばらくお休み状態ですが、取り付け構造がかなり似ているので、当初の目的であった、ミザールのSP赤道儀に付けられる様に手を加えようかと考えています。キングスレート運転は、その時にでも、取り入れて見ようかと思ってます。
福井
くっしーさん、こんばんは。

3ヶ月前にくっしーさんのブログにたどり着けば少しはお役に立てたかもしれませんね。
元々「活用される方がいらっしゃれば」との思いで回路図もプログラムも公開していますのでどうぞ遠慮なくお使いください。

銀河鉄道にも書いたとおり、きっかけは5年前ミザール本社にETL-2(長焦点変換用レンズ)を買いに行ったときに遡ります。その時、モータードライブ(MMD-QZ)は既に完売、引き出しに残っていたモーターとギアだけを売ってもらったことによります。

50歳を過ぎて久しぶりのプログラミングでしたので頭が固く随分時間がかかってしまいました。私が現役でアセンブラをやっていたのは大学の卒論でインテル8080を少しかじったのと、新入社員時代に4ビットマイコンを使った家庭用エアコンのOEM設計を少しやったくらいですのでほぼ初心者です。
今回せっかく覚えたPICですので、機会を見てまた何か作ってみたいと思っています。

キングスレート運転は、私もこの天文ガイドを見るまで知りませんでした。実際には望遠鏡を向ける高度によって大気差の影響が異なりますので一定の数字にならないと思いますが、平均的に算出されたのが前回記載した数字なのでしょう。
まあ、直焦点の低倍率で星雲を撮るくらいでしたらそう気にすることもないと思いますので、気が向いたときに修正しようかと思っています。
くっしー
初めまして、福井さん。ようこそいらっしゃいませ。

福井さんの製作記と接続図及びソースファイル、大変参考になりました。回路も、ソースもほとんど流用させて頂きました。どうも有り難う御座いました。

それと無断で使用させていただきまして済みませんでした。実は、やってる途中でいくつか判らない所が出てきて、質問メールを出そうかなと考えていた事もあるのですが、なんとか職場の知り合いに聞く事で解決できたので、そのままメールせずに終わってしまいました。

キングスレート運転ですか?まだ、初心者なので、余りよく判りませんが有効そうならうちも試してみたいと思います。昨年11月に星見を始めたばかりなので、天ガもちょうど12月号からしか持っていません。モードラの記事も後半2回分(12、1月)しか持ってなく、ソースも接続図も見てない物で、その時は、『ああ、こう言う記事も有るんだ』位にしか思ってませんでした。その後、ミザールのSP赤道儀を手に入れたので、モードラが欲しいと思い、福井さんの記事に行き当たりました。でも、MMD-QZも、正常・不動に関わらずあまり流通して無くてちょっと諦めてましたが、今回のMeadの不動モードラが入手出来たので今回の記事に至りました。

レーザーコリメータの記事、読みました。WEBにいくつか製作記時が有ったので、私も作ろうかと思いつつ、ついつい中古のコリメータを買ってしまいました。中古なので一度コリメータの光軸を確認・調整
したいと思ってましたが、接眼部を万力にくわえる作戦は、使えそうなので、今度試してみようかと思ってます。

また何か判らないことが出来たら、質問させていただきますので、今後とも宜しくお願いします。
福井
はじめまして。

同好会誌銀河鉄道に赤道儀自動ガイドの自作を掲載しました福井です。
くっしーさんのブログを同好会会長の上原氏が見つけてくれましたので、遅ればせながらですが一言コメントを書かせていただきます。
私のわかりにくい回路図やプログラムを解読いただき、ご活用いただいたこと大変うれしく思います。くっしーさんの赤道儀も無事に動いたようで何よりです。

天文ガイド2010-12号110ページT.G.FactoryⅢの記事にキングスレート運転(大気差を補正)というものがあるのを見つけました。この記事によると、86164.09秒/周(恒星時運転)86188.09秒/周(キングスレート運転)と書かれています。そのうち太陽モードをやめてキングスレート運転に変えようと考えています。

最近銀河鉄道最新号にレーザーコリメーターの自作記事を掲載しました。年に数回しか望遠鏡を担ぎ出さない面倒くさがりですが、これを使って光軸の合ったミザール12cmで惑星・星雲写真を撮りたいと思っています。

赤道儀自動ガイド記事でご不明な点がありましたら何なりとお問い合わせください。
くっしー
色々とお忙しそうですね。
それにしてもWDTも使って、フェイルセーフ対策ですか。そこまで行くと、設計思想は、『製品』のレベルに達しつつありますね。頑張って下さい。

励磁の切り替えは既に取り入れ済みとの事、了解です。私の方では、当面は今のままで、実際使ってみて、どの程度の差があるのか等、撮影結果で様子を見ようと思ってます。

コンパレータの入力につながってる1N4148ですが、データシートには、微少電流領域のグラフが細かく書かれていないので、実際の所、Vcc電圧降下時の電流変化により、Vfがどの程度動くのか?言った感じですね。(グラフからは0.05~0.1v位に見えますが)

ちなみにAとKを逆さにつなぐと電流がほとんど流れず(これもデータシートに逆電圧が20Vと75Vのデータしかないので、6Vや3Vの時がはっきり判りませんが、逆電圧20V時の0.01μAより少ない事は間違いないと予想される)、頭に付いてる1KΩでの電圧降下は、最大でも1kΩx0.01μA=10μVしか無いので、ダイオードの頭の電圧は、ほぼVCCと等しく成ります。特に壊れる事は有りませんがコンパレートするには不向きな電圧となってしまいます。

元々の設計として、ダイオードのVfの温度補償がされていない事も考えると、設計ミスと言うよりは、余り厳密な電圧検出をするつもりで、作られてない回路に見受けられます。きっと設定した電圧(Vccで3V位?)にして置いて、ボリュームを調整し、コンパレータが動く点に設定するのだと思います。Vccによって、Vf自体はそれなりに変わると思いますが、Vccの低下に対してVfはそれより緩い単調減少で動くので、必ずどこかで動作点が一つだけ出てくるはずです。従って一度、動作電圧さえ設定してしまえば、温度が変わらなければ、そう大きく動作点電圧は変わらない様には見えます。
貧スタ
くっしー様

ご指名いただきありがとうございます。
くっしー様のDK-Vはかなり完成に近づいている様ですねえ。
私の方は、土日の学会や今週も大阪出張が続き、手のあく、次の土日に、いっきに進め様と思っています。
現在のところウォッチドッグタイマによる緊急停止プログラムルーチンを書いていたのですが、AT90SとATtinyの両方のマイコン上で共通コードで動作させることができないか試行錯誤している段階で止まっています。オシレータの停止や、熱、夜露、何らかの原因でプログラムが止まった場合を想定して、その様な事態になった場合であってもトランジスタやモーターコイルが保護される様な安全設計を目指しています。

さて、励磁方式についてですが、プログラム上は既に切り替え可能になっています。
以下のコードの最下段に3つの励磁パターンのデータ配列を組み込んでおります。

http://plaza.rakuten.co.jp/startwaching/diary/201106060001/

それと、D3の1N1418のダイオードなのですが、思うほど定電圧が維持できない様です。
オリジナルの回路設計上のミスではないでしょうか?
アノードとカソードを間違えている可能性が大きいのではないかと思いますが。。。。

アノードとカソードを逆に取り付けた場合何が起きるでしょうか?

それと、レギュレーターの追加についてですが、トランジスタへの電圧供給が先のくっしーさんの再分析で分離されているとのことでしたので、こちらは電源直結でも良いのではと思います。
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「望遠鏡・撮影機材(改造・修理)」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事