デジタル鉄道模型フォーラムのご案内:
DCCやメルクリンなどのデジタル鉄道模型を楽しむ方が集まって、様々な話題でコミュニケーションできる場です。ぜひご登録ください!登録・利用は無料です。

2018年11月03日

DSmainR4以前のユーザーへのアップデート割引

DSmainR4以前をお持ちのユーザー向け(DSmainR5, DSmainR5.1に、アップデートプランを提供させていただきます。

DSmainR2_2.jpg

■提供目的

DSmainR4以前はDesktopStation初期の製品であり、重要な時期を支えていただいた方への恩返しとして、大幅値引きで提供させていただきます。
DSmainR2は、2014年の製品であり4年以上経過していることから、新製品にアップデートしていただきたいと考えております。8000円引きの根拠は、DSmainR2を8000円で販売したからです。

■対象ユーザー

・DSmainR1〜DSmainR4を購入されたユーザー
・DSmainR5, R5.1の保有の有無は問いません

■提供するサービス

DSmainR5.1C2 OLED KITを22800円から、8000円引き。14800円となります。

■提供期間

11月3日〜11月11日

■購入方法

DSmainR5.1 KITをDesktop Station Shopで購入申し込みの上、「銀行振り込み」で指定の上、購入申し込みしてください。備考欄には、いつ、DSmainR4以前の機種を購入したかを記載願います。こちらの販売記録と照合いたします。Paypal希望の場合は、Paypalで支払いの旨を記載願います。

銀行振り込みで購入申し込みしていただかないと、Paypalで実際の支払いに進んでしまいます。こちらで割引処理をさせていただくため、いったん支払い方法を「銀行振り込み」とさせていただきます。

※購入時期が曖昧の場合は、お名前と住所で照合させていただきます。
posted by yaasan at 20:25 | Comment(0) | 鉄道模型

DCCのCV読み出しの仕組み

DCCコマンドステーションには、デコーダの設定情報であるCVを読み取る仕組みがあります。DCC自体は、コマンドステーションからデコーダに命令を送るだけの仕組みしかありません。

ただし、DCCの規格を管理しているNMRAとしては、いくつかの追加の機能で、デコーダの情報を読み取る仕組みを規格として2つ定めています。

(1) CV ackによるCV値の読み出し
(2) Railcom(BiDi)

ここでは、欧米問わず、間違いなく搭載されている(1)のCV ackによるCV値の読み出しについて解説していきます。

CV ackは、デコーダが搭載された車両が一瞬、微動する挙動があると思いますが、60mA以上の電流を消費した場合はCV ackが成立した、という意味になります。

CV(サービスモード)に関する規格書s-9.2.3_2012_07には、特にCV値を読み取るための仕組みは記載されていませんが、CV BIT MANIPULATION機能のBit Verifyを使うと、実はCV値を読み出すことが出来ます。

bit_manipulation.png

CV値は8bit(1バイト、0〜255の範囲の値)のデータの大きさなので、8回、Bit Manipulationを行って、CV ackの反応を8回見ると、反応があるときは1、反応が無いときは0とすると、2進数の00001111などと復元でき、10進数に戻すと15、と読み替えることが出来るわけです。

コマンドステーションは、こうやって、CV値をデコーダから読み出しています。

では、デコーダ側ではどうすれば良いかというと、CV ackに対応する回路やソフトを作り込む必要があります。

■ CV ackの回路の作り方

MP3デコーダやワンコインデコーダでは、モータを繋げて動かすことが前提ですので、モータを動かすことで代用しています。もし、モータが無いデコーダではどうすればいいか?トランジスタ出力回路と抵抗を付けて、電流をダミー消費する回路を作るしかありません

Untitled.PNG

■ ソフトの作り方

自分で1からソフトを作る場合は、お任せですがMP3デコーダなどで使用しているNMRA DCC Libraryを使用する場合は比較的簡単です。PIN_CVACKには、ピン番号を入れて下さい。

// This function is called by the NmraDcc library when a DCC ACK needs to be sent
void notifyCVAck(void)
{
analogWrite( PIN_CVACK, 255 );
delay( 8 );
analogWrite( PIN_CVACK, 0 );
}

posted by yaasan at 18:11 | Comment(0) | 鉄道模型