OnStep基板 Rev3.0(ESP32) にGPSを載せてみます。TIME_LOCATION_SOURCE を使って、GPSから緯度経度、時間情報を取得することができます。
GPSモジュールの実装
今回は秋月電子で取り扱いのある、GPSモジュール AE-GYSFDMAXB を使用しました。
GPS受信機キット 1PPS出力付き 「みちびき」3機受信対応
これ以外にもシリアル出力のGPSモジュールであれば対応可能です。
GPSのI/Oレベルは3.3Vのものが必要になります。
基板上にある J12 に、Serial2 のI/O TX2 と RX2が出ています。そこに図の通り配線します。
GPSボードへの電源は基板上の J2 から取り出せます。
基板上にGPSモジュールを載せるスペースがないので、モジュール同士を絶縁して上に乗っけています。GPSモジュールにバックアップのボタン電池を取り付けられますが、今回は付けていません。
OnStepの書き換え
事前に、Arduino IDEのライブラリに TinyGPSPLUS を導入しておいてください。
手順は「ツール」-「ライブラリの管理」から TinyGPSPLUS を検索してインストールすればOK。
OnStepの修正箇所は Config.h のみです。
Config.h 内に TIME AND LOCATION セクションがあるので、そこを修正します。
TIME_LOCATION_SOURCE を GPS に修正し、
SERIAL_GPS を Serial2、SERIAL_GPS_BAUD はGPSモジュールのシリアル速度に書き加えます。
あとは通常通り、OnStepを書き込みます。
以上で完了です。
動作確認
実際にGPSから位置情報を取得しているか調べます。
Androidアプリ OnStep2 から調べる
Observing Sitesメニューの中の Site Name が GPSになっていて、位置情報が正しければ動作しています。Site 1にGPSが割り当てられているようです。
Ekosから調べる
Ekosから接続すると、Site Management の中の Site Name が GPS になっています。
なお、OnStep上の実装は、メインのloop内でGPSからSite 1 の位置情報を更新し続けるようになっています。
のりきゅうさん、OnStep基板 Rev3.0(ESP32) を購入して作成したのですが、まだ全く動いていません
返信削除Android端末からの接続はうまくいっているのですが、原因が分からず苦悩の状態です
ところで、GPSを購入して接続してみたのですが、OnStepで認識できていない状態です
J12のTX2とRX2の接続ピンを上図のように行ったつもりなのですが、私が間違っているようです
3つのピンが出ているのですが、向かって右から1つ目と2つ目にそれぞれつなげたのですが、間違っていますでしょうか?
また、裏面のどこかをショートさせなければいけないのでしょうか?
すみませんが、ご教授をお願いいたします
因みに、GPSモジュールは、秋月電子のものを使用しています
https://akizukidenshi.com/catalog/g/gK-13849/
まやさん、こんにちは。
削除GPSとの接続苦戦されているようですね。
基板とGPSモジュールの接続は上記の説明のとおり、J12のTX2, RX2 をGPSボードのそれぞれ RX, TX へクロス接続してください。
それと電源ですね。他にショートさせる個所などはありません。
あとはOnStepのソースコードを修正すればGPSとの通信を始めるはずです。
ところで、当該モジュールは使用したことがないのですが、おそらくアンテナが別で必要になると思います。モジュールだけでは感度がなく、衛星を捕捉できない気がします。
ご回答、どうもありがとうございました
削除実は、時刻が設定できていましたので、通信はできていたようです
お騒がせしました
GPSと表示されないのは、アンテナが無いためGPS通信ができていないので、表示されないようです
いよいよ、動かそうという状態になったのですが、試しに動かしてみたところ、RAとDECが逆のようになっているようですが、基板に書いてある名称と違うのでしょうか?
通信は問題ないようですね。一安心です。
削除RA、DECですが、基板の通りで合っていると思います。
どちらかモーターが逆回転になっているとかではないですか?
すみません
削除質問の仕方が間違っていました
RA側のモーターが全く動かず、DEC側の方は動いているように見えます
但し、DEC側のモーターは「ドッドッドッ」という動きでスムーズな動きではない状態です
恐らくケーブルの接続が間違っているとは思うのですが、下記で良いでしょうか?
黒 A1
緑 A2
赤 B1
青 B2
因みに、モーターは、ST-42BYH1004に換装してベルトドライブに切り替えています
http://akizukidenshi.com/download/ds/mercurymotor/ST-42BYH1004-5013.pdf
ただ、同じ接続でRAとDECを確かめており、RA側のモーターの方だけ全く動かないのも解せません
ですので、A1とA2間の電圧を計ってみたところRA側は0Vでしたので、出力信号が来ていないようです
確かめる方法は何かありますでしょうか?
すみません、初歩的なことばかりお聞きして誠に申し訳ございませんが、よろしくお願いいたします
お返事遅れました。
削除モーターとの接続はコイル対をそれぞれA,Bに割り振ればよいので、合っていると思います。
なんとなくですが、モータードライバが故障しているような気もします。
2枚目の基板で製作してみたのですが、全く同じ現象で、RA側が動かず、ピーとなっているMCUのLEDが蛍のように点滅しています
削除また、RA側のモータードライバを外すと点滅が止まり、正常に動いているように見えます
因みに、DIRとSTEP信号を直接制御するテストプログラムを作って確認したところ、DEC側は問題なく動作しますが、RA側は全く動きません
どのようにチェックすれば良いかご助言をいただけないでしょうか?
長文になってしまい、大変申し訳ございませんが、よろしくお願いいたします。
GPSはアンテナを付けたのですが、これも通信できていないようです(単体で同作確認してみましたが問題なく踏査していることを確認できています)
2枚目の基板での状況ですが、モータードライバは同じものを使用したのでしょうか?
削除それとも、新しい別の物を取り付けたのでしょうか?
どちらにせよ、モータードライバを別の新しいものに付け替えて、どこがおかしいか特定するほか方法がありません。
あるいは、DECとRAのモータードライバを入れ替えてみるとか。
状況から見てドライバの故障だと思います。
>ピーとなっているMCUのLEDが蛍のように点滅しています
削除そのような現象になるはずが無いので、ESP32が故障の可能性もありますね。
早速のが解答、どうもありがとうございました
返信削除モータードライバは新品のもを使用し、入れ替えも実施しました
MCUが2枚あり、1枚はRA側は全く動かなかったのですが、もう一つの方は、ブレッドボードで確かめた限り、RA側とDEC側両方ともモーターがまわりましたので、動かしてみてもRA側は全く動きませんでした
恐らく、基板の半田付けがおかしいということに行き着きました
ということで、基板を製作するのは少しお休みして、OnStepで赤道儀を制御することを優先するために半田付けしないCNCシールド基板で挑戦していこうと考えております
色々とご無理を言いまして大変申し訳ございませんでした
ところで、ブレッドボードでOnStepを動かしてみたのですが、コントローラアプリからGoTo指示すると、モータは動くのですが、スピードが速くなりません
スピードの指示を増やしても変わりませんし、Abortボタンも効きません
AXIS1_STEPS_PER_DEGREEを増やすと確かに少しだけ早くなりますが、他のサイトで見たようなスピードが出なくて困っております
何かご教授いただけることがありましたら、助かります。
何度もご無理を申しますが、何卒よろしくお願いいたします。
大変お騒がせしました
返信削除ESP32ボードマネージャのバージョンを1.0.4にしたところ、全てのモーターが正常に動作し、GOTOスピードも思い通りのうごきをみせてくれ、GPSの信号も正常に取得できました
バージョンが2.0.3ではダメなんですね
1.0.4では、コンパイル時のワーニングが多数出ますが、2.0.3では全く出なかったためこのバージョンを使用していました
本当に色々とご無理を言いまして誠に申し訳ございませんでした
これで、先に進むことが出来ましたので、ぼちぼちやっていきたいと思います
なるほど、ボードライブラリの問題だったのですね。
削除そういえば、と、私もすっかり失念していました。
ともあれ、次へ進めて何よりです!(^^)