普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問次數(shù):846
普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
用普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換本文介紹一種用普通單片機(jī)實(shí)現(xiàn)的A/D轉(zhuǎn)換電路,本設(shè)計(jì)只用普通單片機(jī)的2個(gè)I/O口加1個(gè)運(yùn)算放大器即可實(shí)現(xiàn)1路A/D轉(zhuǎn)換,而且很容易擴(kuò)展成4通道A/D轉(zhuǎn)換。該電路占用資源少,成本低,A/D轉(zhuǎn)換精度可達(dá)到8位或更高,很具實(shí)用價(jià)值。其工作原理如下:1. 硬件電路電路如圖1所示。RA0和RA1為單片機(jī)的I/O口。進(jìn)行A/D轉(zhuǎn)換時(shí),通過軟件產(chǎn)生PWM,從RA0口送..
用普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
本文介紹一種用普通單片機(jī)實(shí)現(xiàn)的A/D轉(zhuǎn)換電路,本設(shè)計(jì)只用普通單片機(jī)的2個(gè)I/O口加1個(gè)運(yùn)算放大器即可實(shí)現(xiàn)1路A/D轉(zhuǎn)換,而且很容易擴(kuò)展成4通道A/D轉(zhuǎn)換。該電路占用資源少,成本低,A/D轉(zhuǎn)換精度可達(dá)到8位或更高,很具實(shí)用價(jià)值。
其工作原理如下:
1. 硬件電路
電路如圖1所示。RA0和RA1為單片機(jī)的I/O口。進(jìn)行A/D轉(zhuǎn)換時(shí),通過軟件產(chǎn)生PWM,從RA0口送出預(yù)定占空比的PWM波形,RA1口用于檢測(cè)比較器輸出端的狀態(tài)。
R1、C1構(gòu)成濾波電路,對(duì)RA0口送出的PWM波形進(jìn)行平滑濾波。RA0輸出的PWM波形經(jīng)過R1、C1濾波并延時(shí)后,在U1產(chǎn)生穩(wěn)定的電壓,其電壓值U1=VDD×D1/(D1+D2)。
LM324作比較器用,其負(fù)輸入端的電壓U1與正輸入端的模擬電壓值進(jìn)行比較,當(dāng)U1大于模擬量輸入電壓時(shí),比較器的輸出端為低電平,反之為高電平。
2. A/D轉(zhuǎn)換過程
如果使RA0輸出PWM波形,且占空比由小到大逐漸變化,則U1的電壓隨之由低到高。當(dāng)U1電壓超過被測(cè)電壓時(shí),比較器的輸出端由高電平變?yōu)榈碗娖,因此可以認(rèn)為在比較器輸出電壓由高到低跳變的瞬間被測(cè)的模擬量與U1的電壓相等。
由于U1的電壓值=VDD×D1/(D1+D2),當(dāng)VDD為固定值時(shí),其電壓值取決于PWM波形的占空比,而PWM的占空比由內(nèi)部用于控制PWM輸出的寄存器的值決定。若用寄存器A來存放RA0輸出的PWM的占空比值D1,在RA1口由“1”變?yōu)椤埃啊钡乃查g,A寄存器的值D1即為被測(cè)電壓的A/D轉(zhuǎn)換值,其A/D轉(zhuǎn)換值為8位數(shù)。如果用16位寄存器來作輸出PWM的占空比,則可達(dá)到16位。
3. A/D轉(zhuǎn)換誤差分析及誤差解決
(1)誤差分析
A/D轉(zhuǎn)換的誤差主要由以下幾個(gè)方面決定。
1) 單片機(jī)的電源電壓VDD:在此A/D轉(zhuǎn)換中,VDD電壓不穩(wěn)定是造成A/D轉(zhuǎn)換誤差的主要原因。若VDD電壓精度較高,則A/D轉(zhuǎn)換誤差可以很小,在VDD電壓精度為0.5%時(shí),實(shí)際的A/D轉(zhuǎn)換誤差小于1%。
2) PWM占空比:若產(chǎn)生PWM的軟件設(shè)計(jì)不合理,會(huì)使存放占空比的寄存器值與實(shí)際輸出的PWM占空比不一致,引起測(cè)量誤差。
3)比較器輸入端的失調(diào)電壓:該電壓對(duì)A/D轉(zhuǎn)換精度有一定影響,但影響較小。
4)RC濾波電路的紋波:若R1、C1取值不當(dāng),U1處的電壓紋波較大,延時(shí)時(shí)間不夠,會(huì)使A/D轉(zhuǎn)換產(chǎn)生誤差,因此R1、C1取值不能太小,但太大了又會(huì)影響A/D轉(zhuǎn)換速度,推薦使用圖1中所示的R1、C1參數(shù)。在紋波合理的情況下,其轉(zhuǎn)換誤差可以通過軟件消除。
(2)誤差的解決辦法
1)提高VDD電壓精度。
2)修改軟件,解決軟件中PWM設(shè)計(jì)不良導(dǎo)致的誤差。圖2為產(chǎn)生PWM的程序流程圖,可按此流程設(shè)計(jì)程序。
3)比較器及RC濾波電路的紋波導(dǎo)致的誤差可通過上、下檢測(cè)法消除,即先將PWM的占空比由小調(diào)到大,使U1電壓由低向高變化,并記錄比較器輸出端的A/D轉(zhuǎn)換值,再將PWM的占空比由大調(diào)到小,使U1電壓由高向低變化,記錄比較器輸出端的A/D轉(zhuǎn)換值,將兩次的A/D轉(zhuǎn)換值進(jìn)行平均。
4)對(duì)A/D轉(zhuǎn)換值進(jìn)行數(shù)字濾波,如多次轉(zhuǎn)換求平均值等。
4. A/D轉(zhuǎn)換速度及其提高
由于A/D轉(zhuǎn)換是通過
普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
用普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換本文介紹一種用普通單片機(jī)實(shí)現(xiàn)的A/D轉(zhuǎn)換電路,本設(shè)計(jì)只用普通單片機(jī)的2個(gè)I/O口加1個(gè)運(yùn)算放大器即可實(shí)現(xiàn)1路A/D轉(zhuǎn)換,而且很容易擴(kuò)展成4通道A/D轉(zhuǎn)換。該電路占用資源少,成本低,A/D轉(zhuǎn)換精度可達(dá)到8位或更高,很具實(shí)用價(jià)值。其工作原理如下:1. 硬件電路電路如圖1所示。RA0和RA1為單片機(jī)的I/O口。進(jìn)行A/D轉(zhuǎn)換時(shí),通過軟件產(chǎn)生PWM,從RA0口送..
用普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
本文介紹一種用普通單片機(jī)實(shí)現(xiàn)的A/D轉(zhuǎn)換電路,本設(shè)計(jì)只用普通單片機(jī)的2個(gè)I/O口加1個(gè)運(yùn)算放大器即可實(shí)現(xiàn)1路A/D轉(zhuǎn)換,而且很容易擴(kuò)展成4通道A/D轉(zhuǎn)換。該電路占用資源少,成本低,A/D轉(zhuǎn)換精度可達(dá)到8位或更高,很具實(shí)用價(jià)值。
其工作原理如下:
1. 硬件電路
電路如圖1所示。RA0和RA1為單片機(jī)的I/O口。進(jìn)行A/D轉(zhuǎn)換時(shí),通過軟件產(chǎn)生PWM,從RA0口送出預(yù)定占空比的PWM波形,RA1口用于檢測(cè)比較器輸出端的狀態(tài)。
R1、C1構(gòu)成濾波電路,對(duì)RA0口送出的PWM波形進(jìn)行平滑濾波。RA0輸出的PWM波形經(jīng)過R1、C1濾波并延時(shí)后,在U1產(chǎn)生穩(wěn)定的電壓,其電壓值U1=VDD×D1/(D1+D2)。
LM324作比較器用,其負(fù)輸入端的電壓U1與正輸入端的模擬電壓值進(jìn)行比較,當(dāng)U1大于模擬量輸入電壓時(shí),比較器的輸出端為低電平,反之為高電平。
2. A/D轉(zhuǎn)換過程
如果使RA0輸出PWM波形,且占空比由小到大逐漸變化,則U1的電壓隨之由低到高。當(dāng)U1電壓超過被測(cè)電壓時(shí),比較器的輸出端由高電平變?yōu)榈碗娖剑虼丝梢哉J(rèn)為在比較器輸出電壓由高到低跳變的瞬間被測(cè)的模擬量與U1的電壓相等。
由于U1的電壓值=VDD×D1/(D1+D2),當(dāng)VDD為固定值時(shí),其電壓值取決于PWM波形的占空比,而PWM的占空比由內(nèi)部用于控制PWM輸出的寄存器的值決定。若用寄存器A來存放RA0輸出的PWM的占空比值D1,在RA1口由“1”變?yōu)椤埃啊钡乃查g,A寄存器的值D1即為被測(cè)電壓的A/D轉(zhuǎn)換值,其A/D轉(zhuǎn)換值為8位數(shù)。如果用16位寄存器來作輸出PWM的占空比,則可達(dá)到16位。
3. A/D轉(zhuǎn)換誤差分析及誤差解決
(1)誤差分析
A/D轉(zhuǎn)換的誤差主要由以下幾個(gè)方面決定。
1) 單片機(jī)的電源電壓VDD:在此A/D轉(zhuǎn)換中,VDD電壓不穩(wěn)定是造成A/D轉(zhuǎn)換誤差的主要原因。若VDD電壓精度較高,則A/D轉(zhuǎn)換誤差可以很小,在VDD電壓精度為0.5%時(shí),實(shí)際的A/D轉(zhuǎn)換誤差小于1%。
2) PWM占空比:若產(chǎn)生PWM的軟件設(shè)計(jì)不合理,會(huì)使存放占空比的寄存器值與實(shí)際輸出的PWM占空比不一致,引起測(cè)量誤差。
3)比較器輸入端的失調(diào)電壓:該電壓對(duì)A/D轉(zhuǎn)換精度有一定影響,但影響較小。
4)RC濾波電路的紋波:若R1、C1取值不當(dāng),U1處的電壓紋波較大,延時(shí)時(shí)間不夠,會(huì)使A/D轉(zhuǎn)換產(chǎn)生誤差,因此R1、C1取值不能太小,但太大了又會(huì)影響A/D轉(zhuǎn)換速度,推薦使用圖1中所示的R1、C1參數(shù)。在紋波合理的情況下,其轉(zhuǎn)換誤差可以通過軟件消除。
(2)誤差的解決辦法
1)提高VDD電壓精度。
2)修改軟件,解決軟件中PWM設(shè)計(jì)不良導(dǎo)致的誤差。圖2為產(chǎn)生PWM的程序流程圖,可按此流程設(shè)計(jì)程序。
3)比較器及RC濾波電路的紋波導(dǎo)致的誤差可通過上、下檢測(cè)法消除,即先將PWM的占空比由小調(diào)到大,使U1電壓由低向高變化,并記錄比較器輸出端的A/D轉(zhuǎn)換值,再將PWM的占空比由大調(diào)到小,使U1電壓由高向低變化,記錄比較器輸出端的A/D轉(zhuǎn)換值,將兩次的A/D轉(zhuǎn)換值進(jìn)行平均。
4)對(duì)A/D轉(zhuǎn)換值進(jìn)行數(shù)字濾波,如多次轉(zhuǎn)換求平均值等。
4. A/D轉(zhuǎn)換速度及其提高
由于A/D轉(zhuǎn)換是通過
熱門點(diǎn)擊
- LCD顯示屏出現(xiàn)閃爍的原因與解決
- 入門級(jí)單片機(jī)仿真器編程器使用經(jīng)驗(yàn)
- 基于ARM9處理器S3C2410的LCD顯示
- 單片機(jī)89C52并行I/O口實(shí)現(xiàn)多個(gè)LED顯
- 基于MSC1211單片機(jī)的RFID接收系統(tǒng)設(shè)
- 普通單片機(jī)實(shí)現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換
- 單片機(jī)控制的吊扇多功能控制器
- 單片機(jī)上網(wǎng)計(jì)時(shí)器
- 軟硬兼施提高單片機(jī)系統(tǒng)的可靠性
- 單芯片集成電路優(yōu)化自適應(yīng)轉(zhuǎn)向大燈系統(tǒng)設(shè)計(jì)
推薦技術(shù)資料
- 硬盤式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 分立器件&無源元件選型及工作原
- 新一代“超越EUV”光刻系統(tǒng)參
- 最新品BAT激光器制造工藝設(shè)計(jì)
- 新款汽車SoC產(chǎn)品Malibo
- 新芯片品類FPCU(現(xiàn)場(chǎng)可編程
- 電動(dòng)汽車動(dòng)力總成系統(tǒng)̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究