劉新平,徐俊鵬,宋繼志
(中國石油大學計算機與通信工程學院,山東青島 266580)
高校電器信息類專業實驗室中需配備多種測試儀器,如萬用表、直流穩壓電源、示波器、信號發生器等,購置的儀器多為單功能測試或信號發生儀器,需要的種類多,不便于實驗室擺放與使用,且總費用較高,需要花費較多的人力物力進行維護和維修。
我校在為學生開設硬件綜合實習課程的同時,研究開發了一種集多種測試及信號發生于一體的簡易綜合儀器,可實現基本的電壓測試、電流測試、虛擬示波器、波形發生器、可調直流穩壓電源、脈沖計數器、數字溫度計等功能,滿足了實驗教學的基本需求。另外,將該綜合測試儀做成一個開放式平臺,學生可通過電路設計及在線編程實現儀器的所有功能,鍛煉學生的綜合應用能力。該平臺不僅可以承擔高年級本科生硬件綜合實驗和自選課題的創新實驗內容,也可參加多種大學生競賽,如電子設計大賽、嵌入式設計競賽等,對培養學生動手能力及創新意識具有積極意義;同時,可作為普通實驗室測試及信號發生儀器,為學校節約資金,方便實驗室管理及使用。
系統總體結構如圖1所示,以STC12C5A60S2單片機為核心,外加必要的擴展接口電路[1]。STC12C5A60S2/AD/PWM 系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,指令代碼完全兼容傳統8051,內部有8 KB Flash 程序存儲器、1280BRAM 和2KB EEPROM,內置監視定時器(看門狗)電路,具有超強的抗干擾能力,可直接在用戶系統上用ISP在線下載方式,將用戶程序下載進STC 單片機運行,這樣可省去編程器和仿真器、降低實驗成本[2]。利用宏晶科技提供的免費下載軟件STC-ISP.EXE,學生可將實驗板帶回宿舍編程調試。

圖1 系統組成框圖
系統設計采用單片機STC12C5A60S2自帶的12位串行 A/D 轉換器和8 位串行D/A 轉換器DAC0832,實現模擬量和數字量的轉換;設計有4 個獨立鍵盤,采用液晶顯示屏或LED 數碼顯示器顯示輸出。系統功能包括數字時鐘和定時器、溫度控制器、波形發生器、脈沖計數器、可調節輸出電源、簡易數字萬用表等。具體功能可通過對單片機編程實現,將多種功能集成為一臺開放的數字測試和調試用的多功能儀器。編程時單片機和上位機之間用RS232串口相連,傳送數據和命令。
單片機通過串口與PC 機進行通信。這里,單片機串口輸出的是TTL 電平,而PC 機串口輸出的是RS232電平,兩者之間需要外加接口電路進行電平匹配,故采用專用電平轉換芯片MAX232 來實現。MAX232 芯片內部有電源電壓轉換器,可以把輸入的+5V 電壓變換為RS232 輸出電平所需的-10~+10V 電壓,故僅需要單一+5V 電源[3]。圖2是單片機和PC機之間的串行接口電路。通過串口通信,可實現用戶程序的在線下載。
用鍵盤設定當前時間及定時時間,采用一片HC162L字符液晶模塊或6個LED 數碼管顯示當前時間,到達設定的定時時間后蜂鳴器發出蜂鳴聲。數碼管采用動態顯示方式,以P0口輸出段碼和位碼,用2個74LS373鎖存器驅動段碼和位碼。HC162L 字符液晶顯示驅動及LED 數碼管顯示驅動均采用常規電路[4-5],本文不再詳述。

圖2 單片機與PC機之間串口通信電路
采用DS18B20 芯片作為數字溫度傳感器。DS18B20的最大的特點是單線接口方式,在與微處理器連接時只需要一條線即可實現微處理器與芯片的雙向通信。DS18B20的測溫范圍為-55~+125 ℃,固有測溫分辨率0.5℃。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性,適合于惡劣環境的現場溫度測量。另外,因為每一個DS18B20都有一個獨特的序號,多個DS18B20可以同時連接在一條總線上,因此溫度傳感器可放置在許多不同的地方。采用此芯片的缺點是:較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20與微處理器間采用串行數據傳送,因此,在對DS18B20進行讀寫編程時,必須嚴格保證讀寫時序,否則將無法讀取測溫結果。DS18B20在外部電源供電方式下,工作電源由VDD 引腳接入,此時I/O 線不需要強上拉,不存在電源電流不足的問題,可以保證轉換精度,同時在總線上理論上可以掛接任意多個DS18B20傳感器,組成多點測溫系統[6]。多點測溫電路如圖3所示。

圖3 DS18B20多點測溫電路圖
波形發生器及脈沖計數器主要用到D/A 轉換器和運算放大器,選用美國TI公司生產的DAC0832芯片。該DA 芯片以其價格低廉、接口簡單、轉換控制容易等優點,在單片機應用系統中得到廣泛的應用。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A 轉換電路及轉換控制電路構成。可以采用單+5V~+15V 供電,本系統中采用+5V 電壓供電,DAC0832的D/A 轉換數據通過DI0—DI7并行輸入。在波形發生器中,對電壓的大小沒有要求,可以采用任意基準電壓。
由于DAC0832的輸出為電流輸出,利用運算放大器可以將電流信號轉換成電壓信號,得到期望波形,具體轉換電路見圖4。通過編程可實現方波、三角波、鋸齒波、正弦波等波形輸出,改變輸出延遲時間,可改變其輸出頻率,具體編程時可通過按鍵增加或減小輸出頻率。

圖4 D/A轉換及放大輸出電路
脈沖計數器電路較為簡單,可直接采用單片機的內部計數器T0/T1對外部輸入脈沖計數,并由數碼管顯示。
設計4個獨立按鍵,一端接地,另一端與P3口相連。有鍵按下時單片機采集到的電壓為低信號。該功能模塊主要練習中斷及鍵盤檢測與消抖的編程方法。
設計一個交通信號燈控制器,在十字路口每個入口處設置紅、黃、綠三色信號燈,紅燈亮禁止通行,綠燈亮允許通行。主干道每次放行45s,支干道每次放行25s,在每次由綠燈轉紅燈的過程中,黃燈閃爍3s作為過渡,使行駛中的車輛有時間停到禁行線外。分別用數碼管顯示45s、25s倒計時,用紅、黃、綠發光二極管作信號燈。發光二極管電路由鎖存器和限流電阻共同組成,發光二極管正常工作電流為3~10mA,所以通過限流電阻就可以使發光二極管正常工作。本功能模塊旨在練習定時器的編程與設計方法。
電路中用到多種供電電源,比如芯片LM324 屬于非軌對軌的元件,所以在放大電壓信號時需要加上±12V 的電壓才能使運算放大器正常工作;在電壓源部分,希望得到0~24V 的電壓,運算放大器只有加上+30V 電壓才能正常工作;另外還有需要設置+5V基準電壓等。可以利用一系列的原件進行電壓的轉換。如圖5所示,可實現+30V 電壓轉換成1.25~30 V 之間任意電壓[7]。輸出電壓VOUT=1.25(1+R4/R3),調節R4的值就可以得到不同的電壓值,所需要的+5V、+12V、都可以由芯片LM317轉換得到,只需要將R4分別設置為450Ω 和1.29kΩ。

圖5 LM317電源轉換原理圖
-5 V 和-12 V 電壓可通過 MAX660 和MC34063芯片轉換[8]。電荷泵反極性開關集成穩壓器MAX660可以把正輸入電壓變換成負輸出電壓,也可以把負輸入電壓變換成正輸出電壓,還可以產生二倍壓,即輸出電壓為輸入電壓的2倍。圖6可實現+5 V 電壓轉換為-5V 電壓。

圖6 MAX660電源轉換原理圖
MC34063是一單片雙極型線性集成電路,專用于直流—直流變換器控制部分。片內包含有溫度補償帶隙基準源、一個占空比周期控制振蕩器、驅動器和大電流輸出開關,能輸出1.5A 的開關電流。它能用最少的外接元件構成開關式升壓變換器、降壓式變換器和電源反向器。+5V 轉換輸出-12V 電源電路如圖7所示。

