Nextionを使ってみよう。その9

今日は朝から体調不良で寝込んでおりましたが、夜になって概ね回復して来たのでこ

んな時間にやってます。(23時位から始めました。)

 

昨夜も多少試運転をしていたのですが、今まで元気だったC57が、スマステ基板に変えた途端に動かなくなってしまいました。

何度も、Nextionのプログラムを書き直し、DSairとDSoneR3を含めて何度も試運転すると、やはりスマステ基板だけが動いたり動かなかったりしています。

f:id:har_amc:20200225010821j:plain

この基板だけではなく、もう一枚も同様に不安定です。

恐らくこの時も同じ状態に陥っていたものと思われます。いや、違いましたね。

 

 

電源ONしても、しばらくは車両が動いてくれません。但し、「PW」だけは素直に動いているので、全く反応していない訳では有りません。いきなり動き出したりするので、何をトリガーにしているのかよくわかりません。 

DSoneR3の回路を基本としていますが、付加回路が沢山配置されているので、こんな事も有るんでしょうか。動画の基板は一番シンプルな部品構成なので、ノイズも最小ではないかとは思うのですが。

 

暫し、調査が必要ですね。

 

追記

記憶を辿ると、もしかして こここれの残党かな?

 

再追記

念の為、3枚とも「r1b」に書き換えましたが、状況は変わらずでした。

 

 

 

 

 

Nextionを使ってみよう。その8

確認用の資材がいろいろ投入されたので、今日もひたすら Nextionの確認を続けています。

 

一応ファームウエアを最新にしておこうと、シリアル経由で書き込みを掛けています。しかしエラーを吐きます。 USB-シリアル変換のケーブルや基板を4種類ほど変えてみても書き込み出来ません。

f:id:har_amc:20200223180533j:plain

 

 

切り分けの為に、328Pを初号機に載せて書き込みを試みるもやっぱりダメです。

f:id:har_amc:20200223181012j:plain

 

 

よく解らないので、スマイルライタ2号機でブートローダーのみ書き込み、基板へ戻してシリアル経由にて再度スケッチの書き込みを試みますが、やっぱりダメ。何でだ?

そうなると、スマイルライタでスケッチまで書き込むしか有りません。そうしてしまうと、シリアル使えなくなるのか?と、嫌な記憶が蘇ります。

f:id:har_amc:20200223181049j:plainまぁ、やってみるしか有りませんので、スケッチまで書き込んで試運転をします。

 

 

結果は問題無くシリアル経由の指示で動いています。

よく考えると、そもそもシリアル通信するプログラムを内包しているので、使えて当たり前か?!と言う事に今更気付く私であります。(ただし、ICSP経由で書き込んだ為、プログラムの走っていない、シリアル経由でのスケッチ書き込みには対応出来ないという事ですね。)

 

そして昨日来の懸案事項は再現率100%で、基板変えても動作に変わり有りません。シリアル通信プログラムが原因である事は、間違いないと思われます。

 

「DSair2のファームウエアがアップデートされた時」に、DSair1もシリアル経由で一緒に書き換えた様な気がする様な?しない様な?しない様な、しない様な・・・・・、すっかり失念しております今日この頃。 

多分・きっと・恐らく・していない・・・。

 

でも、ブートローダー書き込み後に、シリアル経由で書き込み出来ない理由が、未だに解りません。普通なら出来ると思うんですが、 今日はダメなのかもしれません。

 

Nextionを使ってみよう。その7

皆さん結構飽きが来ているとは思いますが・・・、Nextionの確認をまだまだ続けています。

 

DSairのシリアルコマンドが2文字(ショートコマンド)に変更されているのは、WiFi通信の負荷を低減する為だという事がわかりました。そして車輛アドレスの変更用のCV書込用コマンドについては、DSone等のコマンド(ロングコマンド)がそのまま使えると言う事が判りましたので、一応確認してみます。

 

「CW3~CW5」ボタンのみCV書込用ロングコマンドを設定。その他は全て仕様通りのショートコマンドを設定します。

f:id:har_amc:20200222232153j:plain

 

 

 

動くというのは既知の情報なのですが、テストをしてみるとちょっと引っかかるところが有りました。DSoneでは、途切れることなく操作をする事が出来ましたが、DSairの場合は、車両アドレス書き換え後に一度パワーOFFしてからでないと走行してくれません。

確認の為、DSoneとDSairと数回交換して確認しましたが、再現率は100%です。

 

