SSブログ
DCC/MM2シールド ブログトップ
前の10件 | -

ミント缶コントローラ4試作版をいじる [DCC/MM2シールド]

  twayDCCさんからミント缶4の試作ボツ基板?を分けていただきましたので、作ってみました。
  夏は気温が高くて秋葉原の秋月電子に行くのは命の危険を伴いますので、家にある手持ちの部品を流用します。このため、オリジナルと少々異なる出来になっています。
 変更部分は、
・OLED:適当にAliで買った1.3インチ品OLED。老眼の味方!
・C1:電解コンデンサ 220uf→1000uF(Aitendoの中華品)
・SW1:適当な秋月のスイッチ(P-03774)
・タクトスイッチ:秋月のスイッチ→AliExpressで買った14mm品。ケース付けたら足りなさそう 18mmと20mmをAliに注文
・モータードライバ:TB6568KQ→TB6643KQ(たぶんこっちのほうが電流値高い)

 まずは組み立てです。
 twayDCCさんからの注意2点ですが、
(1)「SPIのGNDがつながっていないので、GNDをどっかからつなぎましょう」とのことで、I2C用のジャックから拝借しています。
re_DSC02452.jpg

次に、
(2)「モータードライバの放熱板とDCジャックがショートしないように気を付けて。」とのことで、放熱板の端を切って、DCジャックのはんだ部分と接触しないようにしておきます。
re_DSC02453.jpg

あとの部分は、普通に組立てています。部品点数がとても少ないので組み立ては簡単です。
OLED無しの写真はこんな感じです。
re_DSC02440.jpg

なおスケッチですが、DesktopStationのミント缶のWikiにはr02までありそうなことが書いてありますが、そこからのリンクではr01までしかありませんでしたので、r01を入れました。
で、完成して写真撮ったらいろいろと変でした。(ITガジェット的にはかっこいい見た目だと思いますが。)
re_DSC02442.jpg

 問題は2つあって、
(1)なんかOLEDの黒いはずの部分が縦線のすだれ状に化けている。
(2)以前のDSMainにOLEDを付けたときの問題点を同じで、1.3インチのOLEDだと2ドットX方向に文字や画像がずれる。

ということで、まず、(1)問題の切り分けのため、0.96インチのOLEDをつけてみましたが症状は変わらず、すだれ状の縦線が出てました。ということで、OLED本体ではなさそうと思い、以前のDSMainのOLEDモジュール(I2C版)のソースと比べてみました。
 OzOLED_spi.cppを見ていくと、ClearDisplay関数内が少々違うようで、
---

void OzOLED::clearDisplay()
{

	digitalWrite(cs, LOW);

	for(byte page=0; page<8; page++) {	
	
		setCursorXY(0, page);     
		for(byte column=0; column<128; column++){  //clear all columns
			//setCursorXY(column, page);
			sendData(0);    
		}

	}
	
	setCursorXY(0,0);  
	
	digitalWrite(cs, HIGH);
}
---


と変更したら、すだれ状ノイズはなくなりました。

次に、1.3inchOLEDで2ドット画像がずれる不具合ですが、以前と同じ対策を入れたら、もっと表示がぐちゃぐちゃになりました。試行錯誤して、直った方法が以下です。(以前にDSMainでやった方法は一部間違えていたようで、そのままのやり方では画像がより変になってしまいました)
---
void OzOLED::setCursorXY(byte X, byte Y){
	// Y - 1 unit = 1 page (8 pixel rows)
	// X - 1 unit = 7 pixel columns

    sendCommand(0x00 + ((FONT_WIDTH*X + 2) & 0x0F)) ; //set column lower address
    sendCommand(0x10 + (((FONT_WIDTH*X + 2)>>4)&0x0F)); 	//set column higher address
    sendCommand(0xB0 + Y); 					//set page address
	
}
---


ということで、めでたく完成です。
re_DSC02454.jpg

次はこれにオリジナルケースをつける検討でもしようかなあと思います。
(いつになることやら)

そうそう、あとAliExpressで買った1.3インチのOLEDは2個中1個動作がおかしく、よく見たらガラスが割れてて、配線が切れていました。
re_DSC02445.jpg

このため、上側は1ライン置きに不点灯ラインがでるという、こんな表示でした。
re_DSC02443.jpg

コメント(3) 

