So-net無料ブログ作成

VVVF+メロディにヘッドライト、テールライトファンクションの追加 その1 [ds-DCCデコーダ]

 このごろ、BEMF実験、Sound Option 12V実験とちょっとやってやめてと、やり散らかしている感があるが、もう一つ、始めた。
 スマイルデコーダには、A4,A5の二つのPADが残っている。(厳密にいうとスマイルコネクタ部分の端子もスルーホールで出ており使用可能)
 いままで、デコーダをKatoのEM13(動力車用デコーダ+α)のような使い方をしてきたが、6両編成の列車を4編成ぐらい同時に動かしたら、よくあるレンタルレイアウトでの長編成を走らせました動画のように、列車の車輪が立てる音が大きく、VVVF音とかほとんど聞こえない。鉄コレ1両で走らせていたほうが、音が聞こえて楽しい。でも、ヘッドライト/テールライトが点灯せず寂しい。
 ということで、ヘッドライト/テールライトを光るようにしようと思った。
 まずは鉄コレのライト点灯のため、トキドキ鉄道模型 様のページを参考にすることにした。
 使う電車は、岳南鉄道のモハ1107(鉄コレの第8弾を衝動買いで箱買いして、放置されていたもの)で、ヘッドライトが上の方に一灯あるから、これは作り方が一緒だから行けると思って始めた。岳南鉄道って富士山の麓にある鉄道なのね。
 まず、Keep Aliveコンデンサ付きのスマイルデコーダを入れる想定で、ボディとガラスを削った。
DSC00144-1.jpg

 ここまでは詰まっていない。
 次に、ヘッドライト、テールライトをつけるために穴をあけることにした。あれ、ピンバイスがない・・・。仕方ないから100均で買ってきた1㎜の穴があけられるドリルで穴をあけた。あーあ、ずれてるし穴が小さい・・・。
DSC00145-1.jpg

 次にテールライト。こっちは、ヘッドライトほどおかしくないような気がする。
DSC00146-1.jpg

 そして、次は、田宮の2㎜のTAMIYAの透明ソフトプラ材、2mmをあぶって細くして、つけるだけで、トキドキ鉄道模型 様は難しくないと書いている。
 で、まず、台所のコンロの火でやってみた。柔らかくなった瞬間に切れた。おまけに手が熱い。
 次にドライヤーでやってみた。なんかいつまでやっても細く伸びるほど柔らかくならない・・・。
 ということで、なんか、大昔(子供のころ)蝋燭であぶってやるというような説明があったことを
思い出し、蝋燭でやってみた。(確かそのプラモは空母かなんかで、飛行甲板の周りすべてに柱?を立てなければいけなくて、説明書にランナーを火であぶって細くして、作ってくださいみたいなことが書いてあり、一本やって、ふにゃふにゃのができて、挫折したという思い出)
 で、まあ、写真のようにコツもわかってきて細くはできた。でも、細すぎた。たぶん、この作業は私には難しいんだろうなあと思った。ネットで調べたら各種直径のプラスティックファイバーが売っているので、そちらにしようと思った。
 DSC00147-1.jpg
 今日は子供と一緒に留守番で外に出れないし、買いに行けないし、この作業はまた今度近いうちにすることにしようと思い、Arduino側のスケッチの点灯部分を作ることにした。
 その時の配線は、写真のようにまずはブレッドボードでヘッドライト一灯、テールライト二灯とした。
DSC00148-1.jpg
 
 配線は、decoder Development Boardとつないでおり
5V → 200Ω → 白色LED → A4 (順方向側ヘッドライト)
5V → 100Ω → 赤色LED → 赤色LED → A4 (逆方向側テールライト)
5V → 200Ω → 白色LED → A5 (逆方向側ヘッドライト)
5V → 100Ω → 赤色LED → 赤色LED → A5 (順方向側テールライト)
とした。まあ、実際の配線はすごいことになりそうな予感がするが。
 スケッチはこちら
 まあ、ブレッドボードでの実験なので、デバッグしたら動いた。動画は以下。


 使い方は、
