左側のビヘイビア電圧源がS8100Bのモデル。データシートのパラメータから、Vout = -0.00813T+1.748であることがわかる。Tは摂氏温度。
出力インピーダンスが高いらしいのでまずはボルテージフォロワで受ける。
その後1.6Vをレバーの支点にして4.7倍増幅。1.6VはLT431の2.495Vを参照する。
横軸がVoltになっているが温度だと思ってもらいたい。上記の増幅率では-20度くらいで0Vくらい、80度でリニアリティーがなくなるくらいのレンジまで増幅している。
まあ、こんなもんか。もちろん入出力rail-to-railのオペアンプを使えば電源電圧まで振れるけどまずは汎用LM358でトライ。
LM358は
・入力の制限が(電源電圧-1.5)Vまで=3.5Vまで:入力は最大2VなのでOK
・出力は電源30Vで28Vまでとあるので、(電源電圧-2)Vくらい@10kオーム:今回は3VくらいまでならOKだろう。
探すとボルテージフォロワでテストしているひとがいて3.5Vくらいからクリップと書いてる人もいるがそれは入力側もクリップしているからなんとも言えない。
なお気温の測定にて80℃なんて測定しないだろうから、50度くらいを上限にして増幅率変えようかな。
当初オフセットをして増幅するのにどうしようかなと思っていたがなんの事はない。反転増幅回路でVrefを用意したらいいだけだった。備忘録として絵を残しておく。
反転増幅回路はVrefを支点としたシーソーなので次のように絵解きができる。
今回Vref=1.6Vなので上のように計算が可能である。実際に上記の式とLTSpiceの比較は次のようになかなか良い。LTSpiceが必ずしも正しくないだろうから上限3.5Vくらいを見ておけばいいだろう。
気温-20度から50度のレンジは0.14V~3.20VくらいなのでマイコンのADCリファレンス電圧を3.3Vくらいにしておくといいかもしれない。
→現在1.6VをLT431から生成しているが、LT431で3.2Vを作って電圧半分にしたものをリファレンス電圧にしたらいいのではないだろうか。LT431がなかったらLDOの3.3Vレギュレータで。
さてマイコン側の仕様:
マイコンは10bitのADCなので分解能は1024階調。ただし、階調を使い切るのか、ADCしたあとの演算を楽にするのかで迷いますが、製品誤差をマイコンで吸収したいのでどうしてもマイコン側で計算するのであまりこだわらずに設定してしまえばいいでしょう。
上記の倍率だと8.13mV/Kの4.7倍で38.2mV/Kの変化量。ADCの基準電圧を3.3Vとして、これを1024快調に分けるとADCの最小分解能は3.22mV。大体0.1度くらいの分解能が期待できる。仮に2.495Vを基準にすると2.44mVが分解能なので0.06℃の分解能。この場合、検出可能な温度は41.5度くらいが上限。気温計としては十分じゃないでしょうか。
マイコンはATTiny13AとシフトレジスタICで組もうかとも思ったがどうせピンの数が増えるならATMega88などでいいだろうと思ってしまったのでATMega88を前提にしていく。
ピンアサインは上のようになっている。7セグはカソードコモンのタイプを使って次のような回路かと思っています。