ともさんのHP >ものつくり >2次元CCDを使った自作カメラ >天体写真用冷却CCDカメラの製作(温度計測)

天体写真用冷却CCDカメラの製作(温度計測)

 CCDの温度を計測できるように、温度計を準備しましょう。準備するものは温度センサー、コンデンサー。温度センサーの出力はマイコン内臓のADコンバーターに繋いでデジタル化します。回路は下図。

 温度センサーからの出力からは、温度に比例した電圧が出てきます。それを マイコン 楽天 内臓のAD変換に入れてデジタル化します。このマイコンのAD変換器は、0〜5Vの電圧を0〜1024の数字に直してくれます。

 この数値から実際の温度を出すには、センサーの横に温度計を置いて温度計の数値とAD変換結果を同時に計測します。この作業を気温の異なる状態で何度か繰り返し、計測結果を使って1次元方程式を解く必要があります。

 基板上にはこんなパターンを引きました。

AD変換器を使う関数

 下はC言語で書いたAD変換器を使う関数です。AD入力端子に繋ぐものを変更すればいろいろなものを計ることができます。

#include <h8/reg3067.h>

char y_iniad(unsigned char wari, unsigned char mode, unsigned char state);

unsigned int y_ad(unsigned char ch);

unsigned int y_ad(unsigned char ch)

{

unsigned int I;

unsigned char tmp;

unsigned int itmp;

if(ch>7){return 1;}

tmp = ADCSR ;

tmp = (tmp & (~0x17)); /*単一モード、チャンネルクリア*/

tmp = (tmp + ch);

ADCSR = tmp;

for(I=0;I<=10;I++){}

/*tmp = ADCSR ;*/

tmp = (tmp | 0x20); /*ad変換スタート*/

ADCSR = tmp;

do

{

tmp = ADCSR;

tmp = tmp & 0x80;

}while(tmp < 0x80); /*変換終了を待つ*/

tmp = ADCSR;

tmp = tmp & (~0x80) ;

ADCSR = tmp; /*ad終了フラグをクリア*/

switch(ch)

{

case 0: itmp = ADDRA; return itmp ; break ;

case 1: itmp = ADDRB; return itmp ; break ;

case 2: itmp = ADDRC; return itmp ; break ;

case 3: itmp = ADDRD; return itmp ; break ;

case 4: itmp = ADDRA; return itmp ; break ;

case 5: itmp = ADDRB; return itmp ; break ;

case 6: itmp = ADDRC; return itmp ; break ;

case 7: itmp = ADDRD; return itmp ; break ;

default: return 2; break;

}

}/*ad()*/

char y_iniad(unsigned char wari, unsigned char mode, unsigned char state)

{

unsigned char tmp;

tmp = ADCSR ;

if( wari >0){ tmp = tmp | 64 ; } /*ad終了割り込みの許可0不可:1許可*/

if( wari ==0){ tmp = tmp & (~64) ;}

if( mode >0){ tmp = tmp | 16 ; } /*0単一モード1スキャンモード*/

if( mode ==0){ tmp = tmp & (~16) ;}

if( state >0){ tmp = tmp | 8 ; } /*クロックセレクト0=266 1=134ステート*/

if( state ==0){ tmp = tmp & (~8) ;}

ADCSR =tmp;

return 0;

}

 ↑が「なに書いてあるのかさっぱり判らないけど、知りたい」という方は、C言語の勉強をしましょう。マイコンの中身がどうなっているのかも知らないといけません。

 C言語の本はたくさん出ているので買ってくるか、図書館で借りましょう。

 マイコンのハードウエアの取説は、日立のHPから入手できます。マイコンキットを買うと、付属のCDROMの中にも入っています。

y_iniad()はAD変換器の初期設定を行う関数です。引数は通常、(0,0,0)です。

y_ad()はAD変換を行って、結果を返す関数です。AD端子は8つあるので、何番目を計るかは引数で指定してあげます。

最終更新日: 2003-01-21 00:00:00

ともさんのHP >ものつくり >2次元CCDを使った自作カメラ >天体写真用冷却CCDカメラの製作(温度計測)

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

大正時代の洋裁型紙  
蜂舎一号の失敗  
Fusion360で木工  
風呂の焚き口を修理  
柿渋染め  
ヒョウタンの乾燥  
男性用原型でシャツを自作  
温室の研究  
スリットカメラアプリケーション  
ゴアテックス生地の入手方法  
洗濯物干しハンガーの自作  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます