コンパレータ発振せり!
2012-01-14
先週末は、空き時間に74HCU04を用いたLCメータを組み立て、ひとまず少しまともに動くところまで持っていったのですが、カウンタ入力が大きすぎること(これは、ある程度抵抗挿入で逃げられるのですが・・・)に加えて高調波成分やらノイズやらを拾ってしまい、やはり安定しませんでした。発振部分のみで40mAも食らう元気なインバータは、暫くするとホンノリ暖かくなる始末。10cmほど離れて置いた周波数カウンタの先っちょが「電波」として発信信号を拾うという正に「送信機」のような有様で、どうしても完成まで持って行くのに抵抗感がありました。
木曜日の帰宅途中にもう一台分の不足部品(水晶とトロイダルコア)を買ってきました。上記のインバータ式をひとまず置いて、どうしても納得がいかない「コンパレータ発振不発」を払拭し、何とか消費電流も電池で動く程度に納めたい・・・この諦めの悪いところが、工作好きには必要なのかも知れませんが、それはともかく、昨晩夜更かしをして「コンパレータ式の再作」にチャレンジしました。PICは、素性がある程度解っているPIC16F648Aに戻しました。
右側が上記の大食らい君、左側が「コンパレータ式」の作りかけです。主要部品を取り付けて、この状態で実験してみました。コアは、FT23-43に変更してできるだけ部品取り付け面積を稼ぎました。
当初は、やはり以前と同じように全く発振周波数がデタラメでした・・・が、ネット記事で見つけた「帰還補償用に5pF程度のコンデンサを付けるよろし
」の言葉通りに裏面にちっこい5pFのセラコンを付けたらかなり安定して発振するようになりました。NFBの要領で、高い周波数のゲインを落としてしまおうという魂胆ですね。
このコンデンサの付加も諸刃の剣でした。ちょっと遊びで実験してみましたが、あまり容量の大きなもの(68pF~300pF)をつなぐと発振周波数が下がってしまうこと、さらに容量を大きくしていく(1000pF以上)と効き目が無くなることなど、高周波的要素バリバリです。
そして、結果はひょんなことから導き出されました。
若干安定してきたものの、このコンデンサ付加のみでは完全とまではいかなかったため、あれこれ当たっていくうちにふとMCLR(RA5)に触れると、つないでいた周波数カウンタが暫く妥当な周波数を表示し、10秒くらいでまた怪しくなるという挙動に気づきました。RA5は入力ポートとして使いたいため、確か内部プルアップにした筈なのにリセットがかかる
この時、RA5にはまだ何もつないでいなかったため、ゆくゆく入力ポートとするためのプルアップ抵抗をつなぎつつプログラムを見直すと、入れたつもりのコンフィグビット指定「_MCLRE_OFF」がなんと抜けていました・・・。つまり、PIC自体が不安定に動いていたというオチ
PICの挙動不審は、大概においてポートの終端処理(プルアップ/ダウン)であることは、既にPICをいじり始めた頃の「神のお告げ」で知っていたはずなのに・・・。そして、PICコンパレータ発振の実験の際は、実験基板上しっかりとMCLRがプルアップされていたため超空中配線でも何とか発振していたこと・・・などなど、合点のいくことが沢山出てきました。直前の記事の失敗も、どうやらここに原因があった・・・とすると、1回分余計な作業をしたわけです
多分、完成してしまえば同じものは作らないと思いますが、備忘録として以下をまとめておきます。
◆ コンパレータ式のフランクリン発振が不安定な場合、帰還抵抗にパラで数pFのセラコンを入れると落ち着く
◆ MCLRを含めたポート終端は確実にすること
結局、随分と遠回りをしたLCメータの製作も、コンパレータ式で落ち着く方向になりました。発振用の常時接続される1000pFコンデンサ(キャリブレ用の高精度ポリプロでない)をセラミックからフィルムに変更したら、初期変動が落ち着けば(上記の通りむき出しの状態で)数Hz単位で動く程度になりました。この辺りは、ケーシング等で解決できれば良し
ちなみに、発振時の消費電流は11mA弱、LCDをつないでも20mA程度には収まりそうです
木曜日の帰宅途中にもう一台分の不足部品(水晶とトロイダルコア)を買ってきました。上記のインバータ式をひとまず置いて、どうしても納得がいかない「コンパレータ発振不発」を払拭し、何とか消費電流も電池で動く程度に納めたい・・・この諦めの悪いところが、工作好きには必要なのかも知れませんが、それはともかく、昨晩夜更かしをして「コンパレータ式の再作」にチャレンジしました。PICは、素性がある程度解っているPIC16F648Aに戻しました。

右側が上記の大食らい君、左側が「コンパレータ式」の作りかけです。主要部品を取り付けて、この状態で実験してみました。コアは、FT23-43に変更してできるだけ部品取り付け面積を稼ぎました。
当初は、やはり以前と同じように全く発振周波数がデタラメでした・・・が、ネット記事で見つけた「帰還補償用に5pF程度のコンデンサを付けるよろし

このコンデンサの付加も諸刃の剣でした。ちょっと遊びで実験してみましたが、あまり容量の大きなもの(68pF~300pF)をつなぐと発振周波数が下がってしまうこと、さらに容量を大きくしていく(1000pF以上)と効き目が無くなることなど、高周波的要素バリバリです。
そして、結果はひょんなことから導き出されました。
若干安定してきたものの、このコンデンサ付加のみでは完全とまではいかなかったため、あれこれ当たっていくうちにふとMCLR(RA5)に触れると、つないでいた周波数カウンタが暫く妥当な周波数を表示し、10秒くらいでまた怪しくなるという挙動に気づきました。RA5は入力ポートとして使いたいため、確か内部プルアップにした筈なのにリセットがかかる

この時、RA5にはまだ何もつないでいなかったため、ゆくゆく入力ポートとするためのプルアップ抵抗をつなぎつつプログラムを見直すと、入れたつもりのコンフィグビット指定「_MCLRE_OFF」がなんと抜けていました・・・。つまり、PIC自体が不安定に動いていたというオチ

PICの挙動不審は、大概においてポートの終端処理(プルアップ/ダウン)であることは、既にPICをいじり始めた頃の「神のお告げ」で知っていたはずなのに・・・。そして、PICコンパレータ発振の実験の際は、実験基板上しっかりとMCLRがプルアップされていたため超空中配線でも何とか発振していたこと・・・などなど、合点のいくことが沢山出てきました。直前の記事の失敗も、どうやらここに原因があった・・・とすると、1回分余計な作業をしたわけです

多分、完成してしまえば同じものは作らないと思いますが、備忘録として以下をまとめておきます。
◆ コンパレータ式のフランクリン発振が不安定な場合、帰還抵抗にパラで数pFのセラコンを入れると落ち着く
◆ MCLRを含めたポート終端は確実にすること

結局、随分と遠回りをしたLCメータの製作も、コンパレータ式で落ち着く方向になりました。発振用の常時接続される1000pFコンデンサ(キャリブレ用の高精度ポリプロでない)をセラミックからフィルムに変更したら、初期変動が落ち着けば(上記の通りむき出しの状態で)数Hz単位で動く程度になりました。この辺りは、ケーシング等で解決できれば良し

ちなみに、発振時の消費電流は11mA弱、LCDをつないでも20mA程度には収まりそうです

- 関連記事