« 2015年9月 | トップページ | 2015年11月 »

2015年10月24日 (土)

「だれでも分かるマイコン入門」自動導入の実際

エリダヌスバブルの撮影ですっかり、間が開いてしまいました。自動導入の話を続けましょう。前回までに、LX200コマンドの説明が終わりました。ただLX200コマンドを理解しただけでは、まだ自動導入はできません。

実際にプログラムを作るとなると、難しい問題に直面します。たとえば、赤経座標で10°西に移動させることを考えましょう。

この場合、モーターを10°回せば良いだろうと考えると不十分です。日周運動のため、モーターが10°動いている間に、座標自体が西に回転してしまいます。

この問題を最もすっきり解決させる方法は速度の加算を使う方法です。たとえば導入速度を100倍とします。モーターを10°回転せるにはモーターを24秒間回せば良いのですが、24秒の日周運動分を加算しなければなりません。

そこで、実際には100倍ではなく101倍で回転させるのです。そうすると、日周運動の分も考慮されることになります。

この様子を図示すると以下のようになります。東に回転の場合は、もう説明するまでもないですね。

1510241
また、導入速度はいきなり100倍にするのではなく加速度的に速度を増していくと思います。このような場合でも常に+1した速度にしていけば問題ありません。

1510242

さて、これですべて解決というわけにはいきません。まだまだ考慮しなければならないことがあります。

ひとつは、回転を途中でキャンセルされた場合です。この場合でもキャンセルした位置の座標ををプログラムでしっかり把握しておかなければなりません。また、ホストからは常に現在の座標を返すようにコマンドが送られてきます。

したがって、プログラムは常にいま赤道儀が向いている方向の座標を計算し続けなればなりません。

具体的に言うと、先のグラフで、青い部分の面積が、座標上の位置の変化になります。(赤い部分を入れてはいけません)。つまりプログラムで一定間隔ごとに(たとえば10m秒ごと)青い部分の面積を計算していく必要があります。

正直、プログラミングの経験が少ない人の場合、上記プログラムを実装するのは難しいでしょう。しかし、モーターコントローラICの中には、座標の管理を自動でやってくれるものもあり、そのようなものを利用すれば、初心者でも簡単に実装することができます。

さて、実践編では上記のようなICを使って、実際にプログラムを組んでみましょう。お楽しみに。

| | コメント (0)

2015年10月20日 (火)

息抜き

エリダヌスバブル撮影の合間に撮りました。カシオペアです。

1510202
APO Sonnar 135mmF2->F3.5
EOS 6D ISO3200 2分50秒×10枚 SS-oneオートガイド

星も天の川も色彩感に乏しいのですが、画像処理で何かしたわけではありません。収差が少ないためか、飽和してるためか、最初からこんな感じです。いずれにせよ、私のせいではありません。

それにしても星の海ですね。

| | コメント (0)

2015年10月19日 (月)

エリダヌスバブル、左下

昨日の伊豆の一こま。

1510191
Apo Sonnar 135mmF2 F3.5(ノーフィルター) F4(R64)
EOS 6D ISO3200 2分50秒×128枚(半分はR64)

場所はここ。

1510192
非常に興味深い領域ですね。ここだけで作品になりそうな領域です。でも半端なく淡いです。

| | コメント (0)

2015年10月17日 (土)

エリダヌスバブル、右上

連ちゃん遠征2日目は、エリダヌスバブルの右上部分を撮影しました。

1510171
Apo Sonnar 135mmF2 ノーフィルター(F3.5) R64(F2.8)
EOS6D ISO3200 2分50秒×128枚(半分はR64) SS-oneオートガイド

Hαはほとんどなく、分子雲が全体的に広がっています。場所はここです。

1510172
ところで前回出した画像は、現像が8bitになっていました。一日かけてやったのに、やり直しです。(大泣。。。)

これがゾナーのツイシステム。片方はR64フィルター搭載。レッドアシストです。

1510173
モザイクは、このように座標で管理しています。

1510174
SS-oneコントローラは8個までプログラムが記憶できるので、それぞれのコマの座標を登録しておきます。これでいつでも、撮影したい場所を一発で呼び出すことができます。
複数夜によるモザイク撮影では、このような機能か自動導入がないと、大変と思います。SS-oneならではです。

| | コメント (2)

ToupCamガイドカメラ販売終了しました。

ToupCamガイドカメラの在庫が無くなりました。

追加の入荷はしません。これにて販売終了とさせていただきます。

今後は、スタンドアローンオートガイダーの販売に一本化します。

もともと、スタンドアローンオートガイダーができるまでのつなぎで販売してたので、役目はすんだと思います。ご購入された方ありがとうございました。

| | コメント (0)

2015年10月16日 (金)

エリダヌスバブルの撮影開始しました。

去年計画した「エリダヌスバブルの撮影」ついに始めました。

