2018音源とオーディオの電子工作(予定)ソフト屋がハードにはまっていく軌跡2018年3月31日土曜日MIX0401の構想KIK01とBSM02のMIXにミニ・ミキサーを使ってるんですが入力端子が足りません。既製品を買った方が安いんじゃないかな~と相当悩んだんですが、4入力1出力のモノラル・ミキサーを作ってみることにしました。Microamp」があります。±100mVp-pで、1kHz、2kHz、3kHz、4kHzのサイン波を入力してミックスして出力しています。回路図のR9/R10、R11/R12などは入力レベルを減衰させるPOTで、AカーブPOTの中点を測定した結果、15%あたりだったので、その比率で減衰させています。過渡解析の上側のペインのIN1、IN2、IN3、IN4の信号レベルはその結果±15mVp-p程度に減衰しています。←少し小さくなっています。出力音量のMasterレベルは回路図のU2の帰還に入れているR6で調整するつもりです。これもAカーブのPOTの中点の15%にしています。トータルとしてPOTを中点に合わせておけば、出力レベルがそこそこ大きくなるように定数を決めました。140」に収めるつもりでモックアップを作製しました。NANOにmicroUSBケーブルを挿せるように配置しました。AD9833ファンクションジェネレータと同じように、電池ケースを背面に貼り付けて天面に傾斜をつけるつもりでです。LFO2018年3月25日日曜日BSM02のプロジェクト・リポジトリを整理しました。Repository:https://os.mbed.com/users/ryood/code/BSM02/メモ:gitのリポジトリを入れ子にする方法がよくわからないので、サブ・プロジェクトはすべて元のリポジトリからコピー。電源電流が32mA程度になっています。BoardにつけているLEDの消費分だと思います。意外と操作子が多いので、秋月のポリカーボネートケース(大)で収まるかどうか悩み中。回路図LPFは前回の実験から、4次VCVSバターワース特性にしました。Limitterは+3.3V側のみスイッチまたはジャンパーで有効/無効を切り替えるようにしました。B35を購入しました久しぶりに測定器を購入しました。らしい計測値の表示サイズがでかい値段も安い(5,400円@秋月)という点に惹かれて選択しました。上位機種にB-35Tがあり、こちらはアナデバのAD8436をAC電圧測定に使っていて真のRMS値が測定できるそうです。わたくしの場合は交流をテスタで測定することがほとんどないので、B35にしました。←もちろんB35も普通の精度でAC電圧を測れます。外箱の中に、キャリング・ケースに入った状態で収まっていました。キャリング・ケース付きなのは好印象です。付属部品は、プローブ、ワニ口アダプタ、K型熱電対、hFE/温度測定用のアダプタ、単3電池×2、キャリングケース、マニュアル、アプリ・ダウンロード用のQRコードの紙でした。DE-5000もでかいですが、B35もそこそこでかいです。普段はDE-200Aを使い、検査等本腰をいれて測定する場合にはB35を使う、ということになりそうです。<追記:2018.03.19>B35とDE-5000はバックライトを点灯させています。DE200-Aはバックライトがありません。熱電対で気温を測定してスマホに飛ばしているようすです。P8liteと接続してみました。Androidアプリをインストールするときには「設定」-「詳細設定」-「セキュリティ」-「提供元不明のアプリ」をONにする必要があります。(Androidバージョン:6.0)秋月の商品ページでは「Android」アプリとありますが、iOS用のアプリもあります。iPad3にもアプリをインストールできましたが、Bluetoothのペアリングがうまくいきませんでした。Drive経由で記録したCSVデータをパソコンに取り込むことは可能です。5V/3.3V安定化電源の出力をB35とDE-200Aで測定しました。3.30VB35の方が1桁多いです。5Vの測定値は誤差がそこそこあります。←どちらが正しいかはわからないですが。抵抗1kΩと100kΩの金属皮膜抵抗(1%)を、BT35とDE200-A、DE-5000(DCRモード)で測定しました。抵抗値はB35とDE200-Aで差はあまりないようです。キャパシタンスWIMAの1uFのフィルムコンデンサをB35とDE-5000(Csモード)で測定しました。1025.6nFLCRメーターは基板の検査用としては使いにくいので、B35の出番になりそうです。ダイオードシリコンダイオード(1N4148)とショットキーバリアダイオード(1S4)のVfをB35とDE200-Aで測定しました。1kΩの電流制限抵抗を入れて5Vを印加しB35のDCVでもVfを測定しました。0.241VダイオードのVfは流す電流によって変わるのでなんとも言えません。自作のAD9833ファンクションジェネレータ矩形波だけのファンクションジェネレータで1kHzの矩形波、PCM5102Aファンクションジェネレータで1kHzのサイン波を出力してB35で測定しました。DS7102)の表示値とB35のどちらが正確かはわかりませんが、どちらもだいたい1kHz/50%になっています。hFE付属のアダプタのhFE測定用の穴がCBEになっていて、常用している2SC1814/2SA1015のECBの並びのものは挿せませんでした。DE200-Aはどちらでも挿せるようになっているので少し残念な感じです。トランジスタの特性測定はAVRトランジスタテスターを使っているので大きな問題ではないですが、気が向いたらB35と比較してみたいと思います。温度は1°C刻みでしか測定できないので、熱があるかどうか体温を測る用途には向きません(^q^;自作の温度計はセンサがサーミスタで、ロギングするためにはUSBでパソコンとつながないといけません。B35は精度は粗いですがセンサーが熱電対で接続がBuletoothでひも付きではないので使いどころはありそうです。メモ:これだけのスペックで安すぎるんでは?と思いました。LCDの下部に表示されるアナログ・スケールが測定速度の速さと相まってサイバーっぽくっていい感じです。テスタが2個あると、同時に2か所の電圧を測定できるので実際に使ってみてようすをみてみたいと思います。電流の測定はまだ調べていません←測定回路に入れた場合の電圧降下の具合など。ヒューズのスペアはどうしようか。2018.05.21>直流電流計測モード(mA)の電圧降下を測定しました。R1の電圧降下Vr1=5.03VでB35の電圧降下Vb35=40mVでした。R1なので、内部抵抗は約0.79Ωとかなり低い値だと思います。)VCVSバターワース特性LPFで比較してみました。LPF」となっていますが、VCVSの間違いです。</追記>OPAMPはすべてNJU7032を使用。D1、D2のショットキーバリアダイオードは1S4を使用。LPFには一応R9=10Ωを電流制限抵抗として入れました。4次MFBVCVSの方はOPAMP(U3、U4)の出力電流で制限されるので省略しました。LPFは波形のなまりが顕著で、4次MFBVCVSはオーバーシュートが出ています。LPFはなまりが顕著な上に、波形の下側がGNDまで下降していません。LPF4次MFBVCVSとなり、やはり下側が下降しきらないようです。LFOとして使うので、波形がGNDまで下降しないと問題となりそうです。AC特性50Hzのサイン波を出力して、WaveSpectraでFFTしました。LPFの方が減衰していますが、1kHzより低い周波数の高調波歪(50Hzの整数倍)は4次MFBVCVSの方が歪が少ないようです。2018.03.12>比較対象として、LPFをバイパスしたときも測定しました。追記その2:MFBとVCVSを間違っていました。Mini(互換品)を買ってみました。Science購入)です。Mini(互換品)は付属のピンヘッダをはんだ付けしましたが、若干ピンの径が太いようでブレッドボードにさしにくいです。書き込みヘッダ用のピンソケットは手持ちのものをはんだ付けしました。MiniはUSB-Serial変換が別途必要なだけでなく、電源用のレギュレータが5V/3.3Vのどちらかしかありません。秋月のUSB-Serial変換モジュールを使って書き込みました。miniとはUSB接続用ヘッダの配列が異なります。16MHz)Sparkfun製のヘッダを裏写しにしたような配列になっているので、接続には注意が必要です。8MHz)も購入したので配線図を追記します。(3.3V版)」のブレッドボード配線図のFT232RLモジュールのジャンパ設定に間違いがあったので修正しました。ファームウェア概略プロジェクト名はBSM02としました。ベースマシンからのブランチです。現状のファームウェアのクラスの関係を粗々で図にしました。SequeceSenderクラスが持っているRTOS::Timer(1msサイクル)のタイミングで、BaseMachine(メインルーチン)にCallbackしてシンセ部にSPI送信しています。←まどろっこしい(^q^;これをマイクロ秒単位で使えるTickerクラス(ハードウェア・タイマー)を使うようにするには、BaseMachine(メインルーチン)、SequenceSender、EnvelopeGeneratorを整理する必要がありそうです。まとめ(弱め)」から、筐体その他いろいろと拡張していて自分でもよくわからなくなりつつあるので、ふたたびまとめてみておきたいと思います。基本はMDFでフレームを作り、アガチス材で作ったサイドパネルをつけて見栄えを良くしています。筐体のサイドパネルをニスで塗装してみた。F401REシーケンサーのコアとなるボードです。LCDにフィードバックしつつ、シンセ部(Synth)にSPI通信でシーケンスを送信します。電源はシンセ部(synth)から+9Vの供給を受けています。まとめ(弱め)」から、大きな変更はありません。PSUDC12VのACアダプタから±9Vを作る電源ユニットです。PSUから、5V、3.3V、2.5Vを作り出す電源ユニットです。±9V電源もパススルーしています。Bufferシーケンサー部からのSPI信号をバッファリングしています。Kitを使った矩形波/ノコギリ波のDCOです。同じパラメーターで矩形波のパルス幅、ノコギリ波⇔三角波のモーフィングができるようにしています。ノコギリ波~三角波を可変して出力するようにしてみた。DCFを製作しました。LPFもいずれ作り直すつもりです。課題KIK01とベースマシンをMIXして問題が見つかりました。https://soundcloud.com/od-ryo/sync03WaveSpecraでFFTしてみるとKIK01とベースマシンのMIX1kHzとその高調波にピークが出ています。Timerの1ms周期でシンセ部にSPI送信を行っているためだと思います。ベースマシンのみベースマシンのみの出音の場合は波形の歪が多く発見が困難。KIK01のみKIK01は32kHz周期でエンベロープ波形を更新しているため32kHzにピーク。上記が原因という確証はないのですが、ベースマシンの波形更新処理時間を測定するなどしてもう少し調べてみたいと思います。Timerの割り込み間隔の最小は1msなので、更新周期を速くするにはタイマー割り込み(Tickerクラス)に変更する必要があるのでやっかいそうです。モックアップ作製BSM02のプロジェクト・リポジトリを整理しました。