2018年3月31日土曜日

MIX0401の構想

KIK01とBSM02のMIXにミニ・ミキサーを使ってるんですが入力端子が足りません。

既製品を買った方が安いんじゃないかな~と相当悩んだんですが、4入力1出力のモノラル・ミキサーを作ってみることにしました。

普通にこういう用途のミキサーが欲しい場合はベリンガーの「MX400 MICROMIX」や「HA400 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を中点に合わせておけば、出力レベルがそこそこ大きくなるように定数を決めました。

AC解析

ブレッドボード図



2018年3月27日火曜日

Arduino LFO モックアップ作製

秋月の「大型ポリカーボネート・ケース 140」に収めるつもりでモックアップを作製しました。

中の基板はケースに入れたままでギリギリArduino NANOにmicroUSBケーブルを挿せるように配置しました。

AD9833ファンクションジェネレータと同じように、電池ケースを背面に貼り付けて天面に傾斜をつけるつもりでです。




ケース内配線図

2018年3月25日日曜日

BSM02のプロジェクト・リポジトリを整理しました。

Github:
https://github.com/ryood/BSM02

BSM02 Project Repository   
2018.03.22   
   
BSM02   
 PSU  
  LT1054+-9V_PSU 
  5V_3.3V_+-2.5V_PowerSupply 
 BaseMachine chassis  
 BaseMachine sequencer  
 Synth  
  Filter 
   DCF_AD8403_Shield
   SVF_AD8403
  Oscillator 
   PSoC4_DCO
  Amplifier 
   NJM13700_DCA
 SPI Bus Buffer


mbed Repository:
https://os.mbed.com/users/ryood/code/BSM02/

メモ:


gitのリポジトリを入れ子にする方法がよくわからないので、サブ・プロジェクトはすべて元のリポジトリからコピー。

今後の目標としては

  • Filterのバリエーションを増やす
  • Oscillatorをアナログ回路で組む
  • Sequencerの改良(1kHzのノイズを除去)
  • シーケンスをMidiでコントロール可能に

2018年3月20日火曜日

Arduino LFO Output Board はんだ付け完了

部品面

はんだ面

ケース内配線図

Main Boardと接続

電源電流が32mA程度になっています。Output Boardをブレボで実験していたときは25mA~29mAでしたが、増加分はOutput BoardにつけているLEDの消費分だと思います。

ケースに収める構想

意外と操作子が多いので、秋月のポリカーボネートケース(大)で収まるかどうか悩み中。

2018年3月17日土曜日

Arduino LFO Output Board 基板設計

ブロック図


回路図

LPFは前回の実験から、4次VCVSバターワース特性にしました。

Limitterは+3.3V側のみスイッチまたはジャンパーで有効/無効を切り替えるようにしました。

基板図

部品並べ

ケース内配線

Github:
https://github.com/ryood/ArduinoLFO

2018年3月14日水曜日

OWON B35を購入しました

久しぶりに測定器を購入しました。Bluetooth通信機能付きテスタのOWON B35です。

  • Bluetooth経由でスマホでロギング可能
  • キャパシタンス、温度測定可能
  • 高精度らしい
  • 計測値の表示サイズがでかい
  • 値段も安い(5,400円@秋月)

という点に惹かれて選択しました。

上位機種にB-35Tがあり、こちらはアナデバのAD8436をAC電圧測定に使っていて真のRMS値が測定できるそうです。わたくしの場合は交流をテスタで測定することがほとんどないので、B35にしました。←もちろんB35も普通の精度でAC電圧を測れます。

開封



外箱の中に、キャリング・ケースに入った状態で収まっていました。キャリング・ケース付きなのは好印象です。


付属部品は、プローブ、ワニ口アダプタ、K型熱電対、hFE/温度測定用のアダプタ、単3電池×2、キャリングケース、マニュアル、アプリ・ダウンロード用のQRコードの紙でした。

サイズ感



左から、DER EE DE200-A、OWON B35、LCRメータのDER EE DE-5000です。DE-5000もでかいですが、B35もそこそこでかいです。普段はDE-200Aを使い、検査等本腰をいれて測定する場合にはB35を使う、ということになりそうです。

<追記:2018.03.19>

B35とDE-5000はバックライトを点灯させています。DE200-Aはバックライトがありません。

</追記>

スマホとの接続


