高敏
摘要:脈沖發生器在自動化控制領域有著非常廣泛的應用,而傳統的脈沖發生器操作復雜且造價較高,并且精確度不能夠保證,本文以MCS-51單片機為基礎設計出了一種可調式的數字脈沖發生器,對幅值、頻率和輸出寬度進行調整且輸出精度高,不需要人工調節自動化程度較高。可以應用在很多實用到脈沖發生器的場合,并且造價較為低廉。為可調式脈沖發生器的設計與應用提供可具體實踐的技術解決方案。
關鍵詞:可調式數字脈沖發生器 MCS-51 ADC0809 LED顯示器
中圖分類號:TN782 文獻標識碼:A 文章編號:1007-9416(2016)08-0204-01
1 引言
可調式的脈沖發生器在各個領域中的自動化儀器控制過程中具有十分廣泛的應用,比如在速度控制過程中經常用的步進電機的控制,步進電機可以利用脈沖調制技術來為自身提供適量的脈沖,從而實現對于控制角度與速度的控制。一般情況脈沖信號發生器都是通過定時器來進行控制的,利用電位器對幅值和頻率進行調整。但是電位器的對頻率和幅值調控不是很精確,而利用單片機對數字可調的脈沖發生器進行控制能夠獲得較好的效果。本文結合數字電位器,來代替以往精度不高的機械式的電位器,利用51單片機進行控制,進而可以試點數字脈沖器的幅度、頻率和寬度是可調的。
2 系統需求分析與總體設計
本文利用51單片機來實現數字可調式脈沖器的設計與實現,系統的設計主要包括系統的硬件設計以及軟件設計兩個部分,硬件部分包括單片機、脈沖發生器、AD轉換器、LED顯示模塊;軟件部分主要是單片機對外圍各個模塊電路的控制實現脈沖信號的產生、轉換以及顯示燈。本文所設計的系統主要是利用單片機控制脈沖發生器產生脈沖,利用可調式的數字電位器的控制實現對脈沖的幅值、頻率以及寬度的控制。本文利用51單片機以及ADC模數轉換器來實現產生數字脈沖信號,并由LED液晶顯示。
3 系統硬件設計
控制電路主要由以下部分組成:單片機定時器以及IO口組成了脈沖發生器,這是脈沖發生器的主要組成部分;將鍵盤作為一種可調式的交互式的設備;脈沖參數信息可以通過LED進行顯示;可以通過單片機控制作品在IO引腳輸出相應的高低電平,可以產生方波信號;可以十分方便的輸出脈沖,編寫程序使單片機某一 I/O 執行高低電平輸出,產生方波脈沖輸出;可以利用對數字電位器的控制實現對脈沖信號的幅值的控制;利用A/D模數轉換器將輸出的脈沖進行采集會送到單片機中;單片機對外圍電路之間的通信是通過I2C總線進行通信的。存儲器可以存儲脈沖參數的信息,單片機可以讀取該信息并可進行顯示。
3.1 單片機選型
本系統使用的是MCS-51單片機作為系統的控制核心,數字電位器選擇是MCP4561,選擇的是8位的8個通道的ADC0809模數轉換器, 通過單片機輸出高低電平能夠較為方便的闡述一定寬度的脈沖,脈沖的寬度和頻率是通過定時從單片機的引腳上輸出高低電平來實現。然而所選的單片機由于IO資源是有限的,因而要實現對所有用到的外圍電路的控制,譯碼器以及地址鎖存器是必須的。本文所選擇的地址鎖存器為74HC138,能夠較好的利用單片機有效的引腳資源。系統選擇的譯碼器為74HC373,并且可以利用LED顯示脈沖的參數。
3.2 脈沖發生器設計
MCP34063數字電位器可以通過單片機的數字信號來對輸出的阻值進行控制,通過對電位器的控制進而控制輸出的電壓。與傳統的機械式的電位器相比具有控制簡單受操作影響較小精度高等特點,通過單片機與數字電位器的連接不僅能夠達到較高的輸出阻值的精度,還能夠實現阻值調整的自動化進行不需要人工的參與。數字電位器不僅可以作為變阻器使用還可以作為電位器來使用。因為本文主要使用的是電阻器,因而將數字電位器作為電阻器來使用,按照電阻器接線的方式來進行硬件的連接。數字電位器與單片機之間的連接是通過I2C總線。通過對電阻器的調節就能夠調節輸出電壓的幅值。但是一般情況下單片機的I/0口所能夠輸出的電壓幅值十分有限,輸出電流值的大小也十分有效,因而一般采用連接運算放大電路的形式,來對脈沖信號進行放大。本系統所選擇的運算放大器為LM2904通過計算能夠在滿足輸出電壓幅值的情況下不失真。
3.3 A/D轉換模塊選型
由于系統所要處理的信號為多路的模擬信號,本系統選擇了8位8路的ADC0809 A/D。ADC0809是一種CMOS電平器件。采用的是逐次逼近的算法來對電壓進行轉換,在A/D內部有8路的模擬開關,因而可以對8路的模擬信號進行轉換,一次轉換的時間大約為100微秒。另外其輸出還有TTL三態鎖存器,轉換之后數據的輸出是直接和單片機的P1.0-P1.7七個引腳相連的;地址線的連接通道中的A、B、C是直接和單片機地址線中的A2、A1、A0依次連接,三位地址線正好可以選擇ADC中8個通道中的任意一個通道;將ADC0809 的 ALE 與START相互連接,那么地址線上輸出信號經過鎖存器之后就開始進行轉換。ADC0809不存在片選端,因而只要START信號是有效的那么ADC0809就是開始轉換。為了能夠對轉換進行有效的控制,在系統設計的過程中將單片機的最高位的地址線作為片選信號。ADC0809地址的鎖存以及啟動轉換控制是由片選信號線與WR信號來綜合控制的,三態輸出鎖存器是由OE片選以及片選信號線和RD段來進行控制,最終可以獲取A/D的信號轉換的結果。通過中斷控制可以在轉換結束之后及時獲取ADCD的轉換結果。單片機的外部中斷的觸發方式設置為低電平觸發,將EOC經過反向器接到單片機的外部中斷INT0引腳上。在開啟ADC的轉換之后,單片機可以處理其他事件,當ADC轉換結束的時候,EOC引腳會產生一個從低電平向高電平跳變的信號,該信號經過反向器連接到單片機的INT0引腳,單片機接收到了這個外部中斷信號就會產生中斷。在前期一定要將CPU設置為開中斷模式,并且要允許外部INT0中斷,如果沒有更高級別的中斷,那么單片機就會執行該中斷所指向的中斷服務函數,在中斷服務函數執行的過程中活得到轉換的結果。
3.4 LED顯示電路
本文選擇了SN74HC273作為系統的鎖存器。利用兩個D觸發器作為一個LED顯示屏的控制端,其輸入端接到單片機的數據總線P0.0~P0.7。利用CLK0~CLK5 可以對控制信號進行鎖存,通過對SN74HC273的控制就可以將所需要顯示的內容顯示到系統的顯示屏上。由于總共需要顯示三個參數因而需要三個顯示屏和六個鎖存器。可以分別顯示所輸出脈沖的頻率、幅值和寬度。
4 軟件設計
軟件設計包括系統主程序的設計在main實現,脈沖產生程序、數據采集轉換程序、顯示程序與數字電位器控制程序幾部分組成。開發環境選擇的是Keil軟件的版本4。經過軟件的初始化系統開始等待中斷在中斷服務程序中完成各個子程序。硬件初始化以及子程序的調用等都是在主程序中完成的。程序的流程包括AD轉換,并將輸出信號的數值讀回到單片機中。顯示子程序可以完成對所輸出脈沖參數信息的輸出。數字電位器可以通過單片機輸出的控制信號來對輸出脈沖的幅值按照既定的程序進行調整。外部中斷子程序包括按鍵控制中斷、AD轉換結束中斷和定時器中斷等。最終脈沖通過IO口輸出,需要兩個定時器,采用的是單片機定時器的T0和T1。
5 結語
系統利用MCS-51最為可調式脈沖發生器的控制核心,利用單片機對外圍芯片的控制作用包括ADC、數字電位以及LED的操作實現輸出頻率、寬度和幅值可調信號發生器。本文所設計的數字可調式的脈沖發生器具有可編程、自動化程度高、脈沖輸出參數可調以及精度高等優點。可以應用在很多實用到脈沖發生器的場合,并且造價較為低廉。為可調式脈沖發生器的設計與應用提供可具體實踐的技術解決方案。
參考文獻
[1]史宏江,張春華,楊文景,李鐵軍,閆國興.新型脈沖發生器的研制[J].機械制造,2013(10).
[2]王利民,吳平,孫旭,房金鵬,彭建昌.遠程控制的多路數字延遲脈沖發生器[J].現代應用物理,2013(04).
[3]王貢獻,王名漢,華宏星,汪玉.液壓脈沖發生器機理與非線性特征分析[J].中國機械工程,2013(12).
[4]張伊美,張峰,陳炯.基于單片機反饋控制技術的交流耐壓試驗系統[J].中國電業(技術版),2012(08).
[5]羅小平,杜鵬英,杜少武.基于CMAC神經網絡的ECRH負高壓脈沖電源自適應控制策略研究[J].原子能科學技術,2011(03).