工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduinoを使用した周波数とデューティサイクルの測定

コンポーネントと消耗品

>
Arduino UNO
× 1
英数字LCD、20 x 4
× 1

必要なツールとマシン

>
ブレッドボード、270ピン

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

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に表示します
 #include  LiquidCrystal 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を使用してパルスの周波数とデューティサイクルを測定します

製造プロセス

  1. 周波数と位相の測定
  2. PythonでArduinoとRFIDを使用した出席システム
  3. Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
  4. Arduinoとスマートフォンを使用したDIY電圧計
  5. IOT-ESP8266、Arduino、超音波センサーを使用したスマートジャー
  6. Arduinoを使用した周波数とデューティサイクルの測定
  7. FirmataとXboxOneControllerを使用してArduinoRoverを制御する
  8. Arduinoを使用して地球の質量を測定する方法
  9. arduinoを使用したソナーと処理IDEでの表示
  10. BoltとArduinoを使用したLEDの明るさの制御
  11. ArduinoとProcessingIDEを使用してコンパスを作成する方法