ハンディ・オシロスコープ の 使い方 (9/9)
PWMの矩形波が段々0~255(ATtiny13が8ビットタイマーなので)の幅で徐々にデューティ比が100~0%に短くなっていく(PWM0AがHIになる時刻を決めてる)ことしかわからず、Prescale = 1→64もなんでこうすれば表示できたかもよくわかっていない。たぶん9.6MHzの分周比64だとタイマーが64倍になって計測できるようになったんだと思う。
そこでハンディ・オシロスコープの[メニュー][較正]を行ってみる。
少ない経験からオシロスコープというのは較正というのを行い、プローブの0V 時の電圧を初期化してやらないといけないらしい。とりあえず基本的な事としてそこから始めてみよう。
較正に使うのは、前々回用意したステレオのオス-オスの3.5mmプラグのみ(前々回参照の自作したau-プラグがステレオなのに、簡易プローブのはんだ付けは一方しかつないでないので、モノラルだとつながらないかもしれない)。
1.ハンディ・オシロスコープの画面を出来るだけ全画面にする。そして[メニュー][較正]を選ぶ。
3.PCのスピーカー以外のMIC入力とヘッドフォン出力(だいたいPCの前面に🎤と🎧(環境依存文字なので出ないかも)がある)を、そのケーブルでつなぐ。この時点かどうかわからないが、音がスピーカーからマイクへ流れて聞こえなくなるはず。
4.[電圧値の較正][開始]ボタンを押す。「出力関係のボリュームがすべて最大であることを確認して下さい。波形が歪まないように入力のボリュームを調整して下さい。」とメッセージ画面が出るので、PCのボリュームをサウンドのプロパティから最大にする(色んなドライバによって画面は違うがだいたいタスクバーのスピーカーアイコンを左クリックして最大音量にするか、右クリックして再生タブ内のスピーカーのプロパティからレベルタブで音量を最大にする)。
14.もう一つ[チャンネル-1時間軸調整]というのがあるが、今回は1つそれもCH1の方にしか端子をはんだ付けしてないので0のまま実行ボタンを押す。ステレオ端子の2つともプローブをはんだ付けしたらこれを-1,0,1のいずれか(たぶん0)にして実行を押す。波形がバタついているが、freq=周波数が1000に丸が付いているためで、10に変えれば落ち着く。[閉じる]ボタンを押して[較正]画面を終了する。
テスト:
スピーカー端子から抜いたケーブルを再び差して、PCの音量は100%に戻し、[メニュー][発信器]から[oscillator]画面を呼び出す。
sine wave , volume=2 , Pan=0 , Frequency(周波数)=100(Hz)になっているので、[Play]ボタンを押す。
BASCOM-AVRのコマンドのSOUNDを使うテストは、(PCの音量が100%になっていないことを確認してから)スピーカー端子につないだケーブルを外し、自作した簡易プローブにつなぐ。
ソース:
$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 32
$swstack = 8
$framesize = 16
Config Portb.4 = Output
Do
Sound Portb.4 , 10 , 8000 '10=100ms, 8000=100Hz
Wait 1
Loop
End
PB4とGNDを抵抗1kΩ程度に変えて、圧電ブザーをPB4と抵抗につなぐ。
PB4 -①- 圧電ブザー -②- 1kΩ - GND
圧電ブザーは無くてもかまわない。音が聞こえないだけなので。代わりに②を1kΩの右に変える。①と②にそれぞれ赤のプローブ、黒のプローブをつなぐ。
[P-Trig(T)]ボタンを押すと波形が止まる。
マウス左クリックで縦線を表示させて、線を移動させる。shift+で横線だ。左端が0msの原点で、最初の矩形が始まるところ(立ち上がり)が図には無いがもうすでに2.3ms経過している。矩形の波形が終わる所が90.35+10(斜めの前の水平部分)=100.35ms。だいたい100ms経過している。ソースで10=100msとコメントした所だ。1個分の矩形の幅を2本の線で挟むと、97.08 Hzと出る。だいたい100Hzという所。ソースで8000と書いてある値だ。横線で矩形のトップとボトムを挟むと電位差で0.2333V。ブザーにもよる。
BASCOM-AVRの解説をされているサイト様のSOUND命令の説明によると、8000=9.6MHz/(100Hz*12)だそうだ。
スピーカーや圧電ブザーからは低いぶつぶつした音が1秒おきに鳴る。10→100、8000→800にすれば例の通り。