So-net無料ブログ作成

ターンテーブルの調査その4 [ds-DCCデコーダ]

 京都鉄道博物館に行って、本物のターンテーブルにロック機構があったことにとても感動してしまったので、久しぶりにトミックスのターンテーブル(1631 TCS電動ターンテーブルN-AT212-15(F))のDCCデコーダからの制御に向け、実験を再開しました。
 今日はArduinoUnoにモーターデコーダをつないでPCから制御するということをします。(DCCまではやらない)
 まずはYaasan様から5VならBD6211を使いましょうとのアドバイスのもとにBD6211をDIP変換します。
re_DSC01051.jpg
 次に、駆動は一応PWMが使えるTimer1,Timer2部分を使うことにして、
ターンテーブルの回転側はTimer1(9ピン、10ピン)とします。
ターンテーブルのロック側をTimer2(3ピン、11ピン)とします。
で、BD6211をつないだ時のユニバーサル基板が以下の感じです。
re_DSC01054.jpg
 一応図面にすると以下の感じになります。(これで本当に正しいかどうか見直していません)
Arduino_TurnTable.PNG
 で、ターンテーブルと一緒に記念撮影です。なお、本日はDCC信号は入れずに、PCのUSB給電でターンテーブルが動いております。
 re_DSC01053.jpg
 動画です。

 スケッチは、最初、こうしてこうして・・・というのをIf文とLoop内の時間割り込みでやっていましたが、すぐにソースがスパゲティーになって限界が見えました(土曜日の夜中)ので、ステートマシンに変えました(今日の夜)。
 ということでステートマシンでのスケッチはこちらです。
 loop内でSerialでPCからの命令を待ちます。命令は
Serial 115200bpsで
1+enter, 左回り
2+enter, 右回り
です。1+enterを3回連続で送ると、3個分動いて、ロックをかけます。
 ターンテーブルからのセンサ入力はチャタリングが結構ひどいので、ソフト的に数回検知したら変更するみたいなルーチンにしています。
 将来的にPCからのSeialRead部分をDCCからのReadに変更しなければいけないのですが、どんなかんじになるかはちょっと未知です。
 あと、DCCでやろうとすると、一度基板をおこさないと面倒ですが、これをやるか、後はDCCにつなげるだけだと言ってやらずにKatoを試すか、悩むところです。先にKatoのを確認してから共用の基板を作るというのでよい気もします。(共用化できるかしら)
 基板化するなら、昇圧ポイントデコーダのでっかいコンデンサの部分を取り払って、つくる感じかと思います。

電車でGoコントローラをS88規格につなげるための5番目の実験 [ジョイスティック]

 トレジャー様がNucky様のS88基板を使用して、ポイントの動作確認センサを作ってみたとのことです。
 私もトミックスのポイントの動作不良には悩まされておりますので、こういう形のセンサを使って、ちゃんとポイントが切り替わっていなかったらリトライするぐらいのデコーダを作るのもありか?と一瞬思いました。
 さて、本題ですが、先週の日曜日に注文した基板を本日受け取りました。OCSで送ってもらいましたがElecrowかなり速いです。まあ、
・長穴加工が斜めっているとか
・一部スルーホールのはんだが飛び散っているとか、
・宛先の会社名が入っていないから佐川急便のお兄さんに怒られたとか(担当者名に私の名前が入っているが、個人だから宛先会社名の所に私の個人名を入れておくべきなのか?それとも佐川のお兄さんの指摘がおかしいのか?)
など突っ込みたいポイントはありますが。
 プレステコントローラコネクタと合わせた写真です。
re_DSC01055.jpg
 とりあえず、よさそうです。でも、こんなに早く来るとは思っていなかったので、秋月電子の高価な液晶を買っていません。組み立ては、今週の後半になりそうです。

京都鉄道博物館に行った その2 [その他]

 で、次に外ですが、
 D51がオーバーホール中でした。
