デジタル鉄道模型フォーラムDCC・メルクリン等のデジタル鉄道模型の話題でコミュニケーションできる場です。登録・利用は無料です。
デスクトップステーション(DesktopStation)のページはこちら
・無料の日本型超高品質DCCサウンドデータをWebで配布中!
・鉄道模型をスマホで簡単制御!国産で革新的なコマンドステーション DSair2はこちらから。

2013年05月06日

Railuino解説

Railuinoを日本語で解説するサイトはないようなので、ここで細かく解説していきます。

・概要
Railuinoは、Arduino(wikipedia)と呼ばれる電子工作のためのキット郡を使って、メルクリンのHOゲージの機関車(DCではなくAC式)を動かすコントローラを実現するためのソフトウェア・プロジェクトです。
Railuinoで使用するメルクリンの機器はmarklin 60113(Anschlussbox)と、それにつなぐためのACアダプタのみです。Mobile Station 2(MS2)が付属するメルクリンのスターターキットを購入していれば既にお持ちのものです。
なぜ、当サイトで頻繁に取り上げているかというと、Railuinoは日本国内でも入手可能な部品を用いて、5000円程度で実現できるにもかかわらず、MS2やCS2以上の機能を実現する可能性を秘めているからです。また、部品もケーブルの製作を除いて特に難しいところはありません。ケーブルもがんばれば作成可能です。ある程度広まれば、ケーブル製作の本職業者も出てくるのではと期待するところです。
Railuino自体はあくまでも、機関車に指令を与えるための汎用ハードウェアとソフトウェアで成り立つものでしかありません。機関車を管理したり、動かしたりするソフト・アプリケーション開発は当サイトの管理人の得意分野となるので、ここで活発な開発を行っていこうと考えております。

・Arduino
Arduinoはイタリアで開発された、数千円程度の基板で電子工作や組み込みコンピュータ(マイコン)、プログラミングを学習するためのキット郡です。ソフトからハードの仕様や回路などは全て無償で公開されており、誰でも自由にハード製作やソフト制作ができます。このため、互換のボードがたくさん出回っており、資料も豊富なため活発なコミュニティとなっています。
Arduinoのボードは、機能の位置づけに応じて名前がつけられています。2013年現在では、UNOとLeonardが一般的に使われるものになるはずです。UNOは、Arduinoの最小構成となるボードです。Leonardは、チップ削減(UNOなどとの互換性が若干失われている)とAVRマイコンの種類を変更してUSBに直接対応していることが特徴です。Railuinoは、UNOとLeonardの基板タイプに対応しています。

Arduinoは単なるマイコンボードにとどまらず、拡張ボードも提供されています。拡張ボードを作るためのコネクタや形状・配置などが決まっているため、初心者でも複雑な工作をせずとも拡張ボードをArduinoのボードに上から差し込むだけで、さまざまな機能を追加したりできます。拡張ボードも、回路図やソフトが無償で公開されており、さまざまな種類のものがあります。
日本でも教育用に取り入れている教育機関があり、小中学校の情報の科目で教えているところもあるようです。

Railuino_11.jpg

Arduinoに書き込むソフトは、無償のコンパイラ・開発環境(Arduiono IDE)で作成します。開発環境は日本語にも対応しています。初心者でも簡単にプログラミングができるように、ライブラリと呼ばれる拡張機能が簡単に呼び出せたり、世界中でライブラリが無償で公開されているのでそれを使うことで、さまざまなものが開発できます。
なお、Arduino用に作ったプログラム(ソフト)は、スケッチと呼びます。C++言語とC言語をベースとした簡略化した言語で記述していきます。もちろん、C言語、C++言語での記述も可能です

Arduinoのボードには、ATMEL社のAVRという名前のマイコンが入っており、そのほかに書き込み用にUSB-シリアル変換用のチップまたはそれに相当するマイコンが含まれています。通常、マイコンはJTAGやFLASHなどの特殊な方法・治具でマイコンのメモリに直接書き込みを行いますが、Arduinoの場合は、シリアル通信で書き込みを行います。これは、予めAVRマイコンの中にブートローダーと呼ばれる管理ソフトウェアが書き込まれているために可能になっています。ブートローダーがシリアル通信経由でソフトウェアを書き込める機能を提供しています。
シリアル通信は書き込むためだけでなく、PCやAndroid等の外部端末から制御したりモニタリングしたりする通信手段としても利用可能です。

