新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用8051微控制器的數字電壓表

        使用8051微控制器的數字電壓表

        作者: 時間:2023-04-04 來源:電子產品世界 收藏

        在這個項目中,我將展示如何使用設計一個,并解釋其工作原理。電壓表是一種測量儀器,用于測量電網中兩點之間的電壓差。一般來說,有兩種類型的電壓表 - 一個是模擬電壓表,另一個是

        本文引用地址:http://www.104case.com/article/202304/445266.htm

        在模擬電壓表中,指針在刻度上移動以表示電壓。在模數轉換器的幫助下,直接以數字顯示電壓。這篇文章解釋了如何用兩種方法設計數字電壓表:1)使用;2)使用IC L7017。

        Digital Voltmeter using 8051 Microcontroller and Voltage Sensor Image 1

        使用和電壓傳感器的數字電壓表 圖片1

        使用8051單片機的數字電壓表 

        這個項目測量0V到25V的輸入電壓。在這里,輸入電壓應該是直流電壓,以便在LCD上獲得準確的輸出。如果你應用交流電壓作為輸入,那么在LCD上會看到連續運行的數字,因為交流電壓不斷變化。

        這個項目的主要部件是8051,一個電壓傳感器模塊和一個ADC IC ADC0804。在這個項目中,我們使用模擬到數字的轉換過程來顯示電壓。

        模擬到數字的轉換

        在現實世界中,我們大多發現模擬數據。為了使用數字系統處理這些數據,我們需要將模擬數據轉換為數字,這樣微處理器或就能理解和處理這些數據。

        Interfacing of Physical Quantity to Digital System

        物理量與數字系統的銜接

        換能器: 換能器或傳感器用于將物理量轉換為電能。光敏電阻、溫度傳感器、濕度傳感器、氣體傳感器等都是傳感器的例子。

        ADC(模擬到數字轉換器): ADC將輸入的電氣電壓轉換為數字值。

        數字系統:該系統讀取輸入的數字數據,并在LCD上顯示物理量,以便理解。

        這里的ADC IC根據輸入的電電壓生成輸出的數字值。8051讀取這個數字值并顯示在LCD上。

        使用8051單片機的數字電壓表電路圖

        Digital Voltmeter using 8051 Microcontroller and Voltage Sensor Circuit Diagram


        AT89C51微控制器

        ADC0804集成電路

        25V電壓傳感器

        AT89C51編程板

        可變電阻(用于演示程序)

        直流適配器或電池

        使用8051單片機的數字電壓表電路設計

        在上述電路中,模數轉換器IC的數據位被連接到PORT2。LCD數據引腳連接到控制器的POTR3,控制引腳RS和EN分別連接到P1.6和P1.7。

        ADC0804  

        這是一個8位的模數轉換器。該芯片使用逐次逼近法將模擬值轉換為數字值。它只能接受一個模擬數據作為輸入。這個IC的步長是通過改變引腳9的參考電壓來改變的。如果這個引腳沒有連接,VCC將是參考電壓。

        當步長為5V時,輸入電壓每上升19.53mV,輸出就增加1個值。該芯片的轉換時間取決于時鐘源。

        ADC特點

        0到5V的模擬輸入電壓。

        內置的時鐘發生器。

        差分式模擬輸入。

        可調節的參考電壓。

        下表顯示了不同參考電壓的不同步長。

        在上面的電路圖中,第9針(Vref/2)是開放的,所以輸入電壓跨度可以是0到5V。

        步長 = Vref/(2 pow(n))

        其中n是分辨率。對于ADC0804,分辨率n=8。數字輸出可以用以下公式來計算

        Dout = Vin/stepsize。

        Vin - 模擬輸入電壓

         例如,假設模擬輸入電壓為4V,那么數字輸出為Dout=4/19.53mV=204。

        將模擬輸入轉換為數字輸入的步驟

        從PORT2讀取ADC值。

        #define dat P2

        val=dat*0.02;

        乘以100后,得到一個三位數的正整數值。

        val1=val*100;

        分開各個數字并在LCD上打印,包括小數點。

        temp=(((val1/100)%10)+48);

        display(temp);

        display('.');

        temp=(((val1/10)%10)+48);

        display(temp);

        temp=((val1%10)+48);

        display(temp);

        電壓傳感器

        電壓傳感器模塊是一個簡單的分壓器網絡,將ADC的模擬輸入范圍增加到25V左右。

        Interfacing Voltage Sensor with Arduino Voltage Sensor Pins

        將電壓傳感器與Arduino的電壓傳感器引腳連接起來

        代碼

        數字電壓表電路如何使用8051單片機工作?

        首先將程序刻錄到at89c51單片機上。

        現在按照電路圖給出連接。

        在電壓傳感器的輸入端連接一個電池或任何電壓源。

        確保最大的模擬輸入電壓應小于25V DC。

        在電壓傳感器的輸入端連接一個數字多用表。

        現在打開電路板的電源。

        現在觀察LCD和數字多用表,兩者都顯示相同的電壓(或非常相似的電壓)。

        如果可能的話,試著慢慢改變模擬輸入電壓。現在你可以觀察到萬用表和LCD顯示相同的電壓,這樣我們就可以說電壓表工作正常了。

        關閉電路板上的電源。

        Digital Voltmeter using 8051 Microcontroller and Voltage Sensor Image 2

        數字電壓表電路應用

        該系統用于測量低電壓應用中的電壓。

        用于測量玩具電池。

        我們可以用這個系統測量物理量,如溫度、濕度、氣體等,只需稍加修改。

        數字電壓表電路的局限性

        輸入的模擬電壓范圍應該是0到5V。

        使用這個系統,我們一次只能測量一個模擬輸入值。

        使用ICL7107的數字電壓表電路

        電壓表也可以在不使用任何微控制器的情況下設計。以下是使用L7017集成電路的電壓表電路

        在這里,我們設計了一個模擬數字轉換器,作為數字電壓表使用,該轉換器為低功耗的三位半A/D轉換器ICL7107,具有內部7段解碼器,顯示驅動器,參考和時鐘。

        一個優點是這個IC可以直接驅動非復用的七段顯示器,而不需要任何外部解碼電路。該電路可以在200mV到2V的范圍內測量電壓,間隔為0.001V。

        電路背后的原理

        這個電路是基于使用ICL7107作為模擬到數字轉換器的原理。整個操作分為兩個階段--模數轉換和解碼。

        模擬到數字的轉換是通過積分和參考積分的過程完成的。換句話說,首先對輸入信號進行積分,使積分器的輸出成為斜率信號,然后對一個相反極性的參考電壓進行積分,使積分器的輸出回到零。

        然后用顯示解碼器對得到的數字代碼進行解碼,以驅動顯示單元。

        使用ICL7107的數字電壓表電路圖

        Circuit Diagram of Digital Voltmeter using ICL7107

        如何設計數字電壓表電路?

        設計電路需要適當地選擇以下的元件:

        振蕩電路元件的選擇:  對于48KHz的典型振蕩頻率,振蕩電阻被選擇為100K左右,電容為100pF左右。

        參考電容: 參考電容器的值被選擇為0.1uF和1uF之間。這里我們選擇一個0.5uF的電解質電容。

        自動調零電容器: 自動調零電容器的選擇要使其值在0.01uF和1uF之間。這里我們選擇一個0.1uF的電容。

        積分電容: 積分電容構成了積分電路的一個重要部分。其值由積分周期t、最佳積分電流I和積分電壓Vint決定。對于83mSec的時間周期,4uA的電流和2V的電壓,電容的價值被認為是大約0.16uF。這里選擇一個0.22uF的電容。

        積分電阻: 這個電阻的值是由滿刻度模擬輸入電壓和最佳積分電流決定的。我們選擇一個500K的電阻,滿刻度的輸入電壓為2V。

        如何操作數字電壓表電路?

        該IC由一個+/-5V的雙電源供電。一旦電路通電,通過調整參考電阻來設置參考信號。參考電壓需要約為輸入電壓的一半。振蕩元件--電阻和電容決定了該設備的振蕩或時鐘頻率。

        參考電容器被充電到參考電壓。然后,一個反饋回路被關閉,為自動調零電容器充電,以便補償電壓的任何波動。隨后,轉換器將輸入端的差分電壓在一個固定的時間內進行積分,這樣積分器的輸出就是一個斜率信號。

        然后,一個已知的參考電壓被施加到積分器的輸入端,并允許其斜升,直到積分器的輸出變為零。輸出回到零的時間與輸入信號成正比,數字讀數為::

        顯示計數=(Vin/Vref)*1000。

        下一個過程包括對數字計數進行解碼,以產生一個七段兼容信號,從而驅動顯示器。然后,數字輸出被顯示在復用的7段顯示器上。

        數字電壓表電路的應用

        該電路可用于數字萬用表,提供測量電壓的數字讀數。

        它可以用來測量交流和直流電壓。

        它可以用來測量物理量,如壓力、溫度、使用傳感器電路和信號調節電路的壓力。

        它可以用于需要高精度和高分辨率的應用中。

        數字電壓表電路的局限性

        它只能在低范圍內測量電壓。

        使用的集成電路是CMOS器件,具有高度的靜態性。

        正負輸入電壓的參考電壓不同會導致翻轉誤差,即共模誤差。

        使用2V的滿刻度負輸入電壓有時會導致積分器的輸出飽和。

        LED驅動器的內部發熱會導致性能下降。

        參考溫度系數、內部芯片耗散和封裝熱阻往往會增加噪聲水平。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 朝阳县| 抚宁县| 招远市| 连州市| 双鸭山市| 浮梁县| 嘉峪关市| 六安市| 张家界市| 嘉义县| 翼城县| 繁昌县| 齐河县| 桂平市| 大悟县| 黄陵县| 新和县| 阳城县| 内丘县| 华亭县| 冕宁县| 冷水江市| 德兴市| 延寿县| 嘉峪关市| 德庆县| 三明市| 桃园县| 中方县| 宁蒗| 蓬溪县| 土默特右旗| 杭锦旗| 崇左市| 保亭| 富锦市| 沂水县| 成都市| 台南市| 延庆县| 辽源市|