撮影計画はこのとおり。何枚モザイクになるかわかりませんせんが、一こま、3分120枚で3時間かける予定です。もちろんゾナーツインシステム。

1510162
とりあえず、火曜夜の伊豆で撮ってきた一こまです。

1510161
Sonnar135mmF2 ノーフィルターF3.5 R64フィルターF2.8
EOS 6D ISO3200 2分50秒×118枚(半分はR64)

無理やり強調した画像です。かぶりの中に埋もれた星雲を抽出しました。一枚だと荒れ荒れの画像ですが、モザイクすればなんとかなるでしょう。

水曜夜に撮った画像はこれから処理します。

さて、完成までに何年かかることやら。

| | コメント (2)

2015年10月10日 (土)

「誰でもわかるマイコン入門」LX200コマンドその3

それでは、LX200コマンドの残りを説明していきます。

:RC#
:RG#
:RM#
:RS#

これらのコマンドは導入速度を指定するコマンドです。このコマンド対する返答はいりません。具体的な速度の規定はありませんが、概ね次のような意味合いがあります。

:RC# センタリング用の速度ど移動(2番目に遅い)
:RG# ガイド用の速度で移動(一番遅い)
:RM# 導入用の速度で移動(2番目に早い)
:RS# 導入用の最高速度で移動(一番早い)

自動導入しか対応しないなら、これらのコマンドは無視してかまいません。オートガイドと自動導入に対応する、少なくとも2段階の速度に対応する必要があります。その場合はRC/RGはガイド用の速度に設定、RM/RSは自動導入用の速度にプログラムで設定する必要があります。

:Me#
:Mn#
:Ms#
:Mw#

これらのコマンドは、それぞれ東(Me)、北(Mn)、南(Ms)、西(Mw)に赤道儀を回転させる命令です。前回説明した:MS#コマンドは、赤道儀を目標天体まで回転させる命令でしたが、これらは、特に目標はなく、次に説明する停止コマンドを受け取るまで回転させます。

:Qe#
:Qn#
:Qs#
:Qw#
:Q#

これらは、前述した移動命令を停止させる命令です。最後のQは、すべての方向に対する停止命令です。
停止しているときにこれらの命令を受け取った場合や、たとえば西に移動しているときにQe命令を受け取った場合などの処理は仕様では規定されていないようなので、常識的な対応をすればよいと思います。

:U#

赤経赤緯座標の、高精度、低精度を切り替える命令です。高精度の場合は、

赤経 HH:MM:SS
赤緯  sDD*MM:SS

という書式になります。sは符号で+か-になります。低精度の場合は

赤経 HH:MM:T
赤緯 sDD*MM

となります。ここでTは1分の1/10になります。つまり6秒です。10秒でないので注意してください。高精度、低精度、どちらがデフォルトか、仕様からははっきりしません。

:SL~~~#

ホストからコントローラに時刻を設定するコマンドです。~~~の部分に時刻HH:MM:SSがきます。コントローラに時間を管理する機能がなければ、文字'1'を返して無視すればよいでしょう。

:GL#

このコマンドは、SLとは逆にホストに対して時刻をHH:MM:SSの形式で返してやります。コントローラがに時間を管理する機能がない場合は、適当な値を返すか、SLコマンドで受け取った文字列をそのまま返せばよいでしょう。

:SG~~~#
:GG#

ホストからコントローラにUTC時間に対する時差(日本の場合-9)をsHH.Hの形式で設定します。文字'1'を返して無視すればよいでしょう。GGは逆にコントローラからホストに返します。

:SS~~~#
:GS#

ホストからコントローラに地方恒星時をHH:MM:SSの形式で設定します。文字'1'を返して無視すればよいでしょう。GSは逆にコントローラからホストに返します。

:Sg~~~#
:Gg#

Sgはホストからコントローラに現在場所の東経をDDD:MMの形式で設定します。このコマンドを受け取ったら'1'を返します。Ggは逆です。

:St~~~#
:Gt#

Stはホストからコントローラに現在場所の北緯をsDD:MMの形式で設定します。sは北緯が+になる符号です。このコマンドを受け取ったら'1'を返します。Gtは逆です。

:GVP#

ホストからコントローラに製品名を問い合わせるコマンドです。適当な文字列を返してやればよいでしょう。

:GVF#

ホストからコントローラに製品のバージョンを問い合わせるコマンドです。適当な文字列を返してやればよいでしょう。

これらのコマンドに対応していれば、ほとんどの自動導入ソフトに対応できると思います。もちろん、ソフトによっては必要のないものもあります。実際にホストから受け取ったコマンドを表示させながら、対応していけばよいでしょう。

コマンドの説明はこれで終わりです。

次回は、自動導入アルゴリズムの大問題、モーター回転角の算出方法です。実はこれが難しい。

