スレッドの評価:
  • 回答数:0 平均:0
  • 1
  • 2
  • 3
  • 4
  • 5
KATOサウンドボックス制御DCCデコーダー
#1
fujigayaさんが、KATOサウンドボックスの通信ポートの通信手順を解析されました。
https://fujigaya2.blog.so-net.ne.jp/2018-10-27
そこでKATOサウンドボックス制御DCCデコーダーを作成しました。
fujigayaさんのArduinoNanoのアダプターのスケッチとYaasanさんのスマイルデコーダーのスケッチを合体させました。
http://kotenki.cocolog-nifty.com/loco/20...-0a9e.html
DCCでKATOサウンドボックスを制御できるので、DSairにつなげば、スマホやタブレットでKATOサウンドボックスを操作できます。
ただこのデコーダーCV値の書き込みはできるのですが、読み出しができません。何か付加回路が必要なのでしょうか?
返信
#2
トランジスタ出力回路を作り、その先にVINの電圧で100mAが流れるように抵抗を置きます。ワッテージは小さくても一瞬しか流しませんので熱の問題はありません。

ソフトも直さないと行けません。cvack の関数があるので、そこにトランジスタ出力を8msほどオンにするようにコードを書きます。MP3デコーダのソフトを参考にしてください。

これで読み出しに対応します。
返信
#3
11/3のブログで教えていただいた
CV ackの回路の作り方を追加してみました

トランジスタは2SC1815
コレクタの抵抗は100Ω
ベースの抵抗は1kΩとしました。

void notifyCVAck(void)
{
  Serial.println("notifyCVAck");
  analogWrite( DccAckPin, 255 );
  delay( 8 ); 
  analogWrite( DccAckPin, 0 );
}
4-6行目を追加して


    #if defined(DCCACKPIN)
    Setup ACK Pin
    pinMode(DccAckPin,OUTPUT);
    digitalWrite(DccAckPin, 0);
    #endif
の真ん中の3行のコメントアウトを外しました

これで、DSmainでCV値書き込みは正常にできるようになりました。
この回路を付加して、スケッチ変更する前は、エラーになっていました。
CV値読み出しががやはりエラーになります。
まだ何かできていないことがあるのでしょうか?

D9とGNDにLEDをつなぐと光りますので、回路的には問題ないと思います。
返信
#4
DccAckPin=9 になってますでしょうか?
あと、コレクタ抵抗の先は、12V系(5Vでは足りない)になってますでしょうか?
NPNトランジスタは1815とのことですがピンのミスは無いでしょうか

電流消費が足りずCV値が読み取れないだけですので、回路や動きが正しくなれば、問題は無くなると思います。
返信
#5
DSair2のデバッグででお忙しいところ、アドバイスありがとうございました。

もう一度 CV ackの回路の部分をブレッドボードに組んで抵抗値を変えて試してみました。

結局DSmainに12vアダプター接続して、トランジスタは2SC1815のままで
コレクタの抵抗は51Ω
ベースの抵抗は470Ωで確実にCV値読込ができるようになりました。
ご指摘のように電流消費が足りなかったようです。

最初の回路では、CV ackの回路に50mA以下の電流しか流れていないので、読み取れなかったようです。
今回の抵抗値の回路では100mA近い電流が流れているようですが、確実に動作するようになりました。

回路とスケッチへのリンクを私のブログに掲載しました。
http://kotenki.cocolog-nifty.com/loco/20...3-f9a.html
返信
#6
NPNトランジスタのベース電流が足りなかった(電流増幅率が低かった?)のと、いろいろ経由しているのか抵抗にかかる電圧は落ちてたみたいですね。
返信


ページジャンプ:


このスレッドを閲覧中のユーザ: ゲスト: 2