t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

オシロスコープの仕組みをProcessingのアニメーションで説明してみる

最近KENWOOD社製のアナログオシロスコープ CS-4135を手に入れた。
実はRIGOLの4ch デジタルオシロも持っているのだがイマイチ使いこなせずに埃をかぶっていた。
ちゃんと勉強しようと思ってなるべくわかりやすい入門書を探していたのだが、どうもデジタルオシロの入門書は、デジタルオシロの入門書であって、基本は分かってますよね、デジタルになるとここが違いますみたいなノリ。

それでアナログオシロで良さげなのを見つけたんだけども、なんかボタンやらつまみやらが違いすぎて難しい。。

ということでヤフオクで全く同じ機種を購入したというわけ。

ちょっと現物の写真は部屋が散ら諸事情で掲載できないんだけど、本読んでてアナログオシロの基本的な仕組みがなんとなく分かってきたので紹介してみようと思う。
なお所詮素人の理解なので真面目に知りたい方はちゃんと本を読むことをおススメする。

さて、オシロスコープはざっくりいえば電圧の変化を時系列でグラフにプロットしてくれる道具だ。
表示としては、電圧が縦軸、時間が横軸となる。

こんなイメージ。

アナログオシロではこの電圧グラフをブラウン管に描いていく。

ブラウン管を上からみるとこんな感じになっていて、電子銃から発せられた電子を途中の偏向版に印加する電圧を変えることで曲げてスクリーンの狙った位置に当てて光らせる仕組み。

偏向板は縦方向に2枚、横方向に2枚で2セットある。

縦用の偏光板に計りたい信号、たとえば交流電圧を印加するとこのように上下にビームが動く。

※実際にはそのまま印加するわけではなく増幅したり減衰したりと色々やってる。

これじゃあ細かい変化が分からないのでテスターと変わらない。
そこでこのプロットが時系列に流れるように、横用の偏向板で左端から右端へプロット位置を流す。

このとき横用の偏向板に印加する電圧は時間経過とともに上がり、一定値で一気に0(左端)に戻るような動きを繰り返す。

これをノコギリ波という。

計測したい電圧を特に印加せずに横方向だけ動かすとこんな感じ。

で、計測したい電圧を印加する縦用の偏向版と、ノコギリ波の電圧を印加する横の偏向板を組み合わせるとこうなって。。

ブラウン管に残光が長くとどまるタイプの蛍光体を使うとこんな感じでグラフ表示のできあがり。

ちなみに入力信号の周期とノコギリ波の周期を合わせないとグラフがどんどんズレていくため、別途同期をとる仕組みが入っているらしい。そのあたりはまだ勉強中。

さて、今回はノコギリ波の有用性を初めて知れて面白かった。

最後にProcessingのアニメ―ションコードはこちら。
※Python版で作成している。

import math
radius = 200

def setup():
    global angle
    global x
    angle = 0
    x = 0
    size(800, 600)
    frameRate(360)
    fill(0)
    rect(0, 0, width, height)

def draw():
    global angle
    global x
    angle = angle + 1
    
    
    fill(0, 2)
    rect(0, 0, width, height)
    fill(255)
    noStroke()
    
    x = angle % 360 - 180
    y = sin(radians(angle)) * radius
    
    translate(width/2, height/2)
    ellipse(x, y, 15, 15)
    ellipse(x, 250, 15, 15)
    ellipse(-220, y, 15, 15)

以上

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。