一、測試原理
? ? KTH5701是昆泰芯微電子研發的一款3D線性霍爾傳感器。通過檢測XYZ三軸磁場值,可以任意兩兩組合通過芯片內部CORDIC算法直接輸出角度,且內部集成離軸校準以及溫度補償等功能,可以用來檢測旋轉角度。將徑向充磁的磁鐵固定在風向桿上,通過5701檢測磁鐵的位置就可以換算成相應的風向。
?
二、電路框圖三、電路功能介紹
1、角度檢測部分
? ? ?KTH5701 是一款數字輸出的3D霍爾芯片,內部分別集成了X軸、Y軸和Z軸三個獨立的霍爾傳感器。信號鏈采用高精度運放通過 16 bit ADC 將模擬信號轉換成數字輸出。外部主機可以采用SPI或I2C兩種模式讀出測量數據。此外,在芯片內部集成了一個溫度傳感器用于磁場的溫度補償。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即可.
發送:
接收:
六、成品展示
?
?
?
?
?
?
!注意:請使用瀏覽器自帶下載,迅雷等下載軟件可能無法下載到有效資源。
歡迎加入EEWorld參考設計群,也許能碰到搞同一個設計的小伙伴,群聊設計經驗和難點。 入群方式:微信搜索“helloeeworld”或者掃描二維碼,備注:參考設計,即可被拉入群。 另外,如您在下載此設計遇到問題,也可以微信添加“helloeeworld”及時溝通。
EEWorld Datasheet 技術支持