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

2018年02月06日

Flash Airのサイトに掲載してもらった

無線LAN機能と、なぜか高機能なLuaインタプリタが搭載されたSDカードのFlashAirの中の人に、先日ここでご紹介したFlashAir&DCCの運転を報告して、ユーザープロジェクトとしてご紹介いただきました。

FlashAir_UserPrj.png

チュートリアルも紹介していただけると言うことで、これから少しずつ書いていこうと思ってます。

FlashAirは、大手電機メーカーらしからぬ(失礼!!)、ぶっ飛んだプロダクトで、個人的にも応援したいです。東芝さんは、原発で苦労されてましたが、大メーカーなのにチャレンジャー精神を持つ部分は大いに見習うべきとは思います。

SDカードにLuaインタプリタエンジンを入れ込むなんて、絶対に偉い人の個人的な趣味でしょうね。もう私のようなプログラミングと電子工作大好き人間には最高です。マニアック過ぎて、付いてこれる人は少ないと思いますよ!

Luaを選ぶところが、またインタプリタマニアですからね!普通の人なら、RubyかPythonじゃないのかい!って。Luaは、ゲームエンジンの補助用に使うスクリプト言語というイメージが強いです。私が10年ほど遊んでいたDelphi(Object Pascal)にも似てて、とっつきやすいですね。

私もデジタル鉄道模型に戻るだいぶ昔に、ゲーム用のインタプリタを自作したりいろいろやりました。このインタプリタの知見が、DesktopStationSoftwareでのイベントスクリプトに大いに反映されています。DSbasicもそうですね。

今月末の土曜日にFlashAirのイベントがあるようなので、気になる人は行ってみてはどうでしょうか。私は、社内の都合で参加は難しかったです。平日にしてくれれば会社をサボって行ったのですが・・・。
posted by yaasan at 19:20 | Comment(0) | 工作

2018年02月05日

秋月電子の最近気になるパーツ類

秋月電子に、気になるパーツが知らぬ間にどんどん追加されているので、ここで分かっているもので気になっている物をご紹介します。

Raspberry Pi Zero WH 2680円What's Next Yellow

ラズパイの小型、Wifi対応のZeroシリーズです。Wifiナシは5USDといううたい文句でしたが、Wifi付きでヘッダもついて、この価格に落ち着いた模様です。まあ、それでも安価だと思います。

What's Next Yellow (UNO互換機) 2100円

うさんくさい名前ですが、以前にArduinoがorgとccで分裂していた時代の、orgのチームの旧Arduino UNOです。細かいことは、スイッチサイエンスのサイトを確認してください。

純正Arduino UNOじゃなくて、これでもアリっていうことです。

純緑なシアンLED 20円

先日、紹介した物です。買って試しましたが、バッチリでシアンでした。Nuckyさんの日本型信号機にうってつけの緑LEDです。

マイクロビット用コネクターブレイクアウトボード

Arduinoの次は、Micro:Chipが来ると個人的に思ってます。性能は、そんなに高くないですが(ATMEGA2560と同じくらい、という報告があります)、デザイン性や機能の割り切りが上手いので、伸びていくと思います。
使う際、ヘッダがでてないので、こういったブレイクアウトボードが必要なので、ご紹介しました。

--------------------------------------

あと、秋月と関係ないですが、マルツがDigikeyと提携して、部品の購入がしやすくなったようです。ChipOneStopもArrow系ですし、電子部品の物流もどんどん集約が進んでいるんだなあと感じます。

MOUSER、Digikey、RS、Arrowを見ておけば、とりあえず困ることは無いでしょう。原価を知っている立場からすると、上に挙げたネット部品業者で、100pcs未満の個数を買う場合は、歌舞伎町にあるようなボッタクリレベルなので、なるべく秋月電子で手配をしたいところですね。

昼間の会社と付き合うような一流電子部品商社さまは、秋月電子をバッタ屋扱いしていますが、メーカーのエンジニアから見て、そんなに悪くは無いです。特に、大量購入すると、荷造りが電子部品商社から来るのと同じ形で来ます。秋月電子は、十分信用して良い電子部品屋と思っても差し支えないです。

ちなみにAliexpressは、玉石混交でゴミもたまに来ますので要注意です。点数を低くしてやれば、そのうち消えますので、勉強代と思って遊びで部品手配すると良いと思います。DesktopStationの製品にもよく使ってますが、何度か買って問題ないのを確認してから部品採用してますので、皆様はご安心ください。
posted by yaasan at 22:23 | Comment(0) | 工作

2018年02月01日

