摘 要:為了對電子行業(yè)中的PCB板電壓進行測試,采用STM8S207單片機控制繼電器的測試架,通過PC實時檢測電壓并顯示。通過單片機控制繼電器對一些強電進行控制的實驗,它可以控制5 V和12 V電壓的輸出和一定范圍的交直流檢測,并且可以通過485通信把檢測的結(jié)果傳送到PC機。實驗結(jié)果證明,該測試架具有可以用于對不同電路適時的控制,對一些新產(chǎn)品的PCB板測試,在測試過程中只要把對應的XH2連接好,就可直接在PC機上進行相應的測試,使用便捷,性能可靠。
關(guān)鍵詞:STM80S207M單片機; 測試架; PCB電壓測試; 實時檢測
中圖分類號:TN191934; TP206 文獻標識碼:A 文章編號:1004373X(2012)22013805
0 引 言
隨著信息科學技術(shù)的發(fā)展,工業(yè)生產(chǎn)擴大和產(chǎn)品種類的增加,在科研與生產(chǎn)中,檢測成為每一個電子產(chǎn)品必不可缺少的一個環(huán)節(jié)。對測試的要求也越來越高,有時因為對一塊電路板要同時測試好多功能,而無法同時檢測而影響產(chǎn)品質(zhì)量。基于STM8S207單片機的強大功能,最高fCPU可達24 MHz,基于哈佛結(jié)構(gòu)并帶有3級流水線擴展指令集,最高20 MIPS@24 MHz[13]。程序存儲器:最多128 KB FLASH,10千次擦寫后在55 ℃環(huán)境下數(shù)據(jù)可保存20年;數(shù)據(jù)存儲器:最多2 KB真正的數(shù)據(jù)E2PROM[4];可達30萬次擦寫RAM:最多6 KB。時鐘、復位和電源管理2.95~5.5 V工作電壓靈活的時鐘控制,4個主時鐘源,低功率晶體振蕩器,外部時鐘輸入,用戶可調(diào)整的內(nèi)部16 MHzRC,內(nèi)部低功耗128 kHzRC,帶有時鐘監(jiān)控的時鐘安全保障系統(tǒng),低功耗模式(等待、活躍停機、停機),外設的時鐘可單獨關(guān)閉,永遠打開的低功耗上電和掉電復位[5]。帶有32個中斷的嵌套終端控制器,6個外部中斷向量,最多37個外部中斷。定時器,2個16位通用定時器,帶有2+3個,CAPCOM通道(IC,OC或PWM)。高級控制定時器:16位,4個CAPCOM通道,3個互補輸出,控制和靈活的同步帶有8位預分頻器的8位基本定時器[67]。用STM8S207MB單片機控制可以很好的解決同時測試好多功能的測試要求,并且時時對電壓進行檢測。比一般的51和PIC單片機便宜,成本較低[8]。
1 系統(tǒng)總體設計
1.1 系統(tǒng)功能設計
通過MCU1,MCU2,MCU3三片STM8S207單片機,它們與上位機通過芯片485通信進行連接。如圖1所示。其中繼電器驅(qū)動,要求電流10 A以下,40路,可以驅(qū)動強電接通,也可以模擬按鍵,XH2輸出。80~400 V交流強電檢測,16路,要求隔離檢測,XH2輸入。0~24 V弱電檢測,16路,不要求隔離檢測,XH2輸入。60~400 V直流強電檢測,8路,不要求隔離檢測,XH2輸入。5 V輸出,要求MOS管驅(qū)動,12路,XH2輸出。12 V輸出,要求MOS管驅(qū)動,12路,XH2輸出485通信,各單片機之間用芯片MAX485進行通信。主要完成功能如圖1所示。硬件基本配置電路板基本構(gòu)架如圖2所示。這三塊芯片用芯片485進行通信,然后并在一條總線上,最后用上位機控制。
1.2 通信協(xié)議
通信的時候數(shù)據(jù)以一幀一幀傳輸,一幀由5個字節(jié)組成,每個字節(jié)有11位,第一位起始位,第10位奇檢驗,第11位當數(shù)據(jù)。由PC機向MCU傳輸時,第一個字節(jié)如果接收到濾波碼B3H,數(shù)據(jù)開始傳輸,如果接收的不是B3H,單片機則不予理睬[9]。第2個字節(jié)表示大組號和小組號,系統(tǒng)事先已將92路輸入或者輸出編號組,每一大組再分出小組,這個字節(jié)中,前3位表示大組號,001表示20路繼電器輸出,010表示20路繼電器輸出,011表示直流強電檢測,100表示12 V輸出,101表示弱電檢測,110表示交流強電檢測,后5位表示某一路的輸入或者輸出;第3個字節(jié)表示電路是否動作,00000001表明明電路動作了,0000000表明電路沒有動作;第4個字節(jié)保留;第5個字節(jié)表示CRC中斷檢驗。當數(shù)據(jù)由PC機向MCU傳輸時,第1個字節(jié)如果接收到濾波碼3BH,數(shù)據(jù)開始傳輸,如果接收的不是3BH,單片機則不予理睬;第2個字節(jié)表示同上所述。第3第4個字節(jié)表示12位AD值。第5位表示CRC中斷檢驗.本次通信的波特率為9 600 b/s,每個字節(jié)隔0.5 ms傳輸,每個字節(jié)每位之間的時間間隔則為100 μs。
1.3 管腳規(guī)劃
單片機STM8S207(MCU1,MCU2,MCU3),分別控制繼電器驅(qū)動和直流強電檢測,5 V輸出和弱電檢測,12 V輸出和強電檢測,3塊單片機用485通信,再由總芯片控制,工作電壓2.95~5.5 V[10]。MCU1控制40路繼電器驅(qū)動,強電檢測(60~400 V)共52路。
2 系統(tǒng)硬件設計
2.1 STM8S207MB芯片特點
它是由全球第5大半導體公司意法半導體生產(chǎn)的8位機,這種8位的STM8S207MB內(nèi)核在設計時考慮了代碼的效率和性能[11]。它的6個內(nèi)部寄存器都可以在執(zhí)行程序中直接尋址。共有包括間接變址尋址和相對尋址在內(nèi)的20種尋址模式和80條指令。其管腳圖如圖3所示。
2.2 485通信
IC485接口電路的主要功能是:將來自微處理器的發(fā)送信號TX通過“發(fā)送器”轉(zhuǎn)換成通信網(wǎng)絡中的差分信號,也可以將通訊網(wǎng)絡中的差分信號通過“接收器”轉(zhuǎn)換成被微處理器接收的RX信號[12]。任一時刻,IC485收發(fā)器只能夠工作在“接收”或“發(fā)送”兩種模式之一,因此,必須為IC485接口電路增加一個收/發(fā)邏輯控制電路。如圖5所示。微處理器的標準串行口通過RXD直接連接IC485R芯片的RO引腳,通過TXD直接連接IC485R芯片的DI引腳。由微處理器輸出的R/D信號直接控制IC485R芯片的發(fā)送器/接收器使能:R/D信號為“1”,則IC485R芯片的發(fā)送器有效,接收器禁止,此時微處理器可以向RS 485總線發(fā)送數(shù)據(jù)字節(jié);R/D信號為“0”,則SP485R芯片的發(fā)送器禁止,接收器有效,此時微處理器可以接收來自RS 485總線的數(shù)據(jù)字節(jié)。此電路中,任一時刻IC485R芯片中的“接收器”和“發(fā)送器”只能夠有1個處于工作狀態(tài)。連接至A引腳的上拉電阻R7、連接至B引腳的下拉電阻R8用于保證無連接的IC485R芯片處于空閑狀態(tài),提供網(wǎng)絡失效保護,以提高IC485節(jié)點與網(wǎng)絡的可靠性。如果將IC485R連接至微處理器STM8S207MB芯片的UART串口,則IC485R芯片的RO引腳不需要上拉;否則,需要根據(jù)實際情況考慮是否在RO引腳增加1個大約10 kΩ的上拉電阻。
IC485接口電路收/發(fā)邏輯控制電路2.3 其他控制電路
在硬件設計中,還包括控制繼電器驅(qū)動,如圖4所示,它具有控制系統(tǒng)和被控制系統(tǒng)。通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。
當STM8S207MB單片機輸出高電平時,由于電阻R7的分壓作用,使三極管飽和導通,使繼電器線圈通電,吸合開關(guān),驅(qū)動外圍電路。
當STM8S207MB單片機輸出低電平時,三極管截止,使繼電器線圈失電,斷開開關(guān)。電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。
當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電路中的導通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。
控制80~400 V交流強電檢測隔離檢測,XH2輸入:
工作原理:如圖6所示,由XH2輸入80~400 V的電壓,通過變壓器的隔離變壓13 V,在通過4個IN4007整流二極管整流,在經(jīng)過E1,C10濾波,經(jīng)過電阻的分壓輸入單片機的AD轉(zhuǎn)換引腳輸入單片機,在經(jīng)過一定的計算傳給上位機PC顯示。
變壓器TR/DBE128/7201A的變壓比K=N1/N2=30,最高電壓是380 V, 稱為匝比(亦稱電壓比)。經(jīng)變壓器變壓后的電壓390/U1=1/30,得U1=13 V。經(jīng)整流管整流后的電壓U2=U1×1.2=15.6 V,經(jīng)電阻分壓后輸入單片機的電壓(R210/(R210+R209))×15.6=4.2 V還有其他的電壓測出電路,如0~24 V弱電檢測,60~400 V直流強電檢測, 控制5 V和12 V輸出, 控制5 V和12 V輸出,單線接口模塊,帶有3級軟件優(yōu)先級設定的嵌套中斷,時鐘控制器,看門狗設計,電源管理,模數(shù)轉(zhuǎn)換等等。
3 系統(tǒng)軟件設計
STM8單片機的C語言編譯器是COSMIC,是一款專用于ST公司的單片機的編譯器。包括MCU1的軟件與上位機通信軟件程序示,函數(shù)聲明及變量定義程序、I/O口初始化程序、A/D轉(zhuǎn)化初始化和延時程序、I/O輸出函數(shù)、電壓采樣函數(shù)、看門狗函數(shù)、通信中斷函數(shù)、TIM4中斷函數(shù),以TIM4中斷函數(shù)為例:
圖6 控制80~400 V交流強電檢測隔離檢測原理圖TIM4中斷函數(shù)程序:
@far @interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
TIM4>SR1 = 0x00;
//清除更新標志;
ncount++;
if(ncount>=250)
{
GPIOD>ODR = GPIOD>ODR ^ 0x10;
//將PD4反相
ncount=0;
}
TIM4>IER = 0x00;
}
void delay(unsigned int count)
{
while(count);
}
void TIM4_delay(void)
{TIM4>IER = 0x00;
//禁止中斷
TIM4>EGR = 0x01;
//允許產(chǎn)生更新事件
TIM4>PSCR = 0x04;
//計數(shù)器時鐘=主時鐘/128=2 MHz/16
TIM4>ARR = 249;
//設定重裝載時的寄存器值,255是最大值
//TIM4>CNTR = 255;
//設定計數(shù)器的初值
//定時周期=(ARR+1)8=2 000 μs
TIM4>CR1 = 0x01;
//b0 = 1,允許計數(shù)器工作
//b1 = 0,允許更新
//設置控制器,啟動定時器
TIM4>IER = 0x01;
}
voidmain()
{int a;
CLK>SWR = 0xE1;
//選擇芯片內(nèi)部的16 MHz的RC振蕩器為?
IO_Init();
AD_Init();
UART1Init();
while(1)
{
DO_output(a);
if(++voltage_channel_ptr>=voltage_channel_total)
{
voltage_channel_ptr=0;
}
sample_loop(voltage_channel[voltage_channel_ptr],50);
}
4 硬件接口連接與調(diào)試
將STM8S207MB與外設之間進行連接并進行系統(tǒng)調(diào)試,在進行硬件電路的實驗調(diào)試時,首先檢測各電路板的主要模塊之間的連通性,即保證電路連接無誤,是否有電路,對系統(tǒng)各硬件電路進行檢測,保證各模塊可以正常工作,同時保證各硬件電路可以由STM8S207MB進行控制,并能保證和上位機之間能正常通信。
(1) 安裝stvd軟件;
(2) 將軟件導入stvd,調(diào)試程序有沒有錯誤;
(3) 如果沒有錯誤,就可以用仿真器在程序通過SWIN燒入單片機;
(4) 在把已經(jīng)通過stvd調(diào)試的程序植入硬件電路中,仿真看一下是否跟預期效果相同。
5 結(jié) 語
基于STM8S207MB有高性能內(nèi)核, 抗干擾能力強,品質(zhì)安全可靠。領先的130 nm制造工藝,優(yōu)異的性價比。程序空間從4~128 KB,芯片選擇從20腳到80腳,寬范圍產(chǎn)品系列。
系統(tǒng)成本低,內(nèi)嵌E2PROM和高精度RC震蕩器。開發(fā)容易,擁有本地工具支持。由于使用環(huán)境、成本等因素,該測試車架-控制繼電器驅(qū)動,控制電流10 A以下,可以控制40路,可以驅(qū)動強電接通,也可以模擬按鍵,XH2輸出;80~400 V交流強電檢測,可以檢測16路,隔離檢測,XH2輸入。
0~24 V弱電檢測,最多可以檢測16路,不隔離檢測,XH2輸入;60~400 V直流強電檢測,最多可檢測8路,不隔離檢測,XH2輸入。5 V輸出,MOS管驅(qū)動,可以輸出12路,XH2輸出;12 V輸出,要求MOS管驅(qū)動,可以輸出12路,XH2出。485通信,各單片機與PC之間用芯片MAX 485進行通信,PC可以實時的對檢測的電壓進行顯示。
該測試架可以特別適用電子行業(yè),對PCB板的測試。實驗結(jié)果證明測試架可以獲得基本功能如下:
(1) 繼電器驅(qū)動,控制電流10 A以下,最多控制40路,可以驅(qū)動強電接通,也可以模擬按鍵,XH2輸出;
(2) 80~400 V交流強電檢測,最多可以檢測16路,隔離檢測,XH2輸入;
(3) 0~24 V弱電檢測,最多可以檢測16路,不隔離檢測,XH2輸入;
(4) 60~400 V直流強電檢測,最多可檢測8路,不隔離檢測,XH2輸入;
(5) 5 V輸出,MOS管驅(qū)動,最多可以輸出12路,XH2輸出;
(6) 12 V輸出,要求MOS管驅(qū)動,最多可以輸出12路,XH2出;
(7) 485通信,各單片機與PC之間用芯片MAX485進行通信。應用程序以C語言編寫,充分利用芯片資源,提高代碼的利用效率,減小代碼容量,采用去極值平均數(shù)字濾波算法對經(jīng)過A/D轉(zhuǎn)換后的數(shù)字信號進行濾波處理。這種方法即可慮去脈沖干擾又可濾去小的隨機干擾,不但最大限度地排除現(xiàn)場噪音干擾,降低電壓的誤測概率。
參 考 文 獻
[1] 彭為,黃科,雷道仲.單片機典型系統(tǒng)設計[M].北京:電子工業(yè)出版社,2006.
[2] 胡漢才.單片機原理及其接口技術(shù)[M].北京:清華大學出版社,2004.
[3] 康華光.電子技術(shù)基礎[M].北京:高等教育出版社,2005.
[4] 佚名.2005電子報合訂版[M].成都:電子科技大學出版社,2005.
[5] 江曉安,董秀峰,楊頌華.數(shù)字電子技術(shù)[M].3版.西安:西安電子科技大學出版社,2005.
[6] 鄭峰,王巧之,陳繪賓,等.51單片機運用系統(tǒng)典型模塊開發(fā)大全[M].北京:中國鐵道出版社,2005.
[7] 云峰.檢測技術(shù)[M].北京:機械工業(yè)出版社,2005.
[8] 梅麗鳳,赫萬新.單片機原理及應用[M].北京:清華大學出版社,2008.
[9] 何希才.常用傳感器應用電路的設計與實踐[M].北京:科學出版社,2006.
[10] 陳伯時.電力拖動自動控制系統(tǒng)\[M\].北京:機械工業(yè)出版社,2009.
[11] 莫正康.電力電子應用技術(shù)\[M\].北京:機械工業(yè)出版社,2007.
[12] 盧艷君.單片機原理與應用[M].北京:機械工業(yè)出版社,2008.
[13] 施先旺.基于DSP/BIOS實現(xiàn)發(fā)動機實時在線狀態(tài)監(jiān)測\[J\].火箭推進,2010,36(5):5458.
作者簡介: 王 娟 女,1982年出生,碩士,講師。研究方向為機電一體化。