小さい赤道儀製作 RTC DS3234 を追加

製作したボードは、RTC(リアルタイムクロック)が付いていないので電源ONのたびに時刻合わせをしなければならない。OnStep では、RTC DS3234 のサポートがあるのでモジュールを購入して取り付けてみた。使用したモジュールは スイッチサイエンスで取り扱っている、Sparkfun のモジュールと同等のもの。Amazon でも取り扱っているところがあるが、検索すると、ずいぶんと値段のバラツキがある。例によって、Aliexpress で購入した。

これに使用しているバッテリは、直径12mmのCR1225 というもので、近くのホームセンターでは売られていなかったので、秋月で購入。基板にはこんなふうに取り付け、電池は、赤いモジュール基板の裏側にセットされている。
イメージ 1

OnStep のページには、Arduino MEGA と、どのように接続するかは記されていない。Config.h のソースをみると、RTC_DS3234 を使うときには、Default SPI インターフェイスのPIN 配置である、と書かれている。なので、Arduino のリファレンスを調べて、DS3234モジュールとArduinoMEGAの配線は、
 PIN 50:MISO
 PIN 51:MOSI
 PIN 52:SCK
 PIN 53:SS(CS)
となった。これは、AstroEQ 基板でのST4インターフェイスと重なっているが、SS(CS)の設定以外は簡単に変更できないので仕方がない。

まずは、Sparkfun のライブラリをダウンロードして、Arduino IDEに設定する。これに付属する Demo プログラムで、上記のアドレス設定で時計が動作していることを確認した。
その後、OnStep で使用できるように、Config.h、OnStep.ino の該当のところを変更した。結果、電源ON のときに自動的に時刻が設定されるようになった。ターミナルプログラムを使って、時刻を合わせるコマンドを送って、RTCの時刻を合わせることができることも可能であることも確認。

LX200 Classic では、RTC のデータとSite 情報から自動的に、Sidereal Time を計算して保持しているようだが、OnStep では、違うようだ。少なくとも、電源ON後にコマンドを送って Sidereal Time を確認すると、違う値となっている。LX200 と同じ動作をするものだと思っていたのに、これは残念。なにやら規則性があるようでもあり、どこかに設定があるかも知れないので引き続き調査していくことに。