單片機實現低成本A/D轉換
在前面的文章中分別介紹了兩種用普通單片機實現低成本A/D轉換的方法,這兩種方法中在單片機的外部都要使用到一個比較器,在本文中繼續向大家介紹低成本的A/D轉換的一種方法,只是這種方法成本會更低,而且外部無需使用比較器。此種方法的A/D轉換精度不高,只有6~7bit,并且被測電壓范圍較為有限,但在某些精度要求不高,且被測電壓值變化不大的場合也很有實用價值,比如溫度測量方面。
其電路如圖一所示:

其工作原理說明如下:
1、硬件說明:
圖一中的R1、R2和C1構成RC充電電路,被測量通過R1、R2對C1充電。N1為單片機,本電路中采用MICROCHIP的PIC12C508A來舉例說明。C2為給電源供電用的濾波電路,VD1為保護用穩壓二極管,以避免輸入電壓過高而損壞單片機。
2、A/D轉換過程:
首先GP5輸出低電平,使電容C1上的電量完全放光,隨后GP5即轉變為輸入狀態,此時單片機開始計時,被測電壓經過R1、R2電阻對電容C1進行充電,電容C1上的電壓會逐漸升高,C1上的電壓U滿足以下公式:

其中U為電容C1上的電壓,E為輸入電壓(被測量),T=(R1+R2)*C1,t為時間。
當C1上的電壓U達到單片機I/O腳的門嵌電壓時,單片機的GP5由低電平狀態轉變為高電平狀態。記錄從充電開始至此時所經過的時間t。
從上式可知,當單片機I/O腳的門嵌電壓、R1、R2、C1值都固定不變時,被測量的電壓值E與時間t呈一一對應關系。
因此測量輸入電壓對C1電容充電到門嵌電壓的時間,進行查表計算,就可以得到被測電壓值,從而實現了A/D轉換。
3、A/D轉換誤差分析及解決辦法:
A/D轉換的誤差主要由以下幾個方面決定,分別說明如下:
(1)單片機的電源電壓VDD:在該A/D轉換中,VDD電壓變化較大時有可能造成I/O口的門嵌電壓發生變化,不過其影響較小。
(2)單片機內部的定時器對C1電容上電壓上升時間的測量偏差:該測量偏差是A/D轉換誤差的主要因素。
評論