ちょっとTea Time!? VCXO/OCXOを調べてみる(後編)  202187.29

前編はこちら

温度制御回路刷新!

前編での恒温槽の温調機能にPWMをつかって失敗してしまいました。
小手先の対策でLCフィルタを入れてみましたが、発振音がでてしまいます。
ペルチェのドライバはダメダメだし、PICのAD変換器の分解能(12ビット)も低いし、これ以上手を
入れても泥沼に陥りそうです。
 ここは、一旦制御回路を刷新してみることにしました。

回路構成は手書きですが、こんな感じです。
 


この構成で回路を組みなおしてみました。


主な変更点は(というか、ほとんど変更していますが・・・)
@AD変換器にADS8685(16bit)を使用(RAPSPIでのデータロガーにも使用)
 ADC8685は16Bitという分解能の他に、単電源で使用できますが入力がバイポーラ(正負電圧入力可)なのが大きな特徴です。
 また4.096Vの高精度な基準電圧源も内蔵しているので、不安定な電源電圧をリファレンスにつかわなくて済みます。
 それに可変ゲインアンプも搭載されており±2.5〜±12Vのレンジで入力範囲が切り替えられます。 とくにバイポーラ入力ができるので、
 サーミスターの誤差増幅にあまり気をつかわなくても済みます。PICのAD入力は0〜5Vなので、つねに基準点が2.5V付近に
 なるようにして、オフセットやゲインを考える必要がありますが、バイポーラ入力だと単に誤差(正負に振れる)を増幅するだけで
 済みます。

Aペルチェの駆動はリニアに
 前回のPWM制御をやめてリニアアンプにしました。入力は10ビットのDAで電圧を発生させます。その電圧で制御された定電圧
 電源回路でペルチェを駆動します。 悩んだのは、どうやってペルチェの駆動極性を反転させるかです。本来は正負電源をつかって
 正負電圧出力ができるアンプ回路にすればいいのですが、かなり面倒です。 そこでリレーをつかって電流の流れを切り替えることに
 しました。簡単には機械式のリレーをつかえばいいのですが、カチカチとうるさいだろうからフォトMOSリレーを4個つかって切り替える
 ことにしました。秋月で2AのMOSリレーが130円であって、以前にスピーカのスイッチに使えないか検討したものがあったので、
 それを使うことにしました。
  ただMOSFETリレーの損失が100mΩ程度あるので、それも2個通過します.さらに定電圧電源での損失も含めて、5V電源ですが
 実質ペルチェ素子にかかる電圧は4V強といったとことです.本格的にやるには別電源にしないといけないでしょう. ただ、そうしたら
 ここで使っている小型のMOSFETリレーでは容量が不足(連続で2A)するので難しいところです.


全体の構成はこんな感じです。


ペルチェの駆動回路で、電流の向きを変えるためにMOSリレーを組み込んでいます。


こんな回路になっています.便宜上フォトリレーはフォトカプラで表しています.

まずは簡単に動かしてみましょう!

最初は単純なON/OFF制御で制御そのものが動いているかの確認です。
問題なく動いているようです。やはり、ADの分解能も高いのでかなりなめらかなデータが取れているような気がします。

まずは回路の動作確認がてら加熱ON/冷却ONだけの簡単な制御で温調テストです。

比例制御も加えてみましょう

 比例制御として目標(25℃)からの誤差が0.1℃以上あればフルパワーでペルチェを動かして、誤差が0.1℃以下になれば比例的にパワーを絞る設定に
してみました.
 この場合は、室温にも依存するでしょうが約0.015℃のオフセットがのって、ほぼ平衡状態になっています.


比例制御のみだと、室温28℃くらいで0.015℃のオフセットが生じています.

つぎに積分制御を導入します.およそ120秒間の測定データの誤差の移動平均値をもとめて、それに応じて制御量を加算しています.
定数は適当ですが、誤差の移動平均が0.1℃をこえる範囲で、誤差に対して×30のオフセットを加えています.すなわち温度オフセットが0.01℃あった場合
には0.3程度(フルパワーの30%)の制御量を加算しています.
 これで、さらにオフセットが小さくなりました. 目標値である25℃をまたいで変化するくらいのほうがいいので、もっと係数は大きいほうがいいかもしれませんが、
