加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 01 IO口測(cè)量電阻
    • ※ 總??結(jié) ※
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

單片機(jī)IO口測(cè)量外部電阻

2023/11/20
3828
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

01 IO口測(cè)量電阻

一、前言

在以前的有些單片機(jī)應(yīng)用中,有的時(shí)候會(huì)遇到 AD 端口資源不夠用的情況,但又需要測(cè)量電阻的大小。比如一個(gè)熱敏電阻的阻值。有人給出了一個(gè)利用兩個(gè) IO 端口完成電阻精確測(cè)量的一個(gè)老的方法。下面通過(guò)實(shí)驗(yàn)來(lái)測(cè)試一下這個(gè)古老的 IO 端口測(cè)量電阻的方法。

▲ 圖1.1.1 單片機(jī)實(shí)驗(yàn)電路板

二、測(cè)量原理

測(cè)量原理比較簡(jiǎn)單。使用兩個(gè)單片機(jī)IO口,連接兩個(gè)電阻,向同一個(gè)電容充電。設(shè)置一個(gè)IO口為輸出端口,另一個(gè)為輸入端口。輸出端口通過(guò)連接的電阻向電容充電。電容上的電壓上升,當(dāng)超過(guò)一定閾值,輸入端口邏輯電平就會(huì)變成1。這個(gè)充電時(shí)間與 終止電壓、閾值電壓以及 RC對(duì)應(yīng)的時(shí)間常數(shù)有關(guān)系。具體數(shù)值由這個(gè)公式?jīng)Q定。這個(gè)過(guò)程再測(cè)量一遍。對(duì)應(yīng)的時(shí)間與R2成正比。因此,兩次時(shí)間的比值,就等于電阻的比值。如果已知其中一個(gè)電阻阻值,另外一個(gè)電阻便可以根據(jù)時(shí)間比值計(jì)算出來(lái)。這就是IO口測(cè)量電阻的基本原理。

三、實(shí)驗(yàn)結(jié)果

1、端口閾值電壓

這是 STM32F030K6 單片機(jī),給它端口 PF0 施加一個(gè)三角波。程序循環(huán)查詢(xún)輸入邏輯電平,并在 PF1 輸出反向邏輯。可以看到單片機(jī)對(duì)輸入信號(hào)進(jìn)行了離散化。上升和下降具有一定的回滯特性?;販妷捍蠹s是 200mV。

▲ 圖1.3.1 單片機(jī)端口的閾值電壓

2、測(cè)量元器件

下面利用F030 單片機(jī)的 PF0, PF1 兩個(gè)管腳,來(lái)測(cè)量電阻。測(cè)試一下這種方式測(cè)量的精度。

實(shí)驗(yàn)中需要一個(gè)電容和兩個(gè)電阻。電容容值為 313.8nF,電阻1 的阻值為 19.545kΩ;?電阻2的阻值為 4.718kΩ。將它們安裝在面包板上進(jìn)行測(cè)試。

● ?電路器件參數(shù):
電容C:313.8nF
電阻R1:19.545k
電阻R2:4.718k

電容一端接地,另外一端與兩個(gè)電阻相連。兩個(gè)電阻分別與單片機(jī)的 PF0,PF1 端口相連。下面對(duì)單片機(jī)進(jìn)行軟件編程。利用其中的定時(shí)器作為時(shí)標(biāo),對(duì)延遲計(jì)時(shí)。

PF0管腳連接R2,PF1連接R1。設(shè)置PF0 為輸出端口,PF1 為輸入端口。周期改變PF0高低電平。分別測(cè)量 PF0,以及電容上的電壓信號(hào)??梢钥吹诫娙萆系碾妷撼尸F(xiàn)充電曲線(xiàn)。時(shí)間常數(shù)大約為 1.5ms。根據(jù)已知器件數(shù)值,可以看到與測(cè)量的結(jié)果是相符合的。

這是電阻2對(duì)電容的充放電曲線(xiàn)。下面測(cè)量電阻1對(duì)電容的充放電過(guò)程。由于電阻1的阻值為20k歐姆,所以對(duì)應(yīng)的充放電過(guò)程就比較慢,時(shí)間常數(shù)大約是 R2對(duì)應(yīng)的時(shí)間常數(shù)的4倍。為 6.3ms。在測(cè)量過(guò)程中,兩個(gè)端口同時(shí)對(duì)電容進(jìn)行放電。放電時(shí)間取20ms。

3、測(cè)量單片機(jī)軟件

測(cè)量軟件先將 PF0,PF1 輸出 0 電平,對(duì)于電容進(jìn)行放電。然后將其中一個(gè)設(shè)置為輸入端口,另外一個(gè)置為高電平,對(duì)電容充電。同時(shí)啟動(dòng)定時(shí)器1進(jìn)行計(jì)時(shí)。在此過(guò)程中,監(jiān)視輸入端口邏輯電平是否為 1。當(dāng)輸入端口變?yōu)?時(shí),停止定時(shí)器,并讀取時(shí)間。然后再進(jìn)行放電,更換另外一個(gè)端口為輸入端口。測(cè)試充電時(shí)間。這是測(cè)量 PF0 和 電容上電壓信號(hào)。可以看到兩個(gè)充放電過(guò)程。黃色曲線(xiàn)是 PF0電壓信號(hào),青色是電容上的充放電電壓信號(hào)。這是 PF0 作為輸出端口,PF1作為輸入端口時(shí)的測(cè)量過(guò)程。這兩個(gè)充電時(shí)間與電阻成正比。

▲ 圖1.3.2 測(cè)量電壓波形

??這是給出的測(cè)量結(jié)果,第一個(gè)是 電阻1 對(duì)應(yīng)的充電時(shí)間。第二個(gè)是電阻2 對(duì)應(yīng)的充電時(shí)間。它們的比值在4.1左右。根據(jù)前面測(cè)量的 R1,R2 的阻值,對(duì)應(yīng)的比值大約為 4.143. ?由此可以看到測(cè)量時(shí)間比值與電阻比值接近。

測(cè)試 298 個(gè)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。數(shù)據(jù)的平均值為 4.119,標(biāo)準(zhǔn)方差為 0.043。測(cè)量平均值比實(shí)際電阻比值 4.143 小了 0.6% 左右。

● ?數(shù)據(jù)統(tǒng)計(jì)結(jié)果:
測(cè)量次數(shù):298
平均值:4.119
標(biāo)準(zhǔn)方差:0.043

※ 總??結(jié) ※

本文測(cè)試了利用單片機(jī) IO 口測(cè)量電阻的方法。單片機(jī)平臺(tái)是 STM32F030K6。測(cè)量得到的電阻充放電比值 比 電阻值的比值小了 0.6%左右。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
74HC00D 1 Nexperia NAND Gate

ECAD模型

下載ECAD模型
$0.81 查看
SN74LVC1G08DCKR 1 Rochester Electronics LLC AND Gate,
$0.23 查看
AS6C2016-55ZIN 1 Alliance Memory Inc Standard SRAM, 128KX16, 55ns, CMOS, PDSO44, 0.400 INCH, GREEN, TSOP2-44

ECAD模型

下載ECAD模型
$2.76 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號(hào)TsinghuaJoking主筆。清華大學(xué)自動(dòng)化系教師,研究興趣范圍包括自動(dòng)控制、智能信息處理、嵌入式電子系統(tǒng)等。全國(guó)大學(xué)生智能汽車(chē)競(jìng)賽秘書(shū)處主任,技術(shù)組組長(zhǎng),網(wǎng)稱(chēng)“卓大大”。