■ MPL115A2 気圧計+天気予報 時計の製作 ■


 生活環境において、気温と湿度は外作業や洗濯などに影響があるので目にとまりますが、天気予報でも発表されている気圧値を確認するのは、漁師さんくらいでしょうか。
 しかし、気圧センサーの資料を調べて見ると、高度測量や天気予報など、興味深い使い方もあるようです。
 気象庁HPにある過去の気圧データと天気を調べて見ると、気圧値だけで6割程度の予報確率もありそうです。
 そこで、安価な気圧センサー「MPL115A2」を使って、地域の気圧値からどの程度の天気予報が出せるかを実験するために、気圧計とデジタル時計を組み合わせて製作してみました。

  ○気圧値を測定し、24時間前の変移から天気を予測。
  ○温度センサーを搭載。
  ○1時間毎の気圧値、気圧偏差、天気予報、温度値を8日分保管し、
    シリアルターミナルに表示。
  ○長時間の電池駆動ができる様に、徹底した省エネ化。
  ○LCDが見えない暗さになると、LCD電源を自動でオフ。(約5μA+1秒毎1.3mA)
   ・部屋の明かりを消すと自動的にオフします。
   ・鞄の中に入れて移動中もオフになります。
  ○温度センサーと光センサーも、測定時以外は電源をオフ。
  ○停電時には乾電池により、すべての動作を継続します。
  ○簡易気圧グラフ表示で、2日間の気圧変化を見ることができます。



回路の解説
 
1.電源回路

 
 ・5VのACアダプター、または乾電池(単3を3本使用)から電源を供給します。
 ・ACアダプターをジャックから抜くと、電池駆動に切り替わります。
 ・停電時は、乾電池の電源がバックアップに使用されます。

2.AVRとクロック
 
 ・AVRマイコンはATmega328P-PUを使用し、動作クロックは内蔵RC発振器を1MHzで使用して
  います。 (ATmega328Pは、[D]バージョン以降に限ります)
 ・時計用32.768kHzクリスタルをTimer2の発振回路に使用し、時刻をカウントする1Hzを得ています。
 ・20PFのトリマーコンデンサで、1日の誤差を見ながら、日差を修正して下さい。
 ・周波数カウンターをお持ちの方は、下記「操作方法」の較正モードを使用して較正できます。
 ・使用する水晶により、XTAL2端子側に0PF(取付無し)〜3PF程度のセラミックコンデンサが
  必要です。
  (トリマーコンデンサだけで32.768kHzに調整できない場合に必要)

3.気圧センサー
 
 ・秋月電子の「MPL115A2使用大気圧センサーモジュール」を使用しました。
 ・I2C方式で通信し、デジタルデータで気圧値を読み出します。
 ・このセンサーは、個々に較正用の係数データと温度センサーを持っており、それらを既定の
  数式を使用して、多少複雑な計算をする必要があります。
 ・日本語マニュアルと使い方は、小型のI2Cデジタル気圧計 MPL115A2を制御するを参照。
 ・気圧値の測定間隔は、「機能設定」で1〜60秒間隔に選択できます。
  (測定間隔を長くすれば、電池の消耗を抑えられますが、気圧変動への反応は遅くなります)
 ・測定した気圧値は、32個の移動平均を行い表示されます。

4.温度センサー
 
 ・マイクロチップ社の「MCP9700-E/TO」は、消費電力がきわめて少ないのでこれを採用しました。
 ・National Semiconductor社の「LM61BIZ」も選択できます。(消費電力は多くなります)
 ・これらのセンサーは、出力電圧値が温度に換算されます。
 ・AVR内蔵の基準電圧1.1Vを比較に使用するため、測定温度に上限があります。
   MCP9700-E/TO: -40℃〜+60℃
   LM61BIZ:      -25℃〜+50℃
 ・AVR内蔵の基準電圧(1.1V)は、10%程度の個体誤差があるので、「機能設定」で較正できます。
  (温度値の誤差を少なくします)
 ・温度値の測定間隔は、「機能設定」で1〜60秒間隔に選択できます。
  (測定間隔を長くすれば、電池の消耗を抑えられますが、温度変化への反応は遅くなります)

5.光センサー
 
 ・周囲の明るさを感知するために、CDSを使用しています。
 ・電源電圧は乾電池使用時に変動するため、AVR内蔵の基準電圧(1.1V)をCDSの電源として
  使用しています。
 ・CDS回路の電圧値をA/D変換し、規定値以上になるとLCDの電源を切って消費電力を
  削減します。 (LCDが見えなくなる明るさを想定)
 ・LCDの電源を切る明るさは、「機能設定」で9段階に感度を選択できます。
 ・CDSの監視間隔は温度センサーと同時間で、「機能設定」により1〜60秒間隔に選択できます。
 ・監視間隔を長くすれば、電池の消耗を抑えられますが、明暗に対する反応は遅くなります。

