google-site-verification: google3bd66dd162ef54c7.html

Arduinoを使ったパルスジェネレーターの製作、(ハード解説編)

 Arduinoを使ったパルスジェネレーターの製作の話、今回はハードウェア解説編です。

 なお、詳しい仕様や機能は、この後のソフト解説編で説明予定ですが、出力可能なパルス周期は80μs~9.999sとなっています。

▼回路図(クリックで別窓に拡大)
Arduinoでパルスジェネレーターの回路図
 できるだけソフトで処理してハードは簡単にする方針で作ったのですが、表示や操作系などが入ると結構ややこしい回路になってしまいます。なお、プリント基板を取り外せるようにするためのコネクタもあるのですが、この回路図では表現していません。シリアル書込み用のコネクタも準備しておきました。ここは標準的なピン配置になっているはずですが、私はこのケーブルで使う予定です。

▼出力波形
CMOSとアナログ出力
 最高周波数(パルス幅40μs、周期80μs)に設定した状態です。上がCMOS出力、下がアナログ出力波形です。

 CMOS出力を50Ωで終端しているので、振幅が本来のロジックレベルである5Vから4Vに下がっています。この波形の立ち上がり部分はこのスケールでは見えないくらい高速です。

 アナログ出力は、ピンジャックからシールド線で取り出した先にオシロの10:1プローブを接続して測定しています。出力インピーダンスが高く負荷容量も大きいので立ち上がり時間が遅くて、1μs以上かかっています。でもオーディオ用としては、むやみに速いより、これくらいの立ち上がり時間の方が、変な問題が出なくて安全だと思います。

▼CMOS出力の立ち上がり波形
CMOS出力の立ち上がり速度
 立ち上がり時間は5ns以下になっています。波形の肩の段付きは送信側のインピーダンスが合っていないのが原因で発生しているような気がします。IC出力と直列に40Ω程度の抵抗を直列に入れてインピーダンスを整合させたほうがいいのかもしれません。なお、測定に使ったオシロの帯域は400MHzで、信号はプローブなどは使わず同軸ケーブルで直接入力のBNCコネクタに接続し、オシロ内部で50Ω終端しています。ということで測定系の立ち上がり時間などの誤差の影響は、この波形に現われていないはずです。

 あと、もっと立ち上がりを高速にするために、出力用のICを74AC04に差し替えても面白そうです。

 ところで、これはパルスジェネレーターとして使うので設定値に対する実際の出力の時間精度が気になります。そこで測定してみました。

▼ユニバーサルカウンタで出力パルスの周期測定
周期の設定精度確認
 パルス周期10ms設定をユニバーサルカウンターで測定すると、10.000573msと出ました。うん、極めて優秀な性能、と思っていたらそうでもありませんでした。

▼パルス周期の精度
周期の設定誤差カーブ
 パルス周期設定を変えた時の実際の出力波形の誤差です。なお、これはユニバーサルカウンタでアベレージングした値です。また、パルスのデューティは50%に設定しています。

 周期が10ms以上では誤差は少ないのですが、10ms以下になると誤差が急激に増加しています。グラフに示していませんが、0.1msでは0.8%もの誤差が発生していました。これはパルスのON/OFF時間をそれぞれソフトのタイマー割り込みで作っているので、切り替えに伴うオーバーヘッドなどが見えてしまっているのだと思います。つまり、設定値より実際のパルスの周期が長くなってしまっていますが、これはArduinoの環境で動かしている限りは改善することは難しそうです。

 ちなみに、以前作ったLEDストロボでは定周期割込みで時間間隔を作っていたので、もっと精度が高かったです。但しこのプログラムでは、パルス幅を割り込みを使わないで作っているので、今回のパルスジェネレーターのような高速パルスの発生は無理です。というかパルスの発生はかろうじて出来ても、同時に表示などを行うことが出来ません。

▼パルスのジッタ
パルスのジッタ
 前の写真と同じ波形をうんと明るく表示したものです。良く見ると4μsくらいのジッタがあります(矢印部)。Arduinoでは時間の粒度が4μsステップなのでこの現象は避けられません。ということで、位相雑音が問題になるような用途には、このパルスジェネレーターは使えません。

 ということで、このパルスジェネレーターには弱点があります。そのあたりは予想していた通りなのですが、実際にどの程度の誤差があるのかをちゃんと把握しておいて使うことが大事だと思います。

 以上でハードウエアの解説は終わりです。次回はソフトウエアの解説を予定しています。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード