この投稿では、ArduinoベースのPWM信号発生器回路を作成する方法を詳しく調べます。この回路は、ポテンショメータまたはポットを使用して、任意のデューティサイクル比に設定または調整できます。
沿ってアンキットネギ
“スイッチモード電源の修理 ”
PWMとは何ですか?
名前自体が示すように、pwmまたはパルス幅変調は、パルスの幅の変調です。つまり、特定の期間にパルスが高または低である時間です。これにより、パルスのデューティサイクルが変化し、デューティサイクルが時間どおりに合計時間で除算されるため、最終的にパルスの平均値が決定されます。
また、周波数はpwmで非常に重要な役割を果たします。これは、安定した出力を生成するのに十分な高さである必要があります。
Pwmは、低電圧で動作するデバイスの駆動やSMPSのようなスイッチング目的など、さまざまな目的で実行されます。
ARDUINOUNOを使用したPWM
pwmは、プログラムに1行のコードを追加するだけで実行できるため、arduinoを最も単純な開発ボードにする要因の1つでもあります。 arduino UNOにはpwm用の個別のデジタルピンがあります。これは、これらのピンがpwm出力を提供できることを意味します。
arduino UNOには、14個のデジタルピンのうち3、5、6、9、10、11個の合計6個のpwmピンがあります。 pwmピンの数はarduinoボードのタイプによって異なることに注意してください。
現在、arduinoでpwmを実行する方法は2つあります。
1. 0〜255のpwmピンにアナログ値を直接割り当てる。
arduinoのデジタルピンは最大5vを提供できるため、0アナログ値は0ボルトに等しく、255は5ボルトに相当します。
これを実行するには、次のコードをプログラムに追加するだけです。
AnalogWrite(PWMピン番号、0〜255の値)
例:analogWrite(10,64)// 64アナログ値をpwmピン番号10に書き込みます。
これは次のことを意味します::( 5/255)* 64ボルト= 1.25ボルト、つまり25%のデューティサイクル。
2.arduinoのアナログピンから受け取った入力に従って値を割り当てる。
入力は、IRセンサーやポテンショメーターなどのコンポーネントから取得できます。
arduinoは、0から5ボルトに相当する0から1023までの値でアナログ入力を受け取ることに注意してください。したがって、ピンでpwmを実行するには、この入力値を0〜255の数値に同等に変換する必要があります。これは、arduinoの言語ではマッピングと呼ばれます。
これには簡単なコードがあります:
“ワイヤーは主に ”
y = map(x、0,1023:0,255)//ここで、xは入力変数です
この後、以下を使用してピンに対してpwmを実行できます。
AnalogWrite(PWMピン番号、y)//受信したマップ値をピン10に書き込みます
PWMの例:
この例では、両方の手法を学習します。このために必要なもの:
1.ポテンショメータ
2.2つのLED
3.2つの100オーム抵抗器
回路図に示すように接続します。
回路図:
コード:
int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}
使い方
提案されたArduinoPWM信号発生器プロジェクトの基本的な動作は次の段落から学ぶことができます
ピン番号9には任意のpwm値を割り当てることができますが、ピン番号は図10は、地面に対するポテンショメータの位置に応じたpwm値を与える。ピン9のこの任意の値を変更し続け、ポテンショメータを回転させて、両方のピンで異なるpwm出力を確認します。
前:Arduinoを使用した大電流モーター制御回路 次へ:2.4 GHz10チャンネルリモートコントロールスイッチ