微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的风速风向检测系统设计

基于单片机的风速风向检测系统设计

时间:03-01 来源:互联网 点击:

0 0 0 米, 数据输入接M A X 4 8 5 的A 、B 端输出, 并由LPC921 提供休眠控制,电源则共用系统电源模块的3.3 V 或5 V 电源。

4 软件设计

4.1 风速测量程序设计

由测风传感器资料可知,V= 0.1 F,其中F为传感器输入到单片机的脉冲频率。将T1做为定时器, 将T0作为计数器。T1与T0同时工作, 如果T1定时1秒, 则T0计数值即为此刻风速的10倍。由此可知最终的风速测量精度为0.1 m /s。LPC921 的两个定时计数器共有5 种工作模式,本系统选择模式1,即T0,T1 均为16 位定时器/ 计数器,THn 和TLn 级联,无预分频器。

系统选用7.373MHz 外部晶振, 在不预分频情况下, 定时计数器工作频率为:7.373/2MHz。16 位的定时器在初值为0 的情况下, 溢出一次共计时次数为6 5 5 3 5(0xFFFFH),共计时时间为17.777ms,所以在定时器中断56 次之后共计延时约1 秒。

风速测量子程序流程图如图4 所示。



图4 风速测量子程序流程图

4.2 风向测量程序设计

风向测量先测得7 位格雷码的输入, 通过7 位输入值计算出格雷码, 再通过格雷码换算成二进制码, 最后通过查表法得出风向角度。

格雷码(Gray code),又叫循环二进制码或反射二进制码。格雷码属于可靠性编码, 是一种错误最小化的编码方式, 因为, 自然二进制码可以直接由数/ 模转换器转换成模拟信号, 但某些情况, 例如从十进制的3 转换成4 时二进制码的每一位都要变, 使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点, 它是一种数字排序系统, 其中的所有相邻整数在它们的数字表示中只有一个数字不同。它在任意两个相邻的数之间转换时, 只有一个数位发生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。

表1 方位- 角度- 格雷码- 二进制码对照表



  n 位格雷码转换到n 位二进制码的逻辑关系式(B 代表二进制码,R 代表格雷码):



  在C 语言里面实现风向格雷码到二进制码转换程序如下:



  Wind_Tbl 数组里面依次存储的是二进制码对应的角度值, 该值来源于方位- 角度- 格雷码- 二进制码对照表, 该表由传感器资料提供。如表1 所示。

5 结束语

LPC921 本身自带一个全双工的串行口,使用RS485收发器可以与外部进行485 串行通信。通过编写简单通信协议,多个风速风向测量子系统都可以与PC 进行数据通信。最后在PC机上编写上位机程序, 定时或主动给下位机发送请求数据命令,下位机收到命令进行地址,命令类型和校验等检验后给上位机发送数据, 上位机收到命令后进行校验, 然后进行数据存储和显示。实践证明本系统在测量风速风向上有着较高的准确性和可靠性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top