找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 757|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

問一下stc8g關(guān)于AD口的模式配置

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:874002 發(fā)表于 2025-2-17 16:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在芯片手冊里講到要配置為高阻輸入,但我還發(fā)現(xiàn)在IO口那一章講到,配置為高阻輸入有個(gè)施密特觸發(fā)器可以防止干擾信號(hào),并且這個(gè)施密特觸發(fā)器我看寄存器說明上電復(fù)位是默認(rèn)使能的,但是我了解到如果IO口用作ADC時(shí)不建議使能這個(gè)施密特觸發(fā)器,在我的實(shí)驗(yàn)中一開始沒有意識(shí)到這個(gè)問題,我去采一個(gè)正弦波時(shí)假如1ms采一次20ms20次一個(gè)周期取平均值,我發(fā)現(xiàn)可以正常表示一個(gè)周期的平均值,但是如果我去找其中細(xì)節(jié)比如這20次里面的最大值和最小值時(shí),發(fā)現(xiàn)并不是每次都能得到理想的理論值的,是不是關(guān)掉施密特觸發(fā),能夠解決這個(gè)問題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:592807 發(fā)表于 2025-2-17 19:49 | 只看該作者
你要采集最大值和最小值的看你的ADC電路,濾波和補(bǔ)償抗干擾弄好了嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:1034262 發(fā)表于 2025-2-18 11:15 | 只看該作者
施密特是IO數(shù)字輸入的,不是模擬輸入,所以不影響ADC的,設(shè)置為高阻即可。
采樣市電計(jì)算有效值,一個(gè)周期至少要采樣200個(gè)點(diǎn),我一般使用400點(diǎn),即20KHz采樣,計(jì)算電壓有效值、電流有效值、有功功率、視在功率、功率因數(shù)、電能,采樣時(shí)間為400ms,讀數(shù)會(huì)很穩(wěn)定的。
另外,最好使用STC8H或STC32G系列的12位ADC(我就是用12位的ADC),會(huì)得到很好的精度,我常用的是交流電壓280V量程、分辨率0.1V,交流電流28A、分辨率0.01A。
回復(fù)

使用道具 舉報(bào)

地板
ID:401564 發(fā)表于 2025-2-21 13:57 | 只看該作者
首先,ADC一定是有波動(dòng)的,波動(dòng)的大小一般都是5個(gè)數(shù)字量左右,在單片機(jī)ADC電氣參數(shù)中有表格的,你自己去對一下,取誤差的最大值
施密特觸發(fā)器實(shí)際上是針對數(shù)字信號(hào)的高低電平而言的,對于模擬量沒有什么影響
ADC設(shè)置直接復(fù)制STC下載器中的代碼就可以了,IO不同可以自己改一下
剩下的就是你自己代碼的濾波了
回復(fù)

使用道具 舉報(bào)

5#
ID:874002 發(fā)表于 2025-2-21 15:13 | 只看該作者
謝謝各位
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表