・F0でライトOn/Offする。
・方向を変えると、逆側のライトがOnする。
という、何のひねりもない動作である。
 本当は停止時のヘッドライトは暗く点灯とかやってみたかったのだが、今のままだと、テールライトも一緒に暗くなる。どうしようか。

コメント(12)  トラックバック(0) 

コメント 12

あやのすけ

こんにちは、最近 Smile decoderを始めました。

本日、DSDCCDecoder_VVVF_k94_melody.ino のスケッチを使って、初めて車両に組み込んでみました。
一応うまく動きました、素晴らしいスケッチありがとうございます(^_^)

さてDCCのコントローラはDCS50Kを使っているためか、
線路電源を入れるとメロディが鳴りだして、あらかじめ速度を入れておくとメロディが止まったら、加速、停止すると、自動にメロディがなるという動きになりました。

デコーダー開発ボードも合わせて買ってあるので、デバックログをみてみようかなと考えています。

https://www.youtube.com/watch?v=v4tLkM6FdYk
by あやのすけ (2015-09-06 21:34) 

fujigaya2

初めまして。
コメントありがとうございます。

私が所有しているのはDSMainR4で、
DCS50Kの動作させたことがないのでわからないのですが、
(1)メロディの発動条件は速度0で
Funcitonパケットを受け取り、(extern void notifyDccFunc( uint16_t Addr, FN_GROUP FuncGrp, uint8_t FuncState)が呼ばれる)
F5(ドア開閉音)はOff→On、On→Off
F6~F9はOn
の時です。
(2)また、DSMain系はDCCのパケットのうち、速度は再送するそうですが、それ以外(Funciton、アクセサリ)は再送しないというようなことを聞いたことがあります。
DCS50KはFunctionを定期的に再送するようです。
http://blog.goo.ne.jp/katsuraan/e/12df835034681874c429f7d275671fb7
と考えると、
線路電源On時にF5~F8のどこかがOnされていると、メロディーがなります。
その状態で、速度を入れると、メロディ終了で、列車が動き、停止させると
DCS50Kの場合はここでFunctionパケットをもらって、またメロディが鳴り出すという感じでしょうか?
DSMain系はFunctionパケットを再送しないから上記notifyDccFuncが呼ばれないため鳴らない?と思います。(本当か?)
デバッグログを取るなら、
上記notifyDccFuncが呼ばれたときにSerial.printlnでログを書いてやれば
良いかと思います。

すいません、あと、リンクのyoutubeは非公開で見れませんでした。
よろしくお願いいたします。

by fujigaya2 (2015-09-06 23:29) 

あやのすけ

こんにちは。
DCS50K用に処理部分を変えないとうまく処理ができなそうですね。
以下のように仕掛けた所、

