Arduino-Uno を使ったBLDCモーター制御。

Arduino-Uno を使ったBLDCモーター制御

今回は、Arduino-Uno を使ったBLDCモーター制御回路にて、BLDCモーターを回してみました。

BLDCモーターは3相のスター結線で、中性線は有りません。以下に、回路図を示します。回路図はあくまでも参考として、実際に使用しているパーツは回路図とは異なります。

以下サイト情報で検索すれば、元ネタは確認できると思います。                             サイト情報 https://simple-circuit.com/arduino-sensorless-bldc-motor-controller-esc

Sensorless BLDC motor controller with Arduino 回路図

今回、回路を製作するにあたり、入手したFETの不良や、ハーフブリッジドライバの入力条件、Arduino-Uno のコンパレータ不良等々、色々と苦労しました。最終的に回転させること、正転・逆転の確認もできて安堵してます。今回は、自身はFETをディスクリートとし、ハーフブリッジドライバも回路図とは異なる物を使用しました。ハーフブリッジドライバは回路図同様ブートストラップ回路を使用してます。基本構成は変えていません。FETはすべてN-ch CMOS FET です。ハイサイド・ローサイドとも同じ物です。

BLDCモーター制御回路
Arduino-Uno と BLDCモーター

今回回転させるモーターはHDD内のBLDCモーターとしました。BLDCモーターへの配線は画像中の黄・白・緑の電線でつないでます。一度端子台で受けてます。ハーフブリッジドライバの電源は12Vとしてます。Arduino-Unoの電源も12Vとし、Vinにつないでます。FETへの電源供給を別回路として、5Vから12Vの可変電圧が掛けられるよう工夫してます。FETの電圧を変化させてもBLDCモーターが正常に回転することを確認してます。

次に、FETへの電源電圧を5Vとした時のBLDCモーターへの出力波形を観測してみましたので画像として載せます。

BLDCモーターが5V電源で回転している様子
FET 5V電源(5.02V) 波形1周期 304Hz t=3.28ms
ch-1、ch-2 タイムロス(位相差)1.08ms
ch-2、ch-3 タイムロス(位相差)1.08ms
ch-3、ch-1 タイムロス(位相差)1.08ms

以上の画像で判るように、位相差は各chともほぼ同じで、120度ずつズレてくれてるようです。               次にFETへの電源電圧を12Vとして波形を観測しました。これも画像として載せておきます。

BLDCモーターが12V電源で回転している様子
FET 12V電源(12.2V) 波形1周期 409Hz t=2.44ms
ch-1、ch-2 タイムロス(位相差)0.84ms
ch-2、ch-3 タイムロス(位相差)0.84ms
ch-3、ch-1 タイムロス(位相差)0.84ms

以上の画像で判るように、12V電源時であっても位相差は各chともほぼ同じで、120度ずつズレてくれてるようです。

この他、問題は多々あるのですが取り敢えずホッしました!!

今回自身が変更使用したパーツが以下2点です。

FET           当初 06N03LA(N-ChチップFET) → 現状 IRFZ44N(N-ChディスクリートFET)                  ハーフブリッジドライバ  当初 IR2104S          → 現状 IRS2003    

コンパレータ不良が判明して、以下を交換。

Arduino-Uno Atmega328P(コンパレータ不良) → Atmega328P(コンパレータ良品) 

※ コンパレータ良品・不良品についてはコンパレータの動作確認ができるSketchが公開されていましたので、それを使   用しました。

その他、FET IRFZ44N(N-ChディスクリートFET) が、1個壊れて交換。 Arduino-Unoボードが通信不良となって

結局、ボードを新品に交換。(やれやれ。w(ー-);w)

最後にFETへの電源電圧を12VとしてBLDCモーターが回転を開始する様子を動画にしましたので、載せておきます。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA