于進杰+唐正華
【摘 要】大部分單片機都沒有D/A輸出的引腳,但是一般都有PWM引腳,如果涉及的系統需要外接控制電機等需要D/A信號輸出控制的設備,就需要在單片機引腳拓展D/A轉換。一般都是外接一個D/A轉化芯片來完成,但是價格比較高,這里討論一個利用PWM引腳拓展轉換成D/A輸出的設計,大大減低價格成本。
【關鍵詞】D/A轉換;光電隔離;誤差;PWM
中圖分類號: TN792 文獻標識碼: A 文章編號: 2095-2457(2017)23-0112-002
【Abstract】Most microcontrollers do not have D/A output pins,but generally have PWM pins, if the system involved in the need for external control of the motor and other equipment need D/A signal output control, you need to expand the microcontroller D/A conversion.Usually a D/A converter chip to complete,but the price is relatively high,here to discuss the use of PWM pin expansion into D/A output design,greatly reducing the cost of the price.
【Key words】D/A conversion;Photoelectric isolation;Error;PWM
0 引言
單片機控制器受到外界的電磁干擾比較大,這些干擾會導致單片機控制器輸出信號產生誤差。所以在設計的時候,必須根據所連接負載可能產生干擾的形式采取相應的抗干擾措施,提高單片機控制器的電磁兼容性。
1 PWM轉D/A輸出模塊的設計
1.1 硬件電路設計
在單片機輸出接口設計中,如果需要D/A輸出,首先想到的是利用單片機I/O口外接一個D/A轉換芯片,這里我們利用單片機的PWM接口通過外接設計電路,同樣可以得到需要的D/A輸出信號,同時還可以節省單片機的I/O接口資源。
首先選取一個比較常用的單片機PIC16F877,如果需要產生0~10V的模擬電壓信號,而PIC16F877本身沒有D/A輸出引腳,不能直接輸出模擬電壓信號。但PIC16F877芯片帶有兩個CCP模塊,所對應的引腳通過軟件編程均可配置為PWM工作模式,在該模式下,CCPx引腳可以輸出占空比為10位分辨率可調的方波,這樣我們得到一個PWM的輸出引腳。通過對PWM輸出引腳接低通濾波器的方法得到D/A輸出。考慮到在這個轉換過程中會受到外界或是所帶負載的干擾,以及D/A信號比較微弱需要增益等一些因素的影響,對PWM輸出直接低通濾波要做一些改進。
首先轉換要從源頭做起,從PIC16F877出來的PWM信號先連接一個高速光電耦合器以減小數字信號脈沖對模擬信號的干擾。再連接一個單刀雙擲模擬開關MAX4599來穩定PWM輸出的高低電平的電壓值,為后面轉D/A信號提供一個比較純凈的初始信號。綜合上述考慮,針對PWM轉D/A輸出模塊電路進行如下的設計,如圖1。
1.2 PWM波的轉換過程
首先由PIC16F977 的CCP1引腳連接高速光電耦合器6N137進行隔離,經過隔離后的脈沖信號接入單刀雙擲模擬開關MAX4599得到整定后的PWM信號,再經過兩級RC低通濾波后得到0~5V的模擬電壓信號。如果后面的負載需要0~10V電壓,再加一個放大倍數為2的同相放大器;如果后面的負載需要比較大的功率,可以再加一個電壓跟隨器。
2 主要元器件的選取
2.1 R、C元件參數的選取
2.2 參考電壓芯片的選取
參考電壓芯片選取精密基準電壓源REF02,該芯片可以提供精確的+10V、+5V、+2.5V輸出的參考電壓,環境溫度或負載條件的變化對輸出電壓的影響極小,同時具有小尺寸,寬電源電壓范圍,應用廣泛,能夠在更寬的工作溫度范圍內提供更高的精度和溫度穩定性。
3 軟件流程圖
軟件編程方面主要是PIC16F877能夠根據理想電壓曲線的電壓值產生與之對應的PWM信號,即通過軟件編程設置PWM信號的占空比來實現。PWM方式電壓輸出的簡要流程圖如圖2。
4 結束語
通過硬件電路和軟件優化,使得單片機輸出的PWM信號受到的外界的干擾更小,從而可以提升系統運行的穩定性。同時可以節省出至少8個I/O引腳資源。
【參考文獻】
[1]張明峰.PIC單片機入門與實戰[M].北京航空航天大學出版社,2004.
[2]劉篤仁.PIC軟硬件系統設計一基于PIC16F87X系列[M].電子工業出版社,2005.
[3]胡漢才.單片機原理及系統設計[M].清華大學出版社,2002.
[4]蔣璇.數字系統設計入門與應用[M].電子工業出版社,2001.endprint