2018年10月31日水曜日

AVR Pocket Programmerのドライバーのインストール(メモ)

AVR Pocket Programmerのドライバーをあらためてインストールしたのでメモです。

AVR Pocket ProgrammerはSparkfun製のATTINY2313を使ったAVRプログラマです。

1.WINAVRをインストール


AVRへの書き込みにavrdudeが必要なのでWINAVRをインストールします。

https://sourceforge.net/projects/winavr/

2.AVRのPocket Programmerのドライバーをインストール


いろんなバージョンがありますが、USBTinyISPのドライバーで動作しました。

https://learn.adafruit.com/usbtinyisp/drivers

3.avrdude-GUIをインストール


avrdudeはCUIプログラムなのでGUIラッパーのavrdude-GUIをインストールします。

http://yuki-lab.jp/hw/avrdude-GUI/ (yuki-lab.jp版)

http://d.hatena.ne.jp/OGURAM/20100624/1277345768 (拡張されたavrdude-GUI YCIT版)

書き込み時の配線図




2018年10月27日土曜日

Nucleo DCO 出力部 はんだ付け完了

出力部(主にデジタル歪を除去するLPF)をはんだ付けしました。

出力部ブロック図

回路図

IC1(TLE2426)で9Vの単電源から±4.5Vの仮想GNDを作っています。IC2A(NJM4580)は3倍の非反転増幅回路で、C4、R1のACカップリングのバッファとしての役割も兼ねています。

IC2B、IC3A、IC3B(NJM4580)は6次VCVS LPF(ベッセル特性、カットオフ周波数20kHz)です。

JP3(BYPASS)はACカップリングと増幅のみでLPFを通さない出力です。

PSU(電源部)はNucleoと共有していて電源電圧が変動するのを避けるために、デカップリングコンデンサのC1は470uFのOSコンを使用しました。(大容量、低ESR)

基板図

基板は秋月のB基板(ユニバーサル基板)を使いました。

部品面

ハンダ面

周波数特性


壊してしまったAD9833モジュールの代替品が届いたので、AD9833_FGが復活しました。

Aliexpressでの購入で到着まで18日でした。10月初旬は中国の祝日や台風があったりして配送に時間がかかっていましたが、だいぶ速く到着するようになってきました。


出力負荷: 10kΩ
電源電圧: 8.94V
OPAMP: NJM4580DD x 2


3倍増幅なのでAv≒9.5dBで、-3dBの6.6dBあたりと、Nucleo DCOのサンプリング周波数の50kHz(現状は62.5kHzで動作)に黄色い破線を引きました。

カットオフ周波数は低域は1.5Hz、高域は20kHz付近でほぼ設計通りです。(参考「Nucleo DCO 出力部(LPF)の検討(2)」)

50kHzでの減衰率は-24.5dB(-15dB - 9.5dB)で当初の仕様(-20dB)を満足できました。

測定データ


※グラフはVampで作成しました。

Vp-p

F(Hz) In(mV) Out(mV) Av Av(db)
1 1000 1520 1.52 3.636871759
2 1008 2300 2.281746032 7.165346078
3 1000 2580 2.58 8.232394119
4 1008 2700 2.678571429 8.558064641
5 1008 2780 2.757936508 8.811685276
6 1008 2820 2.797619048 8.935771524
7 1024 2840 2.7734375 8.860367668
8 1016 2860 2.81496063 8.989446504
9 1016 2880 2.834645669 9.049975596
10 1032 2880 2.790697674 8.914255809
20 1016 2920 2.874015748 9.16978287
30 1024 2940 2.87109375 9.160947475
40 1016 2920 2.874015748 9.16978287
50 1016 2920 2.874015748 9.16978287
1000 1000 2900 2.9 9.247959958
5000 992 2800 2.822580645 9.012927184
6000 1000 2760 2.76 8.818181641
7000 1000 2760 2.76 8.818181641
8000 1000 2720 2.72 8.691378081
9000 992 2680 2.701612903 8.632462437
10000 1008 2640 2.619047619 8.362867895
20000 1000 1960 1.96 5.845121427
30000 1008 1160 1.150793651 1.219949142
40000 984 516 0.524390244 -5.606907936
50000 976 200 0.204918033 -13.76839644
60000 968 96 0.099173554 -20.07208249
70000 944 50.4 0.053389831 -25.45082916
80000 944 39.2 0.041525424 -27.63371855
90000 928 28.8 0.031034483 -30.16310977
100000 904 32.8 0.036283186 -28.80589174

Vamp

