資料介紹
目前單片機(jī)在電子產(chǎn)品中已得到廣泛應(yīng)用,許多類型的單片機(jī)內(nèi)部已帶有A/D轉(zhuǎn)換電路,但此類單片機(jī)會比無A/D轉(zhuǎn)換功能的單片機(jī)在價(jià)格上高幾元甚至很多,本文給大家提供一種實(shí)用的用普通單片機(jī)實(shí)現(xiàn)的A/D轉(zhuǎn)換電路,它只需要使用普通單片機(jī)的2個I/O腳與1個運(yùn)算放大器即可實(shí)現(xiàn),而且它可以很容易地?cái)U(kuò)展成帶有4通道A/D轉(zhuǎn)換功能,由于它占用資源很少,成本很低,其A/D轉(zhuǎn)換精度可達(dá)到8位或更高,因此很具有實(shí)用價(jià)值。
其電路如圖一所示:
其工作原理說明如下:
1、硬件說明:
圖一中“RA0”和“RA1”為單片機(jī)的兩個I/O腳,分別將其設(shè)置為輸出與輸入狀態(tài),在進(jìn)行A/D轉(zhuǎn)換時,在程序中通過軟件產(chǎn)生PWM,由RA0腳送出預(yù)設(shè)占空比的PWM波形。RA1腳用于檢測比較器輸出端的狀態(tài)。
R1、C1構(gòu)成濾波電路,對RA0腳送出的PWM波形進(jìn)行平滑濾波。RA0輸出的PWM波形經(jīng)過R1、C1濾波并延時后,在U1點(diǎn)產(chǎn)生穩(wěn)定的電壓值,其電壓值U1=VDD*D1/(D1+D2),若單片機(jī)的工作電壓為穩(wěn)定的+5V,則U1=5V*D1/(D1+D2)。
圖一中的LM324作為比較器使用,其輸入負(fù)端的U1電壓與輸入正端的模擬量電壓值進(jìn)行比較,當(dāng)U1大于模擬量輸入電壓時,比較器的輸出端為低電平,反之為高電平。
2、A/D轉(zhuǎn)換過程:
如果使RA0輸出PWM波形,其占空比由小到大逐漸變化,則U1的電壓會由小到大逐漸變化,當(dāng)U1電壓超過被測電壓時,比較器的輸出端由高電平變?yōu)榈碗娖?,因此可以認(rèn)為在該變化的瞬間被測的模擬量與U1的電壓相等。
由于U1的電壓值=VDD*D1/(D1+D2),當(dāng)VDD固定時,其電壓值取決于PWM波形的占空比,而PWM的占空比由單片機(jī)軟件內(nèi)部用于控制PWM輸出的寄存器值決定,若軟件中用1個8位寄存器A來存放RA0輸出的PWM的占空比值D1,因此在RA1檢測到由“1”變?yōu)椤?”的瞬間,A寄存器的值D1即為被測電壓的A/D轉(zhuǎn)換值,其A/D轉(zhuǎn)換結(jié)果為8位。如果用16位寄存器來作輸出PWM的占空比,則A/D轉(zhuǎn)換值可達(dá)到16位。
3、A/D轉(zhuǎn)換誤差分析及解決辦法:
A/D轉(zhuǎn)換的誤差主要由以下幾個方面決定,分別說明如下:
?。?) 單片機(jī)的電源電壓VDD:在該A/D轉(zhuǎn)換中,VDD電壓是造成A/D轉(zhuǎn)換誤差的主要原因,如果使VDD電壓精度做到較高,則A/D轉(zhuǎn)換誤差可以做到很小,在VDD電壓精度為0.5%情況下,實(shí)際的A/D轉(zhuǎn)換誤差小于1%。
(2) 軟件產(chǎn)生的PWM占空比:若用于產(chǎn)生PWM的軟件設(shè)計(jì)不良,會使存放占空比的寄存器值與實(shí)際輸出的PWM占空比不一致,這會導(dǎo)致測量誤差。
?。?) 比較器輸入端的失調(diào)電壓:該電壓對A/D轉(zhuǎn)換精度有一定影響,但影響較小。
(4) RC濾波電路的紋波:在R1、C1取值不當(dāng)?shù)那闆r下,U1處的電壓紋波較大,并且延時時間不夠,會使A/D轉(zhuǎn)換產(chǎn)生誤差,因此R1、C1取值不能太小,但太大又會影響A/D轉(zhuǎn)換速度,推薦使用圖一中所示的R1、C1參數(shù),在紋波合理的情況下,其轉(zhuǎn)換誤差也可通過軟件消除。
A/D轉(zhuǎn)換誤差的解決辦法:
?。?) 對VDD造成的誤差,只能通過提高VDD電壓精度來解決,它相當(dāng)于A/D轉(zhuǎn)換的基準(zhǔn)電壓。
?。?) 對于軟件中PWM設(shè)計(jì)不良導(dǎo)致的誤差,可修改軟件進(jìn)行解決,本文提供了用軟件產(chǎn)生PWM的程序流程圖,實(shí)際使用中可按此流程設(shè)計(jì)程序。
?。?) 對比較器及RC濾波電路的紋波導(dǎo)致的誤差,在軟件中可通過上、下檢測法進(jìn)行消除,即先將PWM的占空比由小到大變化,使U1電壓由低往高逐漸變化,在比較器輸出端變化時記錄其A/D轉(zhuǎn)換值,再將PWM的占空比由大到小變化,使U1電壓由高到低變化,在比較器輸出端變化時記錄其A/D轉(zhuǎn)換值,將兩次的A/D轉(zhuǎn)換值進(jìn)行平均,可有效地消除這兩種誤差。
?。?) 對A/D轉(zhuǎn)換值進(jìn)行數(shù)字濾波,如多次轉(zhuǎn)換求平均值等。數(shù)字濾波消除誤差的方法很多,在此不再贅述。
4、A/D轉(zhuǎn)換速度及提高辦法:
由于該A/D轉(zhuǎn)換是通過PWM濾波后再進(jìn)行比較來完成的,其PWM的產(chǎn)生與濾波都需要一定的時間,因此其A/D轉(zhuǎn)換速度較慢,適用于對A/D轉(zhuǎn)換速度要求不高的產(chǎn)品中,其A/D轉(zhuǎn)換速度取決于以下幾個方面:
?。?) 單片機(jī)的運(yùn)行速度:單片機(jī)的運(yùn)行速度越高則PWM的頻率可以越高, RC值就可以取得越小,其延時時間也可以更短,轉(zhuǎn)換速度就更快。
(2) 被測電壓值的大?。河捎赨1電壓時是由小到大逐漸加大的,當(dāng)被測電壓值較小時,U1電壓上升到相應(yīng)值的時間就越短,完成A/D轉(zhuǎn)換的速度就越快。
?。?) 初始占空比:初始占空比越高,U1電壓較大,其上升到被測電壓值的時間也就會越短,完成A/D轉(zhuǎn)換的速度也就越快。
由上所述,A/D轉(zhuǎn)換的速度可以通過提高單片機(jī)的工作頻率,并在預(yù)知被測電壓范圍時盡可能地設(shè)置較高的初始占空比值來加快轉(zhuǎn)換速度,如果所要求的A/D轉(zhuǎn)換精度要求不高,還可以在軟件中縮短PWM輸出的延時時間來提高A/D轉(zhuǎn)換速度。若單片機(jī)帶有外部電平變換中斷和定時器中斷,其A/D轉(zhuǎn)換的精度和速度還可以得到提高。
5、輸入電壓的測量范圍:
A/D轉(zhuǎn)換的輸入電壓測量范圍為0V至單片機(jī)的電源電壓(VDD),若需要提高被測電壓范圍,可將輸入電壓通過電阻分壓后進(jìn)行測量,但其A/D轉(zhuǎn)換的誤差會受分壓電阻影響。
6、A/D轉(zhuǎn)換通道的多路擴(kuò)展:
圖中所用的運(yùn)算放大器為LM324,該集成電路內(nèi)部帶有4個運(yùn)放,其余3個運(yùn)放的輸入端可分別作為另外3個A/D轉(zhuǎn)換通道,其輸出端與單片機(jī)連接,在軟件上略作修改,就可以在不增加成本的情況下實(shí)現(xiàn)4路A/D轉(zhuǎn)換。
其電路如圖一所示:
其工作原理說明如下:
1、硬件說明:
圖一中“RA0”和“RA1”為單片機(jī)的兩個I/O腳,分別將其設(shè)置為輸出與輸入狀態(tài),在進(jìn)行A/D轉(zhuǎn)換時,在程序中通過軟件產(chǎn)生PWM,由RA0腳送出預(yù)設(shè)占空比的PWM波形。RA1腳用于檢測比較器輸出端的狀態(tài)。
R1、C1構(gòu)成濾波電路,對RA0腳送出的PWM波形進(jìn)行平滑濾波。RA0輸出的PWM波形經(jīng)過R1、C1濾波并延時后,在U1點(diǎn)產(chǎn)生穩(wěn)定的電壓值,其電壓值U1=VDD*D1/(D1+D2),若單片機(jī)的工作電壓為穩(wěn)定的+5V,則U1=5V*D1/(D1+D2)。
圖一中的LM324作為比較器使用,其輸入負(fù)端的U1電壓與輸入正端的模擬量電壓值進(jìn)行比較,當(dāng)U1大于模擬量輸入電壓時,比較器的輸出端為低電平,反之為高電平。
2、A/D轉(zhuǎn)換過程:
如果使RA0輸出PWM波形,其占空比由小到大逐漸變化,則U1的電壓會由小到大逐漸變化,當(dāng)U1電壓超過被測電壓時,比較器的輸出端由高電平變?yōu)榈碗娖?,因此可以認(rèn)為在該變化的瞬間被測的模擬量與U1的電壓相等。
由于U1的電壓值=VDD*D1/(D1+D2),當(dāng)VDD固定時,其電壓值取決于PWM波形的占空比,而PWM的占空比由單片機(jī)軟件內(nèi)部用于控制PWM輸出的寄存器值決定,若軟件中用1個8位寄存器A來存放RA0輸出的PWM的占空比值D1,因此在RA1檢測到由“1”變?yōu)椤?”的瞬間,A寄存器的值D1即為被測電壓的A/D轉(zhuǎn)換值,其A/D轉(zhuǎn)換結(jié)果為8位。如果用16位寄存器來作輸出PWM的占空比,則A/D轉(zhuǎn)換值可達(dá)到16位。
3、A/D轉(zhuǎn)換誤差分析及解決辦法:
A/D轉(zhuǎn)換的誤差主要由以下幾個方面決定,分別說明如下:
?。?) 單片機(jī)的電源電壓VDD:在該A/D轉(zhuǎn)換中,VDD電壓是造成A/D轉(zhuǎn)換誤差的主要原因,如果使VDD電壓精度做到較高,則A/D轉(zhuǎn)換誤差可以做到很小,在VDD電壓精度為0.5%情況下,實(shí)際的A/D轉(zhuǎn)換誤差小于1%。
(2) 軟件產(chǎn)生的PWM占空比:若用于產(chǎn)生PWM的軟件設(shè)計(jì)不良,會使存放占空比的寄存器值與實(shí)際輸出的PWM占空比不一致,這會導(dǎo)致測量誤差。
?。?) 比較器輸入端的失調(diào)電壓:該電壓對A/D轉(zhuǎn)換精度有一定影響,但影響較小。
(4) RC濾波電路的紋波:在R1、C1取值不當(dāng)?shù)那闆r下,U1處的電壓紋波較大,并且延時時間不夠,會使A/D轉(zhuǎn)換產(chǎn)生誤差,因此R1、C1取值不能太小,但太大又會影響A/D轉(zhuǎn)換速度,推薦使用圖一中所示的R1、C1參數(shù),在紋波合理的情況下,其轉(zhuǎn)換誤差也可通過軟件消除。
A/D轉(zhuǎn)換誤差的解決辦法:
?。?) 對VDD造成的誤差,只能通過提高VDD電壓精度來解決,它相當(dāng)于A/D轉(zhuǎn)換的基準(zhǔn)電壓。
?。?) 對于軟件中PWM設(shè)計(jì)不良導(dǎo)致的誤差,可修改軟件進(jìn)行解決,本文提供了用軟件產(chǎn)生PWM的程序流程圖,實(shí)際使用中可按此流程設(shè)計(jì)程序。
?。?) 對比較器及RC濾波電路的紋波導(dǎo)致的誤差,在軟件中可通過上、下檢測法進(jìn)行消除,即先將PWM的占空比由小到大變化,使U1電壓由低往高逐漸變化,在比較器輸出端變化時記錄其A/D轉(zhuǎn)換值,再將PWM的占空比由大到小變化,使U1電壓由高到低變化,在比較器輸出端變化時記錄其A/D轉(zhuǎn)換值,將兩次的A/D轉(zhuǎn)換值進(jìn)行平均,可有效地消除這兩種誤差。
?。?) 對A/D轉(zhuǎn)換值進(jìn)行數(shù)字濾波,如多次轉(zhuǎn)換求平均值等。數(shù)字濾波消除誤差的方法很多,在此不再贅述。
4、A/D轉(zhuǎn)換速度及提高辦法:
由于該A/D轉(zhuǎn)換是通過PWM濾波后再進(jìn)行比較來完成的,其PWM的產(chǎn)生與濾波都需要一定的時間,因此其A/D轉(zhuǎn)換速度較慢,適用于對A/D轉(zhuǎn)換速度要求不高的產(chǎn)品中,其A/D轉(zhuǎn)換速度取決于以下幾個方面:
?。?) 單片機(jī)的運(yùn)行速度:單片機(jī)的運(yùn)行速度越高則PWM的頻率可以越高, RC值就可以取得越小,其延時時間也可以更短,轉(zhuǎn)換速度就更快。
(2) 被測電壓值的大?。河捎赨1電壓時是由小到大逐漸加大的,當(dāng)被測電壓值較小時,U1電壓上升到相應(yīng)值的時間就越短,完成A/D轉(zhuǎn)換的速度就越快。
?。?) 初始占空比:初始占空比越高,U1電壓較大,其上升到被測電壓值的時間也就會越短,完成A/D轉(zhuǎn)換的速度也就越快。
由上所述,A/D轉(zhuǎn)換的速度可以通過提高單片機(jī)的工作頻率,并在預(yù)知被測電壓范圍時盡可能地設(shè)置較高的初始占空比值來加快轉(zhuǎn)換速度,如果所要求的A/D轉(zhuǎn)換精度要求不高,還可以在軟件中縮短PWM輸出的延時時間來提高A/D轉(zhuǎn)換速度。若單片機(jī)帶有外部電平變換中斷和定時器中斷,其A/D轉(zhuǎn)換的精度和速度還可以得到提高。
5、輸入電壓的測量范圍:
A/D轉(zhuǎn)換的輸入電壓測量范圍為0V至單片機(jī)的電源電壓(VDD),若需要提高被測電壓范圍,可將輸入電壓通過電阻分壓后進(jìn)行測量,但其A/D轉(zhuǎn)換的誤差會受分壓電阻影響。
6、A/D轉(zhuǎn)換通道的多路擴(kuò)展:
圖中所用的運(yùn)算放大器為LM324,該集成電路內(nèi)部帶有4個運(yùn)放,其余3個運(yùn)放的輸入端可分別作為另外3個A/D轉(zhuǎn)換通道,其輸出端與單片機(jī)連接,在軟件上略作修改,就可以在不增加成本的情況下實(shí)現(xiàn)4路A/D轉(zhuǎn)換。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 【單片機(jī)】A/D轉(zhuǎn)換實(shí)驗(yàn)
- 【單片機(jī)】D/A轉(zhuǎn)換實(shí)驗(yàn)
- 單片機(jī):A/D 和 D/A 的基本概念
- D/A和A/D轉(zhuǎn)換器與單片機(jī)接口綜述 25次下載
- AD561:低成本10位單片D/A轉(zhuǎn)換器數(shù)據(jù)表
- 單片機(jī)A/D轉(zhuǎn)換的工作原理及優(yōu)缺點(diǎn),提高A/D轉(zhuǎn)換精度的方法資料下載
- PICmicro中檔單片機(jī)系列之10位A/D轉(zhuǎn)換器
- A/D轉(zhuǎn)換過程與基于單片機(jī)的低成本高精度A_D與D_A轉(zhuǎn)換設(shè)計(jì) 4次下載
- 基于單片機(jī)低成本高精度A-D相互轉(zhuǎn)換應(yīng)用 4次下載
- 基于單片機(jī)內(nèi)置比較器的高精度 A/D 5次下載
- A/D轉(zhuǎn)換器CS5550與單片機(jī)的接口程序設(shè)計(jì)
- 廉價(jià)隔離型高精度D/A轉(zhuǎn)換器
- 一種高精度、低成本、多量程的A/D轉(zhuǎn)換技術(shù)
- 基于P87LPC764/2單片機(jī)的A/D轉(zhuǎn)換
- 用單片機(jī)內(nèi)置比較器設(shè)計(jì)高精度A/D變換器
- 基于24位高精度A/D轉(zhuǎn)換器實(shí)現(xiàn)多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) 2460次閱讀
- 基于80C196KB單片機(jī)實(shí)現(xiàn)A/D采集及數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì) 1954次閱讀
- 如何使用單片機(jī)實(shí)現(xiàn)低成本的高精度AD轉(zhuǎn)換和DA轉(zhuǎn)換 7958次閱讀
- 51單片機(jī)與DA轉(zhuǎn)換器的應(yīng)用 8186次閱讀
- 基于單片機(jī)D/A輸出程序編寫分享 1393次閱讀
- 基于采用單片機(jī)在儀表里用PWM方式D/A的構(gòu)成原理 2577次閱讀
- 學(xué)習(xí)單片機(jī)C語言的經(jīng)驗(yàn)分享 7871次閱讀
- 基于MSP430F1121單片機(jī)的Σ-ΔA/D轉(zhuǎn)換器方案 1278次閱讀
- 具有較高精度和穩(wěn)定性的D/A 轉(zhuǎn)換器程控電源設(shè)計(jì) 1068次閱讀
- 一種基于STM32的高精度程控電流源設(shè)計(jì) 2.2w次閱讀
- 基于24位A/D轉(zhuǎn)換的高精度電子秤的設(shè)計(jì) 1.1w次閱讀
- 基于FPGA的串行A/D轉(zhuǎn)換模塊設(shè)計(jì) 6299次閱讀
- 基于單片機(jī)和AD574的高精度電阻測試儀的設(shè)計(jì) 6582次閱讀
- 基于單片機(jī)的低成本高精度A/D與D/A轉(zhuǎn)換設(shè)計(jì) 1247次閱讀
- 基于單片機(jī)的高精度海量數(shù)據(jù)采集與存儲系統(tǒng) 3011次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多