PWMをきちんと理解できた(ような気がする)

真の意味でPR2、Dutyを理解できていなかった

Timer2はカウントを刻むもの

PR2はTimer2が刻むカウントの最大値を決めるもの

DutyはONとOFFの割合を決めるもの

みたいな感覚で思っていました。

やっと掴めたPR2値とDuty値

しかしChatGPTにしつこく質問され、

理解できていないところがバレてしまい、

そこの修正をしてもらい、

を繰り返すことで、

頭の中で

を描くことができました。

文字での説明としては、

Timer2が0からPR2までカウントアップしていく中で、

Duty値に到達するまではON、

Duty値からPR2まではOFFと切り替えます。

それを繰り返す。

 

■感覚的に言うと

PR値が大きければ大きいほど、細かく刻める(上の図で言うと歩幅が小さい)。

つまり分解能が高い。

PR2が大きすぎると、1周期の幅が大きくなる。

つまり周波数は下がる(1秒間にカウントできる0~PR2までの回数が減る)。

 

■厳密に言うと

● PR2が大きい → Timer2の1周期が長くなる

● その1周期の中をDutyで分割する

● だから刻める段階が増える

  PWMの分解能は

  4 × (PR2 + 1)

で決まる。

 

 

トレードオフの関係性が成り立ってます。

ここまで理解できるのに随分とかかってしまいましたが、

嫌な顔(?)ひとつせずに付き合ってくれるチャッピー(ChatGPT)には、

感謝です。

 

次はDutyの内部構造である

CCPR1L と CCP1CON<5:4>

をちゃんと理解したい。

コメント

タイトルとURLをコピーしました