lippeから荷物が届いた

lippeに、発煙機やディーゼル車両を頼んだ物が届きました。

lippe_disel1.jpg

いつもの過剰包装です。

lippe_disel2.jpg

lippe_disel3.jpg

中身は以下の通りです。

lippe_disel4.jpg

今回は、Liliput(Bachmann Europe)のLiliput L133023(VT62 904 DB, Epoche III)に注目です。100EUR(VAT込)で、安くてディーゼルで実験用には最適と思ったためです。コネクタはMTC21です。

lippe_disel5.jpg

MTC21コネクタは、なんと床下です。MP3デコーダを入れようと思いましたが、これは無理なのでR6Nと思いますが、R6Nもカットして入るかどうか、怪しいところです。

lippe_disel6.jpg

lippe_disel7.jpg

この車両、スピーカーと照明は配線済みなので、デコーダ側だけちゃんと処理すれば、かなりの高機能な車両になります。
posted by yaasan at 06:30 | Comment(2) | 工作

2018年01月19日

LED・照明の回路の考え方

LEDを扱うのは、電気回路としては比較的簡単ですが、コンデンサなどを組み合わせると、なかなか難しくなってきます。

以前にオームの法則の解説で、電流計算の仕方は紹介しましたが、改めて、ご紹介します。

とりあえず、TAKA@さんがチャレンジしたLEDテープに着目して、一つずつクリアしていきましょう。

□LEDテープの仕様をきちんと理解する。

テープLEDは、抵抗があらかじめ実装済みですが、抵抗値が大きいので12Vを印可してもそれなりに電流がデカいです。車内照明に使う場合は、調整が必要だと考えましょう。まあ、そのまま使っても良いですが・・・。

どれくらい電流が流れるのか、計算しないといけないです。ここで、私の手持ちのLEDテープを見てみると、抵抗値は、表面に151と書いてあるので、151オーム・・・ではなく、15×10^=150オームです。

LEDtape_1.jpg

LEDテープを回路図にしてみた(LEDが3並列の時):
LEDtape_sch.PNG

LEDテープを回路図にしてみた(LEDが3直列の時):
LEDtape_sch3.png

LEDは、いったいどんな物か分かりませんが、白色LEDなので、だいたい電圧降下(Vf)3V弱というのは間違いないので、3Vにしておきましょう。

LEDテープに12Vが掛かったとき、このテープLED(並列)に流れる電流値は 12-3 = 150 * I、I=9/150=60mAとなります。並列に3つ、LEDがあるので、一つのLEDにおおよそ20mAが流れます。まあ、製造誤差があるので、電流はばらつきます。なので、一番抵抗値の少ないLEDがやたら光ります。

直列の場合は、3個直列なのでVfが3倍になるということです。なので、12-3*3=150*I, I=3/150=20mAです。電圧が9V未満になると、ほとんど光らないと思います。

なお、15Vかけたときは、15-3=150*I, I = 12/150=80mAになります。1つあたり、27mAです。33%増の電流が流れるので、結構というか相当明るいですね。3直列の場合は15-3*3=150*I, I = 6/150=40mAです。明るさが2倍も違いますねー。

DCCのように、電圧が変動しやすい場合は、LED電流ドライバーICを使う方が良いです。定電流ダイオードよりも使い勝手がよく、コストもこなれていますし、秋月でも売ってます。

LEDにも依りますが、パワーオンとかの状態をお知らせするLEDは、数mA(3-5mA)を狙って設計します。
照明用は、もっと電流を流さないと明るくならないですが、照明用は効率もかなり良いように高級に作られているので、少ない電流でもかなりの明るさです。プラ棒、アクリル板などで、うまく分散させて作ると、電流を減らしても照明として成立しますので、結果的に、後述するコンデンサの容量を減らすことができるので、良いと思います。

□コンデンサによる電圧補償

鉄度模型では、車輪や接触不良などで、電源の瞬停が起きます。

この対策としては、デコーダではトマランを提案していますが、LED照明においても、おおよそ同様です。

コンデンサの耐電圧は、使う電圧の2倍程度にします。N,HOでは25V以上を強く推奨します。

コンデンサのつなげ方が、ブリッジダイオードのDC出力(+,-)の後すぐです。LEDテープだと、先っぽにパッドがあるのでコンデンサをつけやすいですが、ここに付けるのはコンデンサの最大能力を活かすために、NGです。理由は、配線抵抗の影響を受けて、うまく平滑化ができなくなるためです。

LEDtape_sch2.png

コンデンサの容量の決め方は、2つのポイントで決めます。