F(Hz) In(mV) Out(mV) Av Av(db)
1 952 1440 1.512605042 3.594510874
2 960 2220 2.3125 7.281634828
3 960 2500 2.604166667 8.313375513
4 944 2620 2.775423729 8.86658594
5 968 2700 2.789256198 8.909768137
6 960 2760 2.875 9.172756981
7 968 2780 2.871900826 9.163388772
8 968 2800 2.892561983 9.225653481
9 968 2780 2.871900826 9.163388772
10 968 2820 2.91322314 9.28747502
20 968 2840 2.933884298 9.348859655
30 968 2860 2.954545455 9.409813516
40 968 2860 2.954545455 9.409813516
50 968 2860 2.954545455 9.409813516
1000 960 2900 3.020833333 9.602535297
5000 952 2760 2.899159664 9.245442674
6000 960 2720 2.833333333 9.04595342
7000 968 2700 2.789256198 8.909768137
8000 952 2660 2.794117647 8.924893765
9000 952 2620 2.75210084 8.793286859
10000 968 2560 2.644628099 8.44729216
20000 960 1900 1.979166667 5.929647358
30000 952 1100 1.155462185 1.255114735
40000 952 460 0.483193277 -6.317582334
50000 944 168 0.177966102 -14.99325425
60000 928 66 0.07112069 -22.96008081
70000 920 26.4 0.028695652 -30.84367801
80000 912 8 0.00877193 -41.13809703
90000 880 5.6 0.006363636 -43.9258929
100000 872 0 0 #NUM!


2018年10月25日木曜日

Google+は終わるの?

来年終わるのはGoogle+らしいですが、ここで記事を書き溜めているBlogger?Blog Spot?わかりませんがブログサービスの方はまだ大丈夫のようです。

fc2のエロ騒動のときも大丈夫だったので、Googleがブログをいきなり終了することはないと思いますが、ココログという苦い思い出もあります。

ですが、このブログは私自身の技術資料としての依存度がきついのでいつでも引っ越しできるように考えておきます。

2018年10月23日火曜日

Nucleo DCO 電源部 はんだ付け完了

電源部をはんだ付けしました。

回路図等はこちら


入力: 10V AC-DCアダプター テスタでの測定値:12.57V
出力: 47Ω酸金(3W)負荷  テスタでの測定値:8.92V

オシロのACモードで電圧変動を測定しました。


ch1:入力 ch2:出力

入力は120Hzで変動していますが、出力は安定化されています。

Nucleo DCOに組み込み



電源部はダンボール箱の内側の側面にガムテで貼り付けて、Nucleo F767ZIとブレッドボードに+9Vを供給しています。

ブレッドボードはNJU7032を使った単電源アンプです。

電源電圧: 8.95V
電源電流: 270mA~280mA程度(自作電流計で測定)

2018年10月20日土曜日

Nucleo DCO 出力部(LPF)の基板設計

ブロック図

出力部回路図

出力部基板図

出力部部品並べ

電源部回路図

電源部基板図

電源部部品並べ

2018年10月17日水曜日

Nucleo DCO 出力部(LPF)の設計

6次ベッセル特性のVCVS LPFで出力部を設計しました。


電源は手持ちのFujitsu(10V/600mA)のAC-DCアダプタ(参考「ベースマシン ACアダプタを使った電源の構想」)を使おうと思います。

このAC-DCアダプタは(おそらく)トランスタイプで安定化されていないので、3端子レギュレータの7809を使って9V電源とします。

出力部回路図

出力部テスト用ブレッドボード配線図

電源部回路図

電源部テスト用ブレッドボード配線図

1Aタイプの3端子レギュレーターを使って、余裕を見て500mA出力とすると放熱器が必要です。


2018年10月11日木曜日

Nucleo DCO 出力部(LPF)のテスト

NucleoのDAC出力に、ブレッドボードで組んでいる出力部(LPF)をつないでテストしました。

出力部回路図

入力のACカップリングの時定数τ1、出力のACカップリングの時定数τ2(無負荷時)は

τ1 = 1uF * 100kΩ = 0.1s
τ2 = 100uF * 10kΩ = 1s

です。

配線図

電源は単3x6の9Vです。出力部ではTLE2426で仮想GNDを作って±4.5Vとしています。

Nucleo Boardの電源も同じ電源からとったのですが、電源電圧が変動して出力波形が崩れるので、470uFのOSコンをVCCとVEEの間に入れました。

オシロで測定


電源電圧: 7.58V
電源電流: 260mA~280mA (自作電流計)

1kHz波形


サイン波@1kHz

ch1:IN ch2:OUT

LPFを通すと波形のガタガタがとれています。FFTしてスペクトルを見ました。

FFT (IN)

FFT (OUT)

サンプリング周波数62.5kHzの折返しのエイリアスがとれています。62.5kHz以下に出ていたピークもなくなっています。

三角波@1kHz

ch1:IN ch2:OUT

のこぎり波(上昇)@1kHz

ch1:IN ch2:OUT

のこぎり波(下降)@1kHz

ch1:IN ch2:OUT

矩形波@1kHz

ch1:IN ch2:OUT

ノイズ

ch1:IN ch2:OUT

10kHz波形


サイン波@10kHz

ch1:IN ch2:OUT

DACの出力のままだとサイン波だかなんだかわからない波形ですが、LPFを通すとサイン波っぽくなっています。

FFTしてスペクトルを見ました。

FFT (IN)

FFT (OUT)

50kHz付近にピークが残っていますが、高周波数では良好です。(~500kHz)

三角波@10kHz

ch1:IN ch2:OUT

のこぎり波(上昇)@10kHz

ch1:IN ch2:OUT

のこぎり波(下降)@10kHz

ch1:IN ch2:OUT

矩形波@10kHz

ch1:IN ch2:OUT

2018年10月10日水曜日

Nucleo DCO 出力部(LPF)の検討(2)

Nucleo DCO 出力部(LPF)の検討」のシミュレーションの結果ベッセル特性のLPFを使ってみることにしました。

多重帰還(MFB)を使うかVCVSを使うか。

回路規模はあまり大きくしたくないのでLPFの次数は6次で検討しました。2回路入りのOPAMPを使えば、AMP/Bufferで使う1回路と合わせて、ICは2個で構成できます。


多重帰還(MFB)は1段(2次)で位相が反転するので、6次LPFの場合はトータルで位相反転します。

MFB シミュレーション回路図

MFB のこぎり波 @1kHz

Nucleoから反転波形を出力するようにプログラミングするか、反転回路をどこかに入れるかする必要があります。

VCVSは非反転回路でそのような必要はなく、部品もMFBよりRが1本少なく済みます。

VCVS シミュレーション回路図

VCVS のこぎり波 @1kHz

というわけで今回はVCVSで組むことにしました。

出力部のシミュレーションとテスト

シミュレーション回路図

ブレッドボード配線図

OPAMPはNJM4580DDを使用。

周波数特性を測定するため、AD9833ファンクションジェネレータを使いたかったのですが、AD9833モジュールの出力にまちがって過電圧(9V電源!)を印加してしまいどうも壊してしまったようです(T_T;

AD9833モジュールは、Amazonで買ったときは1000円ぐらいでしたが、AliExpressで300円ぐらいで出てたので発注しておきました。治ったら改めて測定したいと思います。

でも、こういうデリケートな出力(高帯域&低電圧出力)を保護するにはどうすればいいんでしょうか。保護抵抗を入れるか、むき出しにせず人身御供のTrバッファを入れておくとかが思い浮かびますが、どちらにしろ出力の特性は悪化しそうです。

SQR_FG での測定


AD9833_FG以外でMHz帯域まで出力できるSQR_FGを使って入出力を測定しました。

AC特性 シミュレーション

1kHz矩形波 シミュレーション

1kHz矩形波 オシロ

10kHz矩形波 シミュレーション

10kHz矩形波 オシロ

20kHz矩形波 シミュレーション

20kHz矩形波 オシロ

20kHzは設計上のカットオフ周波数です。

50kHz矩形波 シミュレーション

50kHz矩形波 オシロ

100kHz矩形波 シミュレーション

100kHz矩形波 オシロ

低域はACカップリングにより減衰します。

2.5Hz矩形波 シミュレーション

2.5Hz矩形波 オシロ

定数


OPアンプ大全」に載っている<表4-8>ベッセル設計表から

6次ベッセル fc=20kHz
ステージ F0 fc Q
1st 1.606 32120 0.5103
2nd 1.6913 33826 0.6112
3rd 1.9071 38142 1.0234

「OKAWA Electric Design」のフィルター計算ツールを使ってCRの定数を求めました。

MFB 6次ベッセル特性 fc=20kHz
ステージ R1(kΩ) R2(kΩ) R3(kΩ) C1(uF) C2(pF)
1st 3.9 1.2 3.9 0.0015 330
2nd 4.7 8.2 4.7 0.0015 330
3rd 4.7 12 4.7 0.0022 150

VCVS 6次ベッセル特性 fc=20kHz
ステージ R1(kΩ) R2(kΩ) C1(uF) C2(pF)
1st 12 3.3 0.001 680
2nd 12 3.9 0.001 470
3rd 12 6.8 0.001 220