熱電対で気温を測定してスマホに飛ばしているようすです。今日は暑いぐらいでした(^q^;


Huawei P8liteと接続してみました。

Androidアプリをインストールするときには「設定」-「詳細設定」-「セキュリティ」-「提供元不明のアプリ」をONにする必要があります。(Androidバージョン:6.0)

秋月の商品ページでは「Android」アプリとありますが、iOS用のアプリもあります。iPad3にもアプリをインストールできましたが、Bluetoothのペアリングがうまくいきませんでした。(使い方もよくわかっていないので簡単に試しただけです)

パソコン用のアプリもありますが、Androidアプリから測定データを共有できるので、例えばGoogle Drive経由で記録したCSVデータをパソコンに取り込むことは可能です。ひと手間かかりますが、パソコンがBluetoothに対応していなくてもパソコンでデータ処理ができます。

精度測定


直流電圧


自作の5V/3.3V安定化電源の出力をB35とDE-200Aで測定しました。

定格 B35 DE-200A
5V 5.037V 5.06V
3.3V 3.287V 3.30V

B35の方が1桁多いです。5Vの測定値は誤差がそこそこあります。←どちらが正しいかはわからないですが。

抵抗


1kΩと100kΩの金属皮膜抵抗(1%)を、BT35とDE200-A、DE-5000(DCRモード)で測定しました。

定格 B35 DE-200A DE-5000
1kΩ 998Ω 998Ω 999.1Ω
100kΩ 99.9kΩ 99.8kΩ 99.99kΩ

抵抗値はB35とDE200-Aで差はあまりないようです。

キャパシタンス


WIMAの1uFのフィルムコンデンサをB35とDE-5000(Csモード)で測定しました。

定格 B35 DE-5000
1uF 1.011uF 1025.6nF

LCRメーターは基板の検査用としては使いにくいので、B35の出番になりそうです。

ダイオード


シリコンダイオード(1N4148)とショットキーバリアダイオード(1S4)のVfをB35とDE200-Aで測定しました。また、1kΩの電流制限抵抗を入れて5Vを印加しB35のDCVでもVfを測定しました。

品種 B35 DE200-A 5V/1kΩ
シリコン 0.604V 0.597V 0.680V
ショットキー 0.203V 0.184V 0.241V

ダイオードのVfは流す電流によって変わるのでなんとも言えません。

周波数

自作のAD9833ファンクションジェネレータ矩形波だけのファンクションジェネレータで1kHzの矩形波、PCM5102Aファンクションジェネレータで1kHzのサイン波を出力してB35で測定しました。

矩形波

F:998.7Hz
Duty: 50.0%

サイン波

F:1.000kHz
Duty:50.8%

波形 B35/Hz B35/Duty
矩形波 0.999kHz 50.09%
サイン波 999.6Hz 49.9%

オシロ(OWON DS7102)の表示値とB35のどちらが正確かはわかりませんが、どちらもだいたい1kHz/50%になっています。

hFE


付属のアダプタのhFE測定用の穴がCBEになっていて、常用している2SC1814/2SA1015のECBの並びのものは挿せませんでした。DE200-Aはどちらでも挿せるようになっているので少し残念な感じです。

トランジスタの特性測定はAVRトランジスタテスターを使っているので大きな問題ではないですが、気が向いたらB35と比較してみたいと思います。

温度


温度は1℃刻みでしか測定できないので、熱があるかどうか体温を測る用途には向きません(^q^;

自作の温度計はセンサがサーミスタで、ロギングするためにはUSBでパソコンとつながないといけません。B35は精度は粗いですがセンサーが熱電対で接続がBuletoothでひも付きではないので使いどころはありそうです。

メモ:


これだけのスペックで安すぎるんでは?と思いました。

LCDの下部に表示されるアナログ・スケールが測定速度の速さと相まってサイバーっぽくっていい感じです。

テスタが2個あると、同時に2か所の電圧を測定できるので実際に使ってみてようすをみてみたいと思います。

電流の測定はまだ調べていません←測定回路に入れた場合の電圧降下の具合など。

ヒューズのスペアはどうしようか。。。

<追記 2018.05.21>

直流電流計測モード(mA)の電圧降下を測定しました。


R1の電圧降下Vr1=5.03VでB35の電圧降下Vb35=40mVでした。内部抵抗Rb35は

Vb35 / Rb35 = Vr1 / R1

なので、内部抵抗は約0.79Ωとかなり低い値だと思います。

</追記>

2018年3月10日土曜日

Aruduino LFO Output BoardのLPFの検討

Arduino LFOのOutput Boardに入れるLPFを4次RC LPFと4次MFB(Multi Feedback )VCVSバターワース特性LPFで比較してみました。

回路図


4次RC LPF

4次VCVS

<追記:2018.03.12>
回路図では「4th MBF LPF」となっていますが、VCVSの間違いです。
</追記>

OPAMPはすべてNJU7032を使用。
D1、D2のショットキーバリアダイオードは1S4を使用。

1S4の順方向電流は絶対定格で1Aなので、4次RC LPFには一応R9=10Ωを電流制限抵抗として入れました。4次MFBVCVSの方はOPAMP(U3、U4)の出力電流で制限されるので省略しました。(C5でACカップリングしているので直流は流れない)

ブレッドボード配線図


4次RC LPF


4次MFBVCVS


電源は単3×6を使い、Aruduino NANOのVINに入力
電源電圧 5V: 5.02V
電源電圧 3.3V: 3.27V
電源電流 25mA~29mA (自作電流計)

矩形波


4次RC LPF

RiseTime: 400us
FallTime: 440us
OverShoot: 1.2%

4次MFBVCVS

RiseTime: 80us
FallTime: 80us
OverShoot: 4.9%

4次RC LPFは波形のなまりが顕著で、4次MFBVCVSはオーバーシュートが出ています。

ノコギリ波


4次RC LPF

4次MFBVCVS

ノコギリ波でもやはり4次RC LPFはなまりが顕著な上に、波形の下側がGNDまで下降していません。

LTSpiceでシミュレーションしてみると、

4次RC LPF

4次MFBVCVS

となり、やはり下側が下降しきらないようです。LFOとして使うので、波形がGNDまで下降しないと問題となりそうです。

AC特性


50Hzのサイン波を出力して、WaveSpectraでFFTしました。

4次RC LPF

4次MFBVCVS

1kHzより高い周波数では4次RC LPFの方が減衰していますが、1kHzより低い周波数の高調波歪(50Hzの整数倍)は4次MFBVCVSの方が歪が少ないようです。

<追記: 2018.03.12>

比較対象として、LPFをバイパスしたときも測定しました。


追記その2:MFBとVCVSを間違っていました。

</追記>

EasyWordMallのArduino Pro Mini(互換品)を買ってみた ~ Arduino Nano(互換品)と比較

AmazonでArduino Pro Mini(互換品)を買ってみました。

Arduino Pro MiniとArduino NANOの比較。



左からArduino Nano(互換品)、Arduino Pro Mini(互換品)、Arduino Pro mini(Sparkfun製 / Switch Science購入)です。


今回購入したArduino Pro Mini(互換品)は付属のピンヘッダをはんだ付けしましたが、若干ピンの径が太いようでブレッドボードにさしにくいです。書き込みヘッダ用のピンソケットは手持ちのものをはんだ付けしました。

製作中のArduino LFOで使えないかと思って、安かったのであまり考えずに購入したのですが、Arduino Pro MiniはUSB-Serial変換が別途必要なだけでなく、電源用のレギュレータが5V/3.3Vのどちらかしかありません。

Board Clock USB<->Serial 5V regulator 3.3V regulator
Arduino Nano 16MHz
Arduino Pro Mini (5V) 16MHz x x
Arduino Pro Mini (3.3V) 8MHz x x

USB-Serial接続


秋月のUSB-Serial変換モジュールを使って書き込みました。

EasyWordMallのArduino Pro MiniはSparkfunのArduino Pro miniとはUSB接続用ヘッダの配列が異なります。

Sparkfun製 (3.3V版) https://www.sparkfun.com/products/11114



EasyWordMall (5V / 16MHz)



Sparkfun製のヘッダを裏写しにしたような配列になっているので、接続には注意が必要です。

接続表

Arduino Pro mini FT232
GND GND
CTS CTS#またはGND
VCC VCC
TXO RXI
RXI TXO
DTR DTR#

<追記: 2018.07.19>

EasyWordMallのArduino Pro Mini (3.3V / 8MHz)も購入したので配線図を追記します。

EasyWordMall (3.3V / 8MHz)


また、「Sparkfun製 (3.3V版)」のブレッドボード配線図のFT232RLモジュールのジャンパ設定に間違いがあったので修正しました。

</追記>

2018年3月7日水曜日

ベース・マシーン BSM02 ファームウェア概略

プロジェクト名はBSM02としました。ベースマシンからのブランチです。


現状のファームウェアのクラスの関係を粗々で図にしました。

SequeceSenderクラスが持っているRTOS::Timer(1msサイクル)のタイミングで、BaseMachine(メインルーチン)にCallbackしてシンセ部にSPI送信しています。←まどろっこしい(^q^;

これをマイクロ秒単位で使えるTickerクラス(ハードウェア・タイマー)を使うようにするには、BaseMachine(メインルーチン)、SequenceSender、EnvelopeGeneratorを整理する必要がありそうです。

mbed Repository:

2018年3月3日土曜日

ベースマシン まとめ 2

去年簡単にまとめた「ベースマシン まとめ(弱め)」から、筐体その他いろいろと拡張していて自分でもよくわからなくなりつつあるので、ふたたびまとめてみておきたいと思います。

筐体


基本はMDFでフレームを作り、アガチス材で作ったサイドパネルをつけて見栄えを良くしています。

ベースマシンの筐体づくり
ベースマシン 筐体のサイドパネルをニスで塗装してみた。

シーケンサー部


ブロック図

Nucleo F401RE


シーケンサーのコアとなるボードです。ユーザーインターフェースからの入力(POT/Rotary Encoder/SW)をまとめ、SPI接続のGraphic LCDにフィードバックしつつ、シンセ部(Synth)にSPI通信でシーケンスを送信します。

電源はシンセ部(synth)から+9Vの供給を受けています。

ファームウェア mbed repository:
https://os.mbed.com/users/ryood/code/BaseMachine/ Revision:29

その他は「ベースマシン まとめ(弱め)」から、大きな変更はありません。

シンセ部


ブロック図

+/-9V PSU


DC12VのACアダプタから±9Vを作る電源ユニットです。

LT1054

5V/3.3V/2.5V PSU


±9V PSUから、5V、3.3V、2.5Vを作り出す電源ユニットです。±9V電源もパススルーしています。

5V/3.3V/±2.5V安定化電源

SPI Bus Buffer


シーケンサー部からのSPI信号をバッファリングしています。

SPIバス・バッファ(TC74HC541)基板の製作


PSoC4 DCO


PSoC4 Prototyping Kitを使った矩形波/ノコギリ波のDCOです。同じパラメーターで矩形波のパルス幅、ノコギリ波⇔三角波のモーフィングができるようにしています。

PSoC 4 Prototyping Kit DCOでけた。
PSoC 4 DCO ノコギリ波~三角波を可変して出力するようにしてみた。

ファームウェア
https://github.com/ryood/PSoC4_DCO/tree/master/PSoC/PSoC4_PrototypingKit_DCO_for_NucleoF401RE.cydsn

SVF DCF


最初はVCVS DCFを使っていましたが、仮想GNDの取り扱いに問題があり、新たにSVF DCFを製作しました。←VCVS LPFもいずれ作り直すつもりです。

SVF DCF
SVF DCF 出力のGNDを修正 仮想GNDの扱いには注意するべし

OTA DCA


NJM13700 DCAの基板でけた。


課題


KIK01とベースマシンをMIXして問題が見つかりました。

https://soundcloud.com/od-ryo/sync03

WaveSpecraでFFTしてみると

KIK01とベースマシンのMIX

1kHzとその高調波にピークが出ています。

おそらくF401REのファームウェアでRTOS Timerの1ms周期でシンセ部にSPI送信を行っているためだと思います。

ベースマシンのみ

ベースマシンのみの出音の場合は波形の歪が多く発見が困難。

KIK01のみ

KIK01は32kHz周期でエンベロープ波形を更新しているため32kHzにピーク。

上記が原因という確証はないのですが、ベースマシンの波形更新処理時間を測定するなどしてもう少し調べてみたいと思います。

ただ、mbedのRTOS Timerの割り込み間隔の最小は1msなので、更新周期を速くするにはタイマー割り込み(Tickerクラス)に変更する必要があるのでやっかいそうです。

こういう音(歪、ノイズ)と割り切る手もありそうですが(^q^;