手の空いた時にでも、スケッチを確認していただく事にしましょう。

 

 

DSair1にこんな癖が見つかってしまったので、とりあえずDSoneの方をドナーに決めようと思いました。そういえばいい物有ったな~と、掘り出して来ました。

f:id:har_amc:20200223003235j:plain

暫くぶりにお目にかかった、スマステ基板です。

動作確認に使った物で、電源はそれぞれ、6AのDC/DCのみ(右上)、5V-LDOと3AのDC/DC(左下)、5VーLDOだけ(右下)の3種類あります。

PIPO X9Sの電源供給(5V-3A)をする為にDC/DCコンバータを積める様にしてあります。

 

この回路は、DSoneR3を元に設計していますので、スタンダードSのHACに使うのにはもってこいだと思いました。勿論電源はLDOだけで充分です。

 

 

※DSair1の動作確認は、他の個体でも試して見るす予定です。まだ続くと言う事?

 

 

 

 

 

Nextionを使ってみよう。その6

今日も飽きずにNextionチャレンジを続けています。

 

スケッチと回路図を観察して、マスコン(VR)追加については概ね方向性は見えてきていますが、Nextion側の機能確認の項目が残っている事に気が付きましたので、先に行っていきます。

 

今回は別ページを追加して、車輛アドレスの変更用にCV書込用ボタン「CW3~CW5」を追加し、それぞれのアドレスに操作用マスコン(スライダー)を配置してみました。本来であれば、CV書き込み機能は別ページにしておくべき項目ですが、テスト用故同じページ内としています。悪しからず。 

f:id:har_amc:20200221153541j:plainDS側のコマンドの制約から、DSairでは無くDSoneでのテストに戻しています。

 

これが上手く行けば、複数車両の同時運転が可能と言うになります。

 

テストは1車輛のアドレスを、順繰り書き換えながらそれぞれのマスコンで試運転をしていきます。狭い机上で試運転する為、ロクハンのC57を出して来ました。

f:id:har_amc:20200221204118j:plain


 

さぁてと、いろいろ上手いこと動くだろうか?

車両の動きが少々渋いです。操作もあたふたしていますが、いろいろ成功!

ここまで出来れば、複線だろうが複々線だろうが矢でも鉄砲でも何でも来い!です。

(言い過ぎました。あたふたするので、複線程度がよろしいかと。)

 

車両アドレス書き換えも問題無く、スロットルも複数設置出来るので、スタンダードSのHAC用に(VR)を付けなくとも、このままVR無しでも使えそうですね。

 ※これでは私の考えには逆行していますが・・・。やっぱり物理的なツマミが1つは必要だと私は思います。

 

一方のDSairですが、アドレス書き換えコマンドが仕様に明記されていないので、今のところ出来ない可能性が高いです。 

 

残りは、非常に気が重いスケッチ変更なのですが・・・、じっくり頑張ります。

 

 

 

 

 

 

Nextionを使ってみよう。その5

今日はヒヤヒヤしながら、お約束のNextionやってましたよ。でもちょっと息切れ気味。

では、行きますよ!

 

MECY様のコメントで「え~まさか!ダメ?」と思い、「重い」気持ちでイベントを書き換えました。

 

こちらは、最終的なDSone用のデバッグ画面です。「Pw」「F0」「T1」「F>」「スライダー」の順に操作してみます。

f:id:har_amc:20200220192249j:plain

 

 

DSair用に変更したデバッグ画面がこちら。操作は上と同じ順序です。

f:id:har_amc:20200220192259j:plain

とりあえず、これで確認してみましょう。

 

 

DSair1に接続して、重い気持ちで「PW」をタッチします。

f:id:har_amc:20200220192014j:plain

 

 

 さぁ、どうなる?

おっと、サムネイルでネタバレしてたり・・・。

それは置いといて、兎に角動いてくれて有難う。

 

 

何とか動いたものの、DSairにはマスコン(VR)ついてないんだなぁ。それでは、スタンダードSに積んでも意味ないんだよなぁ~。どうしようかな?

 

D99 HACXのスケッチ辺りから、VR制御している部分をコピーして来れば良いか?と考えていますが、出来るかな?DSmainの方が良いような気がして来た。

 

とりあえず、チャレンジはしてみます。その前に、空き端子有るかな?

これからしばらく、回路図とスケッチを観察します。

 

 

 

 

 

Nextionを使ってみよう。その4

今日も、まだまだNextionやってますよ。

 