6.LCD表示器
 
 ・16文字×2行の、黄緑色バックライト付き、キャラクター表示モジュールを使用します。
  (このLCDは、バックライトを点灯しなくても、室内の明るさで表示が見えるため)
 ・夜間や室内が暗い場合に「LIGHT」スイッチを押すと、一定期間バックライトが点灯します。
 ・バックライトの点灯時間は、「機能設定」により5〜99秒間に選択できます。
 
 ・LCDモジュールのDB0〜DB3は、省電力化のために開放で使用していますが、「SC1602BSLB」
  以外のLCDを使用する場合は、この端子が[H]レベルに内部プルアップされていることを確認して
  下さい。
 ・コントラストの調整は、GND方向のみの電流で制御していますが、コントローラのLCDバイアス
  電圧(Vo)の制御方式により、この方法が使用できない場合がありますので注意して下さい。

 
 ・ACアダプターまたは新品の乾電池を使用した状態で、LCD表示がクリアに見えるように
  20KΩの半固定抵抗器を調整して下さい。
 ・電池電圧が下がってLCD表示が極端に薄くなる場合は、「コントラスト・アップ」スイッチをオンに
  すると、多少コントラストを上げることが出来ます。

7.操作スイッチ
 
 ・押しボタン式の汎用タクトスイッチを、基板上に取り付けできます。
 ・スイッチかさ上げ基板により、スイッチの高さとLCDの高さを合わせることも出来ます。
 ・ケースに合わせて、任意のスイッチを選択して下さい。

8.シリアル入出力
 
 ・測定したデータを、「時刻_気圧_温度」の順にUARTでシリアル出力します。
 ・送信する間隔は、気圧値の測定間隔と同じです。 (「機能設定」で変更可能)
 ・出力はロジックレベルなので、「RS-232C変換」や、「FT232RL USBシリアル変換モジュール」で、
  パソコン等のターミナルに連続表示することができます。
 ・UARTの通信パラメータは、下記の値で固定です。 (変更不可)
   9,600ボー、パリティー無し、データ・ビット 8、ストップビット 1
 
 ・「FT232RL USBシリアル変換モジュール」およびパソコンは、電源が立ち上がった状態で
  本機と接続して下さい。
 ・「ITEM」スイッチと「LIGHT」スイッチを同時に押すと、シリアル入出力が有効になります。
 ※ シリアル入力(RXD)が[H]レベルでないと、このスイッチ操作は機能しません。
 ※ 通信中にケーブルを抜いたりパソコンの電源を切ると、シリアル入出力は解除されます。
 ※ USBケーブルのみを抜いた場合は、解除の検出を出来ないことがありますので、シリアル
   通信を終える場合は、必ず「ITEM」スイッチと「LIGHT」スイッチの同時押し、またはターミナルの
   [Q]コマンドで解除して下さい。
 ・シリアル入出力が有効になると、LCD右上に右向き▲マークが表示されます。
 
 ・ターミナルのキーボードからのコマンドで、測定値や1時間毎の記録データが送信されます。
  (操作方法を参照)



回 路 図  GIF版 BPclock_Cir.gif (107KB)  PDF版 BPclock_Cir.pdf (217KB)

部品配置図  GIF版 BPclock_Pcb.gif (114KB) 部品表
アートワーク  GIF版 BPclock_AW.gif (40KB)  
   注意! この図面を使用した、いかなる損害にも責任を負いません。

プログラム  テキスト形式 ソースファイル  BPclock111.TXT (70KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 BPclock111.bas (70KB)
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)


 
側面

底面
 
プリント基板

 
基板 部品面

 
基板 ハンダ面

 
LCDの取付

スイッチ
かさ上げ基板

スイッチかさ上げ基板の
取付

   
コントラストアップ
シリアル入出力

ケース内部
 
ケース内 前面

ケース内 背面

ケース内 上面


AVRマイコン ATmega328Pの、ヒューズ ビット書き換え
 
今回の製作では、ヒューズ ビットを工場出荷状態のまま使用しますので、変更の必要はありません。



製作について
 
部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
 
・ジャンパー線は、すずメッキ線や、被覆電線を使用して下さい。
・1/4W抵抗器は、4目 (2.54X4 = 10.16mm) ピッチで両端を折り曲げて取り付けます。
 (LEDのバックライト用抵抗器以外は、1/6Wの小型抵抗器も使用できます)