圖7 MC34063電源轉換原理
數控直流電壓源主要利用運算放大器LM324,其原理是將可控的數字信號通過DAC0832轉換成模擬信號,再利用運算放大器的放大作用,將模擬信號放大到期望得到的信號。數控電壓源的原理如圖8所示。基準電壓通過DA轉換輸出,2個晶體三極管的作用是擴流,電阻R7和R8的作用是對輸出電壓進行采集。采集后的電壓送到自帶AD的單片機中,可用PID控制算法或模糊控制算法實現電壓輸出的閉環控制。

圖8 數控電壓源電路
數控直流電流源的原理和電壓源類似,都是通過DAC0832將可控的數字信號轉換成模擬信號,然后利用運算放大器進行放大,將模擬信號放大到期望得到的電流值。數控電流源電路如圖9所示,2個晶體三極管的作用是擴流,電阻R15—R18是4個并聯的采樣電阻,其作用是在不降低輸出功率的前提下降低采樣電壓。這個電路也可用PID 控制算法或模糊控制算法實現電流輸出的閉環控制。

圖9 數控電流源原理圖
電壓表的測量原理很簡單,將待測電壓直接輸給帶AD 轉換的單片機中,就可以直接在單片機中進行模數轉換,轉換后的數值大小就是待測電壓值。將待測電壓送給低通濾波器,濾除高頻干擾,可以獲得比較穩定的電壓值[9]。如圖10 所示,采用運算放大器LM324,負向輸入端與輸出端直接相連,輸出端的電壓等于正相輸入端輸入的電壓值,待測電壓的大小沒有變化。
電流表原理如下:首先通過串接電阻將待測電流通過AD 轉換器轉換成電壓值,串接的電阻必須很小,否則會影響電流的準確性。電流表原理如圖11,其中電阻R20和電阻R22可以決定電流的測量范圍,根據電阻R21兩端的電壓差可以計算出待測電流的大小。因為電阻很小,需要將電壓進行放大,先后經過反相緩沖、差分放大和同相放大電路獲得電壓值,然后將電壓值送到帶AD 轉換的單片機中,就可以計算出待測電流的大小。
測量電阻的原理如圖12所示,可以由單獨一個運算放大器構成,這就要求運算放大器的反相輸入端的電壓值為-5V;也可以由2個運算放大器構成,前運算放大器的主要作用是產生一個-5V 的電位,作為后一級放大電路的反相輸入端,而后一級的正相輸入端接地。所以運放的輸出端電壓與反相輸入端的電壓之比和待測電阻與電阻R19之比相等,根據輸出端的電壓,可以計算出待測電阻值的大小。調節電阻R19的大小可以改變待測電阻的測量范圍。

圖10 電壓表原理圖

圖11 電流表原理圖

