羽根愛好家

Blog Airplane Photo Bird Photo About Contact
次のプロジェクト:前の記事
とりあえずコーディング:次の記事

とりあえず温度センサー

2011年 11月 18日

 自信のない作業をやってるときは,間違いを早々にツっコんで頂いたほうがいいので,まめに更新します(笑。いろいろ調達して温度センサー部は一応動きました。とりあえず最新版の回路図。PWMコントロールの部分は部材は調達したけど,まだ作業してません。まずは温度センサーってことで。

20111118_00.jpg

 
 センサーは予定どおりMCP9700を使いまして,ニクロム線ヒーター×2に加えて,環境温度というか外気温を測定するセンサーを追加しておきました。まだ具体的には考えてなくて漠然とした最終形のイメージですけど,外気温を見てヒーターのターゲット温度を自動的に決めさせようかな,と突然思いついたので追加しました。本当は湿度計も付けたほうが良いのかも知れませんが,AnalogInはまだ余ってるんで追々考えます。でも湿度センサーってちょっとお高いんですよね……。
 あと,一応LCDも買いました。ヒーターコントローラに付けるかどうかは微妙ですけど,テストしてるときには便利~なので。
 誤差は何か大きくて,本当はちゃんと較正すべきっぽいんですけど,前もちょっと書いたように,レンズを痛めるほどの温度上昇や夜露を防げないほどの温度下降がなければニーズは満たせるんで,とりあえず2~3度の誤差は良いかなと思ってます。

20111118_01.jpg
20111118_02.jpg

 ソースは下な感じ。表示が一部崩れてるんですがブログ側の問題なので気にしないでください<直せよ。
 センサーの温度は,公開されてるライブラリをそのまま使ってラクさせてもらいました。感謝感謝。


#include "mbed.h"
#include "TextLCD.h"
#include "LinearTempSensor.h"

//Serial pc(USBTX, USBRX);
TextLCD lcd(p24, p26, p27, p28, p29, p30, TextLCD::LCD16x2); // LCD(RS, E, DB4, DB5, DB6, DB7)
LinearTempSensor sensor[]={p18,p19,p20}; // sensor([0]=ambient, [1][2]=heater

int main()
{
  float Vout[3], Tav[3];
  int i,j;
  
  lcd.cls();         // clear LCD
  
  lcd.writeCommand (0x40);    // create Celsius symbol and write to CGRAM
  wait(0.000040f);
  lcd.writeData((int)0x08);
  lcd.writeData((int)0x14);
  lcd.writeData((int)0x08);
  lcd.writeData((int)0x06);
  lcd.writeData((int)0x09);
  lcd.writeData((int)0x08);
  lcd.writeData((int)0x09);
  lcd.writeData((int)0x06);
  wait(0.000040f);
  
  lcd.locate(0,0);   // print fixed char to LCD
  lcd.printf("1:");
  lcd.locate(8,0);
  lcd.printf("2:");
  lcd.locate(0,1);
  lcd.printf("0:");
  lcd.locate(6,0);
  lcd.putc(0x00);
  lcd.locate(14,0);
  lcd.putc(0x00);
  lcd.locate(6,1);
  lcd.putc(0x00);
   
  for (i=0; i<500; i++)
  {
    for (j=0; j<3 ;j++)
    {
      Vout[j] = sensor[j].Sense();          // read sensor
      Tav[j]  = sensor[j].GetAverageTemp(); // calculate average temperature from 10 samples
    }
    
    lcd.locate(2,0);                        // print temperature to LCD
    lcd.printf("%2.1f", Tav[1]);
    lcd.locate(10,0);
    lcd.printf("%2.1f", Tav[2]);
    lcd.locate(2,1);
    lcd.printf("%2.1f", Tav[0]);
      
    //pc.printf("%f,%f  %f,%f  %f,%f\n", Tav[0],Vout[0], Tav[1],Vout[1], Tav[2],Vout[2]); //Debug
    
    wait(0.1);
  }
}

 で,このセンサーを3芯のステレオミニジャックで接続できるようにして,2個をニクロム線に固定。だいたい3mぐらい伸ばすので,ノイズが載らないか心配ですが,これはもう少し作業が進んでからテストします。

20111118_03.jpg
20111118_04.jpg

 えっ? しし座流星群ですか? 見に行ってません。

タグ:
  • 天体
  • 雑感2011
|2011/11/18 17:27 |コメント(0)

コメントする

最近の記事

  • そして完成へ
  • とりあえずコーディング
  • とりあえず温度センサー
  • 次のプロジェクト
  • シャッター制御の手直し
  • 牛歩のごとく進展
  • 天体写真にはまってる話
  • えこぼんぼん
  • 世界一周から帰ってきた飛鳥II
  • いざ!セントレア!

カテゴリ

  • 日々雑感
    • 雑感2009 (28)
    • 雑感2010 (2)
    • 雑感2011 (9)
  • 飛行機 (26)
    • 成田 (9)
    • 国内 (6)
    • 海外 (13)
  • 自然散策 (1)
    • 鳥 (3)
  • 物欲 (1)
    • PC関連 (5)
    • カメラ (9)
  • 感想
    • テレビ (11)
    • 映画 (2)
    • 書籍 (1)
  • Web管理 (14)

アーカイブ

タグ

タグリスト表示

検索

このブログについて

  • 購読する このブログを購読
Powered by
Movable Type 4.25
  and
This site is powered by CMS Designer.
Creative Commons 2.1 by-nc copyright(c) 2002-2009 tawawa-s.com. some rights reserved.