DSAir人柱キット作成 [DCC/MM2シールド]

 「DSair 人柱様向け第一陣」が届きましたので、久しぶりに表面実装の電子工作をしました。
re_DSC02240.jpg

 Yaasan様の組み立て方の記事を見ながら、半田付け下手じゃないのか?と思っていましたが、今回のは特に抵抗が小さかったです。きれいに半田付けなんてできません。それでも、デコーダに比べて部品の実装密度が低いので、何とかルーペを駆使しながら完成しました。多分半田付けに1時間ぐらいはかかっています。
re_DSC02241.jpg

 FlashAirはヨドバシで買いましたが、16GBが4400円ぐらいで、32GBは4700円ぐらいだったので、貧乏性的にbit単価が安いということで32GBを買ってしまいました。32GBも使う予定が無いという残念な事実は置いておいて。
 で、FlashAirのアップデートはうまくできました。私のPCはLenovoのE420でElecomのカードリーダーを使用して行いました。(本体のSDカードスロットはWin10にバージョンアップした時に認識せず使えなくなってしまったため、USBによる外部接続です)
 なんか、Configファイル内の行数が少ない(MASTERCODEとかLOCKとかいう行が無かった)ことが気になりましたが、「APPAUTOTIME=3000000」を書き込んで、SD_WLANフォルダにHTML?をコピーしたら、ちゃんと動きました。
 なお、Yaasan様の記事にATMega328Pをアップデートしないといけないのかしなくてもよいのかわからない記事がありましたが、私はアップデートしないでも動きました。
 誰かも書いていましたが、緑色のステータスLEDがかなり明るいです。
 あとは表面実装の抵抗やコンデンサが取れそうなので、ケースは必須ですね。

 せっかくなので、動画です。ただし、今近くに車両がないので、SL103スケッチが入ったデコーダ開発ボードを無線で動かすというかなり残念な動画です。
 UIはスピードメーターの針をスライドさせてスピードを変えられるのが、とても素晴らしいと思います。



 
コメント(0) 

DCC/MMシールドとDSOne向けDSjoyスケッチ修正 [DCC/MM2シールド]

 いつの間にか大みそかになってしまいました。皆さん、今年は良い年でしたでしょうか?まあ、人生いろいろかとは思いますが、来年はいい年でありますように、と久しぶりに切に願っております。
 で、タイトルのとおり、DSMainR5に続き、今度はDCC/MMシールド向けDSJoyスケッチの修正です。一応イメージ写真です。
re_DSC02195.jpg
 今までは200msごとに呼んで、複数台のコントローラがあるとウェイトが10msで複数命令をDSCoreに出しておりましたが、こちらも100msごとに呼び一回に一つの命令だけDSCoreに飛ばすように変更しております。一応2つまでS88Masconはつなげるようにしておりますが、ArduinoUnoの三端子レギュレータで12V→5V変換をすると、手で触れないぐらいの熱さになりますので、あまりお勧めしません。
 DCC/MMシールド向けソースはこちらです。
 DSOne向けソース(DSJoyR2d4)はこちらです。

 

コメント(0) 

DSBasicをMega2560で動かそうとしたが・・・。 [DCC/MM2シールド]

 ほぼこれは1年ぶりの話になります。
 DSBasicはArduinoだけで自動運転するために、ArduinoUnoにキーボードとモニタをつけてBasicのプログラムが動くという、かなり夢のデバイスだったのですが、記憶容量が1KByteしかなくて、なかなか、大作プログラムが作れませんでした。
 で、ArduinoMega2560だったらROMなどの容量が4倍あるからいいのではないかとのことで、Megaまでは買ったのですが、熱が冷めてしまい、そこで止まっていました。
 で、このごろ、HOゲージを動かそうとすると、どうも場所が足りないのと出し入れが面倒なので、この際だからHO用の鴨居鉄道でも作ってしまおうかと思って、それだったらついでに閉塞区間と信号機もつけて、そこらへんは自動にしてやって・・・と考えて、DSBasicを思い出した次第です。
 で、まずはMega用に組み立てです。
re_DSC01690.jpg

 Megaでは、VideoOutのピンが変わることが分かっておりますので、そこの部分だけ改造が必要です。
 まあ、9ピンと7ピンが11ピンと29ピンに変更になりますので、Arudinoへつける部分の9,7ピンを切ってしまいます。
re_DSC01691.jpg

 で、Megaに付けて、9ピンと11ピンにジャンパを飛ばして、7ピンからMegaの29ピンにジャンパを飛ばして完成です。
