2018年05月07日
ブログの移動
Tj Lab の新しいサイトを立ち上げました.
https://tj-lab.org/
これに伴い,ブログもそちらへ移行していきます.
一部の記事はすでに移動してあり,
公開していた資料はすべてそちらからたどれるようにしています.
ここのブログは近いうちに削除したいと思います.
https://tj-lab.org/
これに伴い,ブログもそちらへ移行していきます.
一部の記事はすでに移動してあり,
公開していた資料はすべてそちらからたどれるようにしています.
ここのブログは近いうちに削除したいと思います.
Posted by Tetsuji at
00:19
│Comments(0)
2018年04月16日
周波数カウンタ
周波数カウンタは,今では格安のキットなどもあるので,
今更…な感があるが,今回少々変わったものを作った.
とはいえ,実用性がよいとか,性能が向上したとかではない.
カウントした周波数を数値ではなく,
あえて読み取り精度が低下するダイアルイメージで表示する.
あまり実用性はなく,完全に個人的な趣味なので悪しからず.
昔,ラジオなど作るときに一番工作に苦労したのが周波数表示ダイアルだった.
今は,周波数カウンタやPLL,DDSといったデバイスがあるので
そのようなダイアルは不要であるが…
とはいえ,ディジタル表示よりもダイアルがいい,と思うことがときどきあり,
そのあたりが製作の動機である.
表示には2.4インチのTFTカラーLCDを使った.
CPUはPIC32MZEF.
SRAMが512kBあるので外付けメモリなしでOKだった.
表示のレイアウトなど,気分でいろいろと変られるように設定用のPCアプリもつくってみた.
”dcon.exe”
以下は設定例.
今回基板を起こしたので,少量ですが完成品を有償でお分けできます.
本ページの先頭にあるアドレス宛,ご連絡ください.
今更…な感があるが,今回少々変わったものを作った.
とはいえ,実用性がよいとか,性能が向上したとかではない.
カウントした周波数を数値ではなく,
あえて読み取り精度が低下するダイアルイメージで表示する.
あまり実用性はなく,完全に個人的な趣味なので悪しからず.
昔,ラジオなど作るときに一番工作に苦労したのが周波数表示ダイアルだった.
今は,周波数カウンタやPLL,DDSといったデバイスがあるので
そのようなダイアルは不要であるが…
とはいえ,ディジタル表示よりもダイアルがいい,と思うことがときどきあり,
そのあたりが製作の動機である.
表示には2.4インチのTFTカラーLCDを使った.
CPUはPIC32MZEF.
SRAMが512kBあるので外付けメモリなしでOKだった.
表示のレイアウトなど,気分でいろいろと変られるように設定用のPCアプリもつくってみた.
”dcon.exe”
以下は設定例.
今回基板を起こしたので,少量ですが完成品を有償でお分けできます.
本ページの先頭にあるアドレス宛,ご連絡ください.
Posted by Tetsuji at
22:31
│Comments(0)
2018年03月14日
音響ホーン
以前は40KHzのトランスデューサ(写真左)を使ってバットディテクターを製作していたが,
40KHz付近しか観測できない,という制約があった.
今回のバットディテクターでは,
広帯域で超音波を観測するためにMEMSマイク(写真右)を使っている.
ただ,トランスデューサは40KHz付近の感度は高く,
40KHzに限った感度の比較では,MEMSマイクは今一つな感じがする.
写真を見ればわかるように,
MEMSマイクの音響ホールは直径0.5mmしかない.
トランスデューサの方は,内部の振動板らしきものは,直径8mmほどある.
開口面積がMEMSマイクの方が格段に小さいため,
感度が悪いのも無理はない.
そこで,音響ホーンを用いて開口面積を大きくし,感度の向上を試みた.
3Dプリンタで作成した超音波用の音響ホーン.
定量的なデータはとっていないが,聞き比べた感じでは,
トランスデューサと同等以上の感度が得られているようだ.
40KHz付近しか観測できない,という制約があった.
今回のバットディテクターでは,
広帯域で超音波を観測するためにMEMSマイク(写真右)を使っている.
ただ,トランスデューサは40KHz付近の感度は高く,
40KHzに限った感度の比較では,MEMSマイクは今一つな感じがする.
写真を見ればわかるように,
MEMSマイクの音響ホールは直径0.5mmしかない.
トランスデューサの方は,内部の振動板らしきものは,直径8mmほどある.
開口面積がMEMSマイクの方が格段に小さいため,
感度が悪いのも無理はない.
そこで,音響ホーンを用いて開口面積を大きくし,感度の向上を試みた.
3Dプリンタで作成した超音波用の音響ホーン.
定量的なデータはとっていないが,聞き比べた感じでは,
トランスデューサと同等以上の感度が得られているようだ.
Posted by Tetsuji at
22:09
│Comments(0)
2018年02月12日
バットディテクター試作2
イヤホンでなくスピーカで聞きたい,という要望があったので,
アンプを追加して2台目を試作した.
ついでに,スペクトラム表示とフィルタ機能を追加した.
アンプを追加して2台目を試作した.
ついでに,スペクトラム表示とフィルタ機能を追加した.
Posted by Tetsuji at
23:06
│Comments(0)
2017年12月30日
2017年12月15日
基板設計(バットディテクター)
バットディテクターの基板設計が完了した.
単三電池1個分の面積に納めるようにしたが,
試作回路に対して,アンプを2段追加したため,
スペース的にかなり厳しくなった.
とりあえずこれで基板製造の発注をした.
単三電池1個分の面積に納めるようにしたが,
試作回路に対して,アンプを2段追加したため,
スペース的にかなり厳しくなった.
とりあえずこれで基板製造の発注をした.
Posted by Tetsuji at
15:12
│Comments(0)
2017年12月12日
バットディテクター
知人からの相談がきっかけで,
新しい方式のバットディテクターを開発,試作した.
バットディテクターは,コウモリの出す超音波を可聴音に変換するもので,
主な方式として次の3種類のものが従来からある.
・ヘテロダイン式 (Heterodyne)
・フリークエンシーディビジョン式(Frequency Division:周波数分周式)
・タイムエキスパンション式(Time Expansion:時間軸延長式)
Wikiより.
これらの方式では,
・ヘテロダイン式
チューニング操作による探索が必須.周波数が大きく異なるものは同時観測できない.
・周波数分周式
レベルが最も高い信号しか観測できない.周波数以外の情報が失われる.
・時間軸延長式
リアルタイムで観測できない.
といった短所がある.
今回開発したのものは,
超音波領域の信号のスペクトルを周波数方向に圧縮し
全てを可聴音の領域に詰め込む方法.
「スペクトラム圧縮式」としておく.
この方式では,従来方式の上記欠点が改善される.
つまり,チューニング操作不要で,
周波数に関わらず同時に複数対象を
リアルタイムに観測できる.
信号処理方法としては,下記のように2種類考えられる.
今回は,下の方法で試作をしてみた.
新しい方式のバットディテクターを開発,試作した.
バットディテクターは,コウモリの出す超音波を可聴音に変換するもので,
主な方式として次の3種類のものが従来からある.
・ヘテロダイン式 (Heterodyne)
・フリークエンシーディビジョン式(Frequency Division:周波数分周式)
・タイムエキスパンション式(Time Expansion:時間軸延長式)
Wikiより.
これらの方式では,
・ヘテロダイン式
チューニング操作による探索が必須.周波数が大きく異なるものは同時観測できない.
・周波数分周式
レベルが最も高い信号しか観測できない.周波数以外の情報が失われる.
・時間軸延長式
リアルタイムで観測できない.
といった短所がある.
今回開発したのものは,
超音波領域の信号のスペクトルを周波数方向に圧縮し
全てを可聴音の領域に詰め込む方法.
「スペクトラム圧縮式」としておく.
この方式では,従来方式の上記欠点が改善される.
つまり,チューニング操作不要で,
周波数に関わらず同時に複数対象を
リアルタイムに観測できる.
信号処理方法としては,下記のように2種類考えられる.
今回は,下の方法で試作をしてみた.
Posted by Tetsuji at
23:47
│Comments(0)
2017年03月14日
Si5351で直交信号
直交信号が得られると非常に有用なので,Si5351で試してみた.
MultiSynth のDelay機能を使えば,ch間の位相差(時間差)を設定できる.
結論としては,3MHz以上で直交信号を得ることができた.
サンプルコード(Si5351Aの設定に関する部分のみ)を修正しておいた.
ch0, ch1 に出力されるようになっている.
以下詳細.
Delayは,td= N/(4*fvco) ----(1)
で,N は,0~127の範囲で設定できる.
出力周波数は, fout=fvco/(M*R) ---- (2)
(M:MultiSynthの分周比,R:出力dividerの分周比)
90度位相差に相当するDelayは, td=1/(4*fout) ---- (3)
(1), (2), (3) より,
N=M*R
つまり,fvco と fout の比(fvco/fout )を設定すれば
90度の位相差となる.
ここでNの値として設定できるのが最大127まで,というのが制限になる.
fvcoの下限は375MHzであるから,
(fvco=fxtal*(a+b/c) で,a>=15, fxtal=25MHz.よって25*15=375 )
375/127≒2.95MHz.これが,直交信号が得られる下限となる.
ちなみに,VCO自体の周波数範囲は,
使用したチップの実測で 200MHz~1160MHz くらいあるようで,
意外と広帯域である.
3MHz時
7MHz時
14MHz時
21MHz時
28MHz時
50MHz時
MultiSynth のDelay機能を使えば,ch間の位相差(時間差)を設定できる.
結論としては,3MHz以上で直交信号を得ることができた.
サンプルコード(Si5351Aの設定に関する部分のみ)を修正しておいた.
ch0, ch1 に出力されるようになっている.
以下詳細.
Delayは,td= N/(4*fvco) ----(1)
で,N は,0~127の範囲で設定できる.
出力周波数は, fout=fvco/(M*R) ---- (2)
(M:MultiSynthの分周比,R:出力dividerの分周比)
90度位相差に相当するDelayは, td=1/(4*fout) ---- (3)
(1), (2), (3) より,
N=M*R
つまり,fvco と fout の比(fvco/fout )を設定すれば
90度の位相差となる.
ここでNの値として設定できるのが最大127まで,というのが制限になる.
fvcoの下限は375MHzであるから,
(fvco=fxtal*(a+b/c) で,a>=15, fxtal=25MHz.よって25*15=375 )
375/127≒2.95MHz.これが,直交信号が得られる下限となる.
ちなみに,VCO自体の周波数範囲は,
使用したチップの実測で 200MHz~1160MHz くらいあるようで,
意外と広帯域である.
3MHz時
7MHz時
14MHz時
21MHz時
28MHz時
50MHz時
Posted by Tetsuji at
21:26
│Comments(0)
2017年03月13日
Si5351
Clock Generator Si5351A搭載のモジュールを入手したので動かしてみた.
今回作成したサンプルコード
(Si5351Aの設定に関する部分のみ)を置いておく.
これだけで2.5kHz ~ 200MHzの任意の周波数を発生できる.
周波数分解能は出力周波数にもよるが,約6Hz(150MHz~200MHz時)
出力周波数が低いほど高分解能になる(Divider で分周するため).
7.000000MHz 出力
受信機でモニタした限りでは,通信に使えそうなC/Nではないかと思う.
矩形波なので高調波の問題はあるが,
受信用のローカルOSCとして使用するならこのままでいいかもしれない.
200.000000MHz 出力
こちらは,モニタできないので波形のみ観測.
100MHzのオシロなので,フィルタがかかってきれいな波形になっているが,
信号がおよそ200MHzで出ていることは確認できる.
位相も設定できるようなので,後日試してみたい.
今回作成したサンプルコード
(Si5351Aの設定に関する部分のみ)を置いておく.
これだけで2.5kHz ~ 200MHzの任意の周波数を発生できる.
周波数分解能は出力周波数にもよるが,約6Hz(150MHz~200MHz時)
出力周波数が低いほど高分解能になる(Divider で分周するため).
7.000000MHz 出力
受信機でモニタした限りでは,通信に使えそうなC/Nではないかと思う.
矩形波なので高調波の問題はあるが,
受信用のローカルOSCとして使用するならこのままでいいかもしれない.
200.000000MHz 出力
こちらは,モニタできないので波形のみ観測.
100MHzのオシロなので,フィルタがかかってきれいな波形になっているが,
信号がおよそ200MHzで出ていることは確認できる.
位相も設定できるようなので,後日試してみたい.
Posted by Tetsuji at
06:52
│Comments(0)
2017年02月08日
Harmony
PIC32の開発環境として,
今後はHarmony が推奨されているらしい.
古いものは切り捨てられていくだろうから,
新しものに手を出しておくに越したことはない.
使ってみたところ,初期化コード書く手間が省けたり,
ピンアサインを視覚的にできるのはありがたい.
ただ,準備されているライブラリを使うために,
マニュアルを読み解くのはかなり大変そうだ.
↓はとりあえず,動かしてみたところ
今後はHarmony が推奨されているらしい.
古いものは切り捨てられていくだろうから,
新しものに手を出しておくに越したことはない.
使ってみたところ,初期化コード書く手間が省けたり,
ピンアサインを視覚的にできるのはありがたい.
ただ,準備されているライブラリを使うために,
マニュアルを読み解くのはかなり大変そうだ.
↓はとりあえず,動かしてみたところ
Posted by Tetsuji at
19:36
│Comments(0)