・ショットキー・ダイオードBAT43は、3目 (2.54X3 = 7.62mm) ピッチで両端を折り曲げて取り付けます。
・整流用ダイオード1N4007は、4目 (2.54X4 = 10.16mm) ピッチで両端を折り曲げて取り付けます。
・32.768kHz水晶は、横に寝かせた状態で、両面テープや接着剤で固定すると安定します。
・電解コンデンサは背が高いため、横に寝かせて取り付けます。 (極性に注意して下さい)
・セラミックコンデンサは、2.54mmピッチの物が取り付け可能です。
・積層セラミックコンデンサは、5.08mmピッチの物が取り付け可能です。
・トリマーコンデンサは、取付方向に指定はありません。
・半固定 抵抗器は、コパルCT-6EPや秋月3362P-1-104LFなどが取り付け可能です。
・ICソケットは、必要に応じて取り付けます。(AVRマイコンを、直接ハンダ付けすることも可能です)
・気圧センサーモジュールは、付属のピンヘッダーでハンダ付けします。
・FETと温度センサーICは、部品配置図の向きを確認して取り付けて下さい。
・CDSは、ケースに合わせて高さを調整して下さい。
・タクトスイッチは、押しボタン式の汎用タクトスイッチを、基板上に取り付けできます。
 (スイッチかさ上げ基板を使用して、スイッチの高さとLCDの高さを合わせることも出来ます)
・電源およびコントラストアップスイッチ、シリアル入出力は、ピンコネクターを使用するか、ワイヤーで
 直接配線して下さい。
・DCジャックは、N.C.(ノーマリー・クローズ)端子がある物を使用して下さい。
 (プラグを抜いたときにマイナス側とショート、プラグを挿すとオープンになる端子)
・乾電池は、単3または単4を3本使用します。 (ケースにより任意で選択)



操作方法
 
1.電源投入
 
 ・初めてACアダプターを差し込む時と乾電池をセットした時、および強制リセットをした場合は、
  2012年1月1日0:00から時刻がスタートします。
 ・電源を入れてもリセット動作しない場合は、ISP端子の5ピンと6ピンを一瞬だけショートさせて
  下さい。 (ハードウェアの強制リセットが働きます)
 
 ・ACアダプターをジャックから抜くと、電池駆動に切り替わります。
 ・LCDの表示が薄くて見えにくくなりましたら、電池の交換時期です。
 ・電池の交換時には、ACアダプターを通電して下さい。 (時刻と記録データが保持されます)
 ・停電時は、乾電池の電源がバックアップに使用されます。
 
 ・電池駆動、およびバックアップは、3ヶ月程度を目安にした設計です。
 ・ロングラン実証テストの結果、6ヶ月でLCDの表示が薄くなり見えなくなりました。
  計測は続行していますので、ACアダプターを接続してから電池を交換すれば、記録は保持
  されます。


 
2.LCD表示の操作
 
 ○ [SW1] Display ON/OFF
 
  ・スイッチを押すたびに、LCD表示のON/OFFが切り替わります。
  ・LCD表示をOFFにすると、消費電流が5μAにまで下がります。
   (1秒毎に、時刻や気圧・明るさ測定のため、2mA程度の電流が数十mS間流れます)
  ・LCDが表示OFF中は、温度センサーも起動しません。
   (1時間に一度の記録時以外は測定しません)
  ・このスイッチにより表示をOFFにした場合は、CDSによる自動ONも禁止されます。

 ○ [SW2] Display ITEM
 
  ・スイッチを押すたびに、下記の内容で表示が切り替わります。
 