re_IMG_20161028_110625.jpg
 そして、機関庫にたくさんSLが並んでいます。
 平日のせいか、それともこれだけ並んでいるからなのかわかりませんが、運転台に入れるにも関わらず、全然混んでいませんでした。初めて、石炭を燃やす部屋を見たので、写真撮りました。C59のものです。(誰かがいたずらで石を投げこんでいる?)
re_IMG_20161028_115109_C59.jpg
 贅沢にC59とD52が並んでいたので、
re_IMG_20161028_115331.jpg
 動輪の大きさを等距離から見てみたら、Cのほうが全然大きいことを初めて知りました。
C59
re_IMG_20161028_115304.jpg
D52
re_IMG_20161028_115314.jpg
 そこら辺の説明はオフィシャルガイドブックを読むと書いてあります。
 動輪大きくしてスピード出すとか、(C系の機関車)、動輪を増やして接触抵抗を増やして滑らないようにするとか(D系の機関車)、動輪が小さいからスピード出ないとか(D51)。勉強になります、オフィシャルブック。
 なんか、ボイラーのメンテナンスでもしていたのか、焼肉屋みたいに煙を上から吸い取っている機関車もありました。
re_IMG_20161028_115803.jpg
 次に転車台です。わかりやすくロック機構がありました。転車台の操作室の中も撮りたかったのですが、近づけませんでした。
re_IMG_20161028_120017.jpg
 あとはDE10が2台並んでいたので、記念に撮っておきました。
re_IMG_20161028_124714.jpg
 せっかく、関西に来たので、京都駅できつねうどんを食べました。関西風の味付けはおいしいです。で、生八つ橋(皮だけ)をお土産に買って帰りました。(「551の肉まんとシュウマイがおいしい」という情報がありましたが、今回は荷物容量の関係で買いませんでした。)
 金曜日の午後なので帰りの東海道新幹線はとても混んでいました。
 どうでもいいですが、今日はたくさん電車に乗りました。
JR関西本線、JR草津線、JR琵琶湖線、
のぞみ(京都―名古屋)、ひかり(名古屋―静岡)、こだま(静岡―小田原)、
東海道線、江ノ電。

京都鉄道博物館に行った その1 [その他]

 で、10時には京都駅について、荷物を適当にロッカーに入れて、京都鉄道博物館まで歩いていきました。途中、線路沿いには不思議なオブジェがありました。
そのうちの一つ、「0系 新幹線」
前から、
re_IMG_20161028_132157.jpg
後ろから
re_IMG_20161028_132204.jpg
ちょっと波平に見えたんですが、それだけです。
他にもイルカなのに、ムツゴロウかナマズに見えるオブジェもあり、斬新です。

 で、到着しました。
 家に帰ってオフィシャルガイドブックを読んでて思いましたが、この博物館、展示がマニアックなのと、説明がいまいちなため、先にお土産コーナーでガイドブックを買って、熟読してから展示を見ることを私はお勧めしたいです。
 歴史的に貴重なものを並べているだけという感じが強くて、系統づけての、どうしてそうなったというわかりやすい説明が弱いです。
 列車の運行などの説明は特にJR東海のリニア鉄道館のほうがわかりやすく感じました。リニア鉄道館は新幹線の仕組みに特化しているが、京都鉄道博物館は歴史と仕組みをごっちゃに取り扱ってしまって、分かりづらくなっていると思います。字も小さいし。
 多分、マニアックな人には楽しいんだろうなあと思いました。
 といいつつ、SLがいっぱいあったので、リニア・鉄道館よりも滞在時間は長かったです。
 で、気になったものを写真で上げてくと、
re_IMG_20161028_104342.jpg
 DD51を始め、EF81とか間近で見られます。おまけに、大宮の鉄道博物館と違ってとても館内が明るいのでよく見えます。NゲージだとEF81とかの中間台車はおまけ状態ですが、ちゃんとモーターが載っているのとか見えます。
 で、旧客車のベンチレータも間近で見られます。キット作っていて、なんで屋根にフィットしないでこんなに杜撰なんだと思っていましたが、本物がそうだということが分かりました。
