2015年
2014年
2013年 2012年
2011年
2010年
2009年
2008年
(2016,10/15)
■NS-301
WiFi Navigator
はNEXUS互換機能を実装しました。
NS-301の開発は順調に進んでいます。
新しくSkySafari用としてBasic
Encoder Systemというプロトコルを追加しました。
これによりNEXUS(Digital
Setting Circles)互換機として導入支援できます。Nexus
現在の開発状況は以下のとおりです。
とりあえず3つのモードを作りました。経緯台
、赤道儀、そして新しいNEXUS互換機です。
経緯台
方位、高度の確認、初期化(アライメント)ができます。
方位は、例えば123.456度など細かく初期化することもできますが、実際の運用ではこれは難しいと考え、
NS600ドームコントローラで検討した東西南北で初期化することにしました。
また高度の方も同じような発想で水平もしくは垂直(天頂)にして初期化できるようにしました。
:@*aAZ# 方位を確認する
:@*aAZ=X# 方位を東西南北で初期化する X: E東、S南、W西、N北
:@*aAL# 高度を確認する
:@*aAL=X# 高度を
水平0°または垂直90°で初期化する
赤道儀
赤経、赤緯は、確認、初期化(同期、アライメント)ができるようになりました。
ステラナビゲータ、SkySafari
5 Plus(Android
NEXU7にて)から接続し、星図上に望遠鏡マークが表示されるのを確認しました。
エンコーダを回すとそれに応じて自動的にマークが移動します。
NEXUS互換機
SkySafariはScope
Typeとして、Mead
LX-200 ClassicをはじめタカハシTemmaなど様々な架台に対応しています。
その中にBasic
Encoder
Systemというのがあります。
これはNEXUS対応の特別なプロトコルで、星図上にマークを表示し導入支援することができます。
それから素晴らしいことに、経緯台、赤道儀のどちらにも対応しています。
経緯台の場合は2点アライメントで初期化します。
また赤道儀の場合は1点アライメントです。(もう1点は極軸合わせで済んでいます)
SkySafariについて調べていたらこのプロトコルを発見しました。
それからネットで資料を探し、それを元にしてBasic
Encoder
Systemを作り、テストを繰り返してようやく実装できたとおもいます。
試行錯誤しましたが、仕組みはほぼ理解できました。
初めてのテストは、SkySafariのコマンドに対するNS301からのアンサ(応答、レスポンス)が間に合わず、
表示がもたついたり、動作が緩慢になったり、時々接続が切れました。
SkaySafariは他の星図アプリよりも速い傾向がありますが、NS301のwifiスピードが遅いのが原因でした。
そこでプログラムの構成、内容を検討してできるだけ速くアンサを送信できるように改良しました。
またCPU
クロックを80MHzから160MHzに変更しました。今は実用的なレベルで動作しています。
(2016,10/5)
■NS-301
WiFi Navigator (暫定)を開発しています。
名前ですが、NS-301
WiFi
Navigatorにします。
開発は良好に進んでいます。現在の時点でNS301の基本的な枠組みができたと思います。
開発済のNS401ですが、ほとんどそのまま利用できますので、全てのプログラムをコピペしてNS301に移植しました。
次にエンコーダ関係のプログラムは、NS600ドームコントローラで開発してありますので、それもそのままコピペしました。
赤経(方位)と赤緯(高度)エンコーダがあるので2組作りました。これは変数名、関数名を変えただけです。
現在はエンコーダは良好に動作していますが、移植時に問題が発生しました。
以下は少々専門的な内容になります・・・、
エンコーダ関係のプログラムは、NS600(CPU
はATMEGA2560)で動作確認してあります。
CPUは異なりますがNS301は同じArduino(CPUはESP8266)ですからプログラムはそのまま実行できるはずです。
プログラムを移植してからエンコーダーを回したところ、32ビット エンコーダカウンタ(変数)に正確に反映されれいることを確認しました。
ところがその後不規則に例外(致命的なエラー)が発生してCPUがリセットされるようになりました。
しばらく正常に動いているように見えても突然例外が発生しました。x1、x2、x4逓倍の分解能を変えても発生します。
常に、例外はエンコーダを回しているときに発生します。
エンコーダプログラムは、attachInterruptという割込みを利用しています。setupは以下のとおりです。
//
Encoder
encoder_stateRA = readEncoderRA(); //encoderの状態を読む
if
(encoder_resolutionRA ==
1){
attachInterrupt(digitalPinToInterrupt(RA_A), _mencoderRA,
RISING); // x1逓倍
}else{
attachInterrupt(digitalPinToInterrupt(RA_A),
_mencoderRA, CHANGE); //
x2,x4逓倍
attachInterrupt(digitalPinToInterrupt(RA_B),
_mencoderRA,
CHANGE);
}
ごく普通のプログラムです。割込みはなるべくシンプルに処理時間がかからないように設計しています。
念のため割込みハンドラ内のプログラムを全て削除し試しました。つまり割込みは在るけれども実行時間はほぼ0になります。
ところがそれでも例外が発生しました。
その後、wifi(スタック)関係の割込みと競合している可能性を考えて、main
Loopに入れてあるdelay(1)を調べました。
詳しい理由は分かりませんが、これはwifiスタックに時間を与えるために入れているものです。
時間が不足?が原因なら増やせばいいと考えdelay(10)に変えてみました。
ところが今度は
エンコーダを回しても、エンコーダカウンタが全く変化しなくなりました。
つまりattachInterrupt割込みが実行されていない訳です。(delay中でも割込み有効なはずなのですが?理由はわかりません。)
そこで逆にdeay(1)を削除したところ、全て正常に動くようになりました。それから例外は発生していません。
念のため代わりに
yield(); (delay(0)と等価だそうです)を入れました。mainloopの内容
(2016,9/25)
■新型のNS-401
WiFi Adapter を開発しました。
NS-400
Bluetooth
Adapterを出していますが、今度はWiFi用のNS401を作りました。
今日は早朝から残りのNS401コマンド部分のプログラミングを始めて、PM10、ようやく完了したと思います。
NS-600ドームコントローラの方はプログラミングは終わっていますので、今後はCPU基板を作ることになります。
代理店様からNS5000をWiFi対応できないかお問い合わせがありました。
次のデジタル表示器NS-301の開発を計画していますが、WiFi版のNS401はこれに役に立つと思い検討しました。
インターフェースは3チャンネルにしました。USB,WiFi,RS232C(ソフトシリアルを実装しました)
NS-401は星図アプリからWiFi経由で各種導入装置をコントロールできます。
NS-401の開発で、NS5000はWiFiに対応できるようになりました。
(2016,9/13)
■NS-600ドームコントローラ(暫定)
NS-600ドームコントローラはほぼプログラミングが終わりました。
少しですが遠隔、確認、その他用としてコマンドを追加しています。
またWiFi,bluetooth関係のコマンドを作る可能性がありますが、一先ず目標のドームコントローラ開発は完了しました。
現在テスト中です。予定通り動いています。
通常PC,タブレットからコントロールすると仮定していますが、操作パネルのボタンだけでも基本的な機能を実行できるようにしました。
操作パネルに以下のものがあります。
確認ランプ(TLED)
原点ランプ 原点にあると自動的に点灯します。
ブザー(BEEP) 動作の始まり、終了を表示します。
Homesyncボタン
原点を検出して、ドームの方位を初期化します。周回パルスは計測しません。
parkボタン
park方位を導入します。
CWボタン
ドームをCW方向に回転します。ドームを上から見下ろして時計方向をCWとします。
CCWボタン
ドームをCCW方向に回転します。
スリットopenボタン
スリットを開けます。
スリットcloseボタン
スリットを閉じます。
停止ボタン
ドーム回転を止めます。
ドーム照明ボタン
ドームの照明(light)を点灯します。押す度に点灯、消灯します。
電源出力は1系統から3系等に増やしました。powerA,B,C
これによりインターネットから例えば除湿機、ヒータ、換気扇・・などをコントロールできます。
(2016,9/7)
■NS-600ドームコントローラ(暫定)
ACL互換プロトコルの部分は、ほぼ完成したと思います。
初め一部のパケットのみアンサ(応答)パケットを送信すればいいと思っていましたが、(ブラインド命令?
)
基本的に全てのパケットに対しアンサを返す必要があるのが分かりました。
これにより時に警告のメッセージが出ることがありましたが、それも無くなり、サクサク動くようになりました。
POTH Handsetから、特定の方位をgoto(導入)、parkができます。
POTH
setupで[Motion
Controls]にチェックを入れると、回転角度を指定してドームを正転(CW)、逆転(CCW)ができます。
同時に、赤道儀側(NS5000)も同じようにをコントロールできました。
また、
[Home]
ボタンを押すと、home
find命令が発行され、自動的に原点を探し、周回パルスを計測し、方位を初期化します。
安全のため、cw,ccw,goto,parkにそれぞれtimeoutを設定しました。
たとえば
:<TimeoutW60#コマンドを実行してから、:<Xcw#を送信するとドームがCW方向に回転を始め60秒後に自動的に止まります。
NS600コマンドの方は、80%ぐらい完成したと思います。
残りはステータス、操作パネル、温度湿度関係・・のプログラムです。
これができたらスイッチ、LED、エンコーダ・・を取り付けて、徹底的なテストを行います。
(2016,9/2)
■NS-600ドームコントローラ(暫定)
開発は順調に進展しています。プログラミングは全体の50%以上はできたと思います。
とくに難しい部分はほとんど完成しました。
今日は、home
find命令、Encoder命令を検討し一部を作りました。
■新型デジタル表示器NS-301(暫定)を開発しています。
インターフェースは有線はやめてWiFiとbluetoothにします。
(2016,7/30)
■NS-600ACLドームコントローラ(暫定)
シュミレータを実装したNS-701
WiFi Autoguiderはポートが少ないのでArduino
Mega2560に移植しました。
これはROM256K、RAM8Kあり大きなシステムを開発することできます。
さらにシリアルポートが4チャンネルあり、このおかげでNS-600ACLはいろいな構成が可能になります。
今日までに、
1 ACL互換シュミレータをMega2560に移植しました。(一部Mega2560改造、カスタムチップを組み合わせる予定)
2 4チャンネルの内1チャンネルをACL互換シュミレータに指定できるようになりました。
3 4チャンネルの全てにNS600ACLプロトコル
を実装できるようにしました。
これは枠組みができただけで、まだ何も機能は実装されていません。
4 エンコーダ関係のプログラムを作りました。正常に動いています。
今回は割り込みという方法で開発しました。これにより高速でエンコーダ信号を捉えることができます。
テスト用にコパルのエンコーダを購入して動作確認をしました。
エンコーダのパルスはプログラムにより、x1
x2
x4逓倍の3種類を実現しました。
通常天文用のデジタル表示器は、座標分解能を少しでも上げるため4逓倍を使いますが、
今回はドームで1°ぐらいの誤差があっても実用上問題ありません。
CPUの負担が一番少ないx1逓倍を標準にする予定です。
例えば、1000パルスのエンコーダなら1回転につきx1
1000パルス、x2
2000、x4
4000となります。
エンコーダが使えるようになりましたので、今度の開発と平行して、新型デジタル表示器NS-301(暫定)を開発します。
これはインターフェースとして、WiFiとUSB/RS232Cを実現したいです。
(2016,7/26)
■NS-5000PK543AW
NJP用が完成しました。(2016,7/14)
NJP用としてお客様からPK543AW-H50S(取り付け角寸法は42mm、
ハーモニックギア)をご支給いただき、
それに合わせてNS-5000と新規にベルトドライブ仕様のモータユニットを製作しています。
https://www.orientalmotor.co.jp/products/detail.action?hinmei=CRK543APB-H50
NS-5000はオプションのモータドライブ信号出力(1パルス方式 PLS/DIR)を組み込みこんでから、
2個の5相モータ用ドライバを内蔵しました。
NS-5000は完成しましたので工場へ発送しました。工場ではモータユニットを製作しています。
NS-5000の他に
ウォームギア軸受けベアリング化、
オーバーホールを行いますので、
高速特性、微小運転(オートガイド)が改善され、ベルトドライブ方式、5相モータにより、高い性能を発揮する可能性があります。
作業内容は以下のとおりです。(愛知県春日井市)
>
a1 JP/NJP赤道儀 ウォームギア軸受けベアリング化作業
>
a2 組み付け、調整
>
b1 JP/NJP赤道儀 オーバーホール
>
作業内容
>
分解、洗浄、再グリースアップ
>
ウォームラッピング
>
消耗品、油脂類
>
c1 NS-5000PK543AW_BLT
ベルトドライブユニット一式製作
>
>
d1
NS-5000PK543AW
Ver6.30
>
d2
オートガイダー入力端子 LX200互換モジュラージャック
>
d3 モータ接続ケーブル
>
d4
LEDハンドボックス
>
d5 Bluetooth(ブルートゥース)
>
>
e8 Bluetoothドングル
>
>
f1 赤道儀送付用の通箱 (赤道儀の送料になります)
>
>ストレートシャフト作製
■NS-600ACLドームコントローラ(暫定)を開発しています。
お客様からのお問い合わせがありましたので、一応計画だけはしていましたが、開発を始めました。
概要ですが、
1 ニッシンドーム、マウナケアドームなどの標準的なドームに設置して、ASCOMからコントロールできます。
2 インターネット、遠隔コントロールを検討します。
3 ワイヤレス化を実現します。
4
ASCOM DomeドライバーとしてACL
Dome を使います。http://ascom-standards.org/Downloads/DomeDrivers.htm
5
NS-600ACLは2種類のプロトコルを内蔵します。ACL互換プロトコル、そしてNS600ACLオリジナルのコマンド(NS5000互換)を内蔵します。
初めはACLパケットのチェックサムに少々てこずりましたが、ようやく解決して、ACL互換コントローラのシュミレータを製作することができました。
このシュミレータはNS-701
WiFi
Autoguiderを改造して、ACLパケットの送受信、ACLドームコントローラのシュミレータを実現しました。
シュミレータ開発はこちらのサイトを参考にさせていただきました。
POTH HandsetにACLドームコントローラ(シュミレータ)を接続しながら、NS-5000をコントロール、自動導入できました。
また、同時にシュミレータに対し、方位の表示、ボタンでドームを正転、逆転できました。
また、特定の方位を入力してGotoできました。
それから望遠鏡と連動して(slave
Dome)自動的に望遠鏡方位へドームをGotoするのも確認しました。
(2016,7/4)
■NS-701
アプリを作りました。
NS-701用としてオートガイド・リレーボックス
プログラムを作りました。
2種類あります。接続方法はUSBもしくはWiFiです。
WiFiの方は仮想COMプログラム(Virtual
Serial Port)が必要です。
プログラムをarduino
IDEでコンパイルしNS-701へ転送すると、
NS-701はオートガイド・リレーボックスとして動作するようになります。
オートガイドする場合は、NS-701基板(arduino互換)にオートガイド出力端子(LX200、ST−4互換)を増設する必要があります。
またオートガイドケーブル(モジュラーケーブル)が必要です。
プログラムはNS-701ユーザー様に許諾するものです。
それ以外はご遠慮ください。
ダウンロードしてからArduino
IDEで開いてください。(arduino_1_6_9で開発しました)
NS-701オートガイドプログラム テキストNS-701
WiFi Autoguider
■NS-5000U200は完成しました。
作業(見積もり)内容は以下のとおりです。
1
DOG
NS-5000PKP243A1
Ver6.30
これでU200赤道儀をコントロールできます。電源ケーブル付属しています。
U200は初めてですが、経験から300倍速以上のスピードが出ると思います。
2
オートガイダー入力端子 LX200互換モジュラージャック
3
マイクロステップ切替スイッチ
マイクロステップ駆動(1/2,1/4,1/8,1/16)を設定します。
4
赤経カレントダウン調整ボリューム
恒星時追尾のトルクを調整できます。低振動化に効果があります。
5 U200専用 金属コネクタ モータ接続ケーブル製作
ケーブル長は2〜2.5m可能です。耐寒、耐熱、耐油ケーブルです。
6
NS5000用LEDハンドボックス
オートガイドの様子がLEDランプで分かります。
あるいは、通常のLEDハンドボックス があります。
7 Bluetooth(ブルートゥース
Windows/Androidタブレット、パソコンから無線で自動導入できます。
11 電源器 19.5V〜24V AC-DCアダプタ
100VAC電源用です。4A以上 ノートPC用を改造する予定です。
恒星時133pps、1/16マイクロステップで初期化しました。
ケーブル長は、ハンドボックス5m,モータ接続ケーブル2.5mにしました。
**********
16分割
赤経,赤緯
計算
1ステップ角1.8゜、1/16分割、減速ギア比10:1、伝達ギア比1:1、ウオームギア360:1
基本定数
=
200 * 16 * 10 * 1 * 360 = 11520000 0x00AFC800
恒星時速度
=
( 200 * 16 * 10 * 1 * 360 ) / 86164 = 133.698 [Hz]
(2016,6/11)
■NS-5000U200を製作中です。
ユーハン工業製U200赤道儀用のNS-5000のご注文いただきました。(2016,5/30)
U-200はU-150赤道儀の後継機にあたると思います。http://www.u-han.co.jp/U200.html
これまでお客様にはその他の赤道儀でNS-5000をご利用いただいていました。
http://wakusei-image.la.coocan.jp/siyoukizai.htm
|
(2016,6/10)
■お客様がNS-5000
(5相モータドライブ仕様)のハンドボックスをワイヤレス化されました。
NS-5000にZigBee
TWE-LITE
DIP
を組み込んで無線化されています。
ハンドボックスのスイッチは、モータドライブのほとんどはボタン型のスイッチを使っていますが、これはジョイスティック
の様に見えます。
独特の操作性が実現されたのかも知れません。
(2016,3/4)
■5相ドライバCRD5114P用NS-5000を作りました。
|
■イタリア アバロン社M-UNO赤道儀用 2/5相ドライバ用
のNS-5000を作りました。(横浜市)
2または5相モータをドライバで駆動されるそうです。モータの取付け、配線はお客様が行います。
また、非常に興味深い方法として、ZigBee
TWE-LITE
DIP
を使ってハンドボックスを無線化されます。
■NS-701でI2C接続LCDモジュールを接続してみました。
近くNS-701をご案内する予定です。
(2016,1/28)
■本年もよろしくお願いします。
他の仕事で更新が遅くなりました。今年はNS-701アプリの開発に力を入れる予定です。
以下のNS-5000を製作しています。
|
[HOME]
このサイトで公開するハードウエアー、ソフトウエアーなどの情報、データ、その改造、応用したものの公開や営利目的の販売などをお断りします。