反射望遠鏡の自作状況のブログ

望遠鏡のネタを中心に自作などの状況をご紹介します。

露防止ヒーターコントローラの製作

夏休みに中古のTMB-80SSを購入しましたが、無事に到着しました。
イメージ 1


さすがにレンズが夜露で濡れるのはまずかろうということで
露防止ヒーターのコントローラを製作することとしました。

ヒータのオン・オフはMOS-FETのIRLB3034を使い
今回、6チャンネル独立のコントローラにします。
制御は、Arduino UNOに再登場願いました。

完成品、表側です
イメージ 2


裏側です・・・配線汚いです・・・
イメージ 3


一応、コントローラが燃えないように、6Aのポリスイッチをつけておきました。
あとは、リボンヒータを作らないと。

Arduinoのスケッチ(プログラム)です。
プログラムな長いのは、ピーク電流を抑える効果を狙って
チャンネル毎にオンするタイミングをずらすことをしているためです。


// ピン定義。
#define PIN_CH1 13
#define PIN_CH2 12
#define PIN_CH3 11
#define PIN_CH4 10
#define PIN_CH5 9
#define PIN_CH6 8

int cicle;

void setup()
{
pinMode(PIN_CH1, OUTPUT);
pinMode(PIN_CH2, OUTPUT);
pinMode(PIN_CH3, OUTPUT);
pinMode(PIN_CH4, OUTPUT);
pinMode(PIN_CH5, OUTPUT);
pinMode(PIN_CH6, OUTPUT);
// Serial.begin(9600);
}

void loop()
{
int i;
int vr;
int cicle1;
int cicle2;
int cicle3;
int cicle4;
int cicle5;
int cicle6;

cicle++;
if(cicle>1023)
cicle=0;

cicle1=cicle;
if(cicle1<0)
cicle1+=1024;

cicle2=cicle-170;
if(cicle2<0)
cicle2+=1024;

cicle3=cicle-341;
if(cicle3<0)
cicle3+=1024;

cicle4=cicle-511;
if(cicle4<0)
cicle4+=1024;

cicle5=cicle-682;
if(cicle5<0)
cicle5+=1024;

cicle6=cicle-852;
if(cicle6<0)
cicle6+=1024;

vr=analogRead(0);
if(vr>cicle1)
digitalWrite(PIN_CH1,HIGH);
else digitalWrite(PIN_CH1,LOW);

vr=analogRead(1);
if(vr>cicle2)
digitalWrite(PIN_CH2,HIGH);
else digitalWrite(PIN_CH2,LOW);

vr=analogRead(2);
if(vr>cicle3)
digitalWrite(PIN_CH3,HIGH);
else digitalWrite(PIN_CH3,LOW);

vr=analogRead(3);
if(vr>cicle4)
digitalWrite(PIN_CH4,HIGH);
else digitalWrite(PIN_CH4,LOW);

vr=analogRead(4);
if(vr>cicle5)
digitalWrite(PIN_CH5,HIGH);
else digitalWrite(PIN_CH5,LOW);

vr=analogRead(5);
if(vr>cicle6)
digitalWrite(PIN_CH6,HIGH);
else digitalWrite(PIN_CH6,LOW);
}


午前中には、40cmカセに80SSのプレートも取り付けました。