| | コメント (0)

2015年10月 8日 (木)

アンドロメダ銀河

昨晩撮ったM31です。

1510081FSQ-85ED + EOS6D ISO3200 5分×11枚
SS-one赤道儀 オートガイド

18枚撮ったのですが、昨晩は風が強かったため、使えるのは11枚だけでした。SS-oneにFSQはちょっときついかも知れません。あと、左上の星が太ってます。片ボケですね。

出来栄えは、いまいちですね。ピントももっと追いこめるはず。色があまり出てません。条件が悪いのもあるけど、もっと勉強しないとだめです。とりえあず、ファーストライトなので掲載しておきます。

| | コメント (0)

遠征顛末記

火曜日の湯沢遠征ですが、結局、曇られました。

現地22時に到着したのですが、ドン曇で、0時まで待機したのですが、晴れないので、帰ってきました。

ファーストライトをあきらめきれないので、翌日の水曜日夜に平日遠征を敢行しました。

前から、平日遠征の適地を探していたのですが、平日遠征の条件としては、一時間以内。

近くの天体撮影地として有名なところに「埼玉県民の森」がありますが、ここは、くねくねの山道を走らなければならず、平日の遠征はきつい。そこで、探したのが、その奥にある「美の山公園」。ここなら、関越、有料道路を乗り継いで、楽に行ける。時間も1時間でいける。

ということで行って来ました。

ついてみると、駐車場が3つあります。真ん中の駐車場にしました。展望台があって、夜景がきれいな為か、カップルが次々ときます。しかし、展望台目的の人は、一番上の駐車場に行くので、ここは静か。トイレもあります。

空の方ですが、開けていて良いのですが、やっぱり明るいですね。天の川はうっすら存在が確認できる程度。南は特に明るいです。オリオンは無理っぽいです。

早速、したくして、M31を狙います。

途中、駐車場に入ってきた若い男の子と、話をしながら、5分16枚撮影して、終わりにしました。

空は明るいけど、こういった近場で気楽に撮るのもいいかも知れませんね。

これから、撮った写真処理しますが、ダーク撮ってくるの忘れました。

| | コメント (0)

2015年10月 6日 (火)

やっとファーストライト

今夜は晴れそうです。湯沢遠征行ってきます。

やっと、FSQ85EDのファーストライトができそうです。

ただ、現地到着が11時ごろ、月が出るのが0時すぎ、実質1時間の撮影。たいしたもの撮れませんが、今の時期の撮りごろはM31ですかね。

ステナビで撮影開始時のM31の位置を調べるとちょうど真上。自動導入とステップ微動の威力でM31をど真ん中にフレーミングします。

1510061
久々の撮影なので、忘れ物がないか心配です。

配線はあいかわらずゴチャゴチャ。これもなんとかしないと。

1510062
コンパクトにまとまるのはSS-oneの良いところ。

1510063
それでは行ってきます。シャープなFSQで撮るM31、楽しみだなぁ。

| | コメント (0)

2015年10月 4日 (日)

「誰でもわかるマイコン入門」LX200コマンドその2

LX200コマンド解説の2回目です。前回は、ホストからコントローラに現在の座標を問い合わせるコマンドを説明しました。

今日は、もうひとつ重要なコマンド、ホストからコントローラーに目標天体の座標を知らせるコマンドです。

座標を問い合わせるコマンドと目標天体の座標を知らせるコマンド、この2つのコマンドによって初めて自動導入が実現できます。

:Sr~~~#

このコマンドは、ターゲット天体の赤経座標をコントローラに送ります。書式はこのようになります。

:SrHH:MM:SS#

たとえば、赤経12h34m56sなら、

:Sr12:34:56#

となります。また低精度なら、次のような書式になります。

:SrHH:MM:T#

実際、プログラミングするときは、これらの文字列から数値に変換しなけれなりません。この時注意することは、ある程度柔軟性を持たせることです。たとえば、SrとHHの間に空白が入っていることを想定したり、区切り文字も':'コロンでないかもしれません。

いちおう、LX200コマンドでこれらの仕様は決まっていますが、ソフトによっては、かなり方言があり、きちきちに決めてしまうと、思わぬところでエラーが出てしまいます。

:Sr以降の文字列から角度に変換する関数を参考までに載せておきます。

=========================================================================
double GetLX200RaDegree(char *str)
{
int c;
int HH=0, MM=0, SS=0;
char buf[30];

while ((c = *str++) == ' ')
  ;
while (isdigit(c)) {
  HH = HH*10 + c - '0';
  c = *str++;
}
while (isdigit(c = *str++)) {
  MM = MM*10 + c - '0';
}
if (Lx200Preci == 0) {
  while (isdigit(c = *str++)) {
   SS = SS*10 + c - '0';
  }
}
else {
  if (isdigit(c = *str++)) {
   SS = 6*(c - '0');
  }
}
return 15.0 * HH + (15.0/60.0) * MM + (15.0/3600.0) * SS;
}
========================================================================

