Aruduinoで作るオシロスコープ(2)
トリガー回路(ここの「Aruduinoの回路」に描いてある回路です )の結線を抜いて、どうなるのか見てみることに。
- 時間軸の設定を50ms/divとすると、0V~3.5Vの間を不安定に(激しく)変化する(100ms以上も同様)
- 時間軸の設定を20ms/divとすると、3.16Vで安定
- 時間軸の設定を10ms/divとすると、3.19Vで安定
- 時間軸の設定を5ms/divとすると、3.16Vで安定
- 時間軸の設定を1ms/divとすると、0.73V~2.46Vの間を不安定に変化する
- 時間軸の設定を500us/divとすると、0.50V~2.46Vの間を不安定に変化する(電圧が低い状態にある確率が高い)
- 時間軸の設定を200us/divとすると、0.32V~2.46Vの間を不安定に変化する(電圧が低い状態にある確率がいっそう高い)
- 時間軸の設定を50ms/divとすると、0V~4.2Vの間を不安定に(激しく)変化する(100ms以上も同様)
- 時間軸の設定を20ms/divとすると、3.14Vで安定
- 時間軸の設定を10ms/divとすると、3.21Vで安定
- 時間軸の設定を5ms/divとすると、3.16Vで安定
- 時間軸の設定を1ms/divとすると、0.71V~2.46Vの間を不安定に変化する
- 時間軸の設定を500us/divとすると、0.50V~2.46Vの間を不安定に変化する(電圧が低い状態にある確率が高い)
- 時間軸の設定を200us/divとすると、0.34V~2.46Vの間を不安定に変化する(電圧が低い状態にある確率がいっそう高い)
ここまでにわかったこと
- D6は今回のような測定対象、測定の仕方では結線してあってもなくても違いがわからない。今のところ役割がよくわからない。
- A0は、結線しないとトリガーレベルが不安定になる。結線してないんだからA0はノイズを拾っているだけだが、A0の値=「トリガーレベル」なのかどうなのか今ひとつわからない。A0を結線しているときにトリガー回路のR,Cの中間点の電圧と等しければ、A0の値がトリガーレベルで、結線してないときは不定だけれど不安定さが条件によって変わるとも言えそうだが、RC中間点のテスタの測定値はA0結線時のトリガーレベルと微妙に違っている。
おー、2.54Vでトリガーレベルと同じではありませんか。どうやら、A0の測定値が「トリガーレベル」らしいですね~。しかし、相変わらず「トリガー」は理解できないままに。
名案が浮かばないので、とりあえず、これまでは10ミリ秒毎にHigh/Lowが交代する波形をGR-SAKURAで出してましたが、スピードを速めて遊んでみることに。
100μ秒までは、どうやらちゃんと追随できるらしく面白い展開はなし。そして、10μ秒でついに測定波形が乱れる↓
測られれいるGR-SAKURAの方が高速なので、これは、Arduino Uno のせい?
それに、今気が付いたけど左上の「サンプリングモードとトリガーの効き」欄が「real triggered」ではなくて「equiv triggered」になっている。。。これは何?時間軸のtime/divを1ms/div以下にするとequiv になって、2ms以上だとrealみたい。real freerun,real triggered,equiv triggered で3つめ。ひょっとして、10ms交代のときも途中で変わってたのかな?ということで、10ミリ秒交代に戻ってみると↓
変わってました。それも同じ1ms/divで。信号の性質とは関係ないんだ。。。
実験開始前より深みにはまった模様。スケッチを読んだりGoogleに聞くとか、教科書読むっていうカンニングをする前にできることをまた考えよう。
(追記)
忘れていた。トリガ回路のRCは、R x C が 0.1秒程度になるように選ばれている。ということは、自分自身の RC の中間点を測定しているときに0.1秒あたりの時間スケールでみてみると何か見えるのだろうか?ということでやってみたが、波形上は特に変わったことはなく、常の2.54Vのままだった。。。しかし、「サンプリングモードとトリガーの効き」欄にまた新たな仲間が。。。。「scan freerun」だそうな↓
4つめです。これは何でしょう?おまけに。scan freerun になると FFT の signal 欄でチャネルが選べるようになりました。。。さらに深みへ。
次回は、RCの値でも変えてみるかな。。。でも違いが見えない可能性が高い気が。。。
ところで、R x C が秒というも驚きなので簡単次元解析。
R は、R = E/I はオームの法則なのでくつしたねこも覚えている。えーと、Cはというとファラドだけど、これはちゃんと覚えてない。。。けれど、1ボルトあたりに溜め込める電荷というくらい感じだったと思うので、電流の時間積分 ÷ 電圧 ということに。で、
R x C = (E / I) x (I x 秒 / E) = 秒
ということですか。
(追記の追記)
次はこんなことしてみようか。
- R,Cの値を変える
- 外にRCの回路を作ってパルスを入れて測ってみる
- EXTトリガを使ってみる
- 正弦波とか他の変な波を入れてみる(どうやって作ろうか)
- 主題とはずれるけど tone()を使って矩形波をつくる
- analogwrite()のanalogってどんな?ということでanalogwrite()の波形も見よう