2016年3月29日火曜日

デジタル・ポテンショメータでLPFのQをコントロールする

以前やった2次VCVS LPFのQの調整をデジタル・ポテンショメータのAD8403を使って実験してみた。

シミュレーション

1 + Rq1 / Rq2で増幅率が決まり、同時にQをコントロールできる。増幅率が3倍になると回路は発振する。

AC解析

Rq1とRq2をパラメータ解析してみた。

明るい緑が増幅率1で、Rq=100kΩ*(2/3)≒66.6kΩのとき増幅率が3となり発振する。

位相を見ると67kΩ(グレー)以上でおかしくなっているのでこの辺で発振しているようだ。

ブレッドボード図


AD8403はArduinoを使ってコントロールした。0~255を順番に出力しているので、AD8403は0Ω:100kΩ~100kΩ:0Ωでスイープされる。

Arduinoのスケッチ


/*
  Digital Pot Control

  AD8403
  
  チャンネル1のみ出力
  
  A1 - connect this to voltage
  W1 - this is the pot's wiper, which changes when you set it
  B1 - connect this to ground.
*/

// inslude the SPI library:
#include <SPI.h>

// set pin 10 as the slave select for the digital pot:
const int slaveSelectPin = 10;

byte cnt = 0;

void setup() {
  // set the slaveSelectPin as an output:
  pinMode (slaveSelectPin, OUTPUT);
  // initialize SPI:
  SPI.begin();
}

void loop() {
    digitalPotWrite(0, cnt);
    cnt++;
    delay(20);
}

void digitalPotWrite(int address, int value) {
  // take the SS pin low to select the chip:
  digitalWrite(slaveSelectPin, LOW);
  //  send in the address and value via SPI:
  SPI.transfer(address);
  SPI.transfer(value);
  // take the SS pin high to de-select the chip:
  digitalWrite(slaveSelectPin, HIGH);
}


100Hzのノコギリ波を通してみた。



