ちょっとTea Time!? VCXO/OCXOを調べてみる 2021.7.22

10MHzの基準となる発振器が整備できたのですが、あらためて水晶発振器でも温度管理をちゃんと行えば
極めて安定した周波数精度が実現できるのだな〜と感心してしまいました。ちなみに、先の発振器は常に通電
していて、外から風があたらないように箱をかぶせています。その効果もあってか、たまに周波数を確認すると、
いつも誤差±1mHz程度に納まっているようです。周波数精度とすれば10-10なので大したものです。

で、温調付で電圧可変の発振器を自分で作ってみたくなりました。オーディオ用では24.576MHzをよく使いますが、
その基準をつくってやろうという算段です。温調付で安定した周波数をもつ発振器ならジッタもかなり低いはずです。
そうなれば、それを基準に動く装置も高精度に動くはずです。音もよくなるかな〜

ちなみに、世の中にはオーディオ用かどうかしりませんが基準発振器なるものも販売されています。
なにやら10MHz発振器を専門にあつかっているようです。
10MHzクロック専門 (株)サイバーシャフト公式サイト (cybershaft.jp)

必要な回路は
 温調付の電圧可変発振器に必要な回路要素は
 @温調機能
 A電圧可変発振器
の2つです。@の温調機能については、適当な高い温度(例えば50℃程度)に保持できればいいわけですから、
発熱体と温度測定素子とOPアンプが1つあれば十分で、なんとでもなるでしょう。あまり経験がないのはAの電圧調整発振器です。
そこで、この電圧調整発振器を色々と調べてみました。

VCXO回路を調べる
 電圧で発振周波数が可変できる水晶発振器はVCXOと呼ばれているようです(Voltage Controlled Xtal Oscillator).
そこで、VCXOの回路をネットで探索です。ほんと、ネットって便利ですね。

1)基本的な回路
 基本的な水晶振動子をつかった発振器の回路図は下記になります。74HCU04をつかうのが簡単です。
そして、周波数を微調整するには下図のC1、C2を調整することになります。
メモリーバッファーでもこの部分をトリマーコンデンサーにして可変できるようにしました。
要は電圧で容量が可変てきる素子をつかうえばいいということですね。



74HCU04をつかったいつもの水晶発振回路はこんな感じです.

2)バリキャップを使用
電圧で容量が変わる素子といえば、バリキャップ(可変容量ダイオード)です。でも、このバリキャップって
使ったことがないのですよね〜。どうやって使えばいいのだろう?で、VCXOの回路をさらに色々ろ調べると
バリキャップと74U04をつかった回路もでてきました.メーカのサイトにも載っていました。
また、セイコーの特許公開公報にもありました。
 なるほど、こうやって使えばいいのですね。勉強になります。

引用:http://www.kds.info/wp-content/uploads/2017/01/quartz-device-2016-2017-170125-jp.pdf



こちらはセイコーの特許の図です.先の回路とよくにています.直流カットのコンデンサの位置が異なっています.
電圧制御水晶発振器(特開2002?26660)

バリキャップを使ってみよう!

人生初のバリキャップの使用です(大袈裟だなあ〜。
バリキャップって高いものか安いものか全然しりませんが、われらが秋月でも取り扱いがありました。
5個で100円なので、素子としては比較的高いものなのですね。
というか、あまり使用頻度の高い素子ではないから、高くなっているのかな?

とりあえず、適当なものとして下記を購入してみました。

秋月電子でこれを購入です.
端子間電圧が2.27〜15pFで変わるバリキャップです.

早速動かしてみましょう!

セイコーの特許の回路図をもとに、適当な定数をつかって動作させてみました。

こんな感じでバリキャップをつかったVCXOを作ってみました。

手元に24.576MHzの水晶振動子は2つあって、HC-49/Uの大きいサイズと、基板の配布時につかっているHC-49/Sの小さいいものの2種類
があるので、それらでテストしてみました。また使ったバリキャップは2.27-15pFの変化幅なので、ちょっと容量が少ないかもと思って
1個と2個パラの2通りでのテストです。

 結果は下表の通りです。

回路図
HC-49/Uの形状

HC-49/Sの形状

バリキャップはシングルで使用
24 584 686Hz(V=0V)

24 585 983Hz(V=5V)

変化幅52ppm

24.576MHzよりだいぶ
高い周波数です。なぜ?
24 576 392Hz(V=0V)

24 577 375Hz(V=5V)

変化幅40ppm

24.576MHzよりわずかに高い
周波数でした。惜しい・・

バリキャップはパラで使用
24 582 790Hz(V=0V)

24 584 500Hz(V=5V)

変化幅70ppm

24.576MHzよりだいぶ
高い周波数です。なぜ?
24 574 700Hz(V=0V)

24 575 880Hz(V=5V)

変化幅 48ppm

24.576MHzよりわずかに低い
周波数でした。惜しい・・

とりあえず制御電圧VをGND〜5Vで変化させたときに、発振周波数が40〜70ppmの変化量となるVCXOとなることがわかりました。
バリキャップを2つパラにすると発振周波数はすこし低くなります。1個だと、すこし高くなります。1個でも2個でも
肝心の24..576000MHzを調整範囲とする条件にはなりませんでしたが、バイアス抵抗(1MHz)を変更すれば、また調整範囲も
変わってくるでしょう。

まずはVCXOとしての動作ができることが確認できたのが、今回の成果です。

温調機能はどうする?

簡単に温調を実現しようとしたら、発熱素子だけもたせた、例えば60℃程度で熱平衡するようなものをつくればいいでしょう。
放熱に関しては自然にまかせます。そうすれば、単なるON/OFF制御程度の温調機能でも大丈夫でしょう。
で、ここで問題となるのが使える水晶です。一般的に温調付の発振器にはSCカットの水晶が使われるようです。
SCカットの水晶は94℃あたりに温度特性の変曲点があります。すなわち、94℃あたりがもっとも温度に対する周波数変動
がすくないところです。しかし、90℃といったらかなり高い温度だしな〜。発振回路を丸ごと温調するわけにはいきません。

水晶だけ90℃程度に温調して、他の部品はすこし離したところに置くかな?でもそうしたら、他の部品の熱影響で周波数が
変わってしまいそうです。それに気分的にあ90℃で動いている素子があるのも不安です。一般的な温調付きの水晶発振器の
構造ってどうなっているんだろう。

それにSCカットの水晶なんて、簡単に入手はできなさそうです。簡単に入手できるとしたらATカットの水晶です。
これなら、秋月で色々な周波数のものが1個30円程度で手にはいります。

でも、ATカットの水晶振動子っておよそ25℃あたりに変曲点があるようです。この温度は温調するには面倒です。
冬場は温めないといけないし、夏場は冷やさないといけません。90℃温調だったら、冬場も夏場も温めるだけです。
どうする?

ペルチェをつかう?

簡単に冷やしたり、温めたりすることを考えると、やはりペルチェ素子の登場かな〜。
小さいペルチェなら秋月でも比較的安価に入手できます。

20mm四方程度のペルチェ素子なら650円で購入できます。水晶の温調程度ならこのサイズで十分でしょう。

ペルチェ素子の駆動で冷却も加熱もどちらもするとなると、バイポーラ電源で駆動することになりますが、正負電源を用意するのも面倒です。
となると、MOSFETなどでHブリッジを組んで駆動するのが簡単でしょう。温度誤差に応じて、流す電流をPWM制御できればいい感じです。

初ペルチェ! 2021.7.25

はじめてペルチェ素子を買いました.
すこし大き目で40mm角のものです.ちょっと大きすぎたかな?

40mm角のペルチェ素子を買ってみました.

素子が来たので、ちゃんと冷えるのかのテストです.
放熱をちゃんとしないと壊れるとあったので.、全面に放熱テープを貼付して放熱板にとりつけです.
冷却面には測温のためにサーミスタをはっつけました.これも秋月で購入です.


豆粒みたいなサーミスタを取り付けて測温です.


まずは初ペルチェでの動作テストです.

最大電流は4A程度まで流せるようなのですが、無理して壊したくないので1A程度に絞ります.
そもそも冷蔵庫みたいない使い方は予定していないので.、最大1A程度でもどの程度冷えるかどうかが知りたい点です..
で.、通電してから1分経ってサーミスタの抵抗を測定すると16.5kΩ程度です.
この抵抗値から換算すると温度は12℃程度のようです.触るとひんやりしています.
1Aでここまで温度が下げられる能力があれば十分です.


さらに通電し続けると結露してしまいました.実験終了です.

失敗した〜

実験終了したので、ペルチェ素子をはがそうとしましたが、剥がれません.
全面両面テープを貼ったのが裏目にでました. 無理にはがそうとしたら割れそうです.
あ〜失敗したなあ〜.
仕方ないので、このサイズで恒温槽をつくるかな〜.
それとも、もう1個のペルチェをつかうかなあ〜.

恒温槽の材料を探しましょう! 2021.7.29

放熱板にとりつけたペルチェが勿体ないので、それをつかった恒温槽をつくることにしました。
恒温槽に使う材料ですが、発振器全体が入るだけの容量があって、なおかつ熱伝導性のよいものを
探します。100均で探そうかとおもいましたが、おそらくブリキ製の缶程度しかないだろうな〜と思って、
すこし高いですがエフェクターケースというものをつかうことにしました。
 これはアルミ鋳造品なので比較的熱伝導もよいのと、サイズ的にも十分です。ちょっと大きすぎる面はありますが・・・。

恒温槽の材料としてエフェクターケースを使ってみることにしました。アルミ鋳造品です。


内容積は発振回路を組み込むには十分です。ちょっと大きすぎですが。

ケースの底面側(になるのかな?)にペルチェ素子を貼り付けますが、その前に全面を
断熱材で覆います。断熱材につかったのはスーパーの食品トレイです。これなら、冷蔵庫を
あされば色々とでてきます。平面の部分が少ないので、3皿ほどつかって切り出しました。

ペルチェ素子が張り付く部分を除いて全面を断熱します。両面テープで貼り付けです。


放熱板と恒温槽の間にペルチェ素子を挟み込んでいます。

温度制御範囲を調べてみましょう!

当初の予定より、かなり恒温槽が大きくなってしまったので、どこまで冷やせられるか、あるいは温められるかが心配です。
そこで、槽内にサーミスタを配置してペルチェ素子に通電した場合の温度を計測してみました。


冷却・加熱特性を調べるためにサーミスタを配置して測温してみることにしました。

結果は

 ペルチェに流す電流は0.5Aとしました。定格(4A)よりはだいぶ小さい値ですが、この程度で平衡状態になるくらいが必要です。
測定としては、最初に順電流0.5Aを流して冷却し、平衡状態にほぼ達したころを見計らって逆電流(加熱)0.5Aを流します。

結果としては0.5A流した場合の平衡温度は冷却時は環境温度-12℃、加熱時は環境温度+10℃といったところです。
値としてはちょっと小さい感じです。というのも環境温度が10℃とすれば、0.5Aを流しただけでは目標温度の25℃に達することができません。
同様に、環境温度が40℃あれば、28℃までしかさがりません。
 あと平衡状態になるにはかなり時間がかかってしまいます。通電後5分程度で目標温度に到達させたいものです。
そこで測定した結果から5分後の温度差を調べると、加熱・冷却とも6℃@300sという結果でした。
この値が、今回の実験で欲しかった値です。


 通電電流0.5Aの場合の槽内の温度変化

環境温度10〜40℃でつかうためには、印加電流は1.25A以上必要

使用する環境温度(室温に近い)を10〜40℃で使うと考えて、恒温槽内の温度を25℃にするには環境温度から15℃の温度差になります。
15℃の温度差を5分で到達させるためのペルチェ素子電流を概算すると、0.5Aで6℃ですから、およそ1.25Aという値になります。
結構な電流になるな〜。
 余裕をもたせて最大で1.5A〜2A程度流せるように設計したほうがよさそうです。となると、電源としては7〜8V程度は必要になります。
ん〜、できれば5V以下で動かしたいところです。でも5Vだと1A程度しか流れないから、すこしパワー不足。
5分で一定温度という制約をすこし緩和して20分程度でもよければ、電源電圧5Vも大丈夫そうですが・・・・ちょっと悩みどころです。
電源はもうちょっとあとで煮詰めましょう。

試しにペルチェ素子に1Aの電流を流すと・・・ 2021.7.31

試しに、今度はペルチェ素子に1A流してみました。
その結果としては意外だった反面、考えればそうだような〜という感じです。
まず、冷却速度ですが5分後の温度は初期温度から-7.5℃にしかなっていません。0.5Aのときに-6℃だったので、1Aならその倍くらい冷えるかと思っていました。
放熱板の温度がかなり高くなっていることもあり、冷却能力が落ちているようです。それに1000秒後の温度も20℃にも達していません。
そこで、放熱板をファンで冷却することに。そうすると徐々に温度がさがりました。でも、平衡状態の温度は約18.5℃で、ペルチェ素子0.5Aの場合と
ほとんどかわりません。いや、むしろ悪いくらいです。

 すなわち、ペルチェ素子に沢山の電流を流しても放熱が追いつかなくてあまり冷えないという感じです。

1Aの電流を流した場合の冷却特性.0.5Aのときとあまり変わりばえしません。

温調機能を試してみましょう! 2021.8.24

久しぶりに作業再開です。
温調のためにはペルチェ素子のドライブ回路の作成が必要ですが、まずは簡単にハーフブリッジ回路でPWMで動かすことにします。
そのために、MOSFETが必要なのでいつもの秋月電子で購入です。5Vでペルチェを動かす予定なので、できるだけMOSFETでの
損失が少ないようにON抵抗の低いものを選びました。あとは価格が安いものです。


ペルチェ素子の駆動回路です。ブリッジ回路でPWMで制御します。


秋月で購入したMOSFETです。足の短いのがP形、長いのがN形です。


P形がこれにしました。ON抵抗が17mΩです。


N形がこれにしました。ON抵抗が36mΩ以下です。

恒温槽内に入れる基板を作成

まずは恒温槽内に押し込む基板を作成です。基板といってもサーミスタとブリッジ回路の抵抗を入れるだけです。
抵抗の温度特性も無視できませんから、ブリッジはまとめて基板上に実装です。
基板のサイズに余裕があるのは、あとで発振器を組み込む予定です。

 
サーミスタを含むブリッジ回路です。
                     これがサーミスタですね。


恒温槽に基板を押し込んで、あとは蓋をします。

温調テスト開始!

まずは難しいことは考えずに、一定の閾値を設定してのON/OFF制御とします。
ON/OFFといっても実際には温度が下がればペルチェを加熱でONして、温度が上がればペルチェを冷却でONするので
ON/OFFというよりかはON.ON制御です。
 で、ペルチェの駆動はPWMでDUTY50%で固定です。周波数はおよそ2kHzにしています。
5V動作なので、電源の電流から平均値で500mA強の電流が流れているようです。


温調テストの開始です。

以下に結果を示していきましょう。

1.計算上は25℃狙いで温調

 電圧がちょうど5Vであると仮定して25℃狙いで温調です..ただ、電圧ドロップがあったようで少し狙いがずれてしまいました.
なお、温度の測定は外付けで、16Bit分解能のADをもつ我が家の標準となるレコーダをつかっています.
温調のための制御はPIC内蔵のAD変換器(12Bit)をつかっています.

室温(約28℃)からの温調なので
約5分ほどで定常値になりました.
途中で謎の暴走があります.
これはなんだろう?

あと、ON・OFFが切り替わるときに
測定ノイズがのっています.どうやら
ペルチェの冷却と加熱を切り替える
タイミング処理の問題でMOSFETに
貫通電流が流れていて、電源電圧の
急激な低下が起こっているようです.
定常状態での温度の様子です.
単純なON/OFF制御なので、
結構なリップルがのっています.

といっても、リップ幅は0.05℃程度
です.あと、リップの周期は結構ばら
つきますが、代替40〜60秒程度
のようです.


2.今度は高値(?)安定を狙ってみましょう.

先の実験の25℃から設定条件を変更して
高値(適当です)にむけて制御です.


プログラムは修正していないので、ノイズまだ発生しています.
今回は初期の温度差があったためか、
結構なオーバシュートが発生しています.
そして、定常状態になるのに約700秒かかりました.
定常状態での温度の様子です.
リップ幅は0.06℃程度です.
あと、リップの周期はすこし短く30〜40秒程度でしょうか.

ノイズの発生頻度が高いためか、すこしデータが
粗くみえます.


3.再度25℃を狙ってみましょう.

比較的高目の温度から再度25℃狙いで温調をかけました.今回はペルチェ駆動時のプログラムを修正して、MOSFETの貫通電流がないようにしました.

31℃から25℃への変化なので
定常状態になるまで約1200秒(20分)
かかっています.


プログラム修正でノイズがでなくなりました.
温度を下げる方は大きなオーバシュートが
でないようです.

定常状態での温度の様子です.
リップ幅は0.06℃程度です.
あと、リップの周期は40〜60秒程度
でしょうか.

今回は単純なON/OFF(正確には単純な加熱ON/冷却ON制御)のみでしたが、それでも0.05〜0.06℃程度の温度幅に納まることが確認できました.
さらに設定温度との誤差に応じて、PWMのDUTYを変化させるようにすればさらに温度変動幅を小さくできる可能性がありそうです.

目標としては0.01℃程度を狙いたいところです(さもないと、目標の水晶発振器の安定性が得られれない可能性がある).

ただ、0.01℃での制御を考えるといまのバラックでの回路ではプログラムの定数の追い込みに耐えられそうにありません.
さらに、制御につかっているPICのAD変換分解能も厳しいところがあります.

すこし、回路を練り直す必要もありそうです.

一難増える? 2021.8.26

とりあえず、いまのブレッドボードのままで温度制御プログラムを改造です。
まずは温度誤差に応じてPWMのDUTY比を変えるようにします。すなわち目標温度に近くなればDUTY比を下げることで、
制御量を小さくしてハンチングを小さくしようとする算段です。この場合のデメリットは目標との誤差が小さくなると制御量が小さくなるので
定常誤差(オフセット)が発生します。それについては誤差を積分してその値での制御もかけることになります。
まあ、それは次のステップです。
 で、プログラムの改変はそれほど難しくないので、チャッチャと組んで試してみました。
制御としてはうまく動いているようなのですが、温度モニターのための外付けのデータロガーでの記録に問題発生です。
ボード上ではペルチェ素子をPWMで電流を加えていますが、ピーク値では1A程度流れます.そのため、電源ラインの電圧
変動や誘導ノイズが発生しますので、制御用のマイコンでのAD変換時には一旦ペルチェ素子の駆動を止めています。
そうしないと256回サンプルの平均をとっても、結構バラツキます。
 それに対して外付けのデータロガーは常に測定しているのですが、PWMのDUTY比が変わるとノイズの発生状況が変わって
しまって測定が離散的に変化してしまいます(下図)。これはちょっと予想外です。


 PWMのDUTY比が変わるタイミングでデータローガの値が離散的に動いてしまっています。

 問題の主因はサーミスタを取り巻くブリッジ回路への印加電圧を、5Vの元電源としています。そのため、
電圧変動すれば、ダイレクトに温度測定値が変わってしまいます。
 対策としては@ペルチェ素子の駆動電源を別系統する Aサーミスタの駆動回路に別途定電圧電源を追加
などがあげられそうです。どちらも面倒だなあ〜。しいてやるなAかな?

だめだなあ〜
まずは簡単にできるということでAを選択です。すなわちサーミスタのブリッジ回路の電源の手前に3.3Vのレギュレータを入れて
電圧変動を押さえるようにしました。しかし、電圧レギュレータって高周波は結構素通りしてしまいます。それとブレッドボードですので
GNDインピーダンスもあまり低くありませんから、レギュレータを入れたところであまり電圧変動を押さえることはできませんでした。


5Vラインの電圧変動です。ペルチェのパルス駆動電流が大きいので
結構変動します。



3.3Vのレギュレータを挟んでも完全には解消しないようです。

ちなみに、サーミスタ周辺の回路図は下図のようになっています。サーミスタを含むブリッジ回路の差電圧を増幅して
PICのAD変換器に入れています。本来は5V単独で動くようにレールtoレールのOPアンプをつかって回路を組みたかったのですが、
OPアンプの手持ちがなかったので計装アンプのINA128をつかっています。そのために、±15Vの電源が必要なのでDCDCコンバータを
つかっています。PICのAD変換器に大きな電圧がかからないようにダイオードでGND〜VCCでクランプしています。
また、ノイズを減らしたいので1kΩと0.1uFでLPFを組んでいます。このあたりの値は適当です。


サーミスタでの温度測定回路。基準電圧との差動電圧を増幅してPICのAD変換器に入れています。

外部データロガーはあきらめましょう〜

外部データロガーではどうしてもノイズがとりきれないようなので、PICのAD変化値をRS232経由で送り出して測定することに。
PICのADでは12Bitの分解能なので、すこし物足りないですがまずはどういった状況になっているかの確認が先決です。

まずは簡単に比例制御を組み込んで、どのような挙動をするか計測です。

まだハンチングするな〜

 制御開始で室温(28℃)から目標値の25℃に制御ができていることは確認できましたが、制御量をみてみるとだんだん大きくなっています?
まさか無限大での発振はしないでしょうが、制御としては安定していないようです。

まずは比例制御での温度変化を観測です。とりあえず25℃には制御できていますが、制御量の振幅は徐々に大きくなっていっているな〜。

もう少し細かくみてみると、温度は25℃ピッタシではなく約0.02℃高い位置が平均値になっています。これがいわゆるオフセットというものになります。
制御量も平均ゼロでなくて、ややマイナス側に振れています。すなわち25℃に制御するには、つねに一定の電流値をペルチェに流さないといけないということですね。
自然の吸収熱量を補充してやらねばならないということです。この一定量の電流については誤差を積分して設定する必要になります。


もうすこし挙動を細かくみてみました。温度は約0.02℃のオフセットがのっています。ちなみに変化幅はおよそ0.05℃といったところです。

さらに時間を短く観察してみると下図のようになります。温度と制御量の位相がほぼ180度ずれている状態ですから、こりゃ普通の電子回路なら
発振しちゃいますね。


温度の変動周期は約25秒です。温度変化と制御量の位相がほぼ180度ずれていますから、ほっといたらさらに発振してしまいそうです。

ダメダメだけど、やるべきことが見えてきました

今回の比例制御では十分に温度変動を押さえることができませんでした。でも、改善すべき方向がみえてきました。
やるべきことは
 ・温度変動幅を減らすために制御感度を落とす。すなわち、誤差に応じた制御量の変化をもっと小さくする。
 ・一定誤差(オフセット)を小さくするために積分制御を導入する。また系の時定数は25秒程度なので100秒程度を積分時間とする。

 ・温度測定分解能をあげる。現状の分解能は0.01℃なので、測定できる温度範囲をもっと小さくして0.002℃程度になるように変更する。

まずは、こんな感じで改善を進めましょう。

エアコン切ったら熱暴走・・・ 2021.8.28

まずは制御分解能をあげるために、各種抵抗値を変更しました。12BitADCでの分解能は25℃前後では0.001℃になりました。これで0.01℃制御にも耐えうるでしょう。ただし、温度測定範囲はぐっと狭くなり
22.5〜27.2℃までしか測定できません。で、まずは確認のため、制御パラメータなどは変更なして動かしてみました。まずは正常に動作するかの確認が目的なので、制御性については考えて
いませんが、測定開始してしばらく部屋を離れることがあったのでエアコンを切ったのですが、どうやらそれ以降に温調制御がきかなくなって、2000秒頃から温度上昇まっしぐらです。
 室温はエアコンをかけているときは28℃ぐらいで、その温度なら問題なく制御が効いていたのですがエアコンを切ったとたんの体たらくです。ほんとに冷却能率悪いな〜。

やっぱり5V程度ではだめなんだろうか?もっと電圧を上げるかな〜・・・・大変だなあ・・・・・。冷却効率あげるために空冷ファンをとりつけるかな〜・・・でもうるさいしな〜・・・・・
ペルチェで温調って、ちょっと企画倒れになるかな〜・・・・

ブツブツ・・・


温調を開始してしばらくして、部屋のエアコンを切ったら、途端に冷却能率が落ちてしまって制御不能に落ちいってしまいました。5V程度じゃだめかな〜

PWM制御は大失敗?

 色々と考えていて、ふと冷却能力をPWMで制御しようとしたのは大失敗では?と感じてきました。
 単純にPWMでDUTYを50%にすれば、冷却能力は50%になるだろうと何も考えずに取り組みましたが、そう単純にはいかないかもしれません。
 というのもペルチェ素子というのは、単に熱の移動を助けるデバイスにすぎず収支の熱量はゼロなはずです。発生する熱量はいわゆるジュール熱、
 すなわち電流×電圧による電力損失熱です。
  ペルチェの熱の移動能力は電流に比例するとして、電流を1Aから2Aに増大させると熱の移動能力は2倍になります。
 そこで2Aの電流をDUTY50%で流せば、熱の移動能力は変わりませんが、必要な電力(ジュール熱)は1Aを定常的に流した場合に比べると2倍になります。
 というのも、電流2Aを定常的に流すと必要電力は電流の二乗に比例しますから1Aのときの4倍になります。それをDUTY50%にすると、電力は半分になりますが
 1Aのときの電力の倍になっているというわけです。
 
 すなわちPWMで制御すると、発熱ばかり増えてしまって冷却の効果が薄くなる!

 ということのようです。

どうしよう?フィルターでごまかすか?

 対策としてはPWMをやめて電圧制御、すなわち普通のリニアアンプにするのが本道でしょうが、改造が大変です。なによりも加熱・冷却を行うとすれば
 正負電源が必要になってきます。 もう一つの対策としては、PWM出力にLCフィルターを接続して直流に変換する方法です。これが、まずは簡単そうです。

 でも容量の大きなインダクタ―ってあったかな〜。

 部品箱をごそごそ探すと見つかったのは、最大でも47uHのものでした。何個かあるので2個ほど直列で使いましょう。
 コンデンサもバイポーラが必要ですが、MUSEの220uFがあったので何個か並列で繋ぎましょう。
 あとはフィルタが効きやすいようにPWMの周波数も2kHzから4kHzに上げます。これはPICの動作周波数が現在は32MHzにしていますが、
 最高速度の64MHzまであげます。

 ペルチェの直流抵抗は1A流したときの電圧が約4.5Vだったので4.5Ωとします。これでLC回路をSPICEしてみましょう。

結果としては、Lを2個直列にして、Cを3個並列にすればかなり直流に近くなりそうです。

簡単にこんな回路でPWMの波形がどのくらい直流になるか調べてみました。


リップルは残りますが、かなり直流に近くなりました。


ブレッドボードの端にLCフィルターを組みました。

ピー〜

さて、実際に動かしてみましょう。最初電源を入れたら「コツコツ・・」という音がするだけで
電流が流れません。そこでコンデンサを1個除去すると、コツコツ・・という音はすこししますが、
ピーという発振音も聞こえて電流が流れ出しました。でもコツコツ音は気になるので、最後には
コンデンサ1個にしました。まあ、それでもそこそこの直流になりました。
 でも、ピー音はいやだな〜。さほど大きな音ではないですが気になれば気になってしまいます。
なんせオーディオ装置ですからね。

47uHのインダクタ―2個と220uFのコンデンサ1個になりましたが、
0-5VのPWM信号がそこそこ直流になっています。


どうかな?

プログラムも少し変更して比例制御のゲインもすこし落としてみました。
動かしてみると、ゲインが小さくなったせいか温調がかかりだしてもすこしオフセットが大きくでています。
そこで、仕方なく冷却ファンを稼働させてみることにしました。そうするとオフセットはかなり小さくなりました。
積分制御が入っていないのでオフセットは取りきれませんが、かなりの精度で温度制御ができそうなことがわかりました。


 温調はかかりましたが、オフセットはすこし高目です。そのため冷却ファンを稼働させるとかなりオフセットが小さくなりました。


冷却ファン稼働時の温度著性範囲はおよそ0.003℃程度にはいりそうです。目標の0.01℃は達成できそうです。

しかし、AD変換の分解能12ビットではデータが離散的になっているのがバレバレです。やはり16ビット程度は欲しいな〜。
それにインダクタ―からのピー音はなんとしても避けたいです。あと、できればファンも付けたくないな〜。

とりあえず

 制御回路はもちいちどグリーンフィールドから考え直したほうがよさそうです。とりあえず、今回の実験では現状の恒温槽で
0.001℃の制御の可能性が確認できたといことでよしとしましょう。

(一旦お開きかな?仕事しないと・・・)

といいつつ後編につづく.