亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

基于Arduino UNO的精准频率与占空比测量

元器件与物料

必需工具与设备

应用与在线服务

项目简介

Arduino应用广泛,涉足测量领域:电量(电压、电流、功率等)、物理量(温度、湿度、光照强度、湿度等)、电子元件参数等。

本文演示如何利用Arduino测量脉冲频率与占空比。频率测量在通信领域至关重要。占空比亦为关键参数,反映脉冲宽度占比——即脉冲导通时间。直流电机调速、舵机角度控制需测量脉冲宽度;数字信号接收机、中继器等应用需检查脉冲对称性亦需测量脉冲宽度。下面看如何用Arduino测量脉冲频率与占空比。本项目中,Arduino测量频率、导通时间、关断时间与占空比,并在16×4 LCD显示。

电路说明:

电路仅含两大元件:(1) Arduino UNO开发板 (2) 16×4 LCD显示屏

电路工作原理:

代码

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
#define pulse_ip 7
int 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);
  offtime = pulseIn(pulse_ip, LOW);
  period = ontime + offtime;
  freq = 1000000.0 / period;
  duty = (ontime / 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. 基于 Arduino 与 Python 的可靠 RFID 考勤系统
  2. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  3. Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
  4. 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
  5. 基于Arduino UNO的精准频率与占空比测量
  6. Firmata + Xbox 手柄无线遥控 Arduino 小车:UWP 应用桥接方案
  7. 用 Arduino 测量地球质量:DIY 分步指南
  8. Arduino 声纳实时测距与 Processing 可视化
  9. Bolt IoT + Arduino UNO 实现 6 路 LED 无级调光
  10. DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
  11. Arduino 实时数字罗盘:HMC5883L + Processing 可视化教程
  12. 交流电力系统频率与相位测量