MECYさんよりコメント頂き、現在イベント内で車両アドレスとして指示しているアドレス3は、DCCの物ではない事が判明しました。(メルクリンの物を指している様です。)

 

指示通りに49155に設定し直すと、あっさり動いてくれました。(有難う御座いました。)

 

もう一つの懸案事項のディレクションの方はと言いますと、シンプルに「FWD」と「REV」を分離して別ボタンとして解決しました。

f:id:har_amc:20200219220742j:plain

※左上の「Pg」ボタンは、テスト用に「Ping()」を送信するボタンを置いてみました。

 

 

やっとこさ、動いてくれました。

あまり重要ではないのですが、「<R」と「F>」を押した時の、見るだけ君の挙動がちょっと違うのがほんの少しですが気になります。

 

 

 

次は「DSair1」で試そうと思い、ちょっと予習をしています。

f:id:har_amc:20200219223347j:plain

おあつらえ向きのピンヘッダが、上を向いて待っています。

 

しかし、そのまま繋げば使えるのかと思いきや・・・、DSoneの仕様と比べDSairの仕様は変更されていています。コマンド自体はほぼ2文字とシンプルになっています。一通りコマンド部分のみ書き換えれば、パラメータはそのままで動いてくれるのでは無いかと思います。

 

冒頭のDCCのアドレスの換算方法は、こちらの仕様に書かれていました。

※ただ単に3を送るとMM2のアドレス3が動くとの事で、昨日はこの状態だったという事です。

 

 今現在、Nextionでの操作は送信処理に限られるので、本当に簡易的な操作のみしか行えません。D99 HACX基板に有るタクトSW相当の機能を追加したり、コマンドステーションからのリプライ信号を受信して反映させるのは、私の能力以上のパワーが必要そうです。

 

 

 

 

 

 

 

 

Nextionを使ってみよう。その3

まだまだ、Nextion 2.4 インチ版をいじっています。

 

前回は、電源ON/OFFボタンを追加してみましたが、今回はスロットル及びディレクション・ファンクション機能を追加してみようと思います。

 

ちょっとばかりコツを掴んだので、ツールをざっくり配置して、ガシガシとEvent欄を埋めていきます。

f:id:har_amc:20200218154452j:plain

スロットル(Slider)については、範囲をminival:0~maxval:1023とし、初期値(val)は0に設定しています。

また、動かした後の値を送信したいので「Touch Release Event」の方に、イベントを定義しています。

 

 

 

Debugモードでは画面シミュレーションと、Event結果の確認が出来ます。

f:id:har_amc:20200218162907j:plainSimulator Return欄の「S」をクリックしておくと、シリアル送信される内容が表示されます。

 

 

 「Pw」「F0」「T1」「Dr」「スライダー」の順に操作してみます。

f:id:har_amc:20200218232811j:plain

Simulator Return欄に、それぞれのシリアルコマンドが表示されています。とりあえず、意図通りのコマンド生成が出来ている様です。

 

 

それでは、Nextionにアップロードのうえ、DSoneR3に繋いで確認してみましょう。

f:id:har_amc:20200218235020j:plain

 

 

動作確認です。

ここで、間違いに気付きました。何かが反対に動いていました。そうです、ディレクションの動きが反対です。

 

コマンド確認の為仕様表を確認すると・・・、何と言う事でしょう!パラメータが1:FWDと2:REVになっているでは有りませんか!!

・何故にここだけ、0から(0と1)では無いのか?

・何故にパラメータに無い「0」の指示で「REV」が動いているのか?

暫し、Nextionの仕様書を眺めて、足し算(+1)が出来ないか試しましたが、技術不足で今のところ解決に至りません。

 

 

次に「見るだけ君」も繋いで、DCC信号の確認を行って見ます。

f:id:har_amc:20200218235042j:plain

上手い事動くと思いきや・・・。

 

 

ところが・・・どっこい。見るだけ君はIdle表示のままです。 

モータードライバーはONしていますが、DCC信号は出ていない様です。

 

念の為、DSoneと見るだけ君のファームウエアを最新に書き換え、DSソフトウエアから操作すると、問題無くDCC信号が出ており車両も動いたので、Nextion側の問題である事に間違いは無さそうです。

 

ここへ来て2つの難題にぶち当たりました。これは解決出来るだろうか?

 

※車両アドレスについては、現状「3」に固定されています。Nextion単体で数値入力が出来る方法が判れば、変更出来るようにしたいと思っています。