DSairを使ってみよう FlashAirの更新と試運転

5周遅れ?位になりますが、DSairを入手しましたので、試していこうと思います。

 

FlashAirは、海外パッケージ品の16GBモデルを入手しました。忌避項目になっていますが、へそ曲がり故あえてチャレンジします。(中身は変わらない筈と思っています。)

f:id:har_amc:20180517103515j:plain

恐る恐るですが、アップデート作業をしていきます。 

 

 

セルフパワーのUSBハブに、iBuffaloのカードリーダーを挿し込みアップデートに挑みます。

f:id:har_amc:20180517103413j:plain

 

 

アップデートツールを立ち上げ、ドライブレターを「F」に設定後、更新をクリックします。

f:id:har_amc:20180517103120j:plain

 

 準備開始します。

f:id:har_amc:20180517120329j:plain

  

カードを取り外せとの、お達しが。

f:id:har_amc:20180517102840j:plain

 

ん?カードの取り外し?この場合は・・・?

f:id:har_amc:20180517102835j:plain

よく見ると「ストレージデバイスの取り出し」と書いてある。

 

 

この状態を言っているのですね。カードを抜くのではなくカードリーダーごと抜くんです。

f:id:har_amc:20180517103426j:plain

※今回の環境の場合です。PC内臓のカードスロットの場合などは、扱いが変わると思います。

 

 

そして、再度挿し込めと指示が有りますので、USBケーブルをハブに差し込み、5秒ほど待ってOKをクリックします。(認識時間を適度に取ります。)

f:id:har_amc:20180517102851j:plain

 

 

 アップデートを開始します。

f:id:har_amc:20180517102830j:plain

 

 

 

抜き挿しを3回繰り返すと。

f:id:har_amc:20180517102847j:plain

f:id:har_amc:20180517102856j:plain

 

 

書き換えた内容を確認しています。

f:id:har_amc:20180517102900j:plain

 

 

すんなりと書き込み完了です。

f:id:har_amc:20180517102906j:plain

 

3分と掛からず、アップデート完了です。

画面のハードコピーを撮るのに、3回繰り返しましたが特に問題は有りませんでした。セルフパワーのUSBハブを用意しておけば、海外パッケージ品でも問題無い様です。

 

 

DSairの試運転に移ります。

製品ページからファームウェアをダウンロードして、「Flash Air」内に書き込みします。

 

電源を投入し、Miix28の接続を確認。

f:id:har_amc:20180517220703j:plain

 

 

iPhone SEでも接続出来ました。

f:id:har_amc:20180517220716p:plain

 

 

同時に接続して使用すると、「Power Off/On」は双方の操作にリンクして表示が変わりますが、速度表示やファンクションについてはリンクされていない様です。(Rev.R0r使用)PC版のDSソフトウエアではきちんと反映されています。

 

 

 

Rev.R0sがアップされましたので入れ替えてみましたが、リンクに関しては変わってませんでした。

f:id:har_amc:20180517233039p:plain

 

 

「DCCリピーター」その6 機能追加検証

リピーターの試作と動作確認を通して、実用的な部分の機能不足に気が付きました。

 

DC電源入力を2系統設けていますが、現状電圧表示は片方(Ach:左側分)のみです。

f:id:har_amc:20180510211539j:plain

 

 

両方の電圧を表示させる為には、EDC回路を増設しなければなりません。回路図を良く眺めて、電流センサーの入力ピンをパターンカットしてSW切り替え出来る様に,

Bch側にEDC回路を追加しました。

f:id:har_amc:20180517001040j:plainコマンドステーションモードの場合は、基板上のSWと共に、この追加スイッチも同時に切り替えます。即ち、コマンドステーションモードの時は「Ach」のみに戻ります。

 

 

スケッチの方はと申しますと、プリントアウトして良く観察の後、「変数の定義」と「数値処理部分」など追加しました。

f:id:har_amc:20180517000753j:plain

パソコンの言語と言えば、「BASIC」(MSXPC-9801)しか触ったことが有りませんが、コピペと”2”の追記で何とかなるものですね。

※決してコマンドや文法を理解している訳では有りません。(威張るな・・・。)

 

 

丁度良いACアダプターが見当たらず、安定化電源を出して来ました。とりあえず15Vに合せて試験します。

f:id:har_amc:20180516235856j:plain

 

 

電源投入!表示を変えて見たりしました。

f:id:har_amc:20180517004123j:plain

 

 

Ach:12V表示のACアダプター」と「Bch:15V設定の安定化電源」の表示が出来ました。(電源渡りのショートピンは外しておきます。)結構誤差が有りますね。

f:id:har_amc:20180516235831j:plain

これで、別の電源電圧でのオペレーションに対応可能と言う事が、見て判る様になりました。 あっ!、「Ach/Bch」の表示した方が良いですね。

 

 

ACアダプタ側の表示は出来ましたが、DCC入力側の電圧は取る必要が有るのかな?

 

 

 

 

 

 

「オートキャリブレーター(自動(速度等)設定装置)」について妄想

「S88-N」による自動運転のデモをした事により必要性を感じた物に、「オートキャリブレーター(仮称)」が有ります。現状、異なる車両の混在したレイアウトで自動運転をする為には、共通の停止距離で停車する事が必要になるからです。

 

現在、フジガヤさんの所で、スピードメーターの製作中ですが、発展機材として「S88-N MAG」等の通過検知(区間検知でない)機構を用いて、車載デコーダーを走行させながら自動的にチューニングしてあげようという物です。

 

実例としては、以下の様に考えます。

・周回コースにセンサーを設置します。例えば、通過検知(A:停止開始点)、停止検知(B)、停止検知(C)、通過検知(D:過走)の4個を順に並べます。

 

チューニング手順としては、

1.初期設定 -センサー間距離の設定をする。

  A-B間、B-C間、C-D間を設定。A-B又はA-Cは停止させたい距離とします。

  ※B-C間は、許容誤差の範囲と考えてください。

 

2.チューニング1 -最高速度設定。最高速度をスケール速度で設定する。

 実車速度を設定した後、周回しながらスケール速度を取得し、CV値を増減しながらデコーダーに設定し、測定ー設定を繰り返す。(設定終了後、しばし走行して設定値の±3~5%程度に誤差が収まる程度を目指せば良いと思います。)

 

3.チューニング2 -減速設定。停止指示からの減速特性の設定。(距離・時間)

 Aを通過後、BとCの間で停止する様にCV値を増減させて設定する。「2.チューニング1」と同様に何度も測定ー設定を繰り返します。

 

4.チューニング3 ー加速設定

 自動運転に必要かどうか不明ですが、一応機能として持っておきましょう。

 

 ※運転状況は、室温やモーター温度などの環境に左右されるそうです。また、レイアウトの勾配にも左右されると考えられますので、その辺の誤差を加味してBとCの間隔(誤差)を経験的に設定する事になりますね。

 

考え所なのは、単一線路において同じチューニングを施すと・・・、蒸気機関車と新幹線では最高速が桁違いですが、停止距離は一緒という状況になります。そこは、常識の範囲で運用して頂くと言う事で・・・。

 

 

これを、DSソフトウエアの新機能として実現できるか?その場合「S88-N」や「UART」・「I2C」を使用する事が出来るのか?

はたまた、単体機器で実現するか?数値入力等が必要となるので、青い箱のパネルを少々変えて作るか?それとも、リピーターの箱で、一から専用で作るか?

f:id:har_amc:20180509234114j:plain

 

 

 

一番良い方法は・・・?

 

 

 

 

「DCCリピーター」その5 追加機能実装 その2

今日は、「リピーターモード」の確認に引き続き、「コマンドステーション」モードの動作確認もしています。

 

先ずは、DSoneR3のスケッチを開いて、リピーター同様にピン設定を変更します。

”PinMode”を”A7”から”A1”に変更しました。

f:id:har_amc:20180510233007j:plain

 

 

こちらも同様に、”EDC”の数値読み取り部分の変更をします。

”analogRead”の所も”A7”から”A1”に書き換えました。

f:id:har_amc:20180510233020j:plain

 

 

 

DSソフトウエアを開いて、動作確認していきます。

スロットルは中央に設定。ファンクションは、0,2,4,6をONにしておきます。

f:id:har_amc:20180510233552j:plain

 

 

 

テストには車両ではなく、信号チェックに非常に便利な「見るだけ君」を使用します。

モータードライバー(Ach:左)は設定通り50%と、ファンクションは0,2,4,6の表示です。

f:id:har_amc:20180510233742j:plain

 

 

モータードライバー(Bch:右)も同様に設定通りです。

f:id:har_amc:20180510233831j:plain

 

とりあえず、走行については動いているようです。

 

電圧表示の仕様見直しや、ATmega328Pのパッケージ変更など、じっくり考えて基板改版に進みたいと思います。

 

 

 

 

 

 

 

 

 

「DCCリピーター」その4 追加機能実装

リピーターの基板には、Atmega328P-PUやLCD/OLEDのパターンを設けてあります。これは何に使うかと申しますと、コマンドステーション等としても使える様に考えてあります。

 

全ての部品を実装して、動作確認をしていきます。一部パターンカットとストラップをしています。

f:id:har_amc:20180509234313j:plain思い付きで、LCD(9)ピンからOLED(5)ピン?へ、RST信号をストラップ!

 

 

表示は、DSmainR5から取り外したLCDを、上手い事流用する事が出来ました。

f:id:har_amc:20180509234349j:plain

スケッチは、見るだけ君R4を書き込みしました。

 

 

青い箱を使って、動作確認をします。(写真は、バックライト付きLCD表示が読める様に露出を抑えて有ります。)

 

DCC信号の入力前は「Idle:0」です。左側の電源パイロット(緑LED)のみ点灯しています。

f:id:har_amc:20180509234114j:plain

 

 

LOC Controlモードに入ると、DCC信号を検知して、Ach/Bchの赤LEDと間の緑LEDが点灯します。表示は「Idle:117」です。

f:id:har_amc:20180509234128j:plain

 

 

試しにスピードを8にすると、表示は「78%」となっています。1では「9%」4では「39%」となっています。

f:id:har_amc:20180509234143j:plain

 

 

これで「リピーターモード」の動作確認が出来ました。

(DCC入力側の入力です。S88-N側の動作確認はまだです。)

 

現在「見るだけ君」機能については制限事項が有りまして、電圧表示は機能していない様です。これは電流センサーに依存するのかな?電流センサーは積んでいるのですが、接続ピンを変えて有るため機能しないのかもしません。

 

 

*****以下加筆

 

回路図とにらめっこして、スケッチを修正しました。

 

先ずは、ピン設定を変更します。

”PinMode”を”A2”から”A1”に変更しました。

f:id:har_amc:20180510210604j:plain

 

 

続いて、電圧変換の数値読み取り部分の変更をします。

”analogRead”の所も”A2”から”A1”に書き換えました。

f:id:har_amc:20180510210612j:plain

コンパイルの後書き込みまで問題無く出来ました。

 

 

試運転成功です。ただし、この数値は回路構成により、モータードライバー(Ach:左側)の電源電圧の数値となっています。

f:id:har_amc:20180510211539j:plain

無事、電圧表示させる事が出来ました。

 

 

この数値の読み取り位置をどうするか?考えています。

DCC入力、モータードライバー(Ach/Bch)をソフトウエア切り替えとするか?物理的にSWで切り替えるか?何が正解だろうか?

