HOME > natural science Laboratory > ものづくり講座 > AVRマイコン TIPS集

AVRのPWM機能とRCローパスフィルタを用いたDA変換器の設計

文責:佐瀬 一弥 (2010年12月18日) カテゴリ:AVRマイコン TIPS集(38)

ATmega168のPWM波形をローパスフィルタで高周波成分を取り除くことで簡易的なDA変換を実現する。 PWM波形の各種パラメータを下図のように定義する。 出力されるアナログ値はTD/Tpwm*5Vとなる。 TDは矢印で示す割り込みで変化させ、任意のアナログ波形を生成する。 最大5kHzの波形を生成したい、サンプリング周波数10kHz以上を目指す。


PWM波形の設計パラメータの定義

設計パラメータの決定

クロック周波数は20MHz。PWM波形のデューティ比の分解能は256(8bit)。 Tpwmはできるだけ小さくしたいので256/20M=12.8usとする。(fpwm=78.1kHz)
Tintはサンプリング周期10kHzを実現するためには、1/(10k)=100us必要である。Tint<100usを満たしTintの間に生成されるパルスの数Nを多く取り、N=7とする。このとき、Tint=7*Tpwm=89.6usとなる。(fint=11.2kHz)
ローパスフィルタのカットオフ周波数はfint < fcutoff < fpwmを満たすように、 fcutoff = 20kHzとする。
RCローパスフィルタ を用いるとし、C=0.1uFとすると、R=178Ωとなる。手に入る抵抗値からR=180Ωとすると、 fcutoff = 19.7kHzとなる。
以上まとめると、以下のようになる。

・生成したいPWM波形の各パラメータ
Tpwm=12.8us
fpwm=78.1kHz
Tint=89.6us
fint=11.2kHz
N=7

・ローパスフィルタのパラメータ
R=180Ω
C=0.1uF
fcutoff=19.7kHz

今後はこの設計値をもとに製作し、サンプリング周波数5kHzのDA変換が 実現できるかどうか検証する。



▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました