栽培環境構築関連

PICを使用した温室・フレーム用ファンコントローラの製作

温室温度 栽培環境構築関連
スポンサーリンク

以前にもサボテンフレーム用ファンコントローラをPIC12F683を使用して作ったのですが(サボテン用フレームが30℃を超えたらファンが回るようにするぞ!を参照のこと)、今回もう一度作ります。

https://supersabotentime.com/2391/

というのも新しいサボテンフレームのために、以前のファンコントロール回路を久しぶりに動かそうとしたのですが、マイコンを5Vで駆動しなければいけないところを、ファンの駆動電圧である12Vをかけてしまいぶっ壊したからです(マイコンだけでなく温度センサとMOSFETも壊れました)。

そんでもって、前回の自分で書いた記事を参考に、もう一度同じものをつくろうと思ったのですが、読み返してもさっぱりわからなかったため、今回、一からまとめ直します。

という訳で今回の投稿はほぼ自分用のメモです。

用意するソフトウェア

 

 

使用する部品とか

 

  • 温度センサ/LM35DZ
  • マイコン/PIC12F683
  • NchパワーMOSFET/2SK2232
  • 抵抗120Ω
  • 積セラコンデンサ0.1μF  * 2個
  • 5VのACアダプタ
  • 5Vのファン  

工程

・mikroCでプログラムを書き、BuildしてHEXファイルを生成する。

・PICkit3 ProgrammerでHEXファイルをPIC書き込む。

・ファン回路に導入。

サボテンうっとり。

(゚д゚)ウマー

mikroCのコンフィギュアワードは以下のとおりです(重要)。

mikroCのプログラムは以下のとおりです。30℃から段階的にファンが強く回っていきます。

void main() {
     unsigned int ad1, ad2, ad3;
     unsigned int level;

     OSCCON = 0b01110000;        // 8MHz internal clock
     ANSEL = 0b01011000;         // AN3 and Fosc /16
     ADCON0 = 0b10001101;        // AD control CHS=11(AN3)
     CMCON0 = 0b00000111;        // Comperator not select

     PWM1_Init(8000);            // PWM initial 8KHz
     PWM1_Start();               // PWM start

     do {
        ad1 = Adc_Read(3);            // Read AN3
        Delay_ms(5);
        ad2 = Adc_Read(3);            // Read AN3
        Delay_ms(5);
        ad3 = Adc_Read(3);            // Read AN3
        level = (int)((ad1 + ad2 + ad3) / 3); // Avg. AN3

        if(level < 50) {                // -25
               PWM1_Set_Duty(0);
        } else if(level > 61 && level < 70) {  // 30-35
               PWM1_Set_Duty(200);
        } else if(level > 71 && level < 80) {  // 35-40
               PWM1_Set_Duty(225);
        } else if(level > 81 && level < 90) {  // 40-45
               PWM1_Set_Duty(255);
        } else if(level > 91 && level < 100) { // 45-50
               PWM1_Set_Duty(255);
        } else if(level > 101) {               // 50-
               PWM1_Set_Duty(255);
        }
    } while(1);
}

PICkit3とライターのつなぎ方は以下のとおりです。

回路図。

配線写真。

ファン駆動回路は以下のとおりです。

回路図。

表面。

裏面。半田が汚い。

ファンとつなげたところ。

ストーブで動作を確認。

サボテンフレームの側面にファンを取り付けるためにアクリルに穴を開けます。

四角く空きました。

アクリルの穴あけは気がゆるむとすぐ割れてしまいます。というわけで割れました。ビニールテープで補修。透明でわかりづらいです。

アクリルが透明なので、どういうことになっているのか写真ではまったくわかりませんが、アクリル板にファンがネジ止めされています。

フレームの側面にセットしたところ。アクリル板のフレーム側面へのセットは、アクリルにネジ止めしたイレクタージョイントでフレーム側のパイプに止めました(手で着脱可能です)。

奥のピンク色のタッパーが温度センサー部分です。

温室温度計測

というわけで、ここまで苦労して作ったのですが、よくよく検索してみるとサーモスタットICなるものが100円未満で売っていることに気付きました。たとえばサーモスタットIC TC622EPA -40℃~85℃とか。こういうのを使えば、そもそもプログラミングなんて必要なかったですね。というわけで次回からはそうしたいと思います。

参考:

タイトルとURLをコピーしました