エントリー

プラダンで結露対策してみる

  • 2021/01/09 19:58
  • カテゴリー:DIY

毎年の事ではあるが,今年は10年ぶりの寒さのためか結露がいつもより凄い

数年前までプチプチで対処していたが何年も経過してボロボロになって取れてしまった(綺麗に取れなくて苦労したが・・・)

IMG_20210109_145101.jpg

そのため結露だけでなく断熱効果も失い窓からの冷気が厳しい

そんなところへYouTubeでプラダン(プラスチック段ボール)で二重サッシとか結露対策・断熱効果などのコンテンツを観て,プラダンはプチプチより高価であるが腐食しにくいところからコストは良いかもしれないと思い(まずは1つ)試しに実行することにした

IMG_20210109_145144.jpg

プラダンをダイキで購入

1間サイズが欲しかったのだけど透明(クリア)が無かったので半間サイズをチョイス(人気あるのか?あんまり在庫なかった)

IMG_20210109_145221.jpg

1枚では足りないので2つを必要サイズにカットする

カットの前に窓に照らしてみて線状を縦にするか横にするか確認すると横(水平が線状になる)のほうが(見た目)気持ちが良いようだ

カットはハサミでは厳しいようでカッターが良い(下に紙の段ボールを敷いて慎重に我慢して何度か繰り返せば切れる)

IMG_20210109_145527.jpg

窓への貼り付けは両面テープを使う

IMG_20210109_145914.jpg

この両面テープは透明で窓に貼った後見えにくいし剥がしやすいし粘着も残りにくいようだ

実はテープが不足したため,もう片方の窓に100均テープを使用したら酷いことになってしまった・・・

IMG_20210109_151408.jpgIMG_20210109_165239.jpg

2枚を合わせて貼り付ける合わせ目には両面テープを使用しなかった

IMG_20210109_165254.jpg

両窓に貼り付けて完成

結果と注意点
  • 後から貼り付けた左側の窓は作業が夕方になり水滴が取り切れない状態で付けたため綺麗に貼り付いていなかった → 次の日に貼り付け直した(プラダンだと何度でもやり直しできそう)
  • つまり貼り付けの際は窓の水分を十分に無くすようにする事
  • プラダンの内部に水が入ってしまったので上側は塞ぐようにした方が良い(テープで塞ぐ?シーキングが良いか)
  • プラダンのサイズが足りなかったので2枚を繋いだが隙間から水滴が入るので貼り付け前に1枚に繋いだ方が良さそうである(1枚物があればそちらをチョイスすべき)
  • 温度差が激しいため結露を無くことはできなかったが結露する量は減ったと思われる
  • 窓からの冷気がかなり減ったと感じ断熱効果はあった
  • 光の偏向はあるが透明度は高いので特に暗くなったとは感じない
  • プラダンには裏表があり表からの光は紫外線カットの効果が高いとの事(説明書に書いてあったのに気付かなかった)
  • 両面テープを使用する場合はテープの質に注意した方が見栄えが良くなる

3DプリンターでESP8266開発ボードを改良

3Dプリンタでの制作練習を兼ねてESP8266開発ボードを改良するためのベースを3Dプリンタで作った

開発ボードの問題点

IMG_20201226_152607.jpgIMG_20201226_152641.jpg

  • USBタイプBのコネクタが重みで傾いてしまう
  • 裏側にはゴム足を付けて浮かせてあるが配線がむき出し
  • ZEROソケットを付けたためブレッドボードが扱い難くなった
解決するためベースを設計

IMG_20201226_152951.jpgIMG_20201226_153000.jpg

開発ボードを載せるベースを3Dプリンタで作製するため開発ボードなどのサイズを測定してラフスケッチ

3D印刷

3D作図には「FreeCAD」を使用

IMG_20201227_999901.png

PLAで少し強度が必要なのでインフィル40%で印刷

IMG_20201226_222855.jpgIMG_20201226_222921.jpg

ベースは厚みを2mm,ボードの下駄は3mm

裏に足を付けても良かったがサポート無しにしたかったのでベタにしたらビルドテーブルから剥がすのが大変だった

IMG_20201227_160342.jpg

開発ボードを載せて完成

なかなか良い感じになった

完成基板との接続ケーブル