re_DSC01692.jpg

 で、試運転です。スケッチは全く直さなくとも、モニターはちゃんと映るし、キーボードも動きます。しかし、DCCの命令がこけまくります!なんだこれ。
 現象としては、キーボードやPCのシリアルからDSBasicのコマンド、pwr1とかspd5,0,10とか投げても半分ぐらいは無視されます。
 Aruduinoの問題かDSBasic基板の問題かわからなかったので、入れ替え実験をしてみました。
(1)Mega(互換品)を2枚用意して、DSBasic基板を2枚用意して、挿して、DSBasicスケッチで動きを確認。→命令半分ぐらい無視が再現
(2)ArduinoUno(互換品)にDSBasic基板(2枚用意)を挿して、DSBasic基板、スケッチで動きを確認→正常(命令無視なし)
(3)MegaにDSBasic基板(2枚用意)を挿して、DSGatewayスケッチを入れて、DesktopStationから操作する。→正常(命令無視無し)

→(2)(3)からDSBasic基板、Megaともに問題なしが分かって、そうすると、DSBasicスケッチをMegaで動かすと怪しいという風に見えました。
 なんか、SPIがこっそり違うのか?とか勝手に考えて、SPI周り(クロック分周とか、Delayとか)をこそこそと変えてみたりしましたが、全然挙動は変わりませんでした。SSのピン番号は一応違うようですが、Arudinoでは手動のようで、D10使うので問題なさそうですし。
 ということでお手上げです。うまくいったら、プログラム領域を広げてとか思っていたのですが。
 モニターとキーボード捨てれば、普通にArudinoUnoに信号用の制御プログラム書くだけでも構わないと言えば構わないですし・・・。ちょっと寂しいですけど。

DCC/MMシールド向けDSjoyスケッチ改定 [DCC/MM2シールド]

 JoshinにHOのDE10とヨ8000を一緒の予約で頼んだのですが、車掌車が8月にずれ込んでいるため、「予約品は全部そろってから届けます。」ということで、届きません・・・。車掌車はキャンセルしようかしら。
 さて、D1S9様より、DCC/MMシールドでS88マスコンが2個つなぎで動かないと投稿ありましたので、確認しました。ごめんなさい。私のほうでも動きませんでした。
 原因は、多分二つで、
(1)S88マスコンからアクセサリ用に空パケットを送っているのですが、何も考えずにアクセサリの0番を叩きます。で、この命令、本来有り得ない命令なので、DSCoreが誤作動します。(少し前のDSMain用のDSJoyアップデートもこれです)
(2)時間を測ったわけではないので、言い切れないですが、DSCoreを頻繁に叩くと不思議な動き(デコーダがノッキングしながらファンクションを連打したような動き?)をします。
 ということで、(1)変なものを送らない。(2)DSCoreをいたわる。というコンセプトでDCC/MMシールド(DSJoy用)のソースを直しました。ただし、(2)についてはまだチューニング不足かもです。
 こんな感じで、オーバルレイアウトに電車を2両おいて、ワンハンドルマスコン二つを操って、若者にデバッグしてもらいました。
re_DSC01688.jpg

 スケッチはこちらです。
 (追記)コメントに「スピードを0にしても時々止まらないバグを修正」と書いてありますが、修正できていません。止まらないときは一度マスコンで加速(表示スピードを1キロ以上)にしてからブレーキをかけてください。
 
 

DSGateway for DSJoy [DCC/MM2シールド]

 月曜日は年度末の有休消化をしており、家で一人で遊んでました。で、昼飯に、このごろよくテレビで見る蒙古タンメン中本に行ってみようと思い立ったのが午前11時。で、場所を調べてみたら、家の近くにない・・・。町田も川崎も家(藤沢)から1時間程度はかかる→昼飯時→混むかも!といって並ぶのは嫌。ということで、ネットで調べたら、近くのセブンイレブンに中本のカップラーメンがあるということで、買ってきました。で、昼飯に食べました。
 re_DSC01331.jpg
 ちゃんとWikipediaで調べて、辛味オイルも入れて食べました。確かに辛いです。口の中が痛いです。
 味は中国で食べた四川料理と同じような味がしました。青島ビール(のような薄いビール)と合うんですよね。まあ、でも私には辛すぎたので、もういいかなあという感じではあります。カップ麺200円ぐらいだったし、良い経験でした。
 で、本題ですが、短いです。
 DCC/MMシールド向けのDSJoyを作りました。スケッチはこちらです。適当に作ったので、バグとかあるかもです。2個までつなげるようにしてありますが、スケッチを変えると数は増やせます。
 ただし、大切な断りが一つあり、ArduinoUnoの5V供給がぎりぎりのようで、S88 Mascon系を2個つなげたら動作が不安定なのと、ArudinoUnoの5Vレギュレータがかなり熱くなっていました。S88 Mascon側で別電源を用意するか、ArudinoUnoにUSBも挿して5V供給させるといいのかもです。(どちらもやっていないのでわかりません)