表示順序 画 像 表示内容
上段 月/日 曜日 時:分
下段 気圧値 24時間偏差 天気予報
上段 月/日 曜日 時:分
下段 気圧値 温度値 天気予報
上段 月/日 時:分:秒
下段 気圧値 温度値 天気予報
簡易気圧グラフ
3時間の平均気圧値、左が2日前で右が現在値

  ・表示内容は、「機能設定」で指定した間隔で更新されます。
  ・24時間偏差値は、現在と24時間前の気圧値の差分です。
  ・天気予報は、「晴れ」、「晴-時々曇り(曇り-時々晴)」、「曇り」、「雨」、の4種類です。
  ・時の表示は「機能設定」で、12時間制と24時間制を選択できます。

 ○ [SW3] Display LIGHT
 
  ・スイッチを押すと、一定期間LCDのバックライトが点灯します。
  ・点灯時間は、「機能設定」で設定できます。
 
  ・LCD表示がONの場合は、バックライトのみが点灯する動作です。
  ・LCD表示がOFFの場合は、LCDがONになりバックライトも点灯し、一定期間でLCDも
   バックライトもOFFになります。

 ○ 自動節電
 
  ・CDSが周囲の明るさを検知して、LCDが見えない暗さになると、LCDの電源を自動的にOFFに
   します。
  ・明るくなると、自動的に表示もONになります。
  ・LCDの電源を切る明るさは、「機能設定」で9段階に感度を選択できます。
 
  ・「Display ON/OFF」スイッチで表示をOFFにした場合は、CDSによる自動ON機能も禁止
   されます。
  ・シリアル入出力を有効にすると、「自動節電」機能が禁止されます。

 ○ 簡易気圧グラフ
 
  ・[X]軸は、バー1文字(キャラクタ)が3時間の平均気圧値で、左が2日前、右が現在値です。
  ・[Y]軸は、1ドット2.5hPaで、下が990hPa、上が1029hPaの40hPaレンジです。
  ・気圧値が表示の上限値または下限値を越えると、上矢印と下矢印で範囲外を表します。
  ・[Y]軸のベース値(デフォルト990hPa)は、機能設定モードで変更ができますから、
   高所にお住まいの方は変更して下さい。 (500hPa 〜 990hPa)(約100m高で-10hPa)
  ・表示の上限値または下限値を越えた場合も、[Y]軸のベース値を調整することで、
   オフセットを付けて表示することができます。 (上限は1029hPaまで)
 
雨の日 台風の通過時
        曇り      2日前      通過   現在

 
3.機能設定
 
 ・[SW1] と [SW2] を同時に押すと、各種の機能や動作を設定できます。
 ・この設定は、内蔵EEPROMに記憶されますので、バックアップが切れた後も残されています。
 
 ・[SW2] で、設定値が増加します
 ・[SW3] で、設定値が減少します。
 ・[SW1] を押すと、次の項目に移ります。
 
設定順序 画 像 設定内容 初期値
[気圧測定間隔]の設定
 1 〜 60 秒 (注.1)
60秒
[A/D変換間隔]の設定 (温度とCDS)
 1 〜 60 秒 (注.1)
10秒
[LCDバックライトの動作時間]の設定
 5 〜 99 秒
10秒
[CDS感度]の設定 (自動節電の感度)
 9:低(暗)感度 〜 1:高(明)感度
3
[時表示 12/24時間制]の選択
 1:12時間制(am/pm) 2:24時間制
2
[AVR内蔵基準電圧]の較正
 1.00V 〜 1.20V (注.2)
1.10V
[温度センサー]の選択
 1:MCP9700-E/TO 2:LM61BIZ
1
[簡易気圧グラフ]の[Y]軸ベース値を設定
 500hPa 〜 990hPa (10hPa単位)
990
hPa

 (注.1) 設定間隔を長くすれば電池の消耗を抑えられますが、測定値の反応は遅くなります。
 
 (注.2) 基準電圧の較正画面が表示されると、AVRの21ピン(AREF)端子に基準電圧が出力され
        ますので、21ピンとGND間の電圧を電圧計(テスター)で測定します。
        (通電中なので、ショートに注意して下さい)
        (100KΩ抵抗器の右側とISP端子の6ピンにクリップをかけると安全です)
       測定した電圧値の小数点以下2桁を入力して下さい。 (1.xxV)

 
4.時刻設定
 
 ・[SW1] と [SW3] を同時に押すと、時刻設定モードに入ります。
 
 ・時刻設定は、下記の順に設定できる項目でカーソルが点滅します。
 
(下位2桁) → 月 → 日
  → 時 → 分 → 終了
 
  (年は、西暦2000年から2099年までの範囲で対応しています)
  
 ・[SW2] で、設定値が増加します
 ・[SW3] で、設定値が減少します。
  
 ・[SW1] を押すと、次の項目に移ります。
 
 ・の設定が終わると、を00にして通常の表示に戻りますので、秒の単位まで合わせる
  場合には、00秒になった時に [SW1] を押します。

 
5.シリアル入出力
 
 ・[SW2] と [SW3] を同時に押すと、シリアル入出力の「有効」−「無効」が切り替わります。
 