無事?発振してくれているようだ(^q^/

<追記:2016/04/01>

Q = 0ではなく、A(増幅率) = 1で、QはRCの定数で計算するとQ=0.5だった(^q^;

</追記>

2016年3月27日日曜日

PSoC 5LPを98.304MHz駆動する

中途半端なクロック数だが、98.304MHz/2=49.152MHzをI2Sコンポーネントのクロックとして入力すると
49.152(MHz) / 32(bit) / 2 / 2 = 384(kHz)
となり、I2Sのサンプリング周波数がPCM5102Aの最大サンプリング周波数になる。

クロック源には24.576MHzの外付け水晶振動子を使った。(aitendoで買ったので精度は不明)

PSoC 5LP Prototyping KitのCY8C5888LTI-LP097の最大クロックは80MHzなので仕様外だが無理やり動かした。

クロックの設定ダイアログ

80MHz以上は設定できないので20MHzのXTALを使う設定にして、実際は24.576MHzのXTALを使った。

オーバークロック(懐かしい響き)するとコアの温度が心配なので、PSoCのダイ温度を測定するコンポーネント(DieTemp)で計測してみた。

配線図


BUS_CLKと2分周したものを出力

ch1:BUS_CLK ch2:2分周

正確な周波数はわからないが98.304MHz駆動できているようだ。

室温20度で、動作開始後10分程度でDieTempを計測した。
48MHz駆動のとき: 30℃
98.304MHz駆動のとき: 35℃
そこそこ温度が上がっているようなので念のためなんちゃって放熱器をつけるつもり。

Github:
https://github.com/ryood/PSoC_5LP_Die_Temp.git

2016年3月25日金曜日

電流/電圧計付可変両電源の改良に向けて(メモ)

2年前ぐらいに作った電源ですが使っていて困る点。

  • でかい。
  • 両電源で使うと電流が測れない。
  • 通信機用のPOTを使っているがPOTで細かく電圧が調整できない。

でかい。


最初はトランスを使ってAC100Vから使える電源にしようかと思ってたが電池電源でほとんど問題ない。

が、単三10本の電池ケースが2個外付けなので、気軽にひょいと持ち運んで使える感じではない。


電池を含めた電源部と測定部に筐体を分割すれば、もう少しコンパクトになるかも?という妄想。


両電源で使うと電流が測れない。


これは「実験用の可変安定化電源 問題は山積みだが…」でも書いていますが電流測定をロー・サイドで行っているため。

ハイ・サイド(GNDと反対側)で測定するシミュレーションをしてみた。


「Rshunt+」「RShunt-」という名前のシャント抵抗で電圧降下させてその両端を差動アンプで検知している。

「V+MEAS」「V-MEAS」が正負の電圧検知ポイント、「I+MEAS」「I-MEAS」が電流-電圧変換した検知ポイント。

で、合計4つをADCで読み取ればいいかも?という妄想。

いろいろややこしいことをしていますがこれは0Vから2.5Vの間に検出値をおさめるための試行錯誤中の図なので詳しい説明は省きます。

メモ:

オペアンプの電源電圧は安定化前のもう±1~2Vの電圧を入れられる?

通信機用のPOTを使っているがPOTで細かく電圧が調整できない。


1/10か10倍かのPOTを並列か直列かにすれば微調整できる?
→使い勝手の問題なので実験するか調べてみるか

う~ん、なかなかめんどくさそうなので当分は手を付けなくてもいいか(^q^;

2016年3月24日木曜日

5V/3.3V安定化電源 Ver.2 ケース加工

じゃっかん失敗ぎみですがケースに収めた。


ケース加工図

パーツの高さの位置の都合で、基板は蓋側にとりつけた。基板取り付けタイプの端子を使っているので位置決めはそれなりに慎重にやったつもりだが結構ずれてしまった。

単3エネループ4本

大体6V弱で一応Android端末の充電はできるようだが、それなりに電流が流れるので(数100mA)電圧が降下して赤色LEDが点灯した。赤色LEDは5V以下になると点灯するように調整してある。

5Vのリニアレギュレーターに使っているNJM2396は電圧が足りないと急に電流を消費しだすので、この状態だとまずい。

単3エネループ6本

6本だと9V弱で赤色LEDは点灯しない。常用するなら5本~6本が無難かも。

メモ:

一番左のDCジャックがねじと干渉するのでもう基板上で1列内側に寄せた方がいい。

DCジャック用の穴が小さくて太いDCプラグだとちゃんと刺さらないのでもう少し拡張する。

プラ製のねじで強度が心配なので金属製の皿ねじ(M3x10)を買ってきて取り替える。

Github:
https://github.com/ryood/006P-5V-3V3-Supply_V2

2016年3月21日月曜日

5V/3.3V安定化電源 Ver.2 ハンダ付けおわた

回路図

コンパレーターの入力の正負が逆だったので修正。(逆だと正常電圧時に赤色LEDが点灯)

基板図

ハンダ付け終わってから正負が逆なのに気づいたのでIC3(LM358)、R4、R5のあたりの配線はやっつけっぽい(^q^;

部品面

ハンダ面

毎度のことながらなかなか一発ではうまく動かないが、そういう前提で作るようにして慌てふためくことはだいぶ減った。

ポリウレタン線でジャンパーを這わしているが、電源本体ではなく電圧検知する部分。


2016年3月18日金曜日

5V/3.3V安定化電源 Ver.2 実装方法の検討

PCM5102Aのフィルタはもう少し実験してみることにして5V/3.3V安定化電源Ver.2を実作してみることにした。

5V/3.3Vの電源が2個あれば±5Vと±3.3Vの両電源として使えるかなあという目論見もある。

自作の電流電圧計付き可変両電源はとても役にたっているのだが、ちょっとだけ両電源が欲しい時には筐体がでかくてめんどくさい時もある。

ボリュームを回せば電圧可変なので、うっかり素子の絶対定格を超えた電圧にしてしまうこともときどきある(^q^;;;

基板図(途中)

部品並べ

基板にジャックをつけたのでケースの穴あけが結構シビア。基板の固定には最低ネジ2個。力が加わるのはジャックが並んでる側なので左側のネジ2個でそこそこ固定できるかな?

5V/3.3V安定化電源 Ver.2の設計

以前作った5V/3.3V安定化電源を多少機能拡張したものを考えてみた。


  • 5Vリニア・レギュレーターにLDOを使い単3電池を使った場合の本数を減らす。(6本→4本)
  • 電圧検知パイロットランプで出力電圧低下を警告。
  • USBジャックから5Vを出力する(簡易モバイル・バッテリー)。
  • デカップリング用の電解コンデンサーの容量を増やす。


回路図

ブレッドボード図(本体)

ブレッドボード図(電圧検知パイロットランプ)


電圧の計測


電源電圧(V) 5V出力(V) 電圧降下(V) 消費電流(無負荷)
5.18 5.02 0.16 3.8mA
5.15 5.03 0.12 3.8mA
5.09 5.03 0.06 3.8mA
5.06 4.95 0.11 64.4mA
4.97 4.87 0.1 64.4mA

5VLDOのNJM2396は電源電圧が足りなくなると急に電流を消費しだす様だ。

ノイズの計測


オシロをAC結合にしてノイズ・レベルを計測。

プローブ・GNDを直結(環境のノイズ)

Vp:11.20mV

5V電源オフ時

Vp:12.80mV

5V電源オン 正常出力時(電源電圧:5.50V)

Vp:14.40mV

5V電源オン 出力不足時(電源電圧:4.52V)

Vp:18.40mV

3.3V電源オフ時

Vp:15.20mV

3.3V電源オン 正常出力時(電源電圧:5.50V)

Vp:14.40mV


3.3V電源オン 出力不足時(電源電圧:4.52V)

Vp:14.40mV


ノイズ(mV) 直結時との差(mV) 電源オフ時との差(mV)
プローブ・GNDを直結 11.2 - -
5V電源オフ時 12.8 1.6 -
5V電源オン 正常出力時 14.4 3.2 1.6
5V電源オン 出力不足時 18.4 7.2 5.6
3.3V電源オフ時 15.2 4 -
3.3V電源オン 正常出力時 14.4 3.2 -0.8
3.3V電源オン 出力不足時 14.4 3.2 -0.8

Github:
https://github.com/ryood/006P-5V-3V3-Supply_V2.git

2016年3月17日木曜日

PCM5102A ファンクションジェネレータの出力波形

自作のPCM5102Aを使ったファンクションジェネレータの出力波形をオシロで見てみた。

出力はPCM5102Aからの直接出力(BYPASS)と330Ω/3300pFの1次LPF(fc≒146kHz)を通過させたもの。どちらもプログラムで1/4に減衰させて10kΩのPOTで約300mV(rms)に減衰させて測定した。

キャプ画像が大量になりますが評価用のメモ的な意味で。

単波形

10kHz

BYPASS

LPF

20kHz

BYPASS

LPF

50kHz

BYPASS

LPF


100kHz

BYPASS

LPF

156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF

連続波形

10kHz

BYPASS

LPF


20kHz

BYPASS

LPF

50kHz

BYPASS

LPF


100kHz

BYPASS

LPF


156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF

FFT(10kHz/div) 可聴帯域付近

10kHz

BYPASS

LPF

20kHz

BYPASS

LPF

50kHz

BYPASS

LPF

100kHz

BYPASS

LPF

156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF

FFT(250kHz/div) 出力周波数帯域付近

10kHz

BYPASS

LPF

20kHz

BYPASS

LPF

50kHz

BYPASS

LPF

100kHz

BYPASS

LPF


156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF

FFT(2.5MHz/div) 高周波数帯域

10kHz

BYPASS

LPF

20kHz

BYPASS

LPF

50kHz

BYPASS

LPF

100kHz

BYPASS

LPF


156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF


FFT(25MHz/div) クロック周波数帯域付近

10kHz

BYPASS

LPF


20kHz

BYPASS

LPF


50kHz

BYPASS

LPF

100kHz

BYPASS

LPF


156,25kHz(サンプリングレート:315kHzで最大周波数)

BYPASS

LPF

疲れた(@@;;;