なお、コントローラはこのコマンドを正常に受け取ったなら、ホストに文字

"1"

を返してやります。

例 fputc('1', fp);

それでは、次に、赤緯の同様のコマンドを紹介します。

:Sd~~~#

書式は

:SdsDD*MM:SS

低精度は

:SdsDD*MM

ここでsは符号です。

たとえば、赤緯+12°34'56"は

:Sd+12*34*56

となります。

:Sd以降の文字列から角度に変換する関数は、

========================================================================
double GetLX200DecDegree(char *str)
{
int c;
int DD=0, MM=0, SS=0;
int sign = 1;
char buf[30];

while ((c = *str++) == ' ')
  ;
 
if (c == '+') {
  c = *str++;
}
else if (c == '-') {
  sign = -1;
  c = *str++;
}

while (isdigit(c)) {
  DD = DD*10 + c - '0';
  c = *str++;
}
while (isdigit(c = *str++)) {
  MM = MM*10 + c - '0';
}
if (c != # && c != 0) {
  while (isdigit(c = *str++)) {
   SS = SS*10 + c - '0';
  }
}
  return sign * ((double)DD + MM/60.0 + SS/3600.0);
}
=========================================================================

これも同様に正常にこのコマンドを受け取ったなら、ホストに'1'を返してやります。

fputc('1', fp);

さて、Sr/Sdコマンドはコントローラに対して、目標天体の座標を伝えるだけで、コントローラはこれだけでは何もしません。

次にホストから送られてくるコマンドが重要なのです。

:CM#

このコマンドは、同期のコマンドです。現在の座標を直近のSr/Sdコマンドで送られた座標に一致させます。

なお、このコマンドを受け取ったら、目標天体の名前を返しますが、名称はわからないので、次のように返してやります。

printf(fp, "Unkown name#");

:MS#

このコマンドは、望遠鏡も目標天体に向けるコマンドです。目標天体の座標は、直近のSr/Sdコマンドで送られた値です。

このコマンドを受け取ったら、文字'0'をホストに返してやります。

fputc('0', fp);

赤経座標の引き算

赤道儀を目標の座標に向けるには、赤経角度(RaDegree)、赤緯角度(DecDegree)について、目標座標から現在座標を引き算してやらなければなりません。

現在の角度を、(RaDegree, DecDegree)とします。目標天体の角度を(TarRaDegree, TarDecDegree)とします。

赤道儀を目標天体に向けるためには、以下の引き算をして回転角度を求めなければなりません。

TarRaDegree - RaDegree
TarDecDegree - DecDegree

ただ、ここで注意が必要です。赤緯角度は普通に引き算すれば良いのですが、赤経座標は注意が必要です。

それは、引き算結果を-180°から180°の間にしなければなりません。0°から360°ではだめです。なぜだめかは理由を考えてみてください。

TarRaDegree-RaDegreeの計算結果を-180°から180°の範囲にするための引き算関数を参考までに載せておきます。

=========================================================================
double RaSub(double ToDegree, double FromDegree) {
double diff = ToDegree - FromDegree;
double abs;
double sign;
if (diff >= 0) {
  abs = diff;
  sign = 1.0;
}
else {
  abs = -diff;
  sign = -1.0;
}
if (abs > 180.0) {
  return -1.0*sign*(360.0 - abs);
}
return diff;
}
=========================================================================

これで、赤経軸については、回転角度が計算できます。たとえば、10°という答えが得られたとします。しかし、モーターを10°回す間にも、星は動いていますから、その分も考慮しなければなりません。この問題についてはまたあとで、議論します。

さて、自動導入に最低限必要なコマンドを説明してきましたが、これだけでは、実際、自動導入ソフトと通信するとエラーが出ます。

最低限必要なコマンドをまだサポートしていないからです。

次回、最低限必要なコマンドを紹介します。

| | コメント (0)

2015年10月 3日 (土)

業務連絡

本日、代引きでSS-oneポーラのご注文をした方へ、

メールアドレスが間違っていたみたいで、メールが送信できませんでしたが、今日送りましたのでご安心を。

今夜は晴れそうです。ガイドカメラのテストです。

| | コメント (0)

2015年10月 1日 (木)

黒部ダムに行ってきました。

休暇をとって、黒部ダムに行ってきました。

1509304
上のほうは紅葉が見ごろでした。

1509307
それから、今夜はやっと晴れたので、自作ガイドカメラのテストができました。星はたくさん写りました。使えそうです。

enif883さんが、微動装置の組み立てビデオを作ってくれました。ご参考にどうぞ。

| | コメント (2)

« 2015年9月 | トップページ | 2015年11月 »