プロジェクト17:モーター制御(スピードコントロール)
このプロジェクトで学ぶこと: L293DモータードライバーICとPWMを組み合わせてDCモーターの回転速度を制御する方法を学びます。Arduinoの出力電流では直接動かせないモーターを安全に制御する設計を理解します。
完成イメージ
[ポテンショメーターを回すとDCモーターの速度が変化する動画を挿入]
必要な部品
| 部品名 | 数量 |
|---|---|
| Arduino Uno R3 | 1 |
| L293D モータードライバーIC | 1 |
| DCモーター | 1 |
| ポテンショメーター | 1 |
| コンデンサ 100μF | 1 |
| ブレッドボード | 1 |
| ジャンパー線 | 多数 |
回路図と配線
[回路図画像を挿入]
L293Dのピン配置と配線
| L293Dピン | 接続先 |
|---|---|
| VCC1(16番) | 5V(ロジック電源) |
| VCC2(8番) | 5V〜12V(モーター電源) |
| GND(4,5,12,13番) | GND |
| Enable1(1番) | Arduino 9番ピン(PWM) |
| Input1(2番) | Arduino 7番ピン |
| Input2(7番) | GND(固定) |
| Output1(3番) | モーター端子A |
| Output2(6番) | モーター端子B |
- ポテンショメーターを A0 に接続する
- モーター電源ラインとGND間に100μFコンデンサを接続する(ノイズ対策)
Arduinoスケッチ(プログラム)
// ポテンショメーターでモーター速度制御
const int ENABLE_PIN = 9; // PWMでスピード制御
const int IN1_PIN = 7; // 回転方向
const int POT_PIN = A0;
void setup() {
pinMode(ENABLE_PIN, OUTPUT);
pinMode(IN1_PIN, OUTPUT);
digitalWrite(IN1_PIN, HIGH); // 正転方向に固定
}
void loop() {
int potValue = analogRead(POT_PIN); // 0〜1023
int speed = map(potValue, 0, 1023, 0, 255); // 0〜255に変換
analogWrite(ENABLE_PIN, speed); // PWMでスピード制御
}
コードのポイント解説
L293Dの役割 Arduinoのデジタルピンは最大40mAしか出力できません。DCモーターは数百mA〜数Aを必要とします。L293Dはスイッチングトランジスタを内蔵したICで、小さなロジック信号を大きな電流に変換(増幅)する「モータードライバー」です。
Enable(イネーブル)ピンとPWM ENピンへの入力がモーターのON/OFFと速度を制御します。PWMでデューティ比を変えることがモーターへの平均電圧を変えることになり、速度が変わります。
コンデンサのノイズ対策 モーターはブラシ放電によるノイズ(スパイク電圧)を発生させます。電源ラインに100μFコンデンサを接続することでノイズを吸収し、Arduinoの誤動作を防ぎます。
動作確認
- スケッチをアップロードする
- ポテンショメーターを左に回すとモーターが停止、右に回すと速くなれば成功
このプロジェクトで学んだこと
- モータードライバーの必要性: マイコンの出力電流制限と電流増幅ICの役割を理解しました
- PWMによる速度制御: デューティ比を変えてモーターの回転速度を制御する方法を習得しました
- ノイズ対策: コンデンサで電気ノイズを吸収する実践的な設計を学びました
次のプロジェクト「モーター回転方向制御」では、Hブリッジ回路で正転・逆転を切り替える方法を学びます。
深掘り:技術の背景と社会への広がり
DCモーターの歴史:電気で世界を動かした発明
直流モーター(DCモーター)の基本原理は1821年にマイケル・ファラデーが実証しました。電流を流すと磁場中のコイルが回転するという電磁誘導の発見です。1873年にグラム機が最初の実用的なDCモーターとして電気を機械エネルギーに変換できることを示し、1880年代のエジソンによる直流配電網の普及とともにモーターが工場・電車・家電に広がりました。
電気自動車と省エネ社会への貢献
DCモーターの制御技術は現代の電気自動車(EV)の中核です。テスラのモデルSに搭載された誘導モーターは、PWMとインバーター回路でミリ秒単位の精密なトルク制御を行い、内燃機関にはない滑らかな加速を実現しています。家電では洗濯機・エアコン・冷蔵庫のコンプレッサーがPWM制御のインバーターモーターに置き換わり、従来比30〜50%の省エネ化が達成されました。日本の2030年カーボンニュートラル目標に向けて、モーター制御技術の高効率化は社会的優先課題となっています。
← プロジェクト16:リレー | 全プロジェクト一覧 | 次のプロジェクト:モーター回転方向制御 →

