欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 使用HC32F460單片機讀取K型熱電偶程序@YUJINQU [打印本頁]

作者: 余金渠    時間: 2022-4-4 16:14
標題: 使用HC32F460單片機讀取K型熱電偶程序@YUJINQU
本帖最后由 余金渠 于 2022-4-10 17:46 編輯

這篇是上一篇的續篇關于程序介紹下篇是實踐篇所有代碼都以GPL3協議分享HC官方的代碼不在此協議范圍請遵守HC官方協議在此聲明!!!
這個周末寫了2個庫分別是NTC K型熱電偶(帶補償)硬件在上篇有介紹代碼和硬件有較大的聯系主要是NTC和放大電路。

主要文件如果需要移植到其它芯片也是非常簡單的溫度范圍-269~1209CODE大概需要6KB如果有需要可以裁剪比如負溫度就可以裁剪掉再調整TMin這個值

如何使用
STEP 1
先將上面兩個庫添加到你的工程
STEP 2
分別完成這4個函數的移植注意

NTC電阻的電路是這種如果不是這樣連接請重新書寫

具體推導請看

STEP 3
獲取溫度T

這段函數參數是實際電壓除X10是因為放大器放大倍數是100再加上要轉化為V單位所以要X10


這里的Uvref是模擬電路電源和參考電電壓的電壓如果參考電壓和模擬電源電源不一樣需要更改程序但需要遵守GPL3
NTC推導.c
  1. #define ADCtoVoltage (Uvref/4095)
  2. Untc / U10k = Rntc / 10K
  3. ADCntc*ADCtoVoltage / ADC10K*ADCtoVoltage = Rntc / 10000

  4. ADCntc*ADCtoVoltage                Rntc
  5. -------------------  =  -----
  6. ADC10K*ADCtoVoltage                10000

  7. Rntc*ADC10K*ADCtoVoltage = ADCntc*ADCtoVoltage*10000

  8. Rntc*ADC10K = ADCntc*10000

  9.                 ADCntc*10000
  10. Rntc =  ------------
  11.                    ADC10K
  12.                   
  13.                 ADCntc*10000
  14. Rntc =  ---------------
  15.                 ADCUvref - ADCntc
復制代碼


這邊模擬實驗一切正常我們還可以看到由于FPU的開啟我們的浮點運算全部使用了F32的指令,如何開啟可以看我以往的文章。

單片機代碼下載: HC32F460工程模板.7z (305.17 KB, 下載次數: 32)

HC32F460ADC工程.zip

601.56 KB, 下載次數: 39, 下載積分: 黑幣 -5

本周實在是沒空了下周再測工程編譯沒有問題(已更新測試完成程序)

HC32F460增加了運算放大器補償.zip

601.61 KB, 下載次數: 50, 下載積分: 黑幣 -5

增加了關于運算放大器實際輸入和理論不符問題修復


作者: 余金渠    時間: 2022-4-5 12:30
抽空測試了一下移植的程序能夠正常使用大家放心使用!!!
測試環境&硬件

調試界面
我只開通了ADCI_IN0和IN1由于IN1是懸空的所以數據亂跳
IN0接了個電位器模擬放大器輸入(由于PCB還沒到)
下面是3張圖


作者: 余金渠    時間: 2022-4-10 17:29
本帖最后由 余金渠 于 2022-4-10 17:50 編輯

在本周的測試中,PCB到了我也焊接了電路(運放的電源電壓不能超過5.5V),發現實際放大出來的電壓和實際測量的電壓差了0.5mv*100也就是實際輸入電壓少了0.5mv(這里假設測量儀器是沒有誤差)。實驗可以排除的是這和冷端無關。我懷疑是運算放大器的問題于是我換了其它型號的放大器(并且這兩個運放的參數是有極大不同的)同樣也差了0.5mv,于是我開始懷疑是測量儀器的問題。如果是儀器誤差那么放大輸出也應該只差0.5mv但是卻差了0.5v*100,在此我只能歸結于運放本身的問題。如果有大佬看到這個評論并知道原因麻煩回復一下。最后只能在程序當中進行補償了。
作者: Hephaestus    時間: 2022-4-10 19:28
余金渠 發表于 2022-4-10 17:29
在本周的測試中,PCB到了我也焊接了電路(運放的電源電壓不能超過5.5V),發現實際放大出來的電壓和實際測量 ...

那么你用的是什么運算放大器?
作者: univers    時間: 2022-4-10 21:03
有硬件電路圖嘛?
作者: 人工置頂員    時間: 2022-4-11 14:59
頂一下
作者: 人工置頂員    時間: 2022-4-12 22:43
頂一下
作者: 余金渠    時間: 2022-5-1 10:34
Hephaestus 發表于 2022-4-10 19:28
那么你用的是什么運算放大器?

我學習了一下《op放大器電路設計》感覺是零點有漂移的問題放大器2元一個我也懶的翻型號了
作者: 余金渠    時間: 2022-5-1 10:36
univers 發表于 2022-4-10 21:03
有硬件電路圖嘛?

http://m.raoushi.com/bbs/dpj-218627-1.html (KICAD軟件)
作者: 余金渠    時間: 2022-5-1 10:47
五一小長假測試了一下代碼下面是兩張圖給大家參考
javascript:;
javascript:;

RAHN2O3VCK@EXLY%%Q1VQ]3.png (482.54 KB, 下載次數: 169)

RAHN2O3VCK@EXLY%%Q1VQ]3.png

5TCR[)J2F@CAY4]4)L9$~@T.png (479.6 KB, 下載次數: 173)

5TCR[)J2F@CAY4]4)L9$~@T.png

作者: yayayunyun    時間: 2022-5-16 18:07
熱電偶和熱電阻是一碼事嗎?你是不是題目標錯了

作者: n0si9na1    時間: 2022-11-7 13:13
感謝分享,還沒接觸過這款MCU,先看看K型熱電偶是如何處理的
作者: 弓長張    時間: 2024-1-19 14:56
首先感謝分享,用了一下樓主的熱電偶部分的程序,使用過程中發現問題;
作者: 弓長張    時間: 2024-1-19 15:11
問題可以說有點嚴重(對我來說),熱電偶查表程序有問題,也很慶幸當天就出現了這個情況。當感溫端熱電勢+冷端補償電勢的值處于第N個 與 第N+9個數之間程序正常運行,當值>第N*10+9   <(N+1)*10之間后 返回值0,數據處于該位置時條件判斷不滿足。

51hei截圖_20240119151058.png (221.37 KB, 下載次數: 105)

51hei截圖_20240119151058.png

作者: 弓長張    時間: 2024-1-19 16:19
附解決辦法(二分法查表)

51hei截圖_20240119161903.png (76.19 KB, 下載次數: 102)

51hei截圖_20240119161903.png





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1