- Arduinoのシールド基板で組む
- できるだけPSoCの機能を使って部品数を減らす
ぐらいにしてあとは作りながら決めて行こうと思う
PSoC 4 Pioneer Kitの制限
PSoC 4 Pioneer KitのIDACとOPAMPコンポーネントで外付け部品を減らしてみた
(http://dad8893.blogspot.jp/2015/02/psoc-4-pioneer-kitidacopamp.html)で
PSoC 4のOPAMPを使ってVCVSフィルターの実験をしたが
調べるとPSoC 4のOPAMPの入出力PINは固定されているようだ
データーシートの(PSoC4_PSoC_4200_Family_Datasheet_001-87197_0D_V.pdf)
表中の赤点線で囲んだところ
しかもPioneer KitではAruduino互換Pin以外に割り当てられている
なのでAruduinoのシールド基板ではPSoC内蔵のOPAMPは使えない
また、IDAC(電流出力型DAC)は2個内蔵されているが、2個とも8bit出力には設定できなかった
(エラーメッセージが出る)
片方を7bitにすればIDACを2個使える
折角2つIDACがあるので、音声出力とLFOの出力の2系統を出力する方向で考えてみた
ブレッドボードでの実験
表示用のI2C LCDも含めてブレッドボード上で組んでみた
PSoC CreatorのTopDesign
ブレッドボードの配線図
実験はとりあえず1系統のIDACのみでやってみた
LCDはストロベリーリナックスのLCDで
aitendoのSPLC792-I2Cはコンパクトでプルアップ抵抗も内蔵されていてしかも安いが
もう在庫がなさそうなので今回は候補から外しました(^q^;
出力波形
黄色がIDACの出力を電圧変換した波形、赤がフィルターを通した後の出力波形
いきなり波形が崩れてしまった(^q^;
フィルターを通す前のIDACからの出力ですでにつぶれている
だいたい800mVで頭打ちになっているようだ
IDACからの出力電流は0 - 612uAで、2.2kΩの抵抗で電圧変換しているので
612uA * 2.2kΩ = だいたい0 - 1.35V
の出力になるはず
仮想GNDからVCC(PSoC 4 Pioneer Kitの5V出力)をテスターで測ると2.34Vだったので
余裕があるはずだが、どっかで引っかかっているんだろう
仮想GNDの出力に使っているボルテージフォロワー用のOPAMPをLM358からNJM2732に変更しても変わらなかった
IDACの出力電流を下げてみる
IDACコンポーネントの出力電流は612uAと306uAに切り替えられるので306uAに変更
GJ(^q^/
出力電圧は下がってしまったが結果オーライで
ついでにフィルターを通す前と通したあとのリサージュ曲線もとってみた
多少位相が遅れてるようだ(フィルターなのであたりまえだが)
位相遅れの読み方はあとで調べる
出力に負荷をつないでみる
ヘッドホンを直につなぐことを想定して47ΩのRを負荷としてつないでみた
LM358
出力波形の上側がつぶれている上に、ゼロクロス歪みたいなのが出ている
これはいかん(^q^;;;
NJM2732
フィルターのOPAMPをフルスイングのNJM2732に差し替えたが、今度は下側がばっさりとやられた(^q^;
どうもヘッドホンの直つなぎはキツそうだ(^q^;
負荷を100Ωに変更
NJM2732
負荷を100Ωにしたら波形はまともになった(^q^/
100Ωはヘッドホンではきついがライン出力なら余裕はありそうだ
LM358
フィルターのOPAMPをLM358に差し替えてみた
ゼロクロス歪みたいなのは相変わらず出ている
波形を拡大
波形を拡大するとかなりはっきりする
LM358はなんか扱いが難しいときあるみたいなことをどこかで読んだ気がするが
具体的にどういうことだったか忘れてしまった(^q^;
LM358は10個ぐらいストックがあるので適材適所で使いたいんだが
オーディオ用途ではなかなか使いづらいOPAMPだ(^q^;
仮想GNDの電圧変動
LM358で仮想GNDの電流を増幅しているのでこれもACカップリングして波形を見てみた
RMSで3mV~5mV程度で変動
PSoC 4 Pioneer Kitの5V出力の実測値が4.69VなのでRMSで5mVとして
5mV / 4.69V = だいたい0.001
なのでだいたい0.1%、 -59.4dB
これだけではノイズなのか電圧変動なのかよくわからないが…
0 件のコメント:
コメントを投稿