LoginSignup
1
0

More than 1 year has passed since last update.

Raspi4 Case Fanを"きちんとPWM制御"するには?(その2, 調査段階)

Posted at

TL;DR dtoverlay=pwm-fanが作れそう、だったけど時間切れ

  • CPU温度で段階的に制御するためのrpi-poe-overlay.dts
  • PWM制御するためのpwm-overlay.dts
  • これを上手く合成できれば、、、ワンチャンありそうですね(残念ながら完成には至りませんでした)

はじめに

さて、前回の調査でFAN制御をするためにはraspi-config経由で起動時オプションを設定する、ということを確認した。

このraspberry piのFAN制御において、小さな疑問が生じた。

dtoverlay=gpio-fan

果たして、GPIO14を使ったFAN制御がなされる、というが、どこにデフォルトが書かれているのだろうか?この謎を追い求めるため、調査員はアマゾン…ではなくgithubを探索した・・・ が正攻法では見つからない。なかなか面白い問題にぶち当たった。

それは単純な落とし穴だった(ファイル数が多すぎるので見つからない)

gpio-fan-overlay.dts というファイルが、arch/arm/boot/dts/overlays/以下にある。ここに確認したい情報の全てが入っていた。

しかしWebUIから表示しようとすると、"o"に達する前に読み込みが止まって見えない、おお、なんということだ!!

ということで、こちらを確認してほしい

https://github.com/raspberrypi/linux/blob/rpi-5.10.y/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts

 * Requires:
 *  - kernel configurations: CONFIG_SENSORS_GPIO_FAN=m;
 *  - kernel rebuild;
 *  - N-MOSFET connected to gpiopin, 2N7002-[https://en.wikipedia.org/wiki/2N7000];
 *  - DC Fan connected to N-MOSFET Drain terminal, a 12V fan is working fine and quite silently;
 *    [https://www.tme.eu/en/details/ee40101s1-999-a/dc12v-fans/sunon/ee40101s1-1000u-999/]
 *
 *                   ┌─────────────────────┐
 *                   │Fan negative terminal│
 *                   └┬────────────────────┘
 *                    │D
 *             G   │──┘
 * [GPIO12]──────┤ │<─┐  2N7002
 *                 │──┤
 *                    │S
 *                   ─┴─
 *                   GND
 *                   

この図面の、2N7002は単純な「トランジスタ」である。

つまり一言で結論を言うと。

FANを、GPIOでOn/Off制御することしか、考えられていない

そう、もともと「これじゃ制御できないんじゃ・・・」という話、これは正解だった!!!ソフトの対応が足りておりません!!

Kernelから制御するための救いは無いんですか? ⇒ (今のところは)ない。

では、pwm制御する手段はもう作れないのか? そのものずばりな、pwm-fan.dts は無かったですね…。

その代わりに、overlaysを眺めていると、なかなかよさそうなものがあります…

救い1 POEのFAN制御

Raspberry piの
rpi-poe-overlay.dts

これは、RasPiのPower Over Ethernet HATについているFANを制御するためのoverlay。

救い2 PWM制御

pwm-overlay.dts

これは、RasPiのPWMを制御するためのoverlay。

ということは、これらを組み合わせれば、CPU温度に応じたPWMでのFAN制御がなんとかなりそうな気がするのですが。

というところで、4連休終了で、タイムオーバー!!もうちょっと!!もうちょっとなのですが。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0