Arduinoを使用した周波数とデューティサイクルの測定
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
Arduinoにはいくつかのアプリケーションがあります。その用途は、さまざまな分野や分野で見られるかもしれません。また、測定分野で、電気量(電圧、電流、電力など)または物理量(温度、湿度、光強度、湿度など)または電子部品の値などを測定するために使用できます。
与えられた記事は、arduinoを使用してパルスの周波数とデューティサイクルを測定する方法を示しています。周波数測定は、非常に多くの異なるアプリケーションで必要です。通信分野では、周波数測定が最も重要です。デューティサイクルは、パルス幅の%を与えるため、測定する重要なパラメータでもあります。これは、パルスのオン時間を意味します。 DCモーターの速度制御とサーボモーターの角度制御では、パルスの幅を測定する必要があります。また、パルス幅は、デジタル信号受信機、リピーターなどの一部のアプリケーションでパルスの対称性をチェックするために測定されます。そこで、arduinoを使用してパルスの周波数とデューティサイクルを測定する方法を見てみましょう。特定のプロジェクトでは、arduinoはパルスの周波数、オン時間、オフ時間、およびデューティサイクルを測定し、それらを16x4LCDに表示します
<図>
説明:
上の図に示すように、回路には(1)arduino UNO開発ボードと(2)16x4LCDディスプレイの2つの主要コンポーネントしかありません
・パルスは、arduinoのデジタルピン7への入力として直接与えられます
・LCDのRsピンとEnピンは、それぞれarduinoボードのデジタルピン9と8に接続されています。 Rwピンはアースに接続されています
・最後の4つのデータピンD4〜D7は、arduinoピン10、11、12、および13に接続されています
・バックライトLEDのアノードピン(ピン15)とLCDのVccピン(2)には、arduinoボードを介して5Vの電源が供給されます
・バックライトLEDのカソード(ピン16)とVssピン(1)がアースに接続されています
・One1 KポットはVeeピンに接続され、LCDコントラを変化させます
回路操作:
・arduinoボードがUSB経由で供給されると、LCDに「 freq:」として4つのパラメータが表示されます。 トン: Toff: 職務: 「示されているように各行に
・パルスがピン7に供給されると、arduinoは最初にパルスがハイになるのを待ちます。ハイになると、パルスがハイのままである時間(マイクロ秒単位)を計算します。これはトンタイム
・次に、パルスが低いままである期間(マイクロ秒単位)を計算しました。これはToff時間です
・次に、これら2つの時間間隔を追加して、合計時間を取得します–平均期間
・合計時間から、arduinoは頻度を次のように計算します
頻度=1 /時間
・そしてTonとToffから、義務を次のように計算します
デューティ=トン/(トン+トフ)
・次に、4つのパラメータすべてをLCDに表示します
・再び1秒後、同じ手順を繰り返します
・したがって、パルスの周波数とデューティサイクルの変化を継続的に測定します
コード
- 周波数とデューティサイクルを測定してLCDに表示するプログラム
周波数とデューティサイクルを測定してLCDに表示するプログラム C / C ++
周波数とデューティサイクルを測定し、LCDに表示します#includeLiquidCrystal lcd(8、9、10、11、12、13); #define pulse_ip 7int ontime、offtime、duty; float freq、period; void setup(){pinMode(pulse_ip、INPUT); lcd.begin(16、4); lcd.clear(); lcd.print( "Freq:"); lcd.setCursor(0,1); lcd.print( "Ton:"); lcd.setCursor(0,2); lcd.print( "Toff:"); lcd.setCursor(0,3); lcd.print( "Duty:"); } void loop(){ontime =pulseIn(pulse_ip、HIGH);オフタイム=pulseIn(pulse_ip、LOW);期間=オンタイム+オフタイム; freq =1000000.0 / period;義務=(オンタイム/期間)* 100; lcd.setCursor(4,1); lcd.print(ontime); lcd.print( "us"); lcd.setCursor(5,2); lcd.print(offtime); lcd.print( "us"); lcd.setCursor(5,0); lcd.print(freq); lcd.print( "Hz"); lcd.setCursor(6,3); lcd.print(duty); lcd.print( '%'); delay(1000);}
回路図
回路はArduinoを使用してパルスの周波数とデューティサイクルを測定します 製造プロセス
- 周波数と位相の測定
- PythonでArduinoとRFIDを使用した出席システム
- Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
- Arduinoとスマートフォンを使用したDIY電圧計
- IOT-ESP8266、Arduino、超音波センサーを使用したスマートジャー
- Arduinoを使用した周波数とデューティサイクルの測定
- FirmataとXboxOneControllerを使用してArduinoRoverを制御する
- Arduinoを使用して地球の質量を測定する方法
- arduinoを使用したソナーと処理IDEでの表示
- BoltとArduinoを使用したLEDの明るさの制御
- ArduinoとProcessingIDEを使用してコンパスを作成する方法