re_IMG_20161028_104725.jpg
 旧客車の食堂車(スシ28)や貴賓車(マロネフ59)が展示してあり、3軸ボギー台車でした。
re_IMG_20161028_121539_スシ28.jpg
 3軸ボギーの客車、単品でNゲージ売っていたら買うのに・・・。
 HOのジオラマは、まあ、以下の感じでしたが、メンテナンスしやすさに重きを置いているのか、あまり、ジオラマとしての作りこみはしていないように感じました。
re_IMG_20161028_105452.jpg
 位置検出が何を使っているのかはいまいちわかりませんでした。
re_IMG_20161028_124108.jpg
 制御盤は大きかったです。
re_IMG_20161028_124513.jpg
 信号はちゃんと閉塞区間で変わっているようでした。
 残念なのが新幹線の連結部の間隔が長いことでした。(この頃の市販Nゲージとかは連結部は気を使っているし)
 あとはこのレイアウト、観覧車はありませんでした。代わりではないでしょうが、夜の工場(化学工場?)が光っててきれいでした。(写真無し)
 で、その2に続きます。

鈴鹿から京都鉄道博物館に行くまでの話 [その他]

 さて、今日は本当は出張(鈴鹿の平田町あたりに泊まっている)だったのですが、やる気がなくなったので、有休をとって、京都鉄道博物館に行きました。
 さて、これが仕事なら、平田町-(近鉄)―名古屋―(新幹線)―京都と値段など全く考えずに行きますが、約6000円コースです(所要時間 約2時間)。京都まで100Kmぐらいしかないのに高すぎると思ったので、いろいろと検索していたら、もちろん時間はかかります(3時間ぐらい)が、安いのを見つけました。
 平田町―(バス)―亀山―(JR関西本線)―柘植―(JR草津線)―草津―(JR琵琶湖線)―京都で1920円です。
 で、これで行きました。まず平田町―(バス)―亀山で600円というのに度肝を抜かれましたが・・・。裏道のようなところを走り続け、亀山の古い町並みも通って、結構楽しかったです。
 で、亀山駅はSUICAが使えません・・・。久しぶりに切符買いました。
re_IMG_20161028_095138.jpg
 で、関西本線というのは、気動車でした。
re_IMG_20161028_074125.jpg
 キハ120らしいです。峠越えのため、かなりいい音を出しながら走っていました。風景は山形新幹線の山越えと似ていてよかったです。私は気動車に乗るのは(多分)初めてで、江ノ島への渡し船みたいなディーゼル音がするなあと思いました。
 で、柘植駅からは113系の4両編成でした。湘南色からオレンジ色をとるとこうなんのか?と思いました。この頃東海道線からは消えてしまったので、あの唸るような音を久しぶりに聞けてうれしかったです。中間車2両がモハでしたので、思わず、その台車辺りの所に乗りました。風景はまあ、普通の田舎という感じでした。
re_IMG_20161028_083017.jpg
 で、草津駅からは、221系というやつでしょうか?に乗りました。
re_IMG_20161028_095433.jpg
 転落防止幌がついており、この模型は大変そうだ(すぐ壊しそう)と思いました。
 京都駅にも113系が8両編成で止まっていました。
re_IMG_20161028_095513.jpg
 なお、キハ120、113系ともに音を後で使おうと思って、スマホで動画を撮ったのですが、動画なんて所詮スマホのおまけ機能にすぎないようです。電車の中の大きな音はすべて割れてて、使い物になりませんでした。残念でした。
 やっぱり、ビデオカメラが必要ですね。
 で、やっと鉄道博物館に着きました。(続く)

