マイコン制御
マイクロコントローラを用いた自動制御システムを解説。A/D 変換・D/A 変換・タイマー・入出力ポートの構成要素と、リアルタイム制御の仕組み、温度制御・モータードライブ・ロボット制御への応用例を体系化する。
article technology ja マイクロコントローラを用いた自動制御システムを解説。A/D 変換・D/A 変換・タイマー・入出力ポートの構成要素と、リアルタイム制御の仕組み、温度制御・モータードライブ・ロボット制御への応用例を体系化する。マイコン制御 — A/D 変換・リアルタイム制御・応用例
マイコン制御(Microcontroller-based Control)は、マイクロコントローラ(MCU)を中核に据えて物理的なシステムをデジタル的に自動制御する技術体系であり、センサーから状態を読み取り、演算し、アクチュエータを駆動するというフィードバックループを高速で繰り返す。家電・産業機器・ロボット・自動車・電力制御システムまで、現代の組み込みシステムの基盤技術を構成する。情報カットオフ 〜2025-08、confidence: medium 固定。
マイコン制御の基本概念
マイクロコントローラは CPU・メモリ(ROM/RAM)・周辺回路(A/D 変換器・タイマー・通信インターフェース・GPIO)を 1 チップに集積した ICであり、組み込みシステムの「頭脳」にあたる。
マイコン制御の処理フロー
センサー入力 → ADC デジタル化 → CPU で演算(制御則適用)
→ 出力値算出 → PWM / DAC で出力 → アクチュエータ駆動
(この ループを一定周期で繰り返す)
制御周期(サンプリング周期)は制御対象によって異なり、温度制御では 100 ms〜1 s、モーター制御では 1 ms〜10 ms、電力変換制御では 10 μs〜100 μs のオーダーが典型的。
構成要素
マイコン制御システムの主要な構成要素を解説する。
A/D 変換器(ADC: Analog-to-Digital Converter)
アナログのセンサー出力電圧をデジタル数値に変換する。分解能は一般に 8〜16 bit で、12 bit ADC では入力電圧 0〜3.3 V を 0〜4095 の整数値に変換する。変換精度(LSB 誤差)・変換速度(SPS)・入力チャンネル数が主な選定指標。サンプリングの際にはナイキスト定理(サンプリング周波数 ≥ 入力信号の最高周波数 × 2)に従うアンチエイリアシングフィルタが必要。
D/A 変換器(DAC: Digital-to-Analog Converter)
デジタルの演算結果をアナログ電圧に変換してアクチュエータを駆動する。音声出力・任意波形発生器・アナログ量フィードバック基準電圧の生成に使用される。分解能と更新速度が主な性能指標。
タイマー(Timer/Counter)
周期的な割り込みを発生させ、制御ループを一定周期で実行するために使用する。PWM 出力の生成、入力パルスの周波数/幅測定にも使われる。高精度な制御では水晶発振器ベースのタイマーが用いられる。
入出力ポート(GPIO: General-Purpose Input/Output)
デジタル信号の入出力ポート。スイッチ・リレー・LED 等のオン/オフ制御に使用する。入力時にはプルアップ/プルダウン抵抗の設定が必要で、出力の電流駆動能力(通常数十 mA)を超える負荷にはドライバ回路を用いる。
通信インターフェース
センサー・表示器・上位コントローラとのデータ交換に使用する。UART(シリアル通信)・SPI(高速同期通信)・I2C(マルチデバイスバス)・CAN(自動車/産業用)・Ethernet などが代表的。
リアルタイム制御
マイコン制御において「リアルタイム」とは、規定の時間制約内に処理が完了することを意味する。
割り込み駆動(Interrupt-driven)
タイマー割り込みを使って制御ループを厳密な周期で実行する。割り込みハンドラ内でセンサー読み取り・演算・出力更新を行い、処理時間を周期以内に抑える設計が必須。
RTOS(リアルタイム OS)
複数タスクを優先度に従ってスケジューリングする組み込み OS(FreeRTOS・Zephyr・VxWorks など)。制御・通信・UI を分離してタスク化し、デッドライン保証と同時実行を管理する。優先度の逆転(Priority Inversion)はデッドラインミスの主因であり、優先度継承プロトコルで対策する。
レイテンシとジッタの管理
センサー入力から出力更新までの遅延(レイテンシ)と周期のばらつき(ジッタ)は制御性能を低下させる。ADC 変換時間・演算時間・割り込み応答時間の合計がサンプリング周期以内に収まることを設計段階で検証する。
応用例
温度制御:サーミスタや熱電対でチャンバー温度を読み取り、PID 演算(tech-356)で PWM デューティを算出してヒーターを駆動する。目標温度への収束速度とオーバーシュートのトレードオフを PID パラメータで調整する。
モータードライブ制御:電流センサー(ホール素子型)でモーター巻線電流を検出し、インバータの PWM デューティをリアルタイムに変化させて回転速度・トルクをフィードバック制御する。FOC(磁界方向制御)などの高度なアルゴリズムも MCU で実装される。
ロボット制御:複数軸のサーボモーターを協調制御し、エンコーダ・IMU・力センサーからのフィードバックを統合して精密な位置・速度・力制御を行う。
電力制御システム:スイッチング電源の出力電圧を ADC でサンプリングし、デジタル PID / 予測制御で MOSFET のゲート駆動タイミングを制御するデジタル電源(DPWM)。高速応答と高精度化のため専用 DSC(デジタル信号コントローラ)が使われる。
情報カットオフ 〜2025-08、confidence: medium 固定。