extern void notifyDccFunc( uint16_t Addr, FN_GROUP FuncGrp, uint8_t FuncState)
{
// デバッグメッセージ
Serial.print("FuncCmd:");
Serial.print(FuncGrp);
Serial.print(" State:");
Serial.println(FuncState);


線路電源ONさせると・・・

Ready
FuncCmd:1 State:0
FuncCmd:2 State:9
FuncCmd:1 State:0
FuncCmd:2 State:9
FuncCmd:1 State:0
FuncCmd:2 State:9
FuncCmd:1 State:0
(ずっと垂れ流し)

今日は、日が変わってしまったのでまた週末にでもソースを眺めてみます

映像の設定を直して、公開にしました。
https://www.youtube.com/watch?v=v4tLkM6FdYk

by あやのすけ (2015-09-07 00:08) 

fujigaya2

youtubeの動画見ました。

最初にドア開閉音F5が流れて
次に七夕様F8が流れているので
デバッグメッセージ通りですね。”State:9"
F5はF8よりも優先されるのと、Off→On、On→Offのタイミングだけなるので
一回流れると、状態遷移しないと流れないようになっているので、
次からはずっとOn状態のF8だけが流れるし、スピードを0以外にするとメロディーは止まるので、スマイルデコーダの動き的には合っています。
DCS50KのF5,F8をOffすると、デバッグメッセージが
どうなるのかがちょっと気になります。

by fujigaya2 (2015-09-07 22:48) 

あやのすけ

こんにちは、

yaasanが作られた、DCCモニタを使って、眺めてみました。
DCS50Kは、常に下記3つのコマンドを定期的に送信していました。
F0はライトのON/OFFなので、線路電源ONでライトがつくように、F0をONにしているようです。

ADR:3,FNC(0-5):10
ADR:3,(128 Step) DIR:REV,SPD:0
ADR:3,FNC(6-12):1001000000

DCCモニタ用にもう一台、デコーダー開発ボードがあると便利かも(^^;

by あやのすけ (2015-09-09 00:34) 

fujigaya2

こんばんは。

DCCモニタの見方がわからなかったので
私もデコーダ開発ボードにYaasan様のDCCモニターを入れて、
DSMainR4で適当に動かしながらDS DCCモニターで見てみました。
最初DSCoreにR208を使っていたため、うんともすんとも言わない結果に・・・。
(Kato FL12は動くようになったが、何か他社のデコーダが変になるらしい)
で、DSCoreをR211に変更したら、普通にモニターできるようになりました。

ADR:3,FNC(6-12):1001000000
ですが、
DSMainR4で同じ状態を作ると、F5,F8がOn状態ですね。
全部Offだと
ADR:3,FNC(6-12):0
と表示されます。

ADR:3,FNC(0-5):10
ですが、
こちらはF1がOnのようです。

あとは、DSMainR4はファンクションパケットは再送しないようですね。

です。

by fujigaya2 (2015-09-09 22:28) 

あやのすけ

こんにちは。
DCS50Kは、前回の値を覚えているらしく、線路電源を入れると、ファンクッション命令が送信されてきました。

そこで、自動に音楽が鳴るのをやめて、
F1、F5〜8を押す(受信)と音楽が鳴るようにしました。
デコーダー開発ボード上は良さそうなので、明日車両にくみこんでみます。


by あやのすけ (2015-09-13 00:27) 

fujigaya2

こんばんは。

DCS50Kの挙動が分かりよかったです。
車両でのご確認ができましたら、またご報告いただければと思います。
by fujigaya2 (2015-09-13 21:05) 

あやのすけ

こんにちは。
土日時間がとれましたので、いろいろやってみました。
自分のサイトにまとめてみました。
http://1st.geocities.jp/dcc_digital/sd2train.html

動画を作ったり、webページを作るのに時間がかかっているというw
by あやのすけ (2015-09-13 23:08) 

fujigaya2

こんばんは。

ホームページ拝見いたしました。
まとめるのって大変ですよね。
(わたしもそのうちまとめようと思います。
昔の記事を追いかけないと使い方の全貌がわからないという、
いまいちな状態ですし。)

ところで、私はDCCコントローラの既製品持っていないのでわからないのでお聞きするのですが、
DCCのサウンドとかメロディーの動作は、プッシュボタンのような動作なのですか?
一般的にそうなのでしたら、ちょっとスケッチをどうするか考えようかと思います。

by fujigaya2 (2015-09-14 21:52) 

あやのすけ

こんばんは。
>昔の記事を追いかけないと使い方の全貌がわからないという
あ、私は途中参加でしたのですごく思いました(^^;
情報が日記として上がっていましたので、端から端までチェックしましたw

>DCCのサウンドとかメロディーの動作は、プッシュボタンのような動作なのですか?

DCS50Kの写真があります。↓
http://1st.geocities.jp/dcc_digital/dcs50k.html

コントローラにファンクッションボタン「0〜9」が付いていますので、
ぽちっと押すとコマンドが発行されます。
(そのビットのトグルですけどね)

ちなみに、DCS50Kってちょっとイマイチで、別の車両に運転を変えるときはアドレスを指定するのですが、アドレスを変えた瞬間に
マスコンの位置がそのまま送信されるので、逆走したり急発進してしまいますw

by あやのすけ (2015-09-14 23:57) 

fujigaya2

こんばんは。

日記の端から端まで見たとのことですいません。

DCS50Kは、物理的にはブッシュスイッチだけど、ファンクション自体はトグルだということですね。DesktopStationソフトのスイッチ動作はトグル系なので、動作は、とりあえず、今のままにしておきます。
by fujigaya2 (2015-09-16 21:59) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0