2017音源とオーディオの電子工作(予定)ソフト屋がハードにはまっていく軌跡2017年11月29日水曜日Nucleo(mbed)で電圧を監視するMAU106±5V電源でDigital+5Vの出力を1/2に分圧して取り出せるようにしているので、Nucleoでその電圧を測定して電圧監視するClassを作ってみた。0.5);と、第一引数に自分自身を指定する必要がある。t);}と宣言されていて、cv-qualifiers(constやvolatileの修飾子)をサポートしていないので(mbed-os-5.1以降?)非推奨というような事が書いてある。t)をそのまま使うことにした。t);の「callback()」が何なのかよくわからない。_pLed=NULL)とパラメータを指定し、check()を呼び出す。check()Nucleo自体には内部レファレンスがあるが、3.3VのVDDを実際にテスタ等で測定して基準電圧として使うことにした。動作としては電圧が低下した場合はLEDがゆっくり点滅、過電圧の場合ははやく点滅、正常時は常時点灯としている。vrefint(ADC_VREF);と指定すれば使えるようだ。内蔵基準電圧は1.21Vなので今回は使用していない。Pi3用にC++で書いて比較してみた。PiをOSなし(ベアメタルと言うそうです)で動かすのはかなり難しいので、実用的な性能比較ということになると思います。Pi上では実行ごとに結果が異なる。F767はRasPi3の約0.6倍の性能。F767はRasPi3の約0.2倍~0.5倍の性能。F767ZIは、まあまあ健闘していると思う。作戦検討その5現状の配線を記録しておきます。リズムマシンとのカラミまずはSync線1本を使ってKICKパートとしてリズムマシンと同期させてみる予定。本体を操作子系とを二段積みしてスペースを節約しようと思う。KIK01を(むりくり)二段積みして、リズムマシンとベースマシンといっしょに並べてみた台座に使ってるラックの一面だけでは面積的につらくなってきました。KIK01に接続してみた。基板間接続用のケーブルを作って、MAU106±5V電源をKIK01の電源ユニットとして使ってみた。うまく動作しなかったので地獄のデバッグをしながらの作業でした(^q^;なおした不良箇所Dual_OTA_VCAのハンダ不良ケーブルの差し方で片チャンネル音が出たりでなかったりしたのではんだ付けしなおした。上の画像の赤丸で囲った部分のハンダ不良だったと思う。はんだ付けしなおしたらちゃんと音が出るようになった。電源ケーブルを圧着ピン(EIコネクタ)で作ったが、ハウジングへの差し込みが甘くて導通していなかった。これも各部の電圧を測ったりしてわかったが、発見が難しかった。F767ZIを買ってみた。RS-Onlineで発注して到着まで3日。佐川急便で届いたので国内で再発送してるような感じです。ボードもでかいが144PinのMCUもでかい。F446REなどのNucleo64はmini-USB)。本体側にも別にmicro-USB端子がついていて、有線LAN用のRJ45ジャックもついている。Header(ピンヘッダは実装されていない)がある。F401/F446/F303でやったのと同じように浮動小数点演算を試してみた。FPUがついているので、F446とF767でそれぞれ比較してみた。0.373float型ではF767の方が若干処理が速くなっていて、double型ではかなり差がついている。F446の駆動クロックは180MHzで、F767は216MHzなので、float型ではクロック分速いぐらいか。F446とF767で処理速度の比をグラフ化してみた。float型ではおおよそ0.8程度。double型では、div(割り算)とsqrt以外ではおおよそ0.1程度になっている。Cortex-M7なので、float型でも速くなってて欲しいな~と思っていましたが、クロック分しか速くなっていない。Pi3ぐらいは行ってほしかったのですが。抵抗を負荷として出力を測定した。ch1:Analog-5VDigital+5V、Analog±5Vともスパイクノイズが載っている。周波数は約150kHz程度で、MAU106由来のもの。MAU106はSIPソケットを使って実装しているので取り外してDigital+5Vのみを測定した。ベースマシンで使っているLT1054を使った両電源(±9V)と比べると、スイッチング・ノイズのレベルは大きいがリプルは少ないと思う。プッシュプル2段直結ダイアモンドバッファと呼ばれる回路(←違ってたらすみません。正側、負側が対称で、電源を両電源にしたので入出力のACカップリングは不要になる。回路の設計としてはR2とR3の抵抗値でQ1、Q2のエミッタ電流を決めるだけ。1.2mA正負対称なのでQ2のエミッタ電流も同じになる。R1は発振防止用で、実際にやってみないとその効果はわからないと思う。電源は9Vを分圧して±4.5Vとすることを想定し、信号源は1kHz/2Vp-pのサイン波にした。入出力のシミュレーション負荷抵抗RLを10Ω、22Ω、33Ωにしてパラメータ解析してみた。RLが22Ωまでは振幅は±0.9Vp-p程度とあまり小さくならず、歪もなさそうに見える。RLが10Ω(緑色)の場合は振幅が小さくなり、0V付近で歪が発生している。出力のシミュレーションの拡大2段目のTrのベース電位V(vb3)はQ3のベース電位、V(vb4)はQ4のベース電位で特に歪んでいるようには見えない。1段目のTrのエミッタ電流1段目のTrのエミッタ電流は、Ie(Q1)、Ie(Q2)とも、概算どおり1.2mA程度を中心として流れている。RLが10Ω(緑色)の場合、1段目のTrのエミッタ電流が1.2mA付近から少なくなると電流の変化がハッキリと非線形になっている。原因はパラメータ解析しているRLの値だが、間に2段目のQ3が入っているので具体的にイメージしにくい。出力の歪も軽微なので、実験でこれを確かめるのは難しそう。AC解析10MHzあたりまではフラット。ACカップリングしていないのでDCレベルまで使える。(正負の非対称性が出るのでそうはかんたんにいかないと思いますが)ステップ応答500kHzの矩形波を入力して過渡解析してみた。994usほとんど遅れはなさそう。メモ:2段プッシュプルは両電源が必要となるが、バッファ回路としての特性はいろいろと優秀。トランジスタ回路の設計」の第4章以降にでてきますが、実用的にスピーカーやヘッドホンを駆動しようと思うと熱や発振が問題となってきます。KIK01を接続して出力を測定した。+2.39VACアダプタからの+6V出力の電圧が下がっていて、全体に出力電圧が低下している。5.74V定格では最大1.8Aとなってますが、そこそこ出力低下しますね。出力波形オシロのACモードで出力変動を測定。ch2:Analog-5V※KIK01を負荷としている。F401REの3.3V電源を破壊してしもうた(T_T;製作中の±5V電源にNucleoをつないでテストしているときに、NucleoのE5Vピンに+5Vかけるのを、間違えて±5Vの両極(10V分)につないでしまい、NucleoがPCから認識しなくなった。LDOを破壊してしまったようだ。LDOの回路図テスタで電圧を測ると、U1の「+3V3_ST_LINK」は3.29V、「Vin」は4.43V。U4の「+3V3」は0.303V、「+5V」は4.72V。U4が壊れてしまったようだ。ACアダプタを使った。コモン・モード・チョークを入れると出力波形がきれいになるので入力に入れている。+5Vと表記)には、47Ωの酸金を2本並列にして負荷とした。+5V/-5Vと表記)には、それぞれ100Ωの酸金を負荷とした。+5V/-5Vは、5V/3.3V安定化電源Ver.2を電源としたときより悪くなっている。表面温度NJM239615分で22.2°Cから29.2°Cに上昇。MAU10615分で22.35°Cから35.75°Cに上昇。作ってみてKIK01の電源として使ってみるつもり。問題が出たら別の手を考えます。Effectorの妄想こういう猛烈なスイッチング歪が出る回路に音楽信号を通したらどうなるんだろうか。KIK01に接続してみた。MAU106を使ってみる。