railuino01.png

・Railuino
欧州で開発されたメルクリン用のコマンドステーションを実現するためのArduino専用ソフトウェアライブラリで、Arduinoのボードにスケッチを記述して書き込むことでメルクリンの車輌を制御できます。Arduino用のライブラリの一つとなっており、関数や仕様が全て決められていることや、サンプルのアプリも大量に付属しているので、C言語を学習している方ならすんなり使えるようになるはずです。
主な機能は、線路への電力供給有無設定、機関車の進行方向・速度、ファンクション(汽笛やライトなど)、アクセサリ(信号・分岐)の制御、CVの読み書きです。
メルクリンの60113とMS2の間は、CANと呼ばれるドイツの自動車部品メーカーであるボッシュが開発した自動車の電子機器同士を通信するためのネットワーク方式を使用しています。欧米では、CANを自動車以外に使用することが一般的で、対応するチップも安価に入手でき、メルクリンはこの特徴や入手性をうまく活用して、CANを用いて60113とMS2間を結ぶ通信ネットワークを作っています。Railuinoは、この点に注目して、MS2の代わりとなる機器をArduinoで実現しているわけです。なお、メルクリンはCANでの使用方法をドイツ語の仕様書で公開しています。どちらかというと、CS2とパソコンなどを接続する際に使用することが想定されているようです。

Railuinoは、Arduino UNO,Leonardに対応しています。またCANバス拡張ボード(Arduinoでは拡張ボードをシールドと呼びます)が必須で、SparkfunWatterotSeeed Studioのものに対応しています。

Railuino_13.jpg

60113とCANバス拡張ボード間のケーブル(RJ45-miniDIN10ピン または D-Sub9ピン-miniDIN10ピン)は、市販されていないため自作しなければなりません。Watterotで部品が販売されているほかは、秋葉原の秋月電子(D-SUB 9Pinメス)・ヒロセテクニカル(miniDIN 10Pin)でも入手が可能です。ケーブルの線材は4芯です。できれば、より対線が好ましいですが、数十センチ程度の長さならバラ線でも気にすることはありません。

railuino03.jpg

・Railuino Station
当然、Railuinoだけでは機関車を単純に制御する程度しかすぐにはできません。そこで画面(ユーザーインターフェース)を備えた機関車の管理等ができるソフトが必要になります。
Railuino Stationは、パソコンとシリアル通信するためにArduinoに書き込むシリアル通信スケッチ(Railuino付属サンプルを拡張したもの)と、PC上でMS2やCS2のような一通りの操作が行えるコマンドステーション機能を持ったソフトの2つで構成される、当サイトオリジナルのWindows用コマンドステーションソフトです。Railuinoを書き込んだArduinoボードを、たとえて言うならばRocoのZ21のようなゲートウェイ機器(画面等が無く、信号を変換するためだけのもの。)として扱っています。Railuino+Arduino+CANBUS ShieldはZ21のように無線LANには対応していませんが、今流行のタブレット端末やスマフォではなく、キーボードやデータ作成・管理等が得意なパソコンで行うことで便利な機能を追加していき、MS2やCS2代わりに使ってもらうことを想定しています。

RailuinoStation50.png

車輌登録数制限なし、重連対応、BVE5互換キーマッピング(BVE5向けマスコン接続可)、一画面分岐表示、6021相当キーボード機能など、MS2では対応していない・不可能な機能が満載となっております。まだ開発して数週間のため、今後も機能拡充を行っていきます。

Railuino Stationはフリーソフトとして配布します。誰でも無償で自由に使用できます。

Railuino40.jpg
タグ:Arduino Railuino CAN
posted by yaasan at 20:44 | Comment(0) | 鉄道模型
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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