無料ブログはココログ

2021年4月10日 (土)

Arduinoでもっと電子工作を

プロローグ

Arduinoはイタリアの有志達が「非技術系の学生でもデジタル電子工作ができる」事を目的に始めたプロジェクトです。安価なハードウェアとシンプルな開発ソフト Arduino IDEで世界中に広まりました。Arduino IDEは無料ですが、ダウンロードの際は寄付も可能です。
twaydccでは手軽に電子工作を始めるために、秋月電子の部品だけで出来るC-Sizeの基板を作りました。MPUはArduino nanoです。DCCコントローラ用の設計ですが、鉄道模型に限定せず興味のあるテーマで電子工作を楽しんでみては如何でしょう。

Csizedccb_top

回路図、部品表はウェブページの3. C基板サイズDCCコントローラをご覧ください。

Arduino IDE 起動

Arduino IDEを起動して「新規ファイル」を実行するとsetup()とloop()が作られます。

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

  • setup()はマイコンを電源投入した時に一度だけ実行され、初期化等のコードを記述します
  • loop()は繰り返し実行されるプログラム本体と言えるもので、一般的にはmsec単位で実行間隔をコントロールします。

新規ファイルの保存

新規ファイル名は自動的に、私の場合"sketch_apr09a"で日付が使われました。IDEのバージョンで異なるかもしれません。ファイルを保存すると"sketch_apr09a"ホルダが作られ、その中に同名のinoファイルが保存されます。ArduinoではMPUに書き込むオブジェクトをスケッチと呼び、コンパイルやマイコンボードへの書き込みは「スケッチ」メニューから行います。

Lessonへ

次回からinoファイルにプログラムコードを記述して実際に動かしてみましょう。

 

2021年4月 4日 (日)

RailComでアドレス表示2

ミント缶専用RailComアドレスリーダー

DesktopStationさんのRailComDisplayを使う予定でしたが、自動運転にも使用するにはIICのデバイスモード切り替えが必要なので、独自にDIP部品で手作り出来る基板を作りました。

Addrreader_b

回路図

Addrreader_b_sch

NANDNORゲートは省略しましたが問題はなさそうです。念のためS88端子も付けましたが、スケッチは作っていません。

ミント缶HACXのスケッチを改変

HACXのスケッチは4桁アドレスの選択が困難なので、ミント缶IVで不評だったアドレス登録機能を復活させました。ATMEGAのフラッシュサイズの制約でアドレスリストは最大8まで、アドレス3は固定で追加出来るのは残りの7つです。ついでに「アドレス読み出し」と「アドレス書き込み」機能も追加しました。RailComm非対応の車両はアドレス読み出しでアドレスリストに登録する事も出来ます。

Home_20210404155701

RailCom出力

ミント缶の電源オン時のアドレスはディフォルトの3です。アドレスリーダー基板左端(ここ)のボタンを押すと、ミント缶にDCCカットアウトを要求して、RailCom出力を受信するとミント缶にアドレスを送ります。RailCom対応の車両を線路に乗せた状態でDCCカットアウトしてもアドレスが表示されないのは今だに謎ですが、アドレス3でダミーのファンクションを操作したら、キハ40のアドレスが表示されました。

Addr3_20210404155701Addr40

アドレスリスト

受信したアドレスはリストに追加します。アドレス書き込みで[ENT]ボタンを押してEEPROMに保存することも出来ますが、運転する車両を頻繁に変えるなら保存しないで毎回リストを作成しても良いでしょう。

2021年1月31日 (日)

RailComDisplay

RailComでアドレス表示

DesktopStationさんのRailCom Displayを送って頂きました。基板トップ面に'J'と'K'のシルクがありますので、ギャップを挟んだ線路間
でショートしない様、接続に注意します。'J'と'J1'は直結で、'K'と'K1'は電流検出抵抗を介して繋がっています。

Pcb_topPcb_bottom

先ずはLenz Silver21です。動力はKATOのBトレ対応動力ユニットですが、CVリードと違って原理上デコーダの負荷には影響しない筈です。

Silver21

ミント缶の出荷検査用でCVを書きまくっているので、CV8で初期化します。CVリードで読み出したCV29は14(2進数で00001110)で、CV28は3でした。ACKを選択するbit2は無く、無条件にACKを出すそうです。

Cv8Cv29

ミント缶HACXのDCCカットアウト

ミント缶HACXのLOCO画面から、OPS CVモードでCV7に255を書き込むとカットアウトを有効に、CV7に0を書き込むとカットアウトを停止します。

Ops

アドレス表示

カットアウト停止中は7セグLEDの1桁目の'-'が点滅してました。カットアウトをオンにしたら点滅は止まりましたがアドレスが表示されません。なにかロコ操作すると良いと聞いていましたので、未知の適当なアドレスでF0などの操作をしたら'3'が表示されました。ロコを手で移動しても表示します。

Addr3

次はLenz Standerdを組み込んだキハ110です。Bトレ動力をRailCom検出エリア外に移動して、キハ110を乗せたらアドレス110が表示されました。同じ線路上でも検出エリア外のBトレには影響されません。

Kiha110

DCCカットアウト期間は0.5msec程度なので、よほど集電不良に弱いデコーダでなければカットアウト有効のままで構わないと思いますが、どれくらいの間隔でカットアウトを繰り返すか、現在DCC電子工作連合で検討しています。結論が出たら、状態のEEPROM保存を追加し、ミント缶IVも対応する予定です。

追記: ミント缶のMMモード確認で使っているESUの LokPilot microを試しました。CV28は131でMSBのRailComPlusビットがオンですが、そのままRailComDisplayを接続して無事アドレス表示が出来ました。RailComPlusの機能は理解していません。

2020年12月 4日 (金)

ミント缶-HACX

HACXスケッチを移植

ミント缶IV R1.6にD99 HACXのスケッチを移植しました。その理由は、HOMEメニューにより機能が一目で分かると思ったからです。

Home

ミント缶は鉄道模型入門の方、DCCお試し希望の方を対象とした、低価格なエントリーモデルです。隠されていた機能を目に見える形にすることで、それなら試してみようとか思われる方が増える結果になったら幸いです。OLED表示器が小さいのが問題ですが、基板と0.96インチOLEDが沢山残っているので、申し訳ございませんが1.3インチの変更はユーザさんにお任せとします。

ミント缶-HACXの操作方法については、当ブログ内「ウェッブページ」の 1.ミント缶アーカイブ項目に、ミント缶-HACX.pdfをアップしました。

 

アドレス選択

▲▼ボタンで4桁アドレスを選択するのは至難ですが、現状は棚上げです。メーカー標準のアドレス3を主体に運用をお願いします。『ロコアドレスを読み出して運転開始したい』とのご要望もありましたが、ワンコインデコーダにRailCom出力を実装するのは現実的ではありません。苦肉の策として"Read CV"メニューでCV1を読み出した結果を選択アドレスに表示する事にしました。

Loco

 

CV読み出し

CVがよくわからない事がDCCを敬遠する一因であるとの意見もあります。『CVに値を書き込んだけど読み出せない』『CV読み出しが出来ないのでデコーダが壊れているのではないか』など、疑問を持たれる方もいらっしゃる様です。DCCトラックは一方的に電力を出力するもので、基本的には双方向性がありません。なのでデコーダ自身が一時的に電流を増加させる巧妙(?)な仕組みでCV読み出しを実現しています。

HACXスケッチの移植過程でCV書き込みの確認(ACK)がうまくいかなかったので、トリガー出力を追加してデコーダの電流増加波形を調べてみました。

Standerd Smile95
Lenz Standerd SmileDec85

CV書き込み後のACKはCV読み出しと同じく電流の増加でコントローラに通知する仕組みです。HACXスケッチは書き込みとACK取得を5回以上繰り返して、電流増加の閾値を超えたら完了します。

左のLenz社Standerdは少々反応が鈍いのか、ACKが間欠しています。右はATtiny85版のスマイルデコーダで毎回ACKを返しています。普段からLenzの方がCV読み出しに失敗する頻度が高いです。因みにデコーダの負荷はどちらもKATOの小型動力車です。CV読み出しは電流変化量だけでなく、デコーダの応答性、線路の集電不良など、幾つかの不確定要素を含んでいる事をお分かり頂けますでしょうか。

2020年10月25日 (日)

C-Size DCC

お試しの配送ルート

FusionPCBに頼んだ基板は急ぎじゃないので割安なJapan Direct Lineにしました。SSGを解約して新たに契約した配送ルートです。国慶節の前日に基板は完成しましたが発送は10月8日。でもそれから予定通りぴったり2週間で到着しました。

Japandirectline

届いた基板はC-Sizeシリーズ(?)の2点。1点はアナログ自動運転のリバースループを実験する基板。

Rlp_pcb

もう1点は自動運転向けのDCCコントローラ基板ですが届く前にまたしても設計変更したので使わずに廃棄です。マスコン用ロータリーエンコーダの位置決めが確かめられたので良しとします。

Dcc_pcbHandle

«C-SizeDCC 改訂版4