シリアル入出力が「有効」になると、
LCD右上に右向き▲マークが表示されます。

 ・測定したデータを、「時刻_気圧_温度」の順にUARTでシリアル出力します。
 ・送信する間隔は、気圧値の測定間隔と同じです。 (「機能設定」で変更可能です)
 ・シリアル入出力を有効にすると、「自動節電」機能が禁止されます。
 ・LCD表示を手動でOFFにすると、温度値の測定が停止されるため、シリアル出力の温度値も
  表示されません。
 
 ・「FT232RL USBシリアル変換モジュール」およびパソコンは、電源が立ち上がった状態で
  本機と接続して下さい。
 ※ シリアル入力(RXD)が[H]レベルでないと、このスイッチ操作は機能しません。
 ※ 通信中にケーブルを抜いたりパソコンの電源を切ると、シリアル入出力は解除されます。
 ※ USBケーブルのみを抜いた場合は、解除の検出を出来ないことがありますので、シリアル
   通信を終える場合は、必ずスイッチ操作で解除「無効」して下さい。
 
 ・ターミナルのキーボードからのコマンドで、測定値や1時間毎の記録データが送信されます。
  ○ 「M」キーを入力すると、現在の「時刻_気圧_温度」値が送信されます。
    (測定間隔で測定されたデータ値で、再測定はされません)
  ○ 「T]キーを入力すると、1時間毎(毎時00分)に記録した、
    「日付_時刻_気圧値_24時間偏差値_予報天気_温度値」が、8日分送信されます。
  ○ 「Q」キーを入力すると、シリアル入出力を解除します。

 
6.32.768KHz水晶の較正モード
 
 ・時計用32.768KHzクリスタルを較正するモードです。 (周波数カウンターが必要です)
 
.・左図のように、ISP端子の4ピンと6ピンに周波数カウンター
 を接続して下さい。
 
[SW3]を押したまま、ISP端子の5ピンと6ピンを一瞬だけ
 ショートさせて、リセットをかけて下さい。
・即座に水晶の較正モードに入ります。
[SW3]は離してけっこうです。

 
・周波数カウンター出力には、32.768KHzの半分の周波数で
 16.384KHzが出ます。
 
・20PFのトリマーコンデンサを回して、16.384KHzに近づくように
 調整して下さい。

 ・トリマーコンデンサを回しても、16.384KHzより周波数が下がらない場合は、1〜3PFのセラミック
  コンデンサを取り付けて下さい。
 ・調整が終わりましたら、再度ISP端子の5ピンと6ピンを一瞬だけショートさせて、リセットをかけて
  下さい。

 
7.温度センサーとCDSの明るさ検査モード
 
[SW2]を押したまま、ISP端子の5ピンと6ピンを一瞬だけショートさせて、リセットをかけて下さい。
 
・温度センサーの値が、500mS間隔で表示されます。
 
・CDSの検出値が、0〜1,023の値で表示されます。

 ・[CDS感度]設定値(自動節電の感度)の目安を決めます。
 ・検出値を1/100した値が感度値です。
  900 = 9:低(暗)感度 〜 100 = 1:高(明)感度
 ・調整が終わりましたら、再度ISP端子の5ピンと6ピンを一瞬だけショートさせて、リセットをかけて
  下さい。

 
8.プログラムバージョンと初期化
 

 ・[SW1]を押したまま、ISP端子の5ピンと6ピンを一瞬だけショートさせて、リセットをかけて下さい。
 
 ・LCDにプログラムバージョンが表示されます。
 ・AVR内蔵EEPROMの機能設定値が、初期値に戻されます。
 ・[SW1]を離すと、通常動作に入ります。



○パーツの参考資料
 ・プリント基板  「サンハヤト」 感光基板 40K ガラスコンポジット 片面 1.0tx75x100mm
 
◎ このプリント基板と、プログラムのHEXファイルを、実費頒布しております。
 
  基板・部品の頒布室







■ MPL115A1 (SPI版) に対応する修正 ■


 MPL115A2(I2C版)モジュールの入手が難しくなり、MPL115A1(SPI版)モジュールにも対応できるように、回路とプログラムを修正しました。
 ワイヤー配線を2本追加することと、プログラムを変更する以外は、上記のMPL115A2と製作方法や操作方法は同じです。


回 路 図  PDF版 BPclock_A1ver_Cir.pdf (222KB)

部品配置図  GIF版 BPclock_A1ver_Pcb.gif (124KB) 部品表
   注意! この図面を使用した、いかなる損害にも責任を負いません。

プログラム  テキスト形式 ソースファイル  BPclock511.TXT (74KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 BPclock511.bas (74KB)
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)




MPL115A1モジュールの
5ピンと6ピンのピンヘッダは取り付けないこと。
(プリント基板と接続しない)

秋月電子のモジュール基板にはLEDが
付いていますが、このセンサーは光や温度に
敏感なので、LEDは必ず外すか
 パターンを切って消灯して下さい。


MPL115A1モジュールとISP端子へ
2本のワイヤーを配線する。
(部品配置図を参照)




   電子工作の部屋 Top へ 前のページへ戻る