VVVFをMP3スケッチにつなげるその5 [ds-DCCデコーダ]

 rascal様(なごでんの日記様)から、吊り掛け音を周波数解析っぽくしてみたらこうでしたという話があり、こちらでも、吊りかけ音の本当の音と疑似吊り掛け音との比較をしてみました。
 比較に使ったツールは、WaveToneという音階の解析ツールです。
 MP3ファイルを読ませると和音がどうなっているかをグラフで示してくれます。一年以上前に駅の発車メロディーの音を楽譜に起こそうと思い一瞬使いました。才能がないのですぐにフェードアウトしましたが。
 で、rascal様からもらった吊り掛け音の音階を解析したグラフが以下です。
無題.png

加速途中のわかりやすい所で音を拾うと
一番下がC2の時
C2 65.41Hz 1倍
C3 130.81Hz 2倍
G3 196Hz 3倍
C4 261.63Hz 4倍
E4 329.63Hz 5倍
G4 392Hz 6倍
A#4 466.16Hz 7倍

で、ほぼ計算通り倍音が出ています。
あとは、機械の特徴なのか、わかりませんが、
220Hz,330Hz,440Hz辺りに共振があるようですね(そこらだけ音が大きくなります)
面白いのが、E5(659Hz)以上はあまりで音が出ないということでしょうか?

で、現在、疑似音のほうは、矩形波を使っていますので、
矩形波は
https://dirigent.jp/fun/menu/accent/d-fun4.html
によると、矩形波は奇数倍の倍音しか出ないようですので、
それなりの音にしかならなそうです。
できるならのこぎり波を使いたいですが、デコーダはモーター音以外にDCCのパケット解析、MP3チップへの送信、モーター制御なども行っていますので、そこで間延びして変な音が続くのも嫌なので、矩形波でだましつつ倍音をすべて出していこうとしています。

ということで、必要なことは、
・LPF(Low Pass Filter)を700Hzぐらいにする必要がありそうです。
・倍音は1,2,3,4,5と歯抜けなしで入れる必要がありそうです。
あとはちょっと音が高めなので、
・もっと低い周波数から音を流し始めるか、スピーカーを大きくする(低音が出る)

まあ、結局、今回は解析だけして、スケッチは作っていません。
あとは、先週からまた出張生活が始まっており、土日以外は何もできません・・・。
多分一か月ぐらいは続くと思います。

(以下は吊り掛け音と私のスケッチによる疑似音との音階の確認です)

で、現在の疑似音の音階を確認すると
下記の感じです。

・CV48の値を変えていきます。
・周波数はスピードがサチったところで確認しています。
・LPFは7KHzにしています。

0:周波数1だけを鳴らす
cv48_0.png
E5 659Hz 1倍
B6 1975Hz 3倍
G#7 3322Hz 5倍

E4 329Hz はモーター音
カーブの形が違うのはモーター音(スムージング処理が違うため
先に定常スピードに入っている)

→矩形波 基本周波数だけだと1,3,5倍音だけなるというその通り

1:周波数1を1回、周波数2を1回鳴らす
cv48_1.png
A#4 466 1倍
A#5 932 2倍
F6 1396 3倍
A#6 1864 4倍
D7  2349 5倍

周波数2で倍音を鳴らしているので、
基本周波数の2,3,4,5倍が聞こえる

2:周波数1を1回、周波数2を2回鳴らす
cv48_2.png
F5 698 1倍
C6 1046
F6 1396 2倍
A6 1760
C7 2093 3倍

説明しづらい・・・。

3:周波数1を1回、周波数2を3回鳴らす
cv48_3.png
C#5 554 1倍
C#6 1108 2倍
F6 1396 
G#6 1661 3倍

4:周波数1だけを鳴らす。

(0と同じなので省略)

5:周波数1を1回、周波数1の倍音を1回鳴らす。
cv48_5.png
A4 440 1倍
E6 1318 3倍
C#7 2217 5倍

倍音鳴らしがあまりうまくいっていない?