電圧ロガーを作製した時,パーツを載せた完成基板を使って調整やデバックするため開発ボートとピンケーブルで接続したが,これを簡単にできるケーブルを作った

IMG_20201227_160459.jpg

以下のように接続して使う

IMG_20201227_160806.jpg

3Dプリンターで初印刷

予定通り「TRONXY XY-2 Pro」3Dプリンターを組み立て印刷した

IMG_20201220_133904.jpg

組み立て

組み立ては取説(2P分)通り,大きな2つのパーツをビス止めし,そこに小さな2つのパーツを止め,

IMG_20201219_161727.jpgIMG_20201219_161944.jpg

2つの結線を行えば完了

IMG_20201219_173246.jpgIMG_20201219_173227.jpg

コントロール画面のケーブルは外側を経由させた方が良く

IMG_20201219_173309.jpgIMG_20201219_173453.jpg

電源プラグは3Pなので変換が必要かもしれないがアースしないのであれば取ってしまえば良い(ペンチかプライヤーで簡単に取れる)

電源投入と調整

電源投入して動作確認,ファームは「XY-2 PRO-LM8 V1.1」だった

IMG_20201219_195557.jpg

マニュアルでヘッドを上下左右にスムーズに移動することを確認しテスト印刷する

印刷前にレベル調整と行うのだが,どうやらセンサーの感知機能に問題があるようでヘッドがビルドプレートの直前で止まらず押さえつけてしまった

慌ててレベル調整を止めたがビルドシートが(印刷に影響するほどではないが)少々凹んでしまった

何度がやってみて必ず発生することではない(発生頻度は少ない)ことは確認したがこれでは監視していないと危ない

尚,レベル調整は左手前が基点となり高いと+低いと-で表示される

調整用のビスは下からなので,+なら右回転で下げ-なら左回転で上げることになる

初期は傾きが大きいようで初回の調整は根気のいる作業となった

初回印刷

3Dプリンターのベンチ用印刷物として定着している「ボート」を印刷

IMG_20201219_212132.jpg

印刷中のモーター音は,確かに静かであるがFANの音が酷い

モーター音が静かだからFANの音がうるさく感じるのではなくFANそのものが粗悪品と思われる

スライサーは添付の物ではなく日本語化されている「Ultimaker_Cura-4.8.0」を利用

XY-2 Proのプリセットがあり標準で調整しなくても印刷結果は綺麗なものとなった

ESP8266で電圧ロガーを作製

計測した電圧をWEBから確認するESP8266を使用したプロトタイプを作っておこうと先ずはESP8266を使用した電圧ロガーを作製

これが簡単にできると思っていたが使い物になるまで日数が掛かってしまった

IMG_20201217_203851.jpg

仕様
  • 定間隔で電圧を計測してDBに登録
  • 計測電圧は0~15V
  • 高低電圧を設定でき範囲外となった場合計測を終了(同時にリレーをON/OFF)
  • DBの登録データはブラウザでグラフ表示
  • LOG ON/OFF,UP,DOWNの3ボタン
操作(UI)
  • LOGボタンでログのON/OFF
  • LOGボタンの長押しで最大/最小電圧の選択切替
  • UP,DOWNボタンで選択電圧の変更
  • LOGボタンでを押しながらUP/DOWNボタンでログ間隔を変更
回路図

voltMonitor_回路図.png

  • 2つのボタンはBOOT時HIGHで使用するIO0とIO2を利用
  • ADCの分圧は多回転半固定で調整できるようにした
  • 現在リレーは未実装
作製

いつものとおりブレッドボードで試作

IMG_20201122_194106.jpg

ADCの精度

ESP8266にはアナログ入力が1PinあるがADCの精度があまり良くないという情報を得ていたので外部ADCも検討したが手持ちのADC(MCP3002)がSPI接続だったためとりあえずは内部ADCで作製することにした

0~15Vでの測定なので分圧し,いつものように割合をソフトで調整しようとしたのだが,測定電圧がブレてしまい電圧が定まらない

ブレッドボード上のせいか?と思われたので基板に載せて調整しようとしたが同じ結果だったためソフトでの調整を諦め多回転半固定でハード的に調整することにした

IMG_20201129_205914.jpg

