2017-06-29 18 views
-1

私はPWMのLEDの明るさを制御しようとしていました。 iはデューティサイクル(50%)を得た場合、私は、出力の周波数が500Hzである場合、各サイクルは2ミリ秒となり、LEDの輝度を制御するためにPWMがどのように機能しますか?

  1. 、PWMの動作方法には、いくつかの疑問を持っています。したがって、50%のデューティサイクルは、2msでLEDが点灯し、時間LEDの50%がオフ(1ms)の時間(1ms)の50%を意味しますか?

  2. I特定のデューティサイクルを作成するAnalogwrite()を使用していたが、0.04%のデューティサイクルがAnalogwrite = 1を意味し、0.8%のデューティサイクルはAnalogwriteは0.5で動作しませんなぜAnalogwrite = 2に対応します0.02%のデューティサイクルが必要な場合、どうすればよいですか?

コメント: LEDの強度を測定するためのArduinoを使用する前に、私はLEDのが接続された直流電圧を変化させることによって強度を測定しました。しかし、私は時間の経過とともに同じ電圧に対して一貫した輝度値を得ることができませんでした。私は、PWMはLEDの明るさを制御する正確な方法であるとアドバイスされました。私は一貫した価値も得ていました。それは私が、デューティ・サイクルを与えた場合の任意の提案が重く

答えて

0

1.

を理解されるであろう1未満の値をanalogwriteに対応として、しかし、私は(アルドゥイーノと0.4%のデューティ・サイクルの下に行くことができません50%)、出力の周波数が500 Hzの場合、各サイクルは2ミリ秒になります。したがって、50%のデューティサイクル は、LEDが点灯している時間の50%(1ms)、時間の50%の時間を意味します。 LEDがオフ(1ms)ですか?

これはまったく正しいです。

私= 0.8% のデューティサイクルがAnalogwriteに対応し、0.04%のデューティ サイクルAnalogwrite = 1を意味し、特定のデューティ・サイクルを作成する)(Analogwriteを使用しました。 2. Analogwriteが0.5 で動作しないのはなぜですか、または0.02%のデューティサイクルが必要な場合はどうしたらいいですか?

void analogWrite(uint8_t, int); 

値はあなたが小数値を渡すことはできません意味の整数であり、私たちを示しています。analogWriteプロトタイプを見て

。これは、8ビットタイマがバックグラウンドで使用されるため、analogWriteを使用する最小デューティサイクルが0.04%であることを意味します。 詳細については、this discussionをご覧ください。デューティサイクルを小さくする唯一の方法は、より低い分解能の16ビットタイマ1を使用することです。しかし、独自の実装を行う必要があり、他のライブラリとタイマの競合が発生する可能性があるかどうかを確認する必要があります。 PWMを実装する方法は、this articleに記載されています。

EDIT: 輝度を下げるためにLEDの前に抵抗を使用することについて考えましたか?あなたは(もちろんの最大輝度)の範囲を増加させることにより、より多くの輝度を低減することができる。このよう

+0

関数プロトタイプは制限の原因ではなく、その効果です。 – riodoro1

+0

@Fruchtzwergご意見ありがとうございます。本当に便利です。 @Fruchtzwerg。 –

+0

しかし、私は抵抗を入れて、それは電圧のrytを削減するのだろうか? LED強度は電圧に非線形に依存するため、強度を低減するための適切な方法ですか? –

0

ジョージ

= 1/256 analogWrite() 1の値= 0.0039、又は0.4%。 あなたの計算は正しいです。あなたも書いていますが、このコマンドは〜490 HzのPWM周波数を与えます。値0はポートをオフにするので、デューティ・サイクルは0.0%です。

「タイムスライス」を小さくする唯一の方法は、さまざまな設定にデフォルト値を使用する組み込みライブラリを放棄し、タイマー割り込みや独自の設定で設定されたPWMモードのいずれかを使用することです。 1/256より小さいスライスを得る唯一の方法は、Arduinoライブラリの他の関数で使用できる16ビットTimer1を使用することです。そのためには、Atmega328のデータシートに入ったり、settings on this cheatsheetのいくつかを使用しなければなりません。

+1

@ JLHコメントありがとうございます。非常に有益で有用です。 –

関連する問題