例によって寝ながら思い付いたことで、去年作った換気扇の自動制御(動的モード切り替え)処理を改良し、CO2濃度の長時間平均で切り替える換気能力(換気扇のon率)のステップを細かくすることで、CO2濃度の変化に きめ細かく対応できるようにした。
車に例えれば、 「4速ATを8-10速くらいに」した感じだ。 (→ イメージ: 実線と点線)
なお、換気扇の換気能力は本当の無段階にはできないので、(当初は期待したが、)CVTのようには ならない。※
※全くの余談だが、CVTに わざわざ段を付るのは馬鹿だと思う。CVTは無段階だからいいのに。
設定の調整と確認に時間が掛かったものの、概ね期待どおりに動くようになった。が、人間はCO2濃度には鈍感なせいか、細かく調整している効果は体感できない。
良いか悪いか分からないところは、車の多段ATと似ているかも知れない。
改良の概要
- 従来の方式: CO2濃度(長時間平均)に応じて4段階程度の換気能力(モード)を切り替える。
- それぞれの換気能力は、試行錯誤して以下のように設定した。
- CO2濃度(長時間平均)の条件: モード, 換気能力(on率)
- <= 710 (ppm): LL, 50 (%)
- <= 750 (ppm): M, 55 (%)
- <= 800 (ppm): H, 65 (%)
- > 800 (ppm): H+, 75 (%)
- それぞれの換気能力は、試行錯誤して以下のように設定した。
- 今回の改良版: CO2濃度(長時間平均)に応じて、式で換気能力を求める。
- 理論上は換気能力(on率)は無段階の調整が可能だが、換気扇の換気能力は連続して変えられない(変調周波数が とても低いPWM的)のと、タイマーリレーの仕様上、換気能力(on率)を変える時にonまたはoffになり、リレー・電源のon/offが頻繁になって実用的でないので、ステップ(「段」, 後述)を付けた。
検討・設計
CO2濃度と換気能力の関係(計算式)が分からなかったので、まず、従来の切り替え設定のグラフの近似式を求めたところ直線のようだったので(→ グラフ: 実線: 設定, 点線: 線形近似)、ひとまず一次式にした。
CO2濃度(長時間平均)をxとした時、換気能力(換気扇のon率) yを以下とする。
y= k * x + B (式1)
k: 係数 (CO2濃度と換気能力の比例係数)
B: 定数 (CO2濃度が0の時の換気能力)
注: 真の換気能力(正確にはCO2低減能力)は外気のCO2濃度や室内と外気の濃度差に依存するため、換気扇の換気能力(on率)に比例して室内のCO2濃度が変化する訳ではなさそうだが、ここでは ひとまず比例とした。
その後、以下の式に変換した。上と等価(Cはk, B, X0から求められる)だが、こちらのほうが分かりやすい気がするのと、パラメタの調整が しやすいためである。
xと基準CO2濃度X0の差をd(= x - X0)とした時、換気能力(換気扇のon率) yを以下とする。
y= k * d + C (式2)
k: 係数 (CO2濃度と換気能力の比例係数)
C: 定数 (基準CO2濃度の時の換気能力)
※この式の解釈として、CO2濃度を基準値に保とうとする制御か、現在値と基準値との差に応じて換気能力を高める(下げる)制御が考えられるが、どちらが適切なのかは分からない。
あるいは どちらでもないのかも知れない。だから、パラメタによっては不安定になることがあるかも知れない。
更に、式2で得られたyをそのまま換気能力(on率)として設定すると、変更が無駄に頻繁になるため、以下のように換気能力にステップ(段)を付けた。
現在のxから求めたyと前回のy(yp)との差をq(= y - yp)とした時、ステップを付けた(量子化した)換気能力(換気扇のon率) y'を以下とする。
y'= (qにより、以下のいずれか) (式2')
-
- q < Qの場合: yp (換気能力を変えない)
- q >= Qの場合: y
Q: 換気能力(換気扇のon率)のステップ
調整・設定
従来の設定が丁度良い感じだったので(当時、良くなるように試行錯誤したため、当然のことではある)、そのグラフに合う(近くなる)ようにパラメタを調整して実際に運用してみたところ、全体的に換気能力を少し高目にし、CO2濃度が基準より高い場合には係数を大きくするのが良さそうだったため、結果的に(点を繋いだ直線は)わずかに折れ線になった。※
※このことや、(上述の)真のCO2低減能力は外気のCO2濃度や室内と外気の濃度差に依存することから、本当の線(式)は 2次や べき乗のような 下に凸の曲線なのかも知れない。
現在の設定や運用条件は以下のとおりである。
- CO2濃度の測定間隔 TM: 1 (分)
- CO2濃度の長時間平均の時間 TLA: =TF (下の換気扇のon/off周期, = 40 (分))
- 換気扇のon/off周期(on時間+off時間) TF: 40 (分)
- 基準CO2濃度 X0: 750 (ppm)
- 基準CO2濃度の時の換気能力 C: 0.7 (70%)
- CO2濃度と換気能力の比例係数 k:
- x < X0の場合: 0.0025 (0.25%/ppm)
- x >= X0の場合: 0.0030 (0.30%/ppm)
- 参考: 従来の方式の近似式でのk: 0.0022 (0.22%/ppm)
- 換気能力のステップ Q: 0.042 (4.2%)
- これはCO2濃度の感度に相当し、16ppm前後になる。
CO2濃度(長時間平均)と換気能力のグラフを以下に示す。
注: 改良版では、上述の換気能力のステップ(量子化)により、段階の角の位置は、CO2濃度の状況によって±Q/2分程度左右に変動するはずである。
実装関連
プログラムの実装(タイマの制御)で工夫したこととして、タイマ(XY-WJ01)の設定を変える時に必ずonかoffになる(今一つ使いにくい)仕様を活用し、以下のようにした。
- 換気能力(on率)を上げる時は換気扇をonにし、下げる時はoffにする。
- ただし、下げる時でもoffにした次はonにする(交互にoff/onにする)。
- 連続して下げる(下がる)時に、換気扇がoffになり続けるとCO2濃度が増加してしまうのを防ぐため。
Xfceのパネルへの動作状態表示の例を以下に示す。
- Xfceのパネルに換気扇制御状態を表示 (“Vent”の部分))
- マウスオーバーで詳細な状態を表示する。
- パネルの状態表示部をクリックすると制御ダイアログが出る。
従来の表示プログラムを なるべく変更せずに使うため、換気扇のon率を擬似的なモード"▷▷ᴱ"や"Me"(拡張または外部※を示す"E"や"e"(左で太字)を追加)などと表示している。また、換気能力(on率)を連続して制御していることを示す"∿"も表示している。
※今は何だったか思い出せないが、それらしければ何でも良いw
また、従来と同様、パネルの状態表示部をクリックすると制御ダイアログが出るが、そこで動的制御を設定できるようにした。(→ 右側のプルダウン: Current(変更なし), On, Off)
結果・効果
従来と改良版での実際のCO2濃度と換気能力の変化の例(約1日間)と今までの約1年間の変化を以下に示す。
- 従来の方式 (2022/12): 緑: CO2濃度, オレンジ: 換気能力, 青: 室温
- 改良版 (2023/6): 緑: CO2濃度, オレンジ: 換気能力, 青: 室温
- 長期的(約1年)な変化: 緑: CO2濃度, オレンジ: 換気能力, 青: 室温
最初に書いたように、体感できる効果は特段ない※が、換気能力(上のグラフのオレンジ)は今回の改良版は従来より きめ細かい変化をしており、CO2濃度(緑)の変化が平坦に近くなっている期間(例: 右の中央付近の6-12時, 18時以降)がある点で、改良の効果が伺える。
※車のATの段数が少なくても、エンジン音や燃費や気分以外に実用的な問題がないのと同様?
また、長期(約1年間)の変化を見ると、改良後の換気能力(オレンジ)が上昇傾向である(グラフの右端付近)。これは、上述のように、計算式の設定で換気能力を少し高目にしたためと考えられる。その割にはCO2濃度(緑)が下がっていないのは、季節的なものだろうか。もう少し様子を見る必要がある。
なお、グラフの中央辺りから換気能力(オレンジ)が少し下がってCO2濃度(緑)が増えているのは、この頃に設定を変更して換気能力を全体的に低目にした※ためである。
※換気を必要最小限に抑えることで、空調の効きを改善しようとした。
考察
- 人は、CO2濃度が極端に高くない限り、濃度や そのわずかな変化を感じられないようだ。
- 濃度が結構高い場合、僕は、机などのべとつきや少し臭いを感じる気がすることや頭痛がすることもあるが、他の要因(外気が悪い、疲労など)かも知れない。
- 良く言われている眠気もある。
- グラフを見ると、CO2濃度の変化に合わせて細かく換気能力を調整するため、濃度が高い(例: 750ppm以上)時間が短くなっているかも知れない。
- 換気量が最適化されて空調の効率が上がる(→ 電気代の削減)のかも知れないが、まだ分からない。 (余りなさそうな気はしている・・・)
- 仮に部屋に居る人数が増えたとした場合、この制御では不足する気がするし、どうなるか気になるが、そういうことがないので とりあえずヨシとするw
メモ
この改良には直接関係ないが、以下のことに気付いた。
- CO2が下がりにくい時(日)があるのは、以前からの謎である。
- 湿度※や風向きの関係かと思ったが、そうではなさそうだ。
- ※雨などで湿度が高いと、空気にCO2が溶け込んで高くなると考えたが、そういう訳でもない。
- あと、CO2センサ(CO2Mini)に湿度補償機能が ないせいも疑ったが、余り関係なさそうだ。
- 高湿以外に暑い時にも なるが、人(自分)から出るCO2が多くなるなど?
- そう言えば、食後(特に朝)は増加が著しいので、人による変化の影響は大きそうだ。
- 湿度※や風向きの関係かと思ったが、そうではなさそうだ。
- トイレの換気扇を回す機会を減らしたら、なぜか、部屋が臭う(煙草・農薬臭など)ことが少なくなった。
- 以前は人感センサで自動で回していたが、換気扇制御への影響(外乱)を避けるため、手動でon(遅延off)※するようにした。
- ※手動onと遅延offは人感センサで実現している。
- 臭いがトイレまたは風呂(今回の制御対象)の換気扇のダクトの汚れに関係あるのか、外気を取り込み過ぎるのが良くないのかと想像している。
- 以前は人感センサで自動で回していたが、換気扇制御への影響(外乱)を避けるため、手動でon(遅延off)※するようにした。
- (もしかしたら今度は大丈夫かと思い、)換気効率向上のため窓にわずかに通気口を付けたが、(何度も同じ結果ではあるが)やっぱり臭いが入って来ることがあるので、止めた。
- どうしても窓側の空気は悪いようだ。
- 連続換気しているため、クローゼット内のカビ臭さや湿っぽさが なくなった。
- ただ、梅雨で雨が続くと湿度が高まるので、様子を見ている。
(7/4 4:27-8:10 加筆・修正, 従来の設定のグラフへのリンクと長期変化のグラフを追加)