PWM方式を使用して生成する正弦波

M

Maverickmax

Guest
こんにちはこれまでのところ私は、正弦波ルックアップテーブルを生成するために理解しています。今私はどのように正弦波を生成するためのPWMを持つテーブルを使用するアルゴリズムを作成するために知っておく必要があります。何か良いチュートリアルや私は、このエリアに私の理解を開発するためのリンク?マーベリックマックス
 
マーベリックMaxは、PWM周期は、多くの正弦波の周期よりも短くする必要があります。のは、例えば、言わせて、PWM周期は256カウントされ、正弦波にわたって36のPWM周期があります(各PWM周期は2 * pi/36ラジアンまたは10度です)。レッツは、ゼロの値で、我々は50%のPWM周期を使用しているという。負は0%であり、ポジティブなものは100%です。各PWM期間について、あなたのデューティサイクルがどうあるべきかを決定する正弦波テーブルを使用します。のPWM = 50%の罪(0)の場合、カウント= 128。あなたの出力だから罪のためには、sin(2 * pi/36)と、PWM = 59%、カウント= 151、(2 *π* 2 / 36)は、PWM = 67%、カウント= 171、等については、128の高さ正弦波の期間中128、151、高、低256から151 = 105、高171、低85、低など。基本的には、あなたがすべてのテーブル内の適切な値にカウンタを比較することです。比較の結果は、出力の状態を生成します。
 
avrのMCUのやあ、PFAのapllicationノートでは、PWMを使用したDTMF生成します。これはどのように正弦波usin PWMを生成するように指示する必要があります。
 
[引用= jonw0224] PWM周期は、多くの正弦波の周期よりも短くする必要がありますマーベリック最大。のは、例えば、言わせて、PWM周期は256カウントされ、正弦波にわたって36のPWM周期があります(各PWM周期は2 * pi/36ラジアンまたは10度です)。レッツは、ゼロの値で、我々は50%のPWM周期を使用しているという。負は0%であり、ポジティブなものは100%です。各PWM期間について、あなたのデューティサイクルがどうあるべきかを決定する正弦波テーブルを使用します。のPWM = 50%の罪(0)の場合、カウント= 128。あなたの出力だから罪のためには、sin(2 * pi/36)と、PWM = 59%、カウント= 151、(2 *π* 2 / 36)は、PWM = 67%、カウント= 171、等については、128の高さ正弦波の期間中128、151、高、低256から151 = 105、高171、低85、低など。基本的には、あなたがすべてのテーブル内の適切な値にカウンタを比較することです。比較の結果は、出力の状態を生成します。[/引用]元気を私にいくつかのアイデアを与えて...どう5kHzのようなPWM周波数の使用およびfCLKは40MHzですが500Hzのを生成しますか?私はこれをdetemineにforumlaが必要ですか?マーベリックマックス
 
jonw0224各PWMパルスのための256カウント当該には、必要があります。あなたの例でF(clkに)= F(PWM)の* 256:F(CLK)を= 5000 * 256は、このF(CLK)を生成する分周器を使用することができます。
 
私が管理しているこんにちはので、どのように正弦波を生成するために理解してください。今私はどのように変化する周波数(回転速度)を知る必要があります。誰がどのようにそれを行うには知っていますか?マーベリック最大
 
、またはあなたのPWM周期を変更することができます(より好ましい)は、正弦波周期ごとにPWM周期の数を変更することができます。
 
あなたは私は、可変周波数を実装するための任意の例をお持ちですか?マーベリックマックス
 
あなたはLM555などのコンにクロックソースを使用することができます
 
実際にイムは、ソフトウェアに興味を持って... Maverickmax
 

Welcome to EDABoard.com

Sponsor

Back
Top