Blogの記事をまとめたつもりのサイトです。

VVVF+Melodyスケッチの最新バージョンはK98で、
  • モーターでVVVF風な音を出す。
  • 停止時に発車メロディーとドア開閉音を鳴らす
  • ヘッドライト、テールライトを点灯させる
  • 加速率、減速率を変更できる。
ことができる。

VVVFスケッチの作成については、特に以下の方の記事を参考にしている。

最新のスケッチ

 コンパイルには、下記ライブラリが必要である。
  1. NmraDcc.h・・・DCC制御
  2. TimerOne.h・・・VVVF音
  3. PWMDAC_Synth.h・・・Melody用(バージョンが最新だとコンパイルエラーになるとのこと。バージョンは、d123648を使用してください)
Arduinoでのライブラリ登録方法についてや、製作のノウハウについては、 が参考になります。

電気的な接続方法

表(smile decoder wikiより転載)

裏(smile decoder wikiより転載)
  • 線路電源の接続
 Inの2本につなぐ。
  • モーターの接続
 OutのP,Nに接続する。
  • スピーカーの接続(Melody用、使わないのであれば、つながなくても動作に支障はない)
 基本的にSoundOption(Yaasan 様)のようにつなぐのだが、In+(音出力)はD11→D3に変更している。
 理由はD11はスマイルコネクタのSPIの通信部分と共用のため、SoundOptionをつないだ状態でスケッチを書き込めないため。
 スケッチ書き込み後にD11にSoundOptionをつなぐという使い方であればD11でも使用可能。その場合は、D11に音を出力させるためにVVVFスケッチの始めの方の、
#define PWMDAC_OUTPUT_PIN 3
 を
#define PWMDAC_OUTPUT_PIN 11
 と書き換えコンパイルする。
※現状、Sound Optionに対しての5V電源の容量不足のせいか、メロディーのテンポが遅くなったり、異常にデコーダが発熱するなどの現象が起きることがある。アンプ基板386を使用すると12Vから給電できるので、発熱を抑えられる。
  • ヘッドライト、テールライトの接続
 下記のとおりに接続する。ただし、モーターとの方向は逆の可能性あり。現物で確認のこと。
 また、LEDの明るさも現物合わせすること。明るすぎると、車体から光漏れして、残念なことになる。鉄コレへは、直にLEDを張り付けるよりも光ファイバーで導光させた方が光漏れは少ない。
  • KeepAliveコンデンサの接続
 Cap端子につなぐ。電解コンデンサ接続時は極性に注意する。
 繋がないと電源瞬断のため、うまく走らない。私はNゲージで100uF 25V 85℃ or 105℃を使用。

CV値の設定

  • 最初のおまじない
 スケッチを書き込んだ初期状態では、CV値がおかしな値になっているので、自分で初期化する必要がある。
 下記方法はDSMainR4での確認したやり方なので、書き込みはDirectModeである。
  1. CV 8(リセット)に1を書き込む
  2. CV 1(電車番号)に電車番号を書き込む。3などが良いか?
  3. CV 2(始動電圧)に32を書き込む。(0-255)で(0V〜12V)相当
  4. CV 3(加速率)に15を書き込む(0-255)で(即応 − 緩慢)
  5. CV 4(減速率)に12を書き込む(0-255)で(即応 − 緩慢)
  6. CV 5(最高電圧)に64を書き込む。(0-255)で(0V〜12V)相当
  7. CV 47(VVVF Selector)に1を書き込む
  8. CV 48(VVVF SoundState)に1を書き込む

 この後、好きなようにCV値を書き直す。
CV意味値の範囲説明
1電車番号0-255?Short Addressです。ロングアドレスも使えると思うが、試したことはない
2始動電圧0-255走り出す電圧。0-255で0V-12V。VVVVFのパターン、動力車により変わるので、適当に合わせる
3加速率0-2550:即応 − 255:緩慢、小さい値ではDCCの指示値をすぐ反映するので、モーター音階が離散的になる
4減速率0-2550:即応 − 255:緩慢、小さい値ではDCCの指示値をすぐ反映するので、モーター音階が離散的になる
5最高電圧0-255最高速時の電圧。0-255で0V-12V。VVVF音が聞こえないぐらいまで上げるか、聞こえる程度にしておくかは好み
8リセット1デコーダのCV値をリセットするが、リセットでおかしな値になる
47VVVFSelector0-8下記参照
48VVVF SoundState0-9下記参照

  • CV47 VVVF Selector について
 スケッチに同梱のkasoku.hで定義している。
番号電車
0E231
1E231和音
2113系
3207系
4シンプルなもの
5京急
6test
7test
8test

  • CV48 SoundStateについて
番号説明
0Kasoku配列の周波数1だけ出す
1Kasoku配列の周波数1,2を交互に出す
2Kasoku配列の周波数1を1回、2を2回出す
・・・・
10Kasoku配列の周波数1を1回、2を10回出す
となる。0だと単音で1で和音、2、3とかはちょっと雑音気味になる。
 10とかでは、ほぼ周波数2の音しか聞こえない。まあ、0〜2以外はあまり実用性は無いと思う。

操作方法

FunctionOn/Off説明
0Onhead light/tail light On
0Offhead light/tail light Off
5Off→OnSpeed0の条件で、ドア開閉メロディー
5On→OffSpeed0の条件で、ドア開閉メロディー
6OnSpeed0の条件で、”春 Ver1”リピート
7OnSpeed0の条件で、”春 Ver2”リピート
8OnSpeed0の条件で、”たなばた様”リピート
9OnSpeed0の条件で、”箱根八里”リピート


次へ VVVFの編集

管理人/副管理人のみ編集できます