シーケンシャルLEDフラッシャー その2
はじめに
レベルメーターIC LA2284Aを用いたシーケンシャルLEDフラッシャーの製作の続きです。前回の記事では、LEDを点灯させる電圧が謎の単位dBで表記されていて、実際にどの程度の電圧を与えたらよいのかわからないという話をしました。そこで、本記事では、dBからmVへの変換について記そうと思います。
dBからmVへの変換(結果)
まずは、LA2284Aのデータシートを振り返ってみましょう。
先に答えを書いてしまうと、電圧で示したComparator ON LEVELは以下のようになります。
上の表ではComparator ON LEVEL 3をTYP値の56mVで決め打ちしていて、MIN-MAX(46-66mV)の振れ幅が入っていませんが、話を単純にするためとりあえずこのままいきます。
dBからmVへの変換(計算)
さて、どうしてこうなるのかという話です。
まずはComparator ON LEVEL 3です。これはデータシートのSensitivityから読み取ります。TEST CONDTIONSにIn VC3 Levelと示されていますので、この値がComparator ON LEVEL 3になります。前述のように、ここではTYP値の56mVとしておきます。
そして、Comparator ON LEVEL 3を基準に、ほかのComparator ON LEVELが決まっていきます。ここでポイントになるのが謎の単位dBですが、ここでの(←重要)dBとは、基準となる値に対する比の常用対数をとって、その値を20倍した値になります。
式にするとdB=20×log10(電圧/基準電圧)です。LA2284Aでは、基準電圧=Comparator ON LEVEL 3=56mV(TYP値)になります。上の表は、dBの式を変形して電圧=基準電圧×10^(dB/20)として、データシートのdBを入れて計算しただけなのです。
ちなみに、Comparator ON LEVEL 3をdBに変換すると、dB=20×log10(基準電圧/基準電圧)=0となります。基準電圧/基準電圧=1で、対数をとると0になるからですね。
dBの面倒くささ
前節では「ここでの(←重要)dB」と書きました。ということは、「ここではないdB」もあるのです。20倍でなくて10倍だったり、基準値がしれっと決められていて絶対値になっていたりするのですが、使われているどの分野でもそんなの見ればわかるだろという感じで、素人にはやや不親切です。総合的に理解しておいたほうがよいとは思いますが、今回の工作程度であれば、ブラックボックス的にこういうものだくらいでもよいかもしれません。
おわりに
というわけで、入力電圧と点灯するLEDの個数についての関係についてわかりました。ですが、最大5個でも入力電圧は112mVしか必要ありませんし、数mV単位の細かい制御が求められます。ArduinoのanalogWrite関数は0-5Vを255段階で制御しますので、分解能が少々心もとないです。次の記事では、制御する電圧の幅を大きくする回路を紹介します。