基于Arduino UNO的精准频率与占空比测量
元器件与物料
- Arduino UNO × 1
- 字母数字LCD,20×4 × 1
必需工具与设备
- 面包板,270孔 × 1
应用与在线服务
- Arduino IDE
项目简介
Arduino应用广泛,涉足测量领域:电量(电压、电流、功率等)、物理量(温度、湿度、光照强度、湿度等)、电子元件参数等。
本文演示如何利用Arduino测量脉冲频率与占空比。频率测量在通信领域至关重要。占空比亦为关键参数,反映脉冲宽度占比——即脉冲导通时间。直流电机调速、舵机角度控制需测量脉冲宽度;数字信号接收机、中继器等应用需检查脉冲对称性亦需测量脉冲宽度。下面看如何用Arduino测量脉冲频率与占空比。本项目中,Arduino测量频率、导通时间、关断时间与占空比,并在16×4 LCD显示。
电路说明:
电路仅含两大元件:(1) Arduino UNO开发板 (2) 16×4 LCD显示屏
- 脉冲直接输入Arduino数字引脚7
- LCD的Rs、En引脚分别接Arduino数字引脚9、8;Rw接地
- 数据引脚D4-D7接Arduino引脚10、11、12、13
- LCD背光阳极(引脚15)与Vcc(引脚2)经Arduino板供5V
- 背光阴极(引脚16)与Vss(引脚1)接地
- 1K电位器接Vee引脚调节LCD对比度
电路工作原理:
- Arduino通过USB供电后,LCD四行显示“Freq:”、“Ton:”、“Toff:”、“Duty:”
- 脉冲输入引脚7时,Arduino先等待脉冲变高。变高后计算脉冲保持高电平的时间(微秒),即Ton
- 随后计算脉冲保持低电平时间(微秒),即Toff
- 将两时间相加得总周期
- 频率计算:Frequency = 1 / 周期
- 占空比计算:Duty = Ton / (Ton + Toff)
- 在LCD显示四参数
- 1秒后重复上述过程,持续监测频率与占空比变化
代码
#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
制造工艺
- 基于 Arduino 与 Python 的可靠 RFID 考勤系统
- 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
- Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
- 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
- 基于Arduino UNO的精准频率与占空比测量
- Firmata + Xbox 手柄无线遥控 Arduino 小车:UWP 应用桥接方案
- 用 Arduino 测量地球质量:DIY 分步指南
- Arduino 声纳实时测距与 Processing 可视化
- Bolt IoT + Arduino UNO 实现 6 路 LED 无级调光
- DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
- Arduino 实时数字罗盘:HMC5883L + Processing 可视化教程
- 交流电力系统频率与相位测量