2022-12-11
AliExpress で方形波(矩形波)の周波数とデューティ比をマイコンで設定できるPWM信号発生器を買い、PWM端子付きのCPUファンで動作を確認した(過去記事はこちら)。このPWMモジュールにMOSFETを接続すると電力制御できる。また、シリアル通信でPWMを制御することが出来れば、マイコンでコントロールできるので追加実験をしました。

PWM信号発生モジュール (2枚で672円)
MOSFET 5-36V 15A 400W (5枚で394円)
SerialUSB CH340E (2枚で372円)
AliExpress で MOSFET と Serial USB変換を追加で買いました。


DC 3.3-20V のPWM信号で DC5-36V 15A 400Wの電力を制御できる。
10個は多いので、5個セット277円+送料117円 を買いました。

2週間で届きました。

基板を割って使います。PWMを接続、12Vの電源と12V 55/60Wのハロゲン電球をつなぎました。

PWMモジュールのシリアル信号はTTLなので、TTLシリアルをUSBに変換するボードが必要です。
USB TYPE Aのタイプよりも、microUSB か TypeC が便利だと思い、これを2個買いました。
SerialUSB CH340E 2枚で181円+送料191円


これも2週間ほどで届きました。

GND, TXD,RXD を接続しました。
5V OUT があるのでPWMの電源をここから供給する事も可能です。

Windows10 はドライバを見つける事が出来なかったので、CH340E で検索するとドライバを見つけました。

インストールすると COM5 に接続されました。

PWMのシリアル通信スペックはこちら。

定番の TeraTerm をインストールします。


9600Bps, Data8, Stop1 に設定します。

最初は、"D" とか ”F" を送信するだけで "OK" と帰ってきました。通信は出来ているみたいですが PWMモジュールは 0Hz, 0% に設定されます。"F100" とタイプしても100は無視されます。
そこで、"F100" をメモ帳にタイプして、コピペすると 100Hz に設定されrました。
PWMは CR(0x0D) を待たないようで、連続して受信できないとコマンドが成立しないようです。
"READ" 又は "read" と送信すると現在の 周波数 Hz と デューティ比 % が返って来ました。
大文字、小文字は同一扱いしているようです。
Webの説明にあったように "F1.05" など試しましたが”FAIL" と帰って来ました。
小数点は使用不可で、頭の0は無視されます。
"F100,D50" とか"F100 D50"など連続してコマンドを送る事も対応していないようで "FAIL"になります。
必ず、"OK" の応答を待ってから次のコマンドを送る必要があります。
PWMの応答は正確には"FAIL LF(0x0A) CR(0x0D)" または "OK LF(0x0A) CR(0x0D)" です。0x0A 受信まで待って次のコマンドを送ると確実です。
コマンド範囲は"F0"~"F150000", "D0"~"D100" となります。これを超えると "FAIL"が帰って来ましたので範囲チェックもしているようです。
これで通信スペックが判明しましたので、マイコンでPWMを制御できそうです。

12V ハロゲン電球をPWMで制御してみました。
440Hz で制御するとかすかに音が聞こえますので、耳に聞こえない 40KHz くらいで制御すると超音波による不快な感じがしました。80KHz でも動作しましたが、MOSFETのスペックは20KHz以下となってました。

PWM信号発生モジュール (2枚で672円)
MOSFET 5-36V 15A 400W (5枚で394円)
SerialUSB CH340E (2枚で372円)
AliExpress で MOSFET と Serial USB変換を追加で買いました。


DC 3.3-20V のPWM信号で DC5-36V 15A 400Wの電力を制御できる。
10個は多いので、5個セット277円+送料117円 を買いました。

2週間で届きました。

基板を割って使います。PWMを接続、12Vの電源と12V 55/60Wのハロゲン電球をつなぎました。

PWMモジュールのシリアル信号はTTLなので、TTLシリアルをUSBに変換するボードが必要です。
USB TYPE Aのタイプよりも、microUSB か TypeC が便利だと思い、これを2個買いました。
SerialUSB CH340E 2枚で181円+送料191円


これも2週間ほどで届きました。

GND, TXD,RXD を接続しました。
5V OUT があるのでPWMの電源をここから供給する事も可能です。

Windows10 はドライバを見つける事が出来なかったので、CH340E で検索するとドライバを見つけました。

インストールすると COM5 に接続されました。

PWMのシリアル通信スペックはこちら。

定番の TeraTerm をインストールします。


9600Bps, Data8, Stop1 に設定します。

最初は、"D" とか ”F" を送信するだけで "OK" と帰ってきました。通信は出来ているみたいですが PWMモジュールは 0Hz, 0% に設定されます。"F100" とタイプしても100は無視されます。
そこで、"F100" をメモ帳にタイプして、コピペすると 100Hz に設定されrました。
PWMは CR(0x0D) を待たないようで、連続して受信できないとコマンドが成立しないようです。
"READ" 又は "read" と送信すると現在の 周波数 Hz と デューティ比 % が返って来ました。
大文字、小文字は同一扱いしているようです。
Webの説明にあったように "F1.05" など試しましたが”FAIL" と帰って来ました。
小数点は使用不可で、頭の0は無視されます。
"F100,D50" とか"F100 D50"など連続してコマンドを送る事も対応していないようで "FAIL"になります。
必ず、"OK" の応答を待ってから次のコマンドを送る必要があります。
PWMの応答は正確には"FAIL LF(0x0A) CR(0x0D)" または "OK LF(0x0A) CR(0x0D)" です。0x0A 受信まで待って次のコマンドを送ると確実です。
コマンド範囲は"F0"~"F150000", "D0"~"D100" となります。これを超えると "FAIL"が帰って来ましたので範囲チェックもしているようです。
これで通信スペックが判明しましたので、マイコンでPWMを制御できそうです。

12V ハロゲン電球をPWMで制御してみました。
440Hz で制御するとかすかに音が聞こえますので、耳に聞こえない 40KHz くらいで制御すると超音波による不快な感じがしました。80KHz でも動作しましたが、MOSFETのスペックは20KHz以下となってました。
- 関連記事
-
- トライアックを使った調光器 (3) (2022/12/29)
- 無線LANを搭載した Raspberry Pi Pico W (2022/12/13)
- 中華製PWM信号発生モジュール (2) (2022/12/11)
- トライアックを使った調光器 (2) (2022/12/06)
- トライアックを使った調光器 (2022/12/03)
- LCD表示付きの昇降圧DC-DCコンバータ (2) (2022/12/01)
- 最新のリチウム電池充電器 LittoKara Lii-M4 (2022/11/23)
- 中華製PWM信号発生モジュールをPWM制御ファンで実験 (2022/11/20)
- ハンディ型の電子ヒートガンを買いました (2022/11/17)