びんぼうでいいのを使ってDCC/MM2シールド動作確認 [DCC/MM2シールド]

 aitendoのびんぼうでいいのDCC/MM2シールドR5Dの動作確認をしました。私はずさんで大体一個は壊すので二個買ってます。
 まずは、組み立てました。500円のボードだけでは部品が全然足りなくて、16MHzの水晶や、対応部品パック、ATMEga328P-PUが必要です。Arduinoのブートローダはデコーダ開発ボードから書き込みました。
 で、半田付けはDIP部品なので大して難しくないつもりで始めましたが、はんだ付けをケチるようなランドの円(とてもはんだが載る部分が小さい)のせいで、とてもはんだ付けしにくかったです。また、水晶の近くに表面実装のコンデンサがあったりして、短絡したら嫌だなあとなんとなく気を使います。またSPIの6ピン端子はついていないので、ほかで調達する必要があります。と、結構、安いからと飛びついたら「安いのにはそれなりの理由がある」という当たり前の教訓を得ました。いつも、DCC関連の基板をYaasan様などから頒布いただいてはんだ付けしておりますが、それに比べるとかなりはんだ付けしにくいです。DIPなのにいちいちルーペで半田の盛りを確認しながらやることになりました。
 そして、完成しました、Lチカも成功して、いよいよDCC/MM2シールドと合体させてDCCの確認です。ここで、2個中一個に問題が起きました。DCジャックが入らない!
 左が対応部品パックに入っていた入らないDCジャック、右が秋月で買っていたArduinoで使うのと同じDCジャックです。中心部が太いような気がします。
re_DSC00519.jpg
 仕方ないので、基板を万力に固定して、半田をたくさん盛って、三か所同時に半田ごてで温めつつ外しました。で、盛ったはんだを取ろうとしましたが、はんだ吸い取り線でほとんどとれません・・・。少し前のあやのすけ様の記事を参考にと思ったら、ちょっと違いましたが、半田でふさがったスルーホールを1mmのピンバイスで穴を開けて、正しいDCジャックを強引に入れてはんだ付けしました。
 で、二個ともちゃんと動きました。(車両だけでS88は確認していませんが)
記念写真です。
re_DSC00520.jpg
 こんな苦労するなら、今度からはArduinoは完成品を買おうと思いました。

DCC/MM2シールドR5Dを半田付けする [DCC/MM2シールド]

 なんか、半田付けの記事ばかりのような気がしますが、MP3の表面実装でなかなかだったので、心機一転、今度はYaasan様と物々交換したDCC/MM2シールドR5Dを半田付けしました。こちらは2.54mmピッチなので楽勝と思って適当にやったら大変なことになりました・・・。
 の前に、交換していただいたのは、基板とターミナルブロックでDSCore(書き込み済み)が無い・・・。ヒューズビットとやらも書き込まないといけないらしい。昔、ArduinoでHexファイルは書けますよと言われたような記憶が・・・。
 ということで、まずはデコーダ開発ボードとSmileWriterでATMega328PにDSCoreファームを書き込むため、avrdudeを一生懸命いじりました。なかなか動きませんでしたが、日も暮れたころにやっと書き込めました。途中AtmelStudio入れてみたりとかやってみましたが、書き込めないし・・・。
 参考にしたページは、
(1)ArduinoISPを汎用AVRライタとして使う(2)
(2)Arduinoにスケッチをコンパイルせずに書き込む
で、(1)のページのコマンドを参考にさせていただきつつ、(2)のバッチファイルを流用しています。
出来上がったバッチファイルが以下です。(ソースそのまま)

@echo off
setlocal

rem 書き込み対象の種類 m328p
set ARDUINO_TARGET="m328p"