結果,そこそこマシにはなったが精度が悪くロガーとしては問題がある

不明のスタックエラー

プログラム開発の途中で原因不明のExceptionによる異常終了に陥った

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (0):
epc1=0x402030dc epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffab0 end: 3fffffc0 offset: 0190
3ffffc40: 3ffe8c85 40104dc3 3ffec6c0 feefeffe
3ffffc50: 401026af 3ffec6c0 3fffc248 4000050c
3ffffc60: 400043e6 00000030 00000017 ffffffff
3ffffc70: 400044ab 3fffc718 3ffffd60 08000000
3ffffc80: 60000200 08000000 08000000 00000000



3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: 3fffdad0 00000000 3ffeeae4 40206c80
3fffffb0: feefeffe feefeffe 3ffe8510 401012c9
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

WiFi接続時に発生していることが判明したが原因は判らなかった

最終的にI2Cの初期化と順番を変えることで解決

×
  //I2C初期化
  Wire.begin();
  u8g2.begin();
  u8g2.clear();

  //WiFi接続
  WiFi.begin(ssid, password);
    unsigned long timeout = millis();
  while(WiFi.status() != WL_CONNECTED) {
  if(millis() - timeout > 30000) halt();
delay(100);
    }
-------------------

  //WiFi接続
    WiFi.begin(ssid, password);
unsigned long timeout = millis();
while(WiFi.status() != WL_CONNECTED) {
if(millis() - timeout > 30000) halt();
delay(100);
}

    //I2C初期化
Wire.begin();
   u8g2.begin();
   u8g2.clear();
チャタリング

ボタンを3個にしたため,電圧を上下させる際の最大/最小切り替えるボタンをLOGボタンの3秒長押しにしたのだが,LOGボタンを長押しした後ボタンを離すとチャタリングが発生しているようでソフトで対策したが完全に解決しない

static volatile unsigned long btnintrtm;

void ICACHE_RAM_ATTR logsw_intr() {
if(millis() - btnintrtm <= 50) {
//チャタリング防止
return;
}
btnintrtm = millis();
 noInterrupts();



interrupts();
}

LOGボタンの不良または内部プルアップであることが原因かもしれない(未確認)

懸案事項
  • 現行では3分記録ログで約200mAhの消費電力なので100mAh以下を目指す
  • 測定電圧の精度が良くないので外部ADC化
  • チャタリングのハード的な原因調査
  • リレーの実装
参考までに

DBテーブル(FUNCIDは現在未使用)

CREATE TABLE IF NOT EXISTS `FUNCID` (
`ID` char(2) NOT NULL DEFAULT '0' COMMENT 'ID',
`NAME` char(32) NOT NULL COMMENT '名称',
`SUMMARY` text NOT NULL COMMENT '概要',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='装置機能別名称';

CREATE TABLE IF NOT EXISTS `HISTORY` (
`ID` char(2) CHARACTER SET utf8 NOT NULL DEFAULT '0' COMMENT 'ID',
`CTIME` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '初期日',
`INTERVAL` decimal(2,0) NOT NULL COMMENT 'ログ間隔(分)',
`MINVOLT` decimal(4,2) NOT NULL COMMENT '最小終止電圧',
`MAXVOLT` decimal(4,2) NOT NULL COMMENT '最大終止電圧',
PRIMARY KEY (`ID`,`CTIME`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='履歴';

CREATE TABLE IF NOT EXISTS `LOG` (
`ID` char(2) NOT NULL DEFAULT '0' COMMENT 'ID',
`CTIME` datetime NOT NULL COMMENT '初期日',
`MTIME` datetime NOT NULL COMMENT '適用日',
`VOLTAGE` decimal(4,2) NOT NULL COMMENT '測定電圧',
`VALIDITY` char(1) NOT NULL DEFAULT '0' COMMENT 'データ有効性',
UNIQUE KEY `ID` (`ID`,`CTIME`,`MTIME`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='電圧監視ログ';

以下は現在版で将来的には十分に改版あり(現在のブラウザのデフォルトがSJISのようなのでUTF8からSJISに変換している)

DB登録(regVolt.php

ログ表示(gLogVolt.php

ESP8266ロガープログラム(voltMonitor.ino

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed