1、将脉冲型风速传感器的信号线接入Arduino的数字I/O引脚;
2、把拆没传感器的电源引脚接入Arduino的5V或3.3V电源线;
3、把传感器的地线接入Arduino的GND。
二、软件编程:
1、定义一个int变量用于记录脉冲数:int pulseCount
2、在Arduino setup函数中,将脉冲型风速传感器信号线连接的I/O端口设置为外部中断:attachInterrupt(digitalPinToInterrupt(sensorPin),pulseCounter,RISING)
3、定义一个脉冲计数函数:void pulseCounter()
{
pulseCount++
}
4、在Arduino loop函数旅郑纳中,每隔丛培一段时间(如1秒)计算风速:
float windSpeed = pulseCount/1 //1表示每秒计算一次风速
pulseCount = 0 //每次计算完成后脉冲计数清零
以上就是关于如何编写程序来测量脉冲型风速传感器的步骤。
原理:分别用脉冲的上升沿和下降沿出发单片机,下降沿给出中断2停止计数,最后换算出高电平宽度=计数周期数×一个计数的时间。
脉冲有间隔性的特征,因此我们可以把脉冲作为一种信号。脉冲信号的定义由此产迹逗乎生:
相对于连续信号(在整个信号周期内短时间中都有的信号),大部分脉冲信号周期内是没有信号的。就象人的脉搏一样。脉冲信号一般指数字信号,它已经是一个周期内有一半时间(甚至更长时间)有信姿悉号。计算机内的信号就是脉冲信号,又叫数字信号。
最大脉宽计算:知道计数器中断的产生是从全1变为全0产生溢出中断,所以计数器的处置设定为00H,如果让其工作在方式1计数下,最大计数值为2^16=65536,那么最大计数脉冲宽度就是65536*2us。
扩展资料:
脉宽由信号的周期和占空比确定,其计算公式是脉宽W=T×P(T:周期,P:占空比)。例如在飞思卡尔的S12dg128寄存器中的具体的
占空比计算方式是:
左对齐方式:
占空比=[(PWMPERx-PWMDTYx)/PWMPERx]×100%
中心对齐方式:
占空比=[PWMDTYx/PWMPERx]×100%
周期的计算公式:
左对齐方式:
输出周期=通道周期×PWMPERx
中心对齐方式:
输出周期=通道周期×PWMPERx×2
脉宽的计算方法就不言而喻了。
参考资料来源:百度百科-脉冲宽度
参考资料来源:百度指缓百科-脉冲
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)