rem 引数の存在チェック
if "%1" == "" goto usage
if "%2" == "" goto usage

rem write COM3 DSGatewayR217_ATMEGA328P.hex

rem 書き込み指示

rem プログラム
".\hardware\tools\avr\bin\avrdude" -C.\hardware/tools/avr/etc/avrdude.conf -c avrisp -p %ARDUINO_TARGET% -P%1 -b19200 -D -Uflash:w:"%2":i

rem Fuseビット書きこみ
".\hardware\tools\avr\bin\avrdude" -C.\hardware/tools/avr/etc/avrdude.conf -c avrisp -p %ARDUINO_TARGET% -P%1 -b19200 -D -U lfuse:w:0xe2:m -U hfuse:w:0xd9:m -U efuse:w:0x07:m

rem Fuseビット読み込み
".\hardware\tools\avr\bin\avrdude" -C.\hardware/tools/avr/etc/avrdude.conf -c avrisp -p %ARDUINO_TARGET% -P%1 -b19200 -D -U lfuse:r:con:h -U hfuse:r:con:h -U efuse:r:con:h

goto :EOF
:usage
echo Usage: %0 port hex_file

上記を、write.batという名前でセーブします。(メモ帳を開いて、上のソースを貼り付けて、write.batというファイル名で保存します。拡張子を見えない設定にしているとこっそりwite.bat.txtとかになって、全くコマンドプロンプトから使えないです)
 バッチの説明を(適当に)しますと、%1のシリアルを開いて、%2のHexファイルを書き込むのですが、
 まず、プログラムの書き込みをします。
 次に、Fuseビットの書き込みをします。
 最後にFuseビットの読み込みをしてます。別に確認はしておりませんので、目視でビットが正しいことを確認してください。
 そして、上記バッチファイルはhexファイル(今回は、DSGatewayR217_ATMEGA328P.hex)と一緒にArduinoIDEのルートフォルダ(私だと”C:\Program Files (x86)\Arduino”)に置きます。Win10だからなのか「管理者じゃないとダメ」とか怒られますが、管理者なのでかまわずに続けます。

で、コマンドプロンプトを起動して、ArduinoIDEのルートフォルダ(私なら”C:\Program Files (x86)\Arduino”)フォルダをカレントフォルダにします。以下の命令と一緒です。

CD C:\Program Files (x86)\Arduino

とコマンドを打ってEnterを押せば移動できます。
ここで、

write COM3 DSGatewayR217_ATMEGA328P.hex

と打って、Enterを押せば、めでたくATMega328PにDSCoreが書き込まれます。
なお”COM3”はSmileWriterのCOM番号に合わせてください。COM9以降はエラーが立つかもです。その場合は、"\\.\COM10"のように指定する必要があります。(確かWindowsの仕様です)
re_DSC00483.jpg
で、めでたくDSCore R217が書き込めました。
 次に適当にDCC/MM2シールドを組み立てたらやらかしてしまいました。まずはCN5 ISPのテストピンを上下逆につけてしまいました。仕方ないので半田をいっぱい盛って、6ピンとも半田ごてに当たりつつ融けている状態で引き抜いて、つけなおしました。ピンは半田で汚くなっているので長い部分は切ってしまいました。(もう重ねられない)
 そして、電源を入れたらPowerLEDすらつきません。でも、DCCデコーダは動きます。つまりステータスLEDを三つとも逆にはんだ付けしてました。全部つけなおしたら、一部基板のパターンははがれて断線しました。
re_DSC00484.jpg
 で、まあ、DCC部分はちゃんとやっと動くようになりました。(S88は未確認)
 DCC/MM2シールドR5DはS88のRJ45端子が付いているので、これでいくつか自動運転をやってみたいと思っています。が、今日は力尽きました。



DSmainR5でアナログ車両をVVVF+自動運転 [DCC/MM2シールド]

 ついにタイトルが意味不明になってしまいましたが、そういうのをやってみました。
 その前にいくつかありまして、
