予備実験編で、フェラライトコアの前後の高周波レベルをスペアナで測ることで、フェライトコアの周波数ごとの阻止量を視覚的に表示できると判明した。
結論としては、ArduinoのプログラムでDDSの発振周波数を変化(スイープ)させる方法で、0.5~60MHzまでの高周波を得ることにした。スイープ幅は、AMラジオ~HF~50MHz帯を想定している。
広帯域な高周波の発生方法としては、(1-1)ツェナーダイオードなどで広帯域ノイズを一気に発生、(1-2)弛張発振器で広帯域ノイズを一気に発生、(2)単一周波数を高速にスイープさせる、の3通りを検討した。
当局のスペアナはPicoscopeであり、オシロのオマケ機能なので感度が悪く、フロアノイズも大きい。(1-1)と(1-2)を試したものの、ゲインの大きな広帯域アンプを付けないとまともに測れないので却下。残った(2)でやることにした。
DDSはサインスマートAD9851モジュール(秋月電子で3500円)を、マイコンはArduino Nano(秋月電子で2780円)を採用した。
このように測定機器を配置した。USBケーブル経由のPCノイズを避けるために、Arduinoは電池で駆動する。高周波は、DDS出力→インピーダンス整合抵抗50Ω(ここでは47Ωを使用)→入力測定プローブ(A)→フェライトコア→出力測定プローブ(B)→終端抵抗50Ωと流れるようにした。
Arduinoのプログラムは、0.5~60MHzまで10kHz飛びにスイープするようにDDSを制御した。といってもfor文がひとつだけの単純なものである(下記)。
// 0.5~60MHzまで10kHz飛びにスキャン繰り返し
// 繰り返し時にLEDオン/オフトグルで死活表示
// #includeは、秋月サイト提供→ http://akizukidenshi.com/catalog/g/gM-09945/
// (C)2016 SUSHI/JJ0PPM
// 2016/2/22 作成
#include <EF_AD9850.h>
//BitData - D8, CLK - D9, FQUP - D10, REST - D11
EF_AD9850 AD9850(9, 10, 11, 8);
char ledonoff = LOW;
void setup() {
AD9850.init();
AD9850.reset();
}
void loop() {
long i;
double f;
ledonoff = ~ledonoff;
digitalWrite(13, ledonoff);
for(i=50; i<=6000; i++){
f=(double)i*10000;
AD9850.wr_serial(0x01, f);
}
}