FANをGPIOでON/OFFする
- 2015/05/31 21:55
- カテゴリー:電子工作, Cubieboard, PC
FANを取り付けたが動作はFANの電源コネクタを12Vバッテリに手動接続することで行っている(当然ながら停止も電源コネクタを外すことで行うことになる)
またFAN単体では無音に近いがケース取り付け状態では無音ではないため24時間駆動は行っていない(騒音対策は未実施)
そこでGPIOの使い方を確認する意味もありGPIOでデジタル出力方法は判っているのでソフト的に制御してみようと考えた
先にFANのドライブ確認、FETを使った簡単なスイッチ回路をブレッドボード上に展開
- GPIOのデジタル出力で10mAは流せると考え3.3Vなので330Ω以上 → R1は1KΩにした
- R2は1KΩ~10KΩ位 → 10KΩにする
- FANは12V 0.05A仕様だったのでFETを100mAを十分に流せる2N7000にする → 確認して問題なし
準備したFANはPC用で回転数が判る3P端子だったので、回転数の確認のため試しに出力をオシロで見てみる
回転数ピンはオープンコレクタらしいので3.3Vを100KΩ直列でプルアップ
あんまり綺麗な波形でない、このオシロの限界?
周波数も計測したがどうも正常とは思えない値が出ていた(今回は追及しない)
今のところ確認的な物なので回路は空中配線とする
GPIOはGP1を使用し、以下で動作を確認
# echo 7 > /sys/class/gpio/export
# ls /sys/class/gpio/
export gpio7_pg1 gpiochip1 unexport
# echo out > /sys/class/gpio/gpio7_pg1/direction
# cat /sys/class/gpio/gpio7_pg1/value
0
# echo 1 > /sys/class/gpio/gpio7_pg1/value (ON)
# echo 0 > /sys/class/gpio/gpio7_pg1/value (OFF)
上記コマンドの説明
GP1はPIN番号7となる(以下)
7を「/sys/class/gpio/export」に出力すると「/sys/class/gpio/」で入出力スペシャルファイルが判る
PINに対して入出力の指定を行い(Read only なら in)操作する
メンテ用記述)GP1には黒色の線が接続されている
制御ソフトは後日予定