@どれくらい電圧が落ちても良いか決める。

たとえば、電圧が12Vから-2V落ちると、10Vなので10-3=150*I, I = 7/150= 46mAです。つまり、一つずつ、15mAになります、15Vかけたときより半分の電流です。光の量も相当落ちるでしょうね。最悪、どこまでを許容するか、決めます。

3直列の場合は、Vfの合計電圧を下回ると光りません(電流が流れない)ので、この電圧を維持するように調整しなくていけません。

Aどの時間まで耐えるか

へのへのもへじさんの調査によると、DCCデコーダの多くは、数十ms程度が多くの接触不良の限界値ということが分かってます。
たとえば、50ms(20Hz)まで@の電圧を保持できる程度に耐えれば良いと考えます。

@+Aを計算する

コンデンサの容量は、Q=CV=Itなので、変形して、C=It/Vとすると、コンデンサの容量を計算できます。V=2, I=60[mA]=0.06[A]、t=50[ms]=0.05[s]とすると、0.06*0.05/2=0.0015=1.5mF、1500uFになります。ちょっとデカいですねー。なお、コンデンサは並列すると足し算で増やせるので、750+750みたいな感じにしても大丈夫です。格納できるスペースと相談してください。

トマラン基板も、1枚=1個のような作りですが、充放電回路(ダイオードと抵抗)自体は、コンデンサが何個あろうとも1回路だけあればOKです。無理に2つに分割する必要はありません。

もうちょっと電圧変動を許容し、時間を短くすれば数百uFまで落とせるはずです。この辺のさじ加減は、自分の好みと、実験から求めていかないといけないと、場当たり的に調整になって、時間がとても掛かります。

------------------------------------

なお、個人的な意見で恐縮ですが、集電不良は、全車集電以外に対策はない!というのが持論です。博物館などのジオラマで走る車両は、車両を限界まで重たくした上で、車両間に配線を通して集電不良を防止しています。欧州の車両も、全車集電対策している物も結構あります。欧州の模型メーカーは、大事なことにはきちんとコストをかけています。

既に当社から廃車してしまいましたが、Tomix HO VSEロマンスカーは全車集電で、集電性能はピカイチ、凄まじく良かったです。プラでもこんなに安定するんだ!とビックリしました。昨年、たまに出展していたホビセン祭りで安定稼働でした。
posted by yaasan at 19:54 | Comment(3) | 工作

2018年01月12日

OLED用のライブラリ

DSmainR5.1やR5有機EL(OLED)化が好評で、嬉しい限りです。来週末には、もう少々、改善したファームウェアをリリースするつもりです。

TwayDCCさん 初仕事
・スマイラーさん 遅れ馳せながら、DSmainR5のLCDをOLEDに載せ替え!
トレジャーさん 今年最初の作業
など、他にも多くご紹介いただきありがとうございます。

このファームには、OZoledライブラリを使用しています。ネットで通常だと、u8glibが推奨されていると思います。

なんで、あえてu8glibを使わなかったのかというと、重すぎるからです。超多機能ですが、ROMを凄まじく消費するので、使いにくいと感じていました。そこで、シンプルで機能も最小限ながら使いやすい、OZOledを使用することにしました。私は「引き算の技術」「Simple is the best」をモットーにしているので、全部入りは避ける傾向にあります・・・。

使い方は、OLED対応のNanoスケッチを見てくれれば良いですが、簡単です。
inoファイルの宣言部で以下のように宣言します。


OzOLED LCD;


setupで初期化します。


/* OLED init */
LCD.init();
LCD.clearDisplay(); //clear the screen and set start position to top left corner
LCD.setNormalDisplay(); //Set display to Normal mode
LCD.setPageMode(); //Set addressing mode to Page Mode
LCD.printString("Desktop Station", 0, 3);
LCD.printString("Welcome aboard!", 0, 2);
LCD.printString("R5.2 FW4", 0, 5);


文字を表示したいときは、printStringを使うと簡単です。128x64ピクセルのディスプレイを8x8のマス目にした形で、文字を描画できます。X=横、Y=縦です(中学生で習うので常識ですが・・・)。なお、ちょっと違うのは、コンピュータの画面上の中心(X,Y)=(0,0)は左上なのが注意です。


LCD.printString("文字",X位置位置,Y方向位置);


128x64ピクセルのディスプレイなので、16x8=128文字を表示できます。AQM0802よりケタ違いに多いですね・・・。なお、アイコンを表示したり、図形を表示することもライブラリをいじれば出来ます。


posted by yaasan at 19:32 | Comment(0) | 工作