だんだん面倒くさくなってきました(笑.


積分制御を加えると温度オフセットも小さくなりました.まあ、こんなもんでしょうか. エアコンをOFFにすると室温が上がるので制御量が増えて
いま様子がわかります.


そもそも、どのくらいの温度制御が必要なのか?

 実のところ、これがよくわかりません. そもそも安価に入手できるATカットの水晶の発振周波数の絶対精度は水晶の厚さで決まります.
そして、温度特性は下図のようにカットに対する角度の誤差で決まってきます. もともと正確なカットであれば25℃に変曲点がくるので
温度制御としては比較甘くてもいいのかもしれません.しかし、一般に入手できる水晶の加工精度なんてどこをみてもわかりません.
 ということで、図から一番角度の大きな曲線の傾きくらいの誤差はでるだろうと仮定します. すると、おおよそ100℃の変化で100ppmの
発振周波数の変化があります.すなわち1ppm/℃という係数です.
 目標とする発振精度を0.01ppmとすれば必要な温調精度は0.01℃になるということです.そのため、とりあえずは0.01℃を目標に
いままで取り組んでいました.

ATカットの温度特性の図. 市販のATカットでどのくらいの誤差があるかは不明ですが、
赤線程度はあるという仮定をしてみました.


ちなみに、秋月のATカットの24.576MHzの水晶(30円です)のデータシートは下図のようになっています.
動作範囲での誤差保証から、最大では1ppm/℃での変化を見込む必要がありそうです.
やはり0.01ppmの精度を狙うなら、0.01℃の温度制御が必要なのかもしれません.


秋月での24.576MHzの水晶のデータシート. 使用温度範囲ー10〜60℃で±30ppmの誤差ですから、最大では1ppm/℃というところでしょうか.

選べば

水晶振動子でも選べば温度特性がいいものがあります.すこし高いですが,,,といっても1個80円程度です.
たとえば、下記だとー40〜125℃の範囲で±10ppmの安定性が保証されているので、これをつかうならば
温調精度はおよそ0.07℃で済みます.これならば、かなり制御に余裕ができます.
 いや、制御はできだけ高めて、周波数変動を小さくするのがいいでしょう.そうすれば0.001ppmも狙えるかもしれません.

すこし高い(??80円です)を選択すれば温度特性のいいものがみつかります.

発振回路はどうする? 2021.8.30

発振器はシンプルにCMOSのインバータをつかったものでと考えていましたが、以前にこんな投稿があるのを見つけました。


ディスクり回路での発振回路です。TRは2個ありますが、後段はバッファーですね。

低ジッタとのことですが、ジッタを測定する計測器は残念ながらありません。
でも、発振のバラつきの大きな要因は電圧変動でもあるので、発振周波数の電圧依存性を調べてみることにしました。
というのもコンデンサやドランジスタなどは動作電圧によって特性が変わりやすいものが多いです。
ということで、調べてみましょう。


先のディスクり回路でのテスト風景です。


CMOSインバータをつかった時の発振回路です。

測定結果は

電源電圧を5Vを中心にして調べてみました。測定回路はディスクり回路とCMOSインバータをつかったものですが、
インバータについては低速の74HCU04と高速の74AHCU04の2種類について調べてみました。
結果は下図の通りです。水晶発振器は10MHzのものを用いていますが、誤差のみの表示としています。


 回路による電圧による発振周波数の誤差です。

結果としてはディスクリ回路がもっとも安定性がいいです。反対にCMOSインバータでは
素子の種類でも大きく誤差が異なります。ひょっとして使っている素子の容量でも変わってくるので
単純な比較というわけにはいかないと思いますが、結構おもしろい結果になりました。
ディスクり回路がいいかな〜。
 しかし、数pFの小容量のコンデンサでフィルムタイプはほとんど持っていないのでセラミックを
つかっていますが、これが電圧特性を悪化させている原因かもしれません。一度、秋葉・日本橋でも
いったときにフィルムコンデンサを探しておかなくっちゃ。

あれ?再現しないぞ〜 2021.9.1

電圧による周波数の変動はコンデンサの電圧に対する容量変化と考えて、電圧影響の小さい
フィルムコンデンサを秋月で買ってきて再テストです。今度はCMOSインバータ(HUC04)をつかって
10MHzと25.476MHzの水晶でテストです。
 で、先の実験結果とまるで違います。オーダも1〜2桁違う感じ。前回の試験方法になにか
ミスがあったのかな〜。電圧が高くなると周波数が高くなるという定性的な特徴だけが再現できた
形です。それにしてみ、セラミックでもフィルムでのさほど有意差があるようには見えないな〜。

 こりゃディスクり回路について、もう一度再測定しないといけないなあ〜。


CMOSインバータでの水晶発振周波数の電圧変動テストです。
先の結果と変動値のオーダが違っています。なぜだろう?

(つづく?)