1114629_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1114629_ja-JP

1114629_ja-JP

MCU 101:パルス幅変調<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

パルス幅変調(PWM)は、ロボット工学でモーターやサーボを制御するために利用される技術です。マイクロコントローラは、内部カウンタを使用して、方形波のデューティサイクルを変調し、デバイスに供給される電力量を制御します。デューティサイクルは、矩形波が「オン」である時間の割合を、繰り返し信号周期と比較して参照します。デューティサイクルが高ければ高いほど、信号に運ばれる電力は大きくなります。デューティサイクルは、信号が「オン」である時間の割合として表され、100%が一貫してオンになっています。

PWM.jpg

タイマーの設定

PWM 信号の生成は、レジスタ値とフリーランニング ハードウェア カウンタ間のハードウェア比較に基づいています。タイマーモジュールは、出力比較回路の形で同様のハードウェア比較を提供します。レジスタの内容は、マスターのフリーランニングタイマーと継続的に比較されます。一致が発生すると、ハードウェア出力イベントが発生するように構成でき、割り込みはサービスルーチンを呼び出すことができます。

Timer I/O

タイマー I/O ポート制御レジスタは、ポート統合モジュール (PIM) にあります。各ポートはピン単位で構成でき、各タイマー入力キャプチャ/出力比較チャネルは1つのピンに関連付けられています。リセット時には、タイマー・モジュールはディセーブルになり、適切なI/Oポートはデフォルトで高インピーダンス入力になります。ピンの初期状態を定義するには、適切な汎用 I/O ピンをデータ方向レジスタ (DDRT) の出力として構成し、ポート データ レジスタ (PTx) を適切な状態に書き込む必要があります。リセット中にレベルを制御するには、外部プルデバイスが必要です。タイマ・システム制御レジスタ(TSCR1)にタイマ・イネーブル(TEN)ビットを設定すると、タイマ・モジュールがイネーブルされます。出力比較機能は、デフォルトのモジュールリセット状態では無効になっています。このモードでは、データ方向ビット (DDRTx) がピンの I/O 状態を制御し、入力比較ロジックがピンの遷移を監視します。Timer Input Capture/Output Compare Select (TIOS) レジスタに適切なビットを設定すると、PWM 生成に必要な出力比較用のタイマー チャネルが有効になります。出力比較モードでは、タイマ制御レジスタ (TCTL1/2) の出力モード (OMn) ビットと出力レベル (OLn) ビットが同時に比較イベント アクションを選択し、 出力比較出力ロジックを関連するピンに接続できるようにします。 チャネルの OMn:OLn 制御ビットが両方とも 0 の場合、DDRTx ビットと PTx ビットは I/O ピンの状態を制御します。OMn:OLn ビットのいずれか (または両方) を設定すると、出力比較回路がピンに接続され、DDRTx と PTx の設定がオーバーライドされます。リセット後、各出力比較回路の出力状態はゼロになります。

PWM 生成の場合、OM ビットは (= 1) 設定され、出力比較出力は各比較イベントで関連付けられた OL ビットの状態に従います。OLビットの状態は、タイマチャネル割り込みが処理されるたびに反転し、トグル出力が生成されます。TENビットをクリアまたは設定すると、タイマーモジュールがそれぞれ無効または有効になりますが、他のタイマー制御レジスタの内容や出力比較出力ロジックの状態は変更されません

タイマーモジュールをPWM用に構成する際には、いくつかの考慮事項を考慮する必要があります。大まかな観点から見ると、主な考慮事項は次のとおりです。
• PWM周波数
• PWMデューティサイクル

必要なPWM周波数を生成するには、バスクロック周波数がわかっている必要があり、タイマープリスケーラを設定する必要があります。これらの値は、生成されるPWM周波数の範囲とPWM信号の分解能の程度によって異なります。最大分解能とPWM周波数は、最大タイマクロック周波数によって制限されます。低いPWM周波数は、最小タイマクロック周波数によって制限されます。これはトレードオフを招くことがあり、図1に示すように評価できます。

タイマチャネルが設定されると、タイマチャネル割り込みを使用してPWM信号を生成できます。これは、割り込みサービス ルーチン (ISR) を呼び出して、適切な比較値 (マークまたはスペース) でタイマー比較レジスタを読み込むように構成する必要があります。これは、最後のアクションが負のエッジ遷移であったか正のエッジ遷移であったかを識別し、遷移ステータスを切り替えて比較レジスタをロードすることで実現されます
を次の適切な値に置き換えます。マスター・タイマー・カウント・レジスタへの参照は、図3に示すように、連続するISR関数呼び出しのタイマー比較レジスタに連続するマーク値とスペース値を追加するだけで回避できます。タイマのロールオーバーは、符号なし整数の加算を使用する場合にシームレスです。前の比較値を次の比較値を生成するための参照として使用すると、ISR の遅延が変動する場合でも、正確な出力タイミングが可能になります。

PWMの開始は、慎重に検討する必要があるタスクです。割り込みを使用してPWM生成を開始するには、最初の比較イベントを手動で構成する必要があります。出力ピンを最初の遷移状態に切り替えるには、比較を設定して強制比較を構成する必要があります。最初の比較イベントの後、割り込みはPWM生成を処理します。HCS12 はハードウェア強制比較をサポートしていませんが、強制比較は、現在のフリーランニング タイマー値の数サイクル前に通常の比較を設定することで構成できます。このサイクルは、MCU内の内部レイテンシを補償するために必要です。サイクル数は、コアとモジュールのクロックによって異なります。PWMの生成を停止するときは、ラントパルス(必要に応じて規定のマークまたはスペース比よりも幅が短いパルス)を考慮することが重要です。これらのパルスを回避するには、関連する割り込みサービス ルーチン内で適切なローカル割り込みマスクを設定して、PWM 生成を無効にします。停止時のピンの適切な状態は、ISRのいずれかの部分で割り込みを無効にすることで設定できます。どちらかのライジング
または立ち下がりエッジ部分。

追加のチュートリアルリソース:


DCモータ制御の概要 - パートII

講義2:パルス幅変調

フリースケール・カップの内容
标记 (1)
无评分
版本历史
最后更新:
‎01-06-2026 02:10 AM
更新人: