DSbasic 入門してみる(1)DSair2の事前設定
自動運転を実現するうえで、非常に重要な位置づけである DSbasic に入門してみます。
というか、この機能が実装されて遊んでみたかったからDSair2を購入したのであって、入門しなくてどうすんの?って感じです。
DSair2へのアクセサリ登録
DSbasicで参照、操作することとなるアクセサリ(ここではポイント)をDSairへ登録していなかったので、今更だけど登録。
登録は以下の画面で行った。表示されている番号がそのままアドレス番号でした。
自分の環境では、アドレスの30、31、40、41 がポイントとして割り当て済みだったので、画面左上の「Edit」ボタンをクリックしてから、該当番号の赤丸アイコンをクリックして、対応する分岐方向のアイコンを選択。
Editモードを解いてから、ポイントのアイコンをクリックすることで、実際のポイントが切り替わることを確認しましょー。
※運悪く41番が次のページになってしまった。未使用のものを非表示にする機能があったらうれしいなぁ~。
DSair2へのレイアウト登録
続いて、上記のレイアウトをDSair2の画面で登録していきます。
こんな感じかな~、って程度で適当に登録。
作成したら、ポイント等のアドレスを紐づけてあげます。
画面左側メニューの鉛筆マークをクリックして編集モードにします。
で、対象となるパネルをクリックすると、以下のダイアログが表示されます。
ここでは、アドレス30のポイントパネルをクリックしている場合となるので、そのアドレス30を入力して「OK」をクリック。
すると、下図のようにポイントの分岐状態とアドレス番号が表示される。
画面左側メニューの「矢印」を選択して編集モードを解除し、
ポイントパネルをクリックすると、ポイントが分岐し、黄色表示に切り替わります。
これでだいぶ直観的にポイント操作ができるようになります。
他のポイントも同様にアドレス設定し、できあがり。
ここまで、準備作業でした。
おわり
ワンコインデコーダをNEM652(8ピン)に接続する
NEM652の8ピンコネクタを備えているにも関わらず、まだDCC化していない車両をなんとかしたかったので、Nuckyさんのワンコインデコーダでやってみました。
DCC化対象となる車両のどこまでをDCC化するのかで、必要となるデコーダが変わります。
DCC化対象(前提:8ピン接続) | 必要なデコーダ |
ヘッドライト・テールライトのみ | ワンコインFLデコーダ v4.1 Slim |
モーター・ヘッドライト・テールライト | ワンコインデコーダ v4.2 Slim + ワンコインFLデコーダ v4.1 Slim |
冒頭の写真は、モーター・ヘッドライト・テールライトをDCC化する場合のものです。(下がワンコインデコーダ、上がワンコインFLデコーダ)
配線はNuckyさんサイト内の各デコーダの接続図を参照。
Nuckyさんのデコーダテスター の8ピンへ接続し、正常に動作していることも確認できました。
テスターでの動作確認がとれれば、あとは車両に組み込むだけ。
この8ピンコネクタもNuckyさんが頒布されているものです。
●ヘッドライトの点灯ヨシ!
●テールライトの点灯ヨシ!
動画はないけど、モーター制御による動作もヨシ!
ただ、スロットルへのモーター反応がいまいちだったので、CV2(スタート電圧)の値を 15 に変更しました。(デフォルトの値は0)
ワンコインデコーダをモータ制御で導入したのは今回が初めてでしたが、BEMFや、CV3(加速率)、CV4(減速率)が未実装であることを今更知りました。加減速率はスピードテーブルをいじることである程度補間できるものなのかなぁ。そもそもスピードテーブルの格納されたCVはいじらないように記載されているのでやめておこう(笑)
ジリジリ進む低速走行が安定するようなチューニングが可能なのか、ちょっと調べてみよう。
おわり
(HO) KATO E5系のDCC化
DCC化の方針
DCC化といっても、どこまでデコーダ対応とするのか、またサウンドは搭載するかの選択肢があります。私の場合は、購入してから数年アナログのまま放置してしまっていたE5系をDCC環境で動くようにしてあげたい、というのがいったんの目標となるので、以下のようなDCC化とします。
- ヘッドライト・テールライト
⇒ ワンコインFLデコーダでDCC化する。 - モーター車
⇒ DigitraxのDZ126デコーダでDCC化する。 - 室内灯
⇒ デコーダ経由せず、集電から直接給電により搭載する。 - サウンド
⇒ 搭載しない。というか、現時点で新幹線のサウンド搭載をどのようにすればいいのか分かっていない。。。
作業対象は、KATO E5系「はやぶさ」の4両基本セットです。
中間車の加工
まずはデコーダ搭載のない、中間車への室内灯LED搭載から。
室内灯については、 デコーダを介さずにレールからの直接給電とすることにしたので、下の写真のように、
レール(片側) ⇒ ブリッジダイオードのプラス端子 ⇒ (電解コンデンサ) ⇒ テープLED のプラス端子
と接続し、テープLEDの回路を一周して
テープLEDのマイナス端子 ⇒ (電解コンデンサ) ⇒ 定電流ダイオード(CRD) ⇒ ブリッジダイオードのマイナス端子 ⇒ レール(もう片側)
という感じ。
ちなみに使ったパーツは以下の通り。
- テープLED:アマゾンの「両端子 5M 12V 非防水 1チップ 薄型 LEDテープライト (電球色/白ベース) ¥ 390」
- ブリッジダイオード:S1NB60(7101)
- 電解コンデンサ:470μF/25V
- 定電流ダイオード:E-103 ※手持ちで余っていたのを使っただけです
なおこの構成とするにあたって、いろいろネットで調査しました。
特に参考になったのはこちらのサイトです。
The Nameless City: テープLEDを16V DCCでテストする
ハンダ付けし、DCC電流流したら光ってくれました。わーい。
テープLEDは、そのまま屋根に貼っ付け。
レール側からの給電経路は、この車両だけヘンな実装です。
というのも、KATO純正の室内灯では、下の赤/黒線の付け根のとこで集電板をがっちゃんこして集電するようだったので、同じようにそこから集電したくなり、またピンコネクタがうまいこと同じサイズだったので取り外しできるようにしてます。
とはいえ、これでそれっぽくなりました。
先頭車の加工
先頭車には、ヘッドライト/テールライトがあるので、デコーダ搭載と室内灯のふたつを施していきます。
デコーダはNuckyさんのワンコインFLデコーダ(DIP版)を使います。
座席シート?を外すと、このように基盤とLEDがあります。
基盤を外し、プラスとマイナスの給電を変えることで、ヘッドライトとテールライトが切り替わることを確認。いわゆる両極性に対応したLED実装ってことと理解。そのため、ワンコインFLデコーダ(DIP版)でそのまま使える。
デコーダはこの板の上に配置する予定なので、板下の集電板からデコーダへの線(In)と、デコーダからLED基盤への線(Out)を通すために、ピンバイスで小さい穴をあけた。
線を通して、裏側から見るとこんな感じ。
表側に戻って、デコーダの設置状態はこんな感じ。
デコーダ搭載は以上。
続けて、室内灯の設置。
KATO純正の室内灯を利用する場合、集電板を写真のように隙間を通すようだったので、なんとなくマネしてみることに。銅板をカッターで切って接続。
テープLEDの各種パーツでは、パーツ同士を直接ハンダ付けしていくという初めての対応。なぜそうしたかと言うと、いろいろと参照したブログにて、皆さんこんな感じでやっているようだったため。
中間車と同様、テープLEDは屋根にそのまま貼り付け。
ヘッドライト、ヨシ!
テールライト、ヨシ!
がんばってデコーダ搭載したけど、光り方が控えめでちょっと物足りない。。。
(アナログ時も同じ光り方だけど)
モーター車
こちらも、モーター用のデコーダ搭載と室内灯搭載のふたつ施します。
利用するデコーダは、とある都合によりワンコインデコーダではなくデジトラックスのDZ126です。
この車両は、モーターが台車にくっついているタイプです。前後に同じやつ。
モータへの入力が、台車内で完結していますが、このようにほそっちょろい集電板が刺さっているだけなので、ピンセット等で引っこ抜きます。
引っこ抜いたとこ。
ここまでくれば、デコーダのモータ出力とハンダ付けしていくだけです。
一点注意として、このモータ付き台車は前後で向かい合って搭載されるため、プラスとマイナスを互い違いに接続する必要があります。そうしないと、前方台車は左側へ進行、後方台車は右側へ進行し車両は動かない、なんてことになります。
ハンダ付けしたらちゃんと絶縁しましょう。
写真ではたんなるマスキングテープですが、撮影後にカプトンテープへ変更してます。
運がいいことに、デコーダは座席床下のこの場所に格納できました。
室内灯は、他車両と同じように対応するのみです。
かんせーい
ということで、4両基本セット分が完了です。
今後の予定
ここまでやると、なんだかんだでサウンドが欲しくなるものです。
おわり
ワンコインデコーダ4.2 スリム版 でけた。
仕事がひと段落したので、数週間前に頒布頂いていたワンコインデコーダ等の組立てをようやく行えました。
通販時の良くない癖で、気になったものをついつい追加購入してしまったものを含めて、組み立て&動作確認してみました。
まずは DCC Decoder Tester を作成(Nuckyさんのやつ)
最初に作ったのは、ワンコインデコーダを今後利用していくにあたって便利そうなこのテスター。
必要なパーツは、事前に秋月電子のネット通販で購入しておきました。
ぬっきーさんのサイトを見ながら、特に悩むことなく完成。これで、今後のワンコインデコーダ作成後の動作確認が楽になるはず。
このテスター自体の動作確認をしたいのですが、手元に対応したデコーダ(ワンコインデコーダ or NEM652ピンのデコーダ) が無く、このあと作るワンコインデコーダでもって確認するしかありません。
ワンコインデコーダ4.2 スリム版 作成
作り方はぬっきーさんのサイトにて、かなり詳細に記載してくれています。電子工作の知識が無いものにとって、各電子パーツの説明や極性有無の説明はかなりうれしい!
web.nucky.jp上記サイト内にぬっきーさん自身による作成動画もあるので見ましょう。
で、ぬっきーさん情報をもとに作成を始めます。
マスキングテープで貼り付けて・・・
はい出来上がり。初めての表面実装パーツだったたので、1時間くらいかかりました。。。疲れた。ルーペ越しに見てもハンダの状態がよく分からなくてキツいすね。
100円ショップかなんかで買ったスマホ用のマクロレンズで撮影するとこんな感じでした。ピントの合う範囲が狭すぎるw
PICマイコンへのプログラム書き込み
ハンダ付けが完了したら、先日作成した Smile Writer COMBO-P を使って、ワンコインデコーダ上のPICマイコンに対してプログラムを書き込みます。
上述サイト内の「サンプルソフト」チャプタにある「HEXファイル」をダウンロードし、PICkit2 で書き込んでいきます。書き込み前に、デバイスが正常認識されること、ブランクチェックで正常なことを確認し、HEXファイルをインポートして「Write」。
おっしゃ、正常終了!
動作確認
まず最初に、CV値の読み出しをできるかを確認しました。しかし、最近メインで利用している DSshield には、CV読み出し機能が無く、あれーどうやればいいんだっけと悩む。
よくよく思い返すと、CV値の変更はCV3のアドレス変更くらいしかやったことありません。その際に何を使ってアドレス変更していたのか思い出し、たしか ECoS2 だった気がする。
で、以下の画面の通り、CV値を読み取りが正常に行えました(CV1の値が3。つまり初期アドレスが 3 となっている)。ちなみに画面右上の「XL」と「Paged Mode」 がチェックONになっていますが、OFF でも読み取りできています。
CV値読み込みができたので、続けて、冒頭で作成したデコーダテスターを使います。
ワンコインデコーダを4ピンのとこに差し込み、Bトレ用M車から引っこ抜いたモーターを接続。ECoS2でアドレス3を指定してスロットルを上げると、モーターもあわせて回転してくれました。よかった。。。
ちなみに正常に動作したワンコインデコーダは2枚目でした。最初に作った1枚目は、Reverse時にはモーターが正常動作するのに、Forwardにすると無反応という状態でした。この時にはまだ、デコーダがおかしいのか、テスターがおかしいのか切り分けできていなかったため、ワンコインデコーダ2枚目をつくることで切り分けました。
2枚目の正常動作により、テスターは正常であることが確認できたので、1枚目のワンコインデコーダがNGと判明。ハンダ付け箇所を何回も見ましたが、どこが悪いか特定できず。
Forwardのみおかしいという事象を考えると、抵抗やダイオードなどは正常、PICも書き込みできているので正常か。進行方向によって処理が異なるパーツは何かを考えると、モータ制御をおこなうフルブリッジドライバが怪しいと考え、この全8ピンのハンダ付けをやり直しました。すると運良くあたったようで、Forward 方向でもモータが正常動作するようになりました。よかったよかった。
ということで、無事にワンコインデコーダを作成できました。
このデコーダは、Bトレの車両に搭載していきたいと思います。
おわり
Smile Writer COMBO-P でけた。
DCCfestaでスマイラーさんより頒布頂いた Smile Writer COMBO-P を組み立てました。何を隠そう、基板上にパターン以外何もない状態から組み立てるのは相当久しぶりです。(小学校の図工とかそんくらい以来。
さぁ、完成するのでしょうか。
組み立て
まずはパーツ全体。おいつじる、なんとかなりそうかい。
スマイラーさんからは回路図と完成写真、そしてNuckyさんのSimple PICKit2 をベースにしているとのことで説明ページを見ながらで、特に悩むことなく作業は進められました。
今回、抵抗器がそこそこの本数あり、抵抗値ごとに分別するのだけど、もはや肉眼だと色が分かんない・・・。特に、紫~茶色~赤 が分かりずらかったので、以下写真のようにスマホで撮影して二重チェック。
ということで、たんたんとハンダ付けして無事に完了。3時間くらいでしょうか。
気を付けたことは主にスマイラーさんからの注意事項と同じで以下の通り。
- USB Mini B のピンがとても小さく密集しているのでハンダ付け時注意
- LED3色分の極性 ※今回頒布頂いたもの固有の可能性あり
PICkit2ソフトウェアのインストール
完成したら、Nuckyさんの以下サイトを参照し、Windows PC へ PICKit2のインストールとデバイス定義ファイルのUpdateをします。
PCとのUSB接続
端子をよく見てなかっただけですが、USB micro-B と勘違いしていました。正解は以下写真の通り、USB mini-B です。ちょっと古めのデジカメや、ソニーの携帯ゲーム機PSP(初代)で使われてたやつですね。最近全然見てなかったので忘れてました。
なんとかUSB Mini-Bケーブルを探し出し、PCへUSB接続すると Power ランプが神々しく点灯してくれました。
デバイスとワンコインデコーダの認識
PICkit2 Programmer を起動し、Tools > Check Communication を実行すると、以下写真のように全LEDが点灯し、なんかうまくいってそうな雰囲気です。
残念ながら、現時点では、ワンコインデコーダの基盤と必要な電子パーツが頼んだばかりで手元に無く、プラグラムの書き込みまで試せていません。
と思ったのですが、DCCfestaでにこまつさんに頂いたワンコインデコーダが1つあるのを思い出したので、とりあえず挿してみました。
Device として、きちんと「PIC 16F684」と表示されました、よかったよかった。
今日の作業はここまで。
おわり
DCCfesta2018に参加しました
10/6(土)にDCC電子工作連合さんのDCCfesta2018へ参加してきた。
鉄道模型系イベントはこれまでも、ビッグサイトのJAMや蒲田のやつなど、ひとりで見に行ってました。けれど、あくまでひとりで参加し、これと言って誰かと会話することもなく帰宅していたので、今回のように鉄道模型好き、しかもDCC好きな方々とたくさん話し、いろんな経験談を聞くことができ非常に楽しかったです。
会場は浅草のロクハンさんショールームで、Zゲージの大きなジオラマがありました。
これまでZゲージはあまり気にしていなかったけど、レールのバリエーションが多くて驚いた。カーブポイントやダブルスリップ,ダルクロスと揃っていて羨ましい。HOユニトラックも頑張ってちょうだい。
イベント内容については、主催された DesktopStation のYaasanさんブログをご覧ください。
デコーダ取り付けサポート教室
会場ではデコーダ取り付けサポート教室に参加してきました。自分が持って行ったのは、KATOのE5系基本セット(HO)で、デコーダはDigitraxのDZ126というやつ。まずはM車のみが取り付け対象です。みなさんには「これZ用のやつじゃね?アンペア足りっかな?」と心配されて、こっちも心配になったものの、説明書を見ると「1.0Amp / 1.5Amps Peak」と書いてあり、E5の台車モータはそんなに電力食わないからまぁ大丈夫だろうとのお言葉をいただきホッ・・・。
で、なんやかんやとアドバイスを頂きながら、デコーダの取り付けと、DS BlueBoxでのCV値読み出し処理の正常完了まで終えることができました。
ただ、ケーブルのどこかが座席/床パーツに干渉してキチンと閉まらなかったので、のちほど直す必要がでちゃいました。
作業後、ケースにしまおうとしたらボディがきちんと閉まっていないため、発泡スチロールケースに収まらずに泣いていたところ、優しいお兄さんが助けてくれてうまいことやってくれました。シキのお兄さんありがとう!
懇親会
その後懇親会と2次会に参加。参加者のZやNの車両にデコーダやスピーカを組み込んだ実物を見ながらの飲酒は楽しかったーー。
席中、スマイラーさんより出来立てほやほやの「Smile Writer COMBO-P」キットを勢いで購入させて頂きました。NuckyさんのOneCoinデコーダのPIC書き込みをするものらしい。まさにこれからOneCoinデコーダに手を出そうとしていたので、渡りに船。
これまた席中に、にこまつさんからOneCoinデコーダ(Type-P)2つを頂いてしまいました。お二方ありがとうございました。
電子工作はまだ入門者ですが、ゆっくりと組み立てていきます。
おわり
スイッチバック(1)-3:DesktopStationスクリプト
とりあえず動かしてみる
ひとつの車両が、ひたすらスイッチバックを繰り返すスクリプトを作成し、動かしてみた。ゴチャゴチャしてますが、線路上のDD51のみ動きます。
DSの設定
DesktopStationソフトウェアのオプション設定は以下にしてます。
- S-88 N のTrain Detector(Nuckyさん製)を利用するので、[S88設定]のS88を使用するチェックをONにする
- DCCポイントも制御するので、[DCC設定]のDCCアクセサリを使用するチェックをONにする
- シリアルポートの設定は、USB接続した Aruduino UNO のシリアルポート番号が何番であるかをデバイスマネージャで確認しておく(下図参照)
[複数スクリーン表示設定]は、フルHD(1920x1080)の解像度があるなら下図のような「4スクリーン」にすることで表示情報量がだいぶ増え、スクリプト作成時に便利。
Loco(車両)とスロットの設定
事前に、ロコとしてDD51(アドレスは51)を登録する。
次に、登録したロコをスロットに追加する。スロットに追加する目的は、イベントスクリプトでの車両指定時に汎用性をもたせることです。
スクリプト内の車両に対するアクションをスロットで指定することで、他の車両(=異なるアドレスの車両)をスロットに入れ替えることで、同じスクリプトで異なる車両を動かすことができます。
下図は、一番左上の「スロットA」にDD51を追加した状態。
ただ将来的には、車両ごとにファンクションナンバーが異なる場合が出てくると思うので、車両によって警笛のファンクションナンバーが違うといった場合には、何らかのフラグなど使って制御が必要になりそう。
EventScript
動画のスイッチバックの動きを実現させているスクリプトは、以下A~Fの6つのイベントから成り立ってます。
- A:3進入
- B:2進入
- C:電源ON ※本来な
- D:5進入
- E:6進入
- F:7進入
上記の数字ですが、以前の記事で書いた以下の「検知区間①~⑦」を指しています。
つまり、A「3進入」のイベントスクリプトは、上図内左下の検知区間③に進入した場合の処理を書いています。各イベントの内容は以下の通り。
- A:3進入
- B:2進入
- C:電源ON
- D:5進入
- E:6進入
- F:7進入
スクリプトの簡単な説明
- 「N進入」(A、B、D、E、F)の処理ほとんど同じことをやっていて、進入したら停止 ⇒ 10秒後にポイント転換&方向転換&発進。
- [Flag.0]を上り/下りフラグ(値が1の時:下り)として利用し、ポイントの転換をどちらにするか制御する。[KUDARI]というラベルで条件分岐している箇所がそれ。
- 上記のフラグは、折り返しとなる区間2と7のイベントで値を設定するようにしている。具体的には、区間7では下りフラグ[Flag.0 = 1]を立て、区間2では上りフラグ[Flag.0 = 0]を立てている。
- 「C:電源ON」は、このスクリプトの最初のトリガーとするためのイベント。検知区間②~③の間にロコを配置している状態であることを前提に、DSshieldの電源をONにすると区間③へ進入させるため、区間③方向へ発進させる。これにより、「A:3進入」イベントが発生し、その後のイベントへつながっていく。冒頭動画の最初の動きを見てもらうのが分かり易いと思う。
次は、今回利用していない区間1に2両目のロコを配置し、2つのロコが順番にスイッチバックするようにしたい。
参考にさせていただいたブログ
Web Nucky - S88N Train Detector (16 Block)
DesktopStation ソフトウェアサイト内からリンクされている、先人の方々の素晴らしい下記情報たち
箱庭計画11~在線検知とイベントスクリプト~ : エンゼル・エクスプレス
おわり