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

2018年04月14日

DCCデコーダで自動ブレーキ その1

最近、自動ブレーキがクルマで流行ってます。うちのクルマにも付いてますが、簡易式なので、時速30km/h以下で無いと動かないです。

自動ブレーキは、電車でも信号システムと連動して実装されていますが、鉄道模型だと、存在しなかったのでは無いでしょうか。アナログでは絶対に出来ないので、DCCで実現するしかないですが、DCCで自動ブレーキというと、アシンメトリーDCCの自動ブレーキくらいで、デコーダ自体で反応するものはありませんでした。

さて、自動ブレーキを実現するにあたり、そんなことが出来そうなデコーダは、海外のものでは存在しないのではないでしょうか。国内でも同様です。ただ、実装可能なデコーダについては実は存在します。Nagodenさんのデコーダです。

スマイルデコーダR6Nや、MP3デコーダV5のヘッドライト・テールライト用端子(PAD b1,b2)に、実はI2C端子が出ていて、センサーを繋げてDCCデコーダで、いろいろと遊べるようにNagodenさんがきちんと設計していて用意していたのに、誰も気づかず、全く活用されていません。

実はうすうす気づいてましたが、他の誰かがやってくれるだろうとに思っていたので、スルーしておりました。しかし、一向に誰もやってくれないので、仕方なくので自動ブレーキ技術のとっかかり・ネタを当社が提供させて頂きます。

今回使用するセンサーは、赤外線ToF方式を使用した距離センサーであるSTマイクロのVL53L0CXです。入手性も良く、いろいろなメーカーからモジュールが出てます。チップ自体は、QFNでギョッとする状況ですが、チップを買わなくともモジュールを買えば良いのです。

今回、使ったモジュールはAliexpressで買ったものですが、基本はほとんど変わらないようなので、秋月電子のモジュールや、その他のモジュールなど、お好きに選定ください。

ToF_Sensor_with_ICE2.jpg

今回は、モジュールのピンを、Arduino UNOにつなぎましたが、それぞれVCC->5V, GND->GND, SDA->A4, SCL->A5に配線しました。

まずは実験結果です。ICE2の前面に、無理矢理、センサーモジュール基板をテープ止めして、前方の車両との距離をどのように検出するか調べました。

ST_Distance_Meter_review20180414.jpg

検出範囲は上記の通りで、比較的、前方の視野は狭いと思います。ジオラマを作った場合に、駅などの障害物への反応が気がかりな部分ですが、緊急停止と、徐行の制御をうまく入れ込めれば、実用可能だと思います。

検出も、完全に0 or 1ではなく、赤外線の反射レベルで見ているので、特に検出境界線での反応においては、実際の距離と検出値は一致しません。

なので、ほぼ実測に近い距離、検出境界線の距離(偽距離)を、うまく補償するアルゴリズムを実装して、DCCデコーダに実装することで、自動ブレーキが実現できると思います。

センサの設置については、かなり精度が要りますが、真っ正面を向く形で実装し、高さは運転席の窓付近程度の高さ以上に上げないと、線路を誤検出します。

Arduino UNOのスケッチは、GitHubに落ちているPololuのライブラリのExampleのSingleスケッチを使っています。

以下、センサの反応具合の例です。

■10cm

distance_10cm.jpg

■20cm

distance_20cm.jpg

■30cm

distance_30cm.jpg

■40cm

distance_40cm.jpg

■検出値と実距離のグラフ

タンク車をICE2に近づけたり離したりして、距離と検出値を測定しました。以下のような感じで、非線形になってます。近距離と、遠距離で飽和している傾向が見えます。これを補正するように処理を加える必要があることが分かります。

ToF_Distance_DetectVal.png

■まとめ

・距離の検出範囲は、模型用途にはそれほど問題は無さそうである
・境界線付近で、擬似的に距離がずれて検出されるので、その補正処理などを検討する余地がある。データを取りながらアルゴリズムを開発していく。
・スマイルデコーダR6Nなどに搭載する際に、処理時間に影響が無いかを確認する(I2C通信処理のみなので、影響は小さいと考えているが・・・)

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

■お断り

本記事で、自動ブレーキの技術に必要なToFセンサーをご紹介しましたが、鉄道模型の飲酒運転、脇見運転、居眠り運転を推奨するものではありません!鉄道模型は、きちんと安全に運行して頂きますよう、よろしくお願いします。本技術は、コントロール不能や、突然の事故を未然に防ぐために必要な技術検討です。
posted by yaasan at 18:19 | Comment(7) | 鉄道模型

DSbluebox ファームウェアR4iをリリース

DSbluebox R4iファームウェアをリリースしました。

□変更内容

・CV読み出し処理の高速化
・スレッショルド初期値を変更
・内部のコアを最新版に変更(DSshieldと共通化)

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

DSblueboxは販売商品の整理のため、キット品の販売を今月で終了し、完成品(15800円)のみの販売に変更します。他の商品も、順次、キット品の販売を終了し、完成品のみの形態に移行しようと思います。

順次、表面実装品に移行しようと思っているので、売れ行きの悪い(ユーザーへの影響の少ないもの)から、完成品のみに切り替えていく予定です。

DSmainは基板が大量にあるので当面は併売は継続しますが、ずっとではありません。
DSairは、最初から完成品で出していきます(チャレンジャーの皆様は別)。

逆に、電子工作をターゲットとするDSshieldは、キット品・基板頒布を強化していきます。

あと、新たな挑戦として、教育向け(プログラミング&電子工作教室向け)に、DSシールドの大量販売サービスは開始しようと思っています。テキストも、いま、Markdownで書いているところです。
posted by yaasan at 16:04 | Comment(2) | 鉄道模型