圖12 電阻測量原理圖
為提高學生動手能力,增強學生社會適應性,開設了“硬件綜合實習”課程,讓學生親自設計一臺小型計算機系統,包括計算機的各個部件和功能,“麻雀雖小,五臟俱全”,旨在讓學生真真切切感受到如何設計一個可獨立工作的計算機系統。本實習安排在第六學期末,是一門綜合性設計實踐課程,也是對前面所學課程的一個全面應用和總結。該課程綜合運用了“組成原理”、“匯編語言”、“接口技術”、“單片機原理”、“數據采集系統”、“計算機控制技術”等硬件課程中的知識,在硬件課程群建設中起著“總練兵”的作用,能進一步強化和提高學生的綜合實踐能力,培養學生的創新思維和創造能力[10-13]。
本課程面向計算機科學與技術專業本科生開設,實習時間共安排4周。具體任務為:設計電路原理圖和印刷電路圖,進行電路制版;完成電路板的焊接與調試;用匯編語言或C 語言編寫下位機程序,包括數據采集與處理程序、鍵盤監測與顯示輸出程序、PID 或模糊控制算法程序、串口通信程序等;將各功能模塊程序進行系統聯調,用鍵盤程序將其功能連接起來,通過按鍵可選擇不同的功能;最后將用戶程序下載至STC 單片機的程序存儲器,使其上電獨立工作;最后完成系統測試,撰寫實習總結報告。上位機程序采用VC 編程,利用NI的Component Works 控件實現人機接口界面,包括設置參數與顯示輸出程序、串口通信程序等,用以輸出顯示、傳送數據和命令等。
為了更好地培養學生的創新思維和創造能力,系統硬件設計時僅提出任務及技術指標要求,具體器件型號不給出,而是由學生自主設計。設計出的電路原理圖及制版圖由教師評判打分。由于實驗室條件及時間所限,學生實際使用的電路板及器件是由教師統一制作和采購的,具體的電路板焊接及編程調試則全部由學生獨立完成。
該硬件綜合實習方案經過精心準備,迄今已在4屆計算機專業本科生中開設,取得了令人滿意的效果。由于系統既有硬件設計,也有軟件編程,極大地激發了學生的學習興趣,鍛煉了學生綜合應用知識的能力和綜合實踐能力,培養了學生的創新思維和創造力,同時也培養了學生的團隊合作精神。設計期間,從資料的查找,到設計方案的論證,再到系統的最終調試,學生都投入了極大的熱情和精力。學生經常為一個問題爭得面紅耳赤,經常到了吃飯時間被教師趕幾遍才依依不舍地離開實驗室。從學生的實習總結報告可以看出,學生做完硬件綜合實習后,普遍充滿自豪感和成就感,感到硬件設計及底層軟件開發不再可怕。參加完實習的學生每年都有多人在各種創新競賽中獲獎,在2008 至2011 年的“博創杯”全國大學生嵌入式設計大賽中,共獲得一等獎2項、二等獎1項、三等獎3項;在全國大學生“飛思卡爾”杯智能汽車競賽中獲得全國二等獎2 項,華北賽區一等獎1項、三等獎3項;第七屆“挑戰杯”山東省大學生創業設計競賽中獲特等獎。
(
)
[1]李紅偉,胡濤,徐熙平,等.基于單片機的伺服電機控制系統的研究[J].長春理工大學學報:自然科學版,2012,35(1):116-118.
[2]代芬,王衛星,鄧小玲,等.單片機綜合實驗開發板設計[J].實驗室研究與探索,2010,29(8):213-215.
[3]朱立忠,馮丹.PC 機與MCS51 單片機串行通信接口電路的設計[J].沈陽工業學院學報,2003,22(2):22-24.
[4]張天宏,丁毅.自動控制綜合教學實驗儀器開發[J].實驗室研究與探索,2004,23(12):141-143.
[5]劉燕,陳興文.通用采集系統在自控原理實驗教學中的應用[J].實驗室研究與探索,2003,22(2):76-77.
[6]王福泉,萬頻,馮孔淼,等.DS18B20在空調檢測系統溫度采集模塊中的應用[J].電子技術應用,2011,37(8):46-48.
[7]馮平,張治中.基于可調式穩壓器LM317的直流穩壓電源[J].電子測試,2009,5(2):70-74.
[8]管小明,李躍忠,王曉娟.基于MC34063 的便攜式儀器電源電路設計[J].東華理工大學學報:自然科學版,2010,33(1):97-100.
[9]秦輝,李靜,董蓓蓓,等.全自動數字萬用表的設計[J].儀器儀表裝置,2010(1):14-17.
[10]周向紅,李建軍.單片機實踐教學的探討與研究[J].實驗技術與管理,2007,24(7):120-122.
[11]蘇檢德,何富運,殷嚴剛,等.“單片機應用設計”課程教學改革與實踐[J].實驗技術與管理,2011,28(12):148-150.
[12]朱震華.單片機綜合實驗箱的研制[J].實驗科學與技術,2007,5(1):124-126.
[13]崔夏榮.基于工程素質培養的單片機教學改革[J].南平師專學報,2006,25(2):103-105.