6:周波数1を1回、周波数1の倍音を1回、周波数1の3倍音を1回鳴らす。
cv48_6.png
(F#4 369)ちょっと小さい
(F#5 739)ちょっと小さい
C#6 1108
(F#6 1480)
A#6 1864

倍音は多くなったが、高め。でも聞こえ方はそんなに高くない。

7:周波数1を1回、周波数1の倍音を1回、周波数1の3倍音を1回、周波数1の4倍音を1回鳴らす。
cv48_7.png
E5 659 1倍
B5 987
E6 1318 2倍
B6 1975 3倍
E7 2637 4倍

こっちも高めか?でも聞こえ方はそんなに高くない。
 

電車でGoコントローラをS88規格につなげるための4番目の実験 [S88]

 本屋さんに行って、
全国登山鉄道‰会 完全データDVDBOOK (メディアックスMOOK)
が売っていて、思わず買ってしまいました。
 DVDが3枚も付いていて、300分以上も前面展望が入っていて、素晴らしいです。実際の電車で前面展望を見ようとすると、前面展望を見たい人たちとのプレッシャーの掛け合いになって、かなりイラつくので。
 本の方もわかりやすく書いてあり、良い感じです。(まだDVD箱根登山と富士急しか見ていないけど)
 展望は画面いっぱいに前面展望で、速度計などは見えません。箱根登山の信号機も出発の青が見える場所と見えない場所があります。
 いいことづくめのようですが、落とし穴があります。DVDは片面1層です。つまり、かなり汚いです。
 プロジェクター(720P)に映してみたら、かなりドットが荒いです。走査線が見えます。
 物理的にはDVD3枚ですが、容量的には1.5枚相当かと思います。
 とはいえ、2400円の価値はあると思います。

 さて、このごろ、やりかけなのが
・ターンテーブル。5V用のモータードライバまでは買ったが、駆動がまだ。
・吊りかけ音スピーカー音。周波数で見たときの感じを入れるのを作らないと・・・。
・MP3デコーダに蒸気音を入れる。いくつか試している最中。音を連続させるのが少々難しいような感じ。

 で、今日のタイトルのところは、現在アートワーク中。
 図面は以下。
S88_Mascon.PNG
 アートワークは以下。
S88_mascon_lcd.png
 大きさはSZOMの箱サイズ。ただし、液晶を載せるので、箱に入れたら、見えない・・・。
 アクリルの板を頼もうとも思ったが、まあ、試作だしいいかとも思って頼まないかも。
(図面かくの面倒だし)
 今日中に注文すれば、文化の日あたりの連休で楽しめるかなあと思う。


電車でGoコントローラをS88規格につなげるための3番目の実験 [S88]

 さて、電車でGoコントローラをS88に付ける話ですが、速度メーター代わりの液晶ぐらいは付けておこうかと思ったので、秋月のバックライト付きI2C液晶を付けました。
 一応、問題なく、動きました。液晶のブレッドボードへの付け方が変なのはご愛嬌ということで。
re_DSC01048.jpg
 で、次に、9月の半ばにアメリカかカナダに注文していたPS2のコネクタですが、こちらも予定通り、二週間程度で届きました。送料が10ドルぐらいで高かったので、書留をやめるというケチりかたをしたのですが、かなりドキドキしていました。
 物は、思っていたものと少々違っていました。
re_DSC01049.jpg
 もっと、基板にがっちり固定できるものを想像していたのですが、PS2-USB変換器をばらした時と同様な感じで、「固定は筐体とやってね」という思想のようです。
 ということで、どういう風に基板と固定しようかをもうちょっと考えます。
 で、S88_Mascon基板ですが、とりあえず、回路図は書きました。RAIL_DATA(DCC信号を受けるピン)も適当にATMEGA328に入力しています。ただし、スマイルデコーダで使用している2ピンはすでに使われているので、7ピンにしておきました。ライブラリを見る感じでは、どのピンに入れても大丈夫そうなので。
PCDetectorK4.PNG
 すごいことにArduinoのすべての入出力ピンを使っています。貧乏性なのでフルに使えるとちょっとうれしいです。 
・基板の大きさはS88_16port用と同じ大きさ、穴位置にしようかと考えています。
・アクリルの板を一緒に頼もうかなあと思っています。
・本体基板にはスイッチの類は付けません。電車でGoコントローラにボタンはついていますし。

VVVFをMP3スケッチにつなげるその4 [ds-DCCデコーダ]

 最初に、子供の運動会がもともと8日の予定でしたが、雨、雨と続いて10日にやりました。
 たぶんそうなるだろうなあということで、今日(11日)まで4連休にしておきました。
 ですので、今日はゆるゆると休みでした。
 今日は、当たっていればリニアモーターカーに乗っていたはずですが、当たるわけがないか・・・。
 
 さて、本題です。
 Yaasan様から前回の物にMP3をつけたスケッチをいただいて、同時に
・MP3を鳴らすとVVVF音が一瞬とまる。割り込みがおかしくなっていませんか?
・ボリュームの特定のところでノッチオフがおかしい。処理がへんですか?
とあります。
 ということで、確認です。
 前回からの続きですので、
・VVVF音関連はTimer1でD9を使用
・モーターはTimer2でD3、D11を使用
・MP3はDFPlayerMiniを使用してソフトウェアシリアル(D7:Tx)を使用
としました。
汚いですが、つなぎは以下です。
(全体)
re_DSC01041.jpg
(MP3部)
re_DSC01042.jpg
(VVVF音部)
re_DSC01043.jpg
 で、コメント通り、MP3を鳴らすと音が一瞬途切れます。
・VVVF音はTimer2の割り込みを使用して、音を変化させていますので、割り込みで音が変わらないCV47,0とすると、音は途切れません。ですので、割り込みが関係しているのは確かです。
・MP3への通信はソフトウェアシリアルを使用して、コマンド間にはDelay(10)を入れています。
 ます、Delay(10)が悪い鹿野を見るために、Delay(500)とかしてみました。そうしたら一瞬途切れるのが2回ぐらい続くのですが、そのインターバルが延びただけですので、どうやらDelayは悪くないようです。で、ソフトウェアシリアル自体がTimer2の割り込みを遅らせている原因となります。
 MP3のライブラリは普通のハードウェアシリアルもソフトウェアシリアルも使えますので、ハードウェアシリアルに変更してみました。MP3用は9600bpsでもともとのハードウェアシリアルはPCとのデバッグに使用しており115200bpsですので、スケッチのセットアップが遅くなりすぎて、CV値の書き換えができなくなってしまいました。で後先を考えずに、デバッグ用に出力しているシリアル関連のコードをすべてコメントアウトしました。
 そうしたら、もちろんちゃんと動きました。VVVF音も途切れなくなりました。(でも、デバッグがしづらくなった・・・。)
 一応その時の全体写真ですが・・・。これ見てもわかんないですよね。
re_DSC01044.jpg
 一応、途切れなくなった動画です。

 ノッチオフの音がおかしい件は、再現できなかったので、先送りです。


VVVFをBEMFスケッチにつなげるその3 [ds-DCCデコーダ]

 さて、前回、Yaasan様にTimer2とTimer1交換しないといい音が鳴りません!とコメントしたら、デコーダ開発ボードの基板をいただきました。というわけで、Timer2とTimer1の入れかえ実験のスタートです。
 一応おさらいですが、ATMEGA328の制約で、
・Timer1は周波数(音の高さ)とDuty(音の大きさやモーターの速さ)をTimer1ライブラリを使用して連続的に同時に変更ができます。またカウンタは16ビットで細かく制御可能です。
・Timer2では周波数(音の高さ)またはDuty(音の大きさやモーターの速さ)のどちらかしか連続的に変更できません。カウンタは8ビットで255段階しか制御できません。
 ですので、モーターを回すだけならTimer1、Timer2のどっちでも可能です。
 また、音を出すだけならこちらもTimer1,Timer2のどっちでも可能です。
 しかし、音の変化をつけるために、音の高さをいじりつつDutyもいじるとなると、Timer1しかできません。
 ということで、贅沢を言うならTimer1とTimer2を変えてくれと言っておりました。
 (もう一つ、Timer2を使うとうまく割り込みがかけられずに音の変化をつけにくいという、たんなる力不足な事情のあったのだが)
 そして、いただいた基板を早速配線を切って貼ってです。
 Timer1はD9、D10でこれがモータードライバのBD6231F につながっているのですが、ここをTimer2のD3とD11に変更します。D3はもともとSoundOption出力として、D11はISP出力で出ていますので、ここを流用します。
 Timer1はD9からPAM8012の+出力にジャンパを飛ばしてつなぎます。(もちろんD3からのつなぎは直前でジャンパカットします)
 完成です。(ただし、100kΩがなかったから100kΩ→47kΩにしている)
re_DSC01039.jpg
 そしてPAM8012をのせたら、近所迷惑な感じでうるさかったので、アンプ386基板につなげてスピーカーに出力しています。こっちだと、一応ボリュームがついていますので、音を小さくすることが可能です(微妙ですが)。あとは、LPFをつけています。計算はこちらのページを使わさせていただいており、1uFと22Ωが付けたので、7KHzぐらいまで通るそうです(コンデンサを0.1uFにしときゃよかった・・・。)
 そして、スケッチの改造です。
 まずはモーターをD9,D10→D3、D11へ移動です。と言っても、ピンを変えてやって、あとはTimer1の31kHzの宣言である
TCCR1B &= B11111000;
TCCR1B |= B00000001;
をTimer2のほうに持っていくだけです。
 上記で何をやっているかというと、私家版データシートを参考に確認すると、
 分周のCS12~CS10を001に設定してやって「clkI/O (前置分周なし)」に設定しています。
 これと同様のことをTimer2でやろうとすると、目的のビットはTimer1と同じ場所にありました。
 ですので、
TCCR2B &= B11111000;
TCCR2B |= B00000001;
です。
 ビットによっては、なんかずいぶん場所が違うのですが、分周関連は一緒みたいですね。
 で、これだけで動きました。(BEMFは未確認)
 次に、VVVFですが、こちらは、いろいろとごにょごにょとやって、まあ、動きました。
 スケッチはこちらです。Timer1はGPLじゃないやつでの動作確認しかしていません。
 CV47を2にして吊りかけ音風にして、
 で、いろいろとCV48で音の出し方(繰り返し)を変えてみました。
 VVVFの配列(Kasoku配列という名前)は音を出すために周波数1、周波数2を持っていて、大体周波数2は周波数1の倍音にしています。
(CV48)
0:周波数1だけを鳴らす
1:周波数1を1回、周波数2を1回鳴らす
2:周波数1を1回、周波数2を2回鳴らす
3:周波数1を1回、周波数2を3回鳴らす
4:周波数1だけを鳴らす。
5:周波数1を1回、周波数1の倍音を1回鳴らす。
6:周波数1を1回、周波数1の倍音を1回、周波数1の3倍音を1回鳴らす。
7:周波数1を1回、周波数1の倍音を1回、周波数1の3倍音を1回、周波数1の4倍音を1回鳴らす。
としています。毎回割り込みは入れていますが、ちゃんと割り込んでくれているかどうかは確認していません。
 また、Dutyは今回はいじっていません。
 Dutyを0にすると無音になりますので、それを使用してCV47のVVVF配列の切り替えは0番を無音にしています。(周波数自体はE231用が入っている)
 微妙にDutyはボリューム替わりに使えるようです。ただし、線形に大きくなるわけでもなく、微妙にです。
 で、動画です。CV48の0、4にあたるものがTimer2同等です。
 DSMainR5の箱をエンクロージャ替わりに使っていたりします。
 CV48を順に再生していますが、字幕をOnにすると、今、どのモードかを説明しています。