DCモータ速度制御回路 回路説明 |
![]() ![]() DB1はモータの極性を意識しなくて良いように付けています。接続を間違えることが無ければ付ける必要はありません。速度検出用モータの電圧が小さい場合には付けないほうがよいです。 D1は検出用モータの回転が高くなってPICの許容電圧(5V)を越えないようにするための5V用ツェナーダイオードです。C1は検出用のモータの雑音をバイパスさせるためです。VR1は本体モータの回転数を設定するための可変抵抗器です。VR1を1側に回すとPICの入力電圧が低くなり、PICはモータの駆動電流を増加させます。すなわち、モータの回転数は上がります。VR1を3側に回すとPICの入力電圧は高くなり、PICはモータの駆動電流を減らします。すなわち、モータの回転数は下がります。 CCPの詳細は「PIC16F873のCCP機能」を参照して下さい。 ![]() ![]() CCP1のパルスのデューティは制御電圧入力回路で取り込んだ電圧(制御電圧)により制御します。制御電圧が規定値より高い場合にはCCP1パルスのHレベル時間を長くし、モータの回転数を下げます。制御電圧が規定値より低い場合にはCCP1のHレベル時間を短くし、モータの回転数を上げます。 モータの駆動にはNチャネルMOS FETを使用しました。PチャネルMOS FETを使用することもできますが、その場合にはCCP1パルスのデューティ制御は逆になります。パルスのHレベルが短いと低速、長いと高速になります。モータとFETの接続箇所も逆になります。この場合、FETドライブ用のトランジスタ電源はP-FETのソース側に接続する必要があります。 ![]() MOS FETの詳細は「MOS FET」を参照して下さい。 CCPの詳細は「PIC16F873のCCP機能」を参照して下さい。 ![]() ![]() 10MHzのレゾネータを使用しています。 モータの回転数には直接関係はしませんが、制御電圧の取り込み周期、モータ駆動パルスの周期に関係します。 ![]() ![]() モータの駆動状況をモニタするためにLEDを点灯させています。LEDの点灯にはPWMの制御データの上位3ビットを使用し駆動状況表示にしています。駆動していない状態では全LEDが消灯し、駆動電流が増えるにつれてLED1から順番に点灯数を増やします。最大駆動状態では全LEDが点灯状態になります。 今回の装置ではLEDにバータイプを使用し、駆動レベルを表すようにしています。回路では8つのLEDを制御できるようにしていますが、使用したLEDに都合で、LED1は使用せず、LED2からLED8までの7つのLEDを使用しています。RBxがHレベルでLEDが点灯します。 ![]() ![]() PICの動作電圧を作るために3端子レギュレータを使用しています。 100mAタイプでもぎりぎり大丈夫かもしれませんが、LEDを同時に7つ点灯させるとそれだけで約70mAの電流になるので、安全のために1Aタイプのレギュレータを使用しました。 ![]() |