ステッピングモーターを使った温度計...page.1/7
はじめに...
温度センサーからの入力を演算してステッピングモーターを正逆転させて現在の温度を示すものです。
ステッピングモーターの軸にはプーリーを取り付けて糸を巻き付け、楽しい指針となる物体を吊るし、壁に手書きのスケール(等間隔に温度を書いておく)をセットすると温度計として完成します。
これは私の一例であって、タイミングベルトやギヤなど使うことで貴方オリジナルの楽しい温度計に仕上げられます。
とんでもなく大きな温度計を製作可能にしていますから様々なディスプレイにも活用できます。
概要
等間隔に描画した温度を示すスケール(初期値は-10℃〜40℃の範囲)を用意しておきます。
スイッチを操作して基準温度より10℃低い箇所(初期値の基準温度は20℃にしたので10℃の位置)に指針の物体を移動してセット。
次に基準温度(初期値20℃)の箇所に移動させセットします。…私はこれを「スケール初期設定」と呼ぶことにします。
スケール初期設定を行なうとマイクロコントローラーで1℃当りの移動パルス数を算出し、基準温度の位置と、温度センサで読んだ温度との差を算出しステッピングモーターが正逆転して現在の温度を示します。
スケール初期設定で行なう10℃の移動量は最低100パルスから最大32767パルスまでとしました。
最低100パルスとした理由は1℃当りの移動パルスを求めるために10で除したときにスケールとのズレが目立たないようにしたためです。
例えば、スケール初期設定で108パルス要した場合は10で除すと10と余り8ですが、余りを四捨五入して、1℃当りの移動は11パルスになるようにしています。
これらのことからスケールの間隔が広い(大きい温度計)ほど誤差が目立たなくなります。
最大32767パルスとした理由はレジスタの制限によるものです。32767パルスはステップ角1.8°のステッピングモーターでも163回転以上しますので移動量としては充分過ぎる数値であり、よほど大きなスケールでなければオーバーフローすることはありません。
1℃当りの移動パルスを算出した後、温度センサーで感知した温度と基準温度を比較してステッピングモーターを正逆転させます。
温度センサーはマイクロチップ社のMCP9700(A)を用いた関係で-40℃から125℃の範囲となりますが実用性から初期値-10℃〜40℃としました。
これら記述した各種パラメーターは変更できるようにしました。
ただし、スケール初期設定で行なう10℃の移動量は変更できません。
スイッチの操作や動作の詳しい内容は最後に記述します。
回路図
IC1 | MCP9700 | C1,C3 | 0.33μF:50v積層セラミックコンデンサ | |
IC2 | PIC16F886-I/SP | C2 | 33μF:25v電解コンデンサ | |
IC3 | TD62064(DIPタイプ) | C4 | 220μF:25v電解コンデンサ | |
IC4 | 78M05又はTA48M05F | R1,R2,R3,R4 | 4.7KΩ:1/4W又は1/8W炭素皮膜 | |
X1 | 3端子セラミック発振子:10MHz | R5,R6,R7 | 2.2KΩ:1/4W又は1/8W炭素皮膜 |
回路の説明
ステッピングモーターはユニポーラタイプならば殆どのものが使えます。コイル電流に合せて電源電圧を変更して下さい。
モーターの駆動は最も簡単な1相励磁方式にしています。これはトルクを必要としないためと、1つのコイルのみ電流を流すので消費電流を抑え、モーターによる発熱を避けたかったからです。
尚、エラー時以外は静止トルクを得るために必ずどれか1つのコイルを通電させています。
モーターのドライバーはトランジスタアレイ:ICのTD62064を用いました。このICは1.5Aもの電流が扱えるので小型モーターの駆動に最適です。
ベース抵抗が内蔵されているのでロジック回路と直接接続でき、更に逆起電力を吸収するダイオードも内蔵されています。
ただし、使うステッピングモーターによって1.5Aでは物足らない場合があり、その場合は下図のようなダーリントントランジスタとダイオードを4回路組んで下さい。
電子工作を堪能したい方は最初から下図の回路を組むといいでしょう。
マイクロコントローラーはPIC16F886を用いてみました。内蔵プルアップ抵抗は役に立ちませんでした。
温度センサーはPICマイコンと同じメーカーのマイクロチップ社のMCP9700(A)を使ってみました。
この温度センサーは-40℃〜125℃の間で使用でき、0℃〜70℃の間では最大±4℃の精度があります。
センサーやマイクロコントローラーは3端子レギュレーターICを用いた5Vで稼動させます。
この電源電圧:5Vは温度センサーをAD変換するときの基準電圧にもなっていますので、電源電圧の安定化は必須になります。
尚、モーター電源は3端子レギュレーターICの入力側に接続しています。
モーターの負荷などに応じて電源電圧を変えて下さい。
ただし、3端子レギュレーターICの最大入力電圧(使用する3端子レギュレーターICのデータシートを確認のこと)を超えないようにして下さい。
電源はDCジャックを設けて、ACアダプターで稼動させます。