・お詫びです。頒布中の昇圧ポイントデコーダですが、現状、パスコンを忘れているという間違いがありますが、もう一つ重大な間違いがありました。D1のブリッジダイオード部分ですが、交流マーク”~”と”+、-”のマークのシルクはあっておりますが、肝心のICのシルクの向きが逆になっております。写真はあっておりますが、はんだ付けの際お気を付けください。(後でWikiは訂正いたします)。売れ行きも・・・ですので、基板の頒布価格を値下げします。500円→300円/枚とします。ご入用の方は、ご連絡いただければと思います。
・お知らせです。スイッチサイエンス様でS88Control基板とS88Detector基板の販売委託を補充いたしました。部品付きセットがご入用の方は、ぜひご購入いただければと思います。
 また、現在すでにS88基板を買ったが、Arduinoのスケッチ書き込みがうまくいかないなどありましたら、こちらでスケッチを書き込んで送付というのも可能ですので、ご相談ください。

 で、本題です。自動運転と言えば(人によって全然違うかもですが)私は、単線すれ違いだと思っています。
 いままで、DCC化した車両で何パターンか試してきましたが、単線の一つの区間には一つの電車しかいないのに、DCC化した車両では、どうしてもスクリプトが複雑になってしまいます。
(左右から列車で来てすれ違いをするのを考えるとき、左から列車Aが来る時と左から列車Bが来るときで車両のアドレスが違うため、どうしても違うスクリプトになるため、場合分けが膨大になり、イベントスクリプトが大きくなる)
 その点、アナログ運転では、左から列車Aが来ようが、列車Bが来ようが制御は一緒(電圧だけ)なので(厳密にいうと、加速減速が違うが)、スクリプト自体を簡単にすることができます。
 今回、下記のレイアウトを作って、アナログ電車の4列車すれ違い自動運転を作ってみました。
re_DSC00429.jpg
 レイアウトは以下のようにセンサ、ポイントを割り付けています。(DSmainR5のレイアウト画面です)。また、DCフィーダーの位置も追記しています。
レイアウト3.png
 関係ないですが、”上矢印”アイコンをクリックすると下記画面になりますが、ここでポイントをクリックすると、ポイントの切り替えができます。
レイアウト4.png
 結構、マニュアル運転するときに便利な機能です。
 今回の制御機器は以下の写真のようになっています。
re_DSC00430.jpg
 基板は右からS88 Control基板、昇圧ポイントデコーダ*2、VVVF対応パルスコントローラデコーダ(とか言いながら、ほぼDSDecR3と同構成を昇圧ポイントデコーダで作り直しただけのもの)
 S88部分ですが、センサは6か所ありますので、S88Contorl基板を1個使用しています。Detectorは6個使用しています。
 昇圧ポイント部分ですが、ポイントは4つありますので、昇圧ポイントデコーダを二つ使用しています。そして、中央のすれ違いポイントは、パルスコントローラをショートさせたくないので、一系統で2ポイントを同時に切り替えています。また、今回のTomixのポイントは、パルスコントローラを逆方向に使うため、旧製品の不完全選択式ポイントでDCCから整流してコントロールするのを考えると多分ショートするだろうと思ったので、わざわざ完全選択式を買いました。安く仕上げたかったので、手動ポイントを買って、旧ポイントマシンを付け替えています。
 パルスコントローラ(パワーパック?)部分は昇圧ポイントコントローラの昇圧部分を取り除いたものにVVVFスケッチをちょっと改造して(状態LEDが点くようにしてソフトウェアシリアルを取っただけ)載せたものです。(つまりDSDecR3でも同様のことはできます。ただし、ドライブ能力はこちらのほうが上です。)このコントローラ、このごろYaasan様がやっている、スマホから遠隔操作できるDesktopStationとDSmainR5とこれを複数組み合わせることで、Tomixの TCSワイヤレスパワーユニット 【N-WL10-CL】と同等以上のことができるようになるので、車両のDCC化が面倒だったり、DCCにはしたくないけど遠隔運転したい人にはありかなあと思っています。複数接続すると、明らかに既製品よりも安いし。改造方法については別記事にします。パルスコントローラなので、テールライト側もヘッドライトが光っていたりして、さて、どうしようかという感じではありますが。
 今回使用の電車はModemoの江ノ電20系、江ノ電新500系、箱根登山鉄道2000系のレーティッシュ塗装、マイクロエースのD51鶴です。Yaasan様のGゲージ蒸気機関車VVVFをみて、もうなんでも有りか?ということで、今回はD51から京急のドレミファVVVF音を出しています。もちろん、江ノ電と箱根登山からもVVVF音を出しています。江ノ電20系はギヤの調子が悪いのか異音が出ています。D51鶴のヘッドライトは豆球なので、パルスで切れないかちょっと怖いです。
 今回のDesktopStation用のレイアウトファイルとイベントスクリプトファイルです。
 イベントスクリプトファイル内のフラグの説明ですが、
Flag2:センサ3,4のところの中間駅のフラグで
 0:反対ホームに列車が到着していない
 1:反対ホームに列車が到着している
Flag3:山頂駅のポイントのフラグで
 1、2:直線側列車が発車する
 3,4:待避線側列車が発車する
Flag5:山頂駅のセンサイベントのビジーフラグで
 0:イベントが開始されていない
 1:イベント中(のため、踏まれてもイベントを開始させない)
Flag4:山麓駅のポイントのフラグで
 1,3:直線側列車が発車する
 2,4:待避線側列車が発車する
Flag6:山麓駅のセンサイベントのビジーフラグで
 0:イベントが開始されていない
 1:イベント中(のため、踏まれてもイベントを開始させない)
 Flag5,6は折り返し駅でのイベント開始して、折り返し運転するとき、同じ列車が折り返しするときはイベント中なので問題ないが、ポイントを切り替えてもう一つの列車が発車する場合は、センサを初めて踏んでしまうので、そこで新たに折り返しイベントを起こさせないためにつけています。
 動画は以下。(長いです)

 江ノ電新500系は他と同じ電圧を出しているにもかかわらずのろいです。
 

DSmainR5の製作 その2 [DCC/MM2シールド]

 まず、S88デコーダーのスケッチを自前のモノに変更した。スケッチはまとめにある(動作など中身は以前とほぼ変わらないがLED点灯時間を短くして、少しだけ省エネにしている)。rudysmodelrailway様のスケッチは完成度が高く、無駄がない。ただそのままではだめ(商業利用不可)なので、転用していた部分だけ作り変えた。と言っても、状態の変数をint の16ビットで表していたものを、int配列に変えて、ECoS用のおまじない部分(30秒後に状態0を送信する?)を削除している(DSmainでは必要ないので)。ポート数はスケッチで可変なので(Ruby様のは16ビットまで)、例えば32ポートや64ポートのお化けS88デコーダーもそのまま拡張可能である(そんなの作るよりデイジーチェーンでいいじゃんという話があるが)。これで、部品セット頒布時にATMega328P-PUにスケッチを書き込み済みにできそう。
 あとは、トミックスのS70レール4本が届いた。これで、センサーレール8本にしてスイッチバックいっぱいの自動運転を作ってみる予定(今まで、4本しかセンサーレールを作っていない)。

 で、本題のDSmainR5その2だが、Yaasan様から、OPSモード対応/ファンクションの定期送信Verを評価用にいただいているのだが、DSCoreを付け替えるついでに、前回、「高級にするにはこうしたらいいのに」と言った部分について改造した。
 まず、バックライト付き液晶を付ける改造。バックライトはLEDで、アノード、カソードともに変な突起になっているので、バックライト基板を改造する。具体的には、下記写真のマジックでしるしをつけた部分に穴をあける。
re_DSC00366.jpg

 ちょうどよいことに配線は通っていないので、Φ2の穴をピンバイスで開けた。この頃はんだ付け時に手が足りないと思って、小さな万力を買っており、役に立った。
 で穴が開いた。
re_DSC00367.jpg
 そして、バックライトを配線する。ちょうどよい具合に、5V、GNDが来ていてPADになっているので、適当に100Ωの抵抗を付けてつないでみた。
 re_DSC00368.jpg
 
 で、完成。ついでに、金属ツマミを付けてみた。プラ筐体に金属ツマミはちょっと違和感があるかも。いや、大丈夫か?
re_DSC00369.jpg

 おまけに、ツマミを付けるための六角が1/16インチなのに、買い忘れてて、mm系六角でやったら、ときどき空回りする・・・。
 それと、斜めからの写真では液晶表示が飛んでしまったので、正面からもう一枚。(斜めからでも人の目からはくっきり見えてる)
re_DSC00370.jpg

 視認性はすごい良い。液晶の下側が少々見えているが、この理由は、液晶がバックライト分厚くなったせいで、液晶基板とmain基板が干渉してしまい、もうちょっと下に持ってきたいのにできないため。
 そして、もう一つ、大型ツマミも買ってみたが、こっちは全然ダメだった。何がダメって、ツマミが大きくて、線路電源Onボタン([>]/■)が隠れる。
前の10件 | - DCC/MM2シールド ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。