2014年06月01日

CV操作機能

Desktop StationにCVの読み書きのインターフェース機能※を実装しています。
※CV読込はDCCかつRailuino/60113を使用時

CVReader.png

CVはアドレス書き換えがメインという話だったので、DCCのショート・ロングアドレス書き換え支援機能を実装してあります。他に用途があれば、支援機能を足しこんでいこうと思います。

現在のところ、Railuino/60113で、書き換え・読込の確認を行いました。DCC/MM2シールドについては、まだ書き換え機能(DCC専用)は実装済みですが動作確認はしてません。
DCCのCV読込機能が思いのほか便利なので、DCC/MM2シールド等にも今後は対応できるようにしたいなあと思っておりますが、コストと実装面積が一気に上がるので躊躇している状況です。

何が問題かというと、電流検出回路をどの構成にするかというところです。電流検出には、シャント抵抗(数10mオーム程度の高精度な抵抗)を回路の間に置いて微小な電圧差を読み取る方法と、クランプ形の電流センサを使用する方法の2つがあります。シャント抵抗の方が安いですが、微小な電圧差を測る際にノイズ等の影響を受けやすい欠点があります。クランプ形は精度は良いですが、ブスバーや銅線を間に挟んだりしないといけなく、小容量の用途には不向きです。コストも大きいです。

よって、シャント抵抗を使うしかないということになります。シャント抵抗を使う場合でも、ハイサイド検出にするか、ローサイド検出にするかで構成が変わってきます。ローサイドの方が簡単ですが、GNDベタの前段にシャント抵抗を挿入しないといけません。ハイサイドは回路が複雑になりがちですが、自由度が大きいです。

実際に回路を組む際は、(1) オペアンプのみで構成しADCで読み込む、(2)電流検出ICを使用しADCで読み込む、(3)フォトカプラを使用して任意の電流が流れた時にデジタル信号で返す の3構成が挙げられます。

海外のDCCユーザーのDCC ACK検出回路は、(3)が多いです。というのも、電流値が仕様で決まっているため、抵抗値を決め打ちで設定して単純にACKの応答電流値で電流が流れた・流れないを判定できるようにしているためです。ただし、(3)の方法だと、シャント抵抗を大きめにしないとまともに動かないため、抵抗のワッテージの関係上、必ずリレーで迂回する回路もしくはプログラミング専用の出力配線を構成しないといけません。

スマートに行うならば電流検出ICを使って、マイコンのADCで電流値をデジタル変換し、ソフトで監視するのが良いです。ただし、電流検出ICが非常に入手しにくいです。会社だったら、TIの代理店に頼めばあっさり入手できますが、個人だと限界があります。秋月でも売ってますが1種類のみで、コストも大きくちょっと使いにくいICだったりします。

ということで、ローサイド構成でオペアンプを使った回路で、なるべく低めのシャント抵抗(10mΩ〜20mΩ程度)を使ってどうにかしようと考え中です。
DCCでは0.2Vの降下まで許容されるので、V=IR(オームの法則)より、0.2V/10mΩ=20A(20mΩでは10A)となります。この値は、シャント抵抗を使用する場合の最大の検出電流値となります。逆に、DCCで検出しないといけない電流値は30mA程度の部分なので、30mAを測ると得られる電圧差は、10mΩ*30mA=0.01*0.03=0.3mV、20mΩ*30mA=0.02*0.03=0.6mVとなります。非常に低い電圧で、ノイズに紛れそうに見えます。

10mオームでは厳しそうなので、とりあえず20mΩのシャント抵抗を使う時の、電流値の変動を計算してみます。

・20mΩ*0.95 * 30mA = 0.57mV
・20mΩ*1.05 * 30mA = 0.63mV

オペアンプで20倍にすると、4V=10Aとなり、30mAは11.4mV〜12.6mVの範囲で検出できる事となります。12bitADC(5V)の分解能は3.9mVとなるので、一応、検出範囲には入りますが・・・。試算の結果、もっと大きいシャント抵抗が欲しいという事になりそうです・・・。40mΩを使うと、5Amax、ワッテージはギリギリの0.2V*5A=1W、通常使用領域は3Aなので0.6Wです。会社の規定だとアウトなワッテージです。うーむ。
posted by yaasan at 06:13 | Comment(0) | 鉄道模型
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。