ソフトウエアにすると、DIPパッケージ(28ピン)のATmega328Pではピン数が足りません。パッケージをQFP(32ピン)とすれば、空きピンが増えるので対応が出来そうです。

 

 

 

鉄道模型市2018で デモ出来ました。(加筆あり)

本日、鉄道模型市2018にDCC電子工作連合の一員として出店(出展)して来ました。

 

レイアウトボードは、20分程度で組み立てを終えることが出来、試運転も滞りなく済んで実に好調な滑り出しです。

現場にて、S88-N在線検知を利用した簡単なスクリプトを設定し、自動運転のデモも行いました。

 

*****以下加筆

機器構成は、

1.DSソフトウエアを動かす為のノートPC。(本来はスマステを使用する予定でしたがシリアル不調により代役を立てました。)

2.「スマステ基板」:USB-シリアル変換基板を介して、コマンドステーションとして使用しました。

3.「リピーター」:内回り・外回りの「線路及びポイント」を個別のモータードライバーにて駆動しています。(リピーターについて

4.「S88-N GAP」:内回り・外回りそれぞれに設置。一周を10区間に分けています。(片ギャップ式)

5.「S88-N MAG」:外回りのみに設置。上記「GAP式」の区間内に、10箇所設置しています。(マグネット式)

*****

f:id:har_amc:20180430230717j:plainスクリプトの設定方法を教えて頂き、スクリプトのさわり程度はわかった気がします。(概念がわかりました。)これから、勉強していきます。 

 

走行風景はこんな感じ。 

外回りの183系0番台は「S88-N MAG」を使用して、画面下カーブの「マグネットセンサー:緑基板部分」を通過したら停止します。内回りの京急2100形は、ギャップ式在線検出を用いて、左右のカーブ出口区間に入ったら停止します。 

*****以下加筆

停止位置がずれていたり、周回毎に微妙なズレが生じるのは、スクリプトから停止指示するタイミングと車載デコーダーの減速特性による誤差の為です。 当然、この停止位置の調整をする為には、スクリプト上での停止タイミングの設定や、車載デコーダーの減速特性のチューニングが必要になります。

単一車両での周回運転でしたら、スクリプトデコーダー双方のパラメータをチューニングする事が出来ますが、異種・複数車両の走行の場合には、現状スクリプトの設定を変更するのは避けて、車載デコーダーのみの減速特性で調整する事になります。(スクリプトの停止指示からの停止時間を、車両全て統一する必要が有ります。)

この問題を解決する為には、単に「車両が居るよ」では無く「この車両が居るよ」という検出機構を用いる事が必要になって来ます。車両が判れば、スクリプト側での停止タイミングを調整する事が可能になります。

今後の開発に期待しましょう!

*****

 

撤去も15分程度で出来て、快適なデモ環境を整えることが出来たと思います。

但し、運搬は快適では有りません。車で運びたいと思う今日この頃です。

 

 

5月8日内容修正・加筆。

「DCCリピーター」その3

しばらく音沙汰の無かった「DCCリピーター」ですが、密かに試作まで漕ぎ着けました。

 

とりあえず、本命のリピーター機能のみ動く様にして有ります。

f:id:har_amc:20180429133736j:plain

こちらは、スマステESで撮影です。

 

 レイアウトの方は、「S88-N MAG」の動作に問題が有り、右往左往している間に、スマステ自体のシリアル通信障害が発生したりと極めて危険な状態です。

復旧できるか判らない状態です。基板展示も兼ねて、USB経由の外付け基板で何とかならないかと試行錯誤している所です。

 

※レイアウトのうち、片ギャップ式在線検出及びポイント操作は、特に問題無さそうです。

この様な状態で準備時間が十分に取れませんので、デモについては凝った事せずに在線検出の実際(車両走行と在線検出を画面で見る)と、リピーターの機能展示程度と考えています。