嘉立创产业服务站群
发作品签到
专业版

风向传感器(基于KTH5701角度检测)

工程标签

1.3k
0
0
3

简介

基于3D线性霍尔KTH5701检测风向,将径向充磁的磁铁固定在风向杆上,通过5701检测磁铁的角度从而换算成风向。

简介:基于3D线性霍尔KTH5701检测风向,将径向充磁的磁铁固定在风向杆上,通过5701检测磁铁的角度从而换算成风向。

开源协议

Public Domain

创建时间:2023-05-23 08:10:38更新时间:2023-07-03 06:33:45

描述

一、测试原理

    KTH5701是昆泰芯微电子研发的一款3D线性霍尔传感器。通过检测XYZ三轴磁场值,可以任意两两组合通过芯片内部CORDIC算法直接输出角度,且内部集成离轴校准以及温度补偿等功能,可以用来检测旋转角度。将径向充磁的磁铁固定在风向杆上,通过5701检测磁铁的位置就可以换算成相应的风向。

 

二、电路框图三、电路功能介绍

1、角度检测部分

     KTH5701 是一款数字输出的3D霍尔芯片,内部分别集成了X轴、Y轴和Z轴三个独立的霍尔传感器。信号链采用高精度运放通过 16 bit ADC 将模拟信号转换成数字输出。外部主机可以采用SPII2C两种模式读出测量数据。此外,在芯片内部集成了一个温度传感器用于磁场的温度补偿。KTH5701支持持续感应模式、唤醒睡眠模式和单次测量模式等多种工作模式,适用于不同的应用场景。BUTT_OUT管脚用于检测磁铁与芯片之间的按键功能, 并且也可以配置为 Trigger 模式,触发单次测量。同时,KTH5701集成了CORDIC算法,支持平面的角度输出(XY平面、XZ平面、YZ平面)。增加幅值修调寄存器,极大方便了在轴、离轴两种常见的旋钮应用场景。支持所选平面对应的磁场阈值检测(XY平面、XZ平面、YZ平面),同一芯片能同时进行旋钮、按键两种场景的检测。此产品具有高集成度和运用灵活的特点,广泛适用于各种应用场景。 

   

2、电源部分

    XL2009是开关降压型 DC-DC 转换芯片,支持DC8V~36V宽电压输入。输入固定开关频率 180KHz,可减小外部元器件尺寸,方便 EMC设计。芯片具有出色的线性调整率与负载调整率,输出电压支持 1.25V~32V 间任意调节。芯片内部集成过流保护、过温保护、短路保护等可靠性模块。

    并在电源输入端增加自恢复保险丝、TVS、以及反向保护的二极管,用以保护电路防止浪涌。    隔离电源部分采用金升阳的DCDC隔离芯片用以区分数字和模拟部分,进一步保护主控和5701。

3、通信部分

    通信部分采用通信隔离芯片ADUM1210 + MAX13487将单片机的TTL电平转换成485信号。并在485芯片输出引脚上增加TVS和自恢复保险丝。

4、主控部分

    主控部分采用STC单片机,用P3^7作为系统复位按键,长按5S后系统参数恢复出厂设置。

四、KTH5701参数配置

    现在结构采用的是在轴安装方式,所以采用XY轴测量角度输出。测量模式配置成持续感应模式,芯片每完成一次测量会拉高INT脚,单片机进入中断后读取数据后,INT脚会被置低。相关寄存器说明查阅规格书P26~35说明。


 

   寄存器0x1C:

    AplaneSel:设置成00,芯片输出XY平面磁场角度值。

    magnOsr:磁场测量的ADC过采样率,这里设置成11,采样点数为256。

    gain:增益控制寄存器哦,默认设置成0110。

    digCtrl:数字滤波器。这里设置成111。

 

    寄存器0x1D:

    measTime:持续感应模式或唤醒睡眠模式事,每两次测量之间的间歇等待时长。20mS/LSB,这里设置成0x16.结合连续测量时的XY的测量时间,大概完成一个测量周期需要500mS。

    寄存器0x1E:

    angMagnSel:输出方式设置位,=1,设置成角度输出模式。

    Zero:设置零点角度值。这个后面校准的时候再介绍如何使用。

 

    5701工作流程:寄存器初始化 -->  设置连续工作模式 --> 进入测量中断 --> 读取测量数据

   

    INT引脚,主机向芯片发送持续感应模式或单次测量命令,芯片完成一次对应测量项的测量后,INT 脚会置 1,并且在芯片发送读取命令,读回测量数据以前,都保持为 1 

    在读或写寄存器的时候,务必将芯片设置成IDLE模式。只有在IDLE模式下才可以读写寄存器。

五、通信协议

          本案例采用RS485、Modbus_RTU通信协议。默认波特率9600、无校验,默认地址0x01,设置范围0x01~0xFF。

1、通信格式

    支持Modbus协议的保存寄存器(读写),协议帧数据遵循ModBus帧格式的命令格式,采用如下功能码:

    对应的错误返回:在对应功能码基础上加0x80.

2、保持寄存器

3、指令详解

  使用地址00查询寄存器时,只允许总线上有且仅有一个设备,否则会出现通信异常。

(1)查询当前角度值

发送:

接收:

读取的数据DATA = 0x4000 ,换算成10进制是16384,根据角度计算公式,角度 = 16384/65536*360 = 90°

 

(2)将当前角度设置成零点

例如当前角度值为16384,则发送16384即可.

发送:

接收:

六、成品展示

 

 

 

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
KTH5701AQ1_产品手册.pdf
38
2
KTH5702AQ1_产品手册.pdf
28
3
程序部分.zip
59
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航