出力比較の概要
- 出力比較英文OC(Output Compare)
- 出力比較は、CNT レジスタと CCR レジスタの値の関係を比較することにより、出力レベルのハイまたはローを設定したり、動作を反転させたりすることができ、特定の周波数とデューティ サイクルを持つ PWM 波形を出力するために使用されます。
- 一般的なアプリケーションの例: 呼吸灯、速度制御モーターなど。
- CCR(Capture/Compare Register、Capture/Compare Registerの略)
CNTとCCRの論理関係
- CNT は自動的にカウントアップし、CCR は私たちが与える値です
PWM の紹介
- パルス幅変調 パルス幅変調
- 慣性を持つシステムでは、モーター速度制御の分野でよく使用される一連のパルス幅を変調することによって、必要なアナログ パラメーターを同等に取得できます。
- PWM パラメータ:
- 頻度=
- デューティサイクル =
- 分解能 = デューティ サイクル変更のステップ サイズ
上記の内容を理解する方法: PWM を使用してアナログ パラメータを同等に取得できますか?
通常の LED 照明の実験では、LED に 1 または 0 を設定する、つまりオンまたはオフにすることしかできません。しかし、高頻度でオンとオフを切り替えたり、オンとオフを切り替えたり、オンとオフを切り替えたりすると、LED は中程度の明るさを示し、特定の明るさの度合いは、明るい時間のデューティ サイクルに依存します。
同じように、モーターの電源を入れたり切ったり、電源を入れたり切ったり、電源を入れたり切ったり...そして、モーターの速度を中速に維持することができます。
タイマアウトプットコンペアモジュールが PWM を出力
上の図によると、出力モード コントローラー モジュールに注目します。その入力は CNT と CCR の間のサイズの関係であり、出力は oc1ref の高レベルと低レベルです。
出力モードコントローラには多くの出力比較モードがありますが、一般的に最も一般的に使用されており、ここで紹介するのは PWM モードです。
モード 1 またはモード 2、アップ カウントまたはダウン カウントの特定の選択をコードで構成でき、これら 2 つのモードは、調整可能な周波数とデューティ サイクルで波形を出力できます。
次に、PWM の基本的な構造に注目します (この図は PWM モード 1 に対応します)。
最初に右上隅のグラフに注目します。黄色の線は ARR の値を表し、青色の線は CNT の値を表し、赤色の線は CCR の値を表します。
CNT は 0 から増加し始め、99 である ARR まで増加し、その後 0 にクリアされ、その後増加し続けます... サイクルが続きます
CCR を 30 に設定すると、青の線が赤の線より下にある場合、出力が高くなり、青の線が赤の線より上にある場合、出力が低くなり、PWM モードの実行ロジックに対応することがわかります。 1.
ここで、CCR の値を高く設定すると、ハイ レベルの時間が延長され、デューティ サイクルが増加することがわかります。2 つの例に対応する現象は、ライトが明るくなり、モーターの回転が速くなることです。
フローチャートの REF は、調整可能な周波数と調整可能なデューティ サイクルを持つ PWM 波形を指します。最後に、極性の選択と出力の有効化の後、GPIO ポートにつながります。
パラメータ計算
PWM 周波数: Freq = CK_PSC / (PSC + 1) / (ARR + 1)
PWM デューティ サイクル: デューティ = CCR / (ARR + 1)
PWM 分解能: Reso = 1 / (ARR + 1)
ここで、CK_PSC はシステム周波数 72MHz、PSC はプリスケーラ係数です。
個人的なプロジェクトの必要性のため、ここでは DC モーターとその駆動についての補足的な紹介をメモとして示します。
DCモーターとその駆動
モーター(左)
駆動回路(右)
- DC モーターには 2 つの極があり、極をプラスに接続するとモーターは正転し、逆にするとモーターは逆回転します。
- DCモーターはハイパワーデバイスであり、GPIOポートを直接駆動することはできないため、駆動回路で動作させる必要があります
- テーブルを確認して、モーターを正転または逆転に制御します