国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

環(huán)境試驗(yàn)電應(yīng)力通斷控制系統(tǒng)的設(shè)計(jì)

2015-12-23 04:25:37王文岳
關(guān)鍵詞:數(shù)碼管斷電鍵盤

王文岳

(工業(yè)和信息化部電子第五研究所華東分所,江蘇 蘇州 215011)

環(huán)境試驗(yàn)電應(yīng)力通斷控制系統(tǒng)的設(shè)計(jì)

王文岳

(工業(yè)和信息化部電子第五研究所華東分所,江蘇 蘇州 215011)

介紹一種電應(yīng)力通斷控制 (on-off機(jī))系統(tǒng)的制作方法,使用單片機(jī)作為核心控制元件,利用編程控制外圍電路來實(shí)現(xiàn)邏輯通斷,從而為環(huán)境試驗(yàn)中的電應(yīng)力控制提供新方法,該方法還可應(yīng)用于某些產(chǎn)品的循環(huán)通斷電壽命試驗(yàn)。

環(huán)境試驗(yàn);壽命試驗(yàn);電應(yīng)力控制;通斷控制;單片機(jī)

0 引言

隨著電子產(chǎn)品的發(fā)展,電子產(chǎn)品的可靠性要求越來越高。電子產(chǎn)品本身的通斷電循環(huán)數(shù)往往作為驗(yàn)證電子產(chǎn)品、電子部件的電應(yīng)力耐久性的重要考察指標(biāo)[1]。

在進(jìn)行可靠性試驗(yàn)、溫濕度振動(dòng)綜合應(yīng)力試驗(yàn)時(shí),往往需要對被試驗(yàn)的樣品施加具有一定時(shí)序的通斷電,這種通斷電時(shí)序往往較為復(fù)雜,通過時(shí)間繼電器搭電路并不現(xiàn)實(shí)而且可靠性不高,在試驗(yàn)中斷時(shí)很難找到相應(yīng)的時(shí)序繼續(xù)進(jìn)行循環(huán)試驗(yàn),往往需要重新開始試驗(yàn),這樣勢必會增加產(chǎn)品試驗(yàn)應(yīng)力,不符合試驗(yàn)要求。又如電源產(chǎn)品,往往通過反復(fù)、多次的通斷電,對電源產(chǎn)品進(jìn)行耐疲勞驗(yàn)證,用手工操作肯定不現(xiàn)實(shí);若邏輯復(fù)雜,搭硬件電路也不方便,則環(huán)境試驗(yàn)應(yīng)力通斷控制 (on-off)系統(tǒng)機(jī)便起到很大的作用。

1 系統(tǒng)介紹

為了更好地實(shí)現(xiàn)電應(yīng)力的通斷施加,通過大量的實(shí)踐,發(fā)明此on-off機(jī)系統(tǒng)。此系統(tǒng)通過外部鍵盤來選擇相應(yīng)溫度段的電應(yīng)力時(shí)序,例如:按1號鍵盤施加降溫段電應(yīng)力時(shí)序;2號鍵盤施加低溫貯存段電應(yīng)力時(shí)序;3號鍵盤施加升溫段電應(yīng)力時(shí)序;4號鍵盤施加高溫貯存段電應(yīng)力時(shí)序等。

進(jìn)入程序后數(shù)碼管倒計(jì)時(shí)顯示此電應(yīng)力段通電或斷電的剩余時(shí)間 (通過時(shí)、分、秒顯示),使得試驗(yàn)時(shí)更直觀,完全可以知道還有多長時(shí)間樣品通電,還有多長時(shí)間樣品斷電并且上電時(shí)會有LED燈亮起,斷電時(shí)LED燈熄滅,非常直觀,便于試驗(yàn)監(jiān)控。

所有的時(shí)序信號通過繼電器模塊輸出給外部樣品做通斷信號源。

接下來介紹此on-off機(jī)的硬件電路 (如圖1-6所示)。

此硬件系統(tǒng)為單片機(jī)主控制模塊、USB程序下載模塊、4*4矩陣鍵盤模塊、LED燈模塊、數(shù)碼管顯示模塊和繼電器信號輸出模塊。

2 具體的操作方法

a)根據(jù)具體的要求,將繼電器的輸出端接到樣品的供電電源端口 (連接常開端或常閉端根據(jù)程序設(shè)計(jì))。

b)通過USB線下載相應(yīng)的程序進(jìn)入on-off機(jī)系統(tǒng)。

圖1 單片機(jī)主控制模塊

圖2 USB程序下載模塊

圖3 4*4矩陣鍵盤模塊[2]

圖4 LED燈模塊

c)開始試驗(yàn)時(shí),打開on-off機(jī)系統(tǒng)電源,按下相應(yīng)的矩陣鍵盤按鍵 (如需要從第1段電應(yīng)力開始執(zhí)行,即可按下1#鍵盤;如需要從第2段電應(yīng)力開始執(zhí)行,即可按下2#鍵盤等),on-off機(jī)便開始工作。

3 系統(tǒng)程序編寫方法

根據(jù)硬件圖,可以編寫出掃描矩陣鍵盤、數(shù)碼管動(dòng)態(tài)顯示的程序,這對于具備如此知識背景的人來說并非難事。這兒通過一個(gè)典型的溫濕度環(huán)境試驗(yàn)電應(yīng)力通斷邏輯,描述一份程序編寫框圖。旨在講清楚如何在程序中合理地安排矩陣鍵盤和數(shù)碼管顯示,以及時(shí)間段精確地控制輸出電應(yīng)力的方法。對于有知識背景的人而言,看了程序框圖便知道如何編制程序。

典型案例:某產(chǎn)品進(jìn)行濕熱循環(huán)試驗(yàn),高溫段駐留3 h(此間給樣品加電10min斷電20 min,依照此種頻率循環(huán)6次),高溫降至低溫用25 min(此間樣品斷電);低溫駐留3 h(此間給樣品加電20min斷電10min,依照此種頻率循環(huán)6次),低溫升至高溫用25 min(此間樣品通電),上述為1個(gè)試驗(yàn)循環(huán)。此次試驗(yàn)共進(jìn)行200個(gè)循環(huán)[4]。

圖5 數(shù)碼管顯示模塊[3]

圖6 繼電器信號輸出模塊

分析:我們將此案例分為4段電應(yīng)力邏輯——第1段為高溫段即樣品加電10 min斷電20 min,依照此種頻率循環(huán)6次,第1段對應(yīng)矩陣鍵盤第4行第1列按鍵記為1號按鍵;第2段為降溫段即樣品在此段中25 min斷電,第2段對應(yīng)矩陣鍵盤第4行第2列按鍵記為2號按鍵;第3段為低溫段即樣品加電20 min斷電10 min,依照此種頻率循環(huán)6次,第3段對應(yīng)矩陣鍵盤第4行第3列按鍵記為3號按鍵;第4段為升溫段即樣品在此段中25 min上電,第4段對應(yīng)矩陣鍵盤第4行第4列按鍵記為4號按鍵。在按下這4個(gè)按鍵中的其中1個(gè)時(shí)將進(jìn)入相應(yīng)段的電應(yīng)力邏輯——如按下1號鍵,程序?qū)?zhí)行1、2、3和4;從其他段開始執(zhí)行可依此類推。在進(jìn)入相應(yīng)的段后,數(shù)碼管將進(jìn)行通斷電倒計(jì)時(shí)顯示 (以1 s為單位),在數(shù)碼管最后1位將顯示現(xiàn)在執(zhí)行的段 (1或2或3或4);通電段則LED燈點(diǎn)亮,斷電段則LED燈熄滅。8位數(shù)碼管顯示方式:左起第1、2位顯示小時(shí)數(shù);第3、4位顯示分鐘數(shù);第5、6位顯示秒數(shù);第7位不顯示;第8位顯示當(dāng)前執(zhí)行段。

圖7 程序流程圖[5]

對于此案例,編制如圖7所示的試驗(yàn)程序流程圖。

4 程序源文件

針對上述典型案例,程序源文件如下 (C語言編寫):

#include

#define uchar unsigned char

#define uintunsigned int

#define ulong unsigned long

uchar tt;uchar t_min;uchar h_hour;uchar T_d;

uchar js;//電應(yīng)力循環(huán)標(biāo)志位

uchar js_2;uchar js_4;//第2段及第4段電應(yīng)力中要嵌入電應(yīng)力

uchar fxtime;

sbit D1=P1^0;

sbit D2=P1^1;

sbit D3=P1^2;

sbit D4=P1^3;

sbit D5=P1^4;

sbit D6=P1^5;

sbit relay=P2^1;

sbit dula=P2^6;

sbitwela=P2^7;

uchar a,temp;

//uchar js_led;

uchar h_g;uchar h_d;uchar m_g;ucharm_d;

uchar s_g;uchar s_d;

uint t_s;

uint etrc_pw1, etrc_pw2_on,etrc_pw2_off,etrc_pw3,

etrc_pw4_on,etrc_pw4_off;

uint pw1_h,pw1_m,pw1_s;

uchar pw1_h_g, pw1_h_d,pw1_m_g,pw1_m_d,

pw1_s_g,pw1_s_d;

uchar pw2_on_h,pw2_on_m,pw2_on_s,

pw2_off_h,pw2_off_m,pw2_off_s;

uchar pw2_on_h_g, pw2_on_h_d,pw2_on_m_g,pw2_on_m_d,

pw2_on_s_g,pw2_on_s_d,

pw2_off_h_g, pw2_off_h_d, pw2_off_m_g,pw2_off_m_d,

pw2_off_s_g,pw2_off_s_d;

uchar pw3_h,pw3_m,pw3_s;

uchar pw3_h_g, pw3_h_d, pw3_m_g,pw3_m_d,

pw3_s_g,pw3_s_d;

uchar pw4_on_h,pw4_on_m,pw4_on_s,

pw4_off_h,pw4_off_m,pw4_off_s;

uchar pw4_on_h_g, pw4_on_h_d,pw4_on_m_g,pw4_on_m_d,

pw4_on_s_g,pw4_on_s_d,

pw4_off_h_g, pw4_off_h_d, pw4_off_m_g,pw4_off_m_d,

pw4_off_s_g,pw4_off_s_d;

uchar code table[]={0x3f, 0x06, 0x5b,0x4f,0x66,0x6d,0x7d,

0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void delayms(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=120;j>0;j--);}

void jsscan()

{

P3=0xfe;

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0){

delayms(10);temp=P3;

temp=temp&0xf0;

if(temp!=0xf0){

temp=P3;

switch(temp){

case 0xee:

js=1;

a=0;

break;

case 0xde:

js=2;

a=0;

break;

case 0xbe:

js=3;

a=0;

break;

case 0x7e:

js=4;

a=0;

break;

} } while(temp!=0xf0){

temp=P3;

temp=temp&0xf0;} }

P3=0xfd;

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0){

delayms(10);

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0){

temp=P3;

switch(temp)

{

case 0xed:

js=5;

a=0;

break;

case 0xdd:

js=6;

a=0;

break;

}

}

while(temp!=0xf0){

temp=P3;

temp=temp&0xf0;}

}

} void display_1(h_g,h_d){

dula=1;

P0=table[h_g];

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delayms(3);

dula=1;

P0=table[h_d];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delayms(3);

} void display_2(m_g,m_d)

{

dula=1;

P0=table[m_g];

dula=0;

P0=0xff;

wela=1;

P0=0xfb;

wela=0;

delayms(3);

dula=1;

P0=table[m_d];

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delayms(3);} void display_3(s_g,s_d){

dula=1;

P0=table[s_g];

dula=0;

P0=0xff;

wela=1;

P0=0xef;

wela=0;

delayms(3);

dula=1;

P0=table[s_d];

dula=0;

P0=0xff;

wela=1;

P0=0xdf;

wela=0;

delayms(3);}

void display_4(T_d) //顯示當(dāng)前的循環(huán)數(shù){

dula=1;

P0=table[T_d];

dula=0;

P0=0xff;

wela=1;

P0=0x7f;

wela=0;

delayms(3);}

voidmain(){

etrc_pw1=1500; //第1段降溫段時(shí)間

etrc_pw2_on=600; //第2段低溫段通電時(shí)間

etrc_pw2_off=1 200;//第2段低溫段斷電時(shí)間

etrc_pw3=1 500; //第3段升溫段時(shí)間

etrc_pw4_on=600; //第4段高溫段通電時(shí)間

etrc_pw4_off=1 200;//第4段高溫段斷電時(shí)間

pw1_h=etrc_pw1/3 600;

pw1_m=etrc_pw1%3 600/60;

pw1_s=etrc_pw1%3 600%60;

pw2_on_h=etrc_pw2_on/3 600;

pw2_on_m=etrc_pw2_on%3 600/60;

pw2_on_s=etrc_pw2_on%3 600%60;

pw2_off_h=etrc_pw2_off/3 600;

pw2_off_m=etrc_pw2_off%3 600/60;pw2_off_s=etrc_pw2_off%3 600%60;

pw3_h=etrc_pw3/3 600;

pw3_m=etrc_pw3%3 600/60;

pw3_s=etrc_pw3%3 600%60;

pw4_on_h=etrc_pw4_on/3 600;

pw4_on_m=etrc_pw4_on%3 600/60;

pw4_on_s=etrc_pw4_on%3 600%60;

pw4_off_h=etrc_pw4_off/3 600;

pw4_off_m=etrc_pw4_off%3 600/60;

pw4_off_s=etrc_pw4_off%3 600%60;

pw1_h_g=pw1_h/10;

pw1_h_d=pw1_h%10;

pw1_m_g=pw1_m/10;

pw1_m_d=pw1_m%10;

pw1_s_g=pw1_s/10;

pw1_s_d=pw1_s%10;

pw2_on_h_g=pw2_on_h/10;

pw2_on_h_d=pw2_on_h%10;

pw2_on_m_g=pw2_on_m/10;

pw2_on_m_d=pw2_on_m%10;

pw2_on_s_g=pw2_on_s/10;

pw2_on_s_d=pw2_on_s%10;

pw2_off_h_g=pw2_off_h/10;

pw2_off_h_d=pw2_off_h%10;

pw2_off_m_g=pw2_off_m/10;

pw2_off_m_d=pw2_off_m%10;

pw2_off_s_g=pw2_off_s/10;

pw2_off_s_d=pw2_off_s%10;

pw3_h_g=pw3_h/10;

pw3_h_d=pw3_h%10;

pw3_m_g=pw3_m/10;

pw3_m_d=pw3_m%10;

pw3_s_g=pw3_s/10;

pw3_s_d=pw3_s%10;

pw4_on_h_g=pw4_on_h/10;

pw4_on_h_d=pw4_on_h%10;

pw4_on_m_g=pw4_on_m/10;

pw4_on_m_d=pw4_on_m%10;

pw4_on_s_g=pw4_on_s/10;

pw4_on_s_d=pw4_on_s%10;

pw4_off_h_g=pw4_off_h/10;

pw4_off_h_d=pw4_off_h%10;

pw4_off_m_g=pw4_off_m/10;

pw4_off_m_d=pw4_off_m%10;

pw4_off_s_g=pw4_off_s/10;

pw4_off_s_d=pw4_off_s%10;

a=1;

while(a){

jsscan();}

switch(js) //剛按完按鍵后進(jìn)入此段賦初始值

{

case 1:

T_d=1;

h_g=pw1_h_g;

h_d=pw1_h_d;

m_g=pw1_m_g;

m_d=pw1_m_d;

s_g=pw1_s_g;

s_d=pw1_s_d;

t_s=etrc_pw1;

D1=1; //第1段降溫段熄滅relay=1; //繼電器斷開

js++;

break;case 2:

T_d=2;

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

js_2=1;

D1=0; //第2段低溫段一開始點(diǎn)亮

relay=0; //繼電器打開

break;case 3:

T_d=3;

h_g=pw3_h_g;

h_d=pw3_h_d;

m_g=pw3_m_g;

m_d=pw3_m_d;

s_g=pw3_s_g;

s_d=pw3_s_d;

t_s=etrc_pw3;

D1=0; //第3段升溫段點(diǎn)亮relay=0; //繼電器打開

js++;

break;case 4:

T_d=4;

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

js_4=1;

D1=0; //第4段高溫段一開始點(diǎn)亮

relay=0; //繼電器打開

break;

}

TMOD=0x11;

TH0=(65 536-50 000)/256;

TL0=(65 536-50 000)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{

display_1(h_g,h_d);

display_2(m_g,m_d);

display_3(s_g,s_d);

display_4(T_d);} }

void T0_timer() interrupt 1

{

EA=0;

TR0=0;

fxtime=TL0+0x0B;

TL0=0xB0+fxtime;//TL0=(65 536-50 000)% 256;

TH0=0x3C+(char)CY;//TH0=(65 536-50 000)/256;

EA=1;

TR0=1;

tt++;

if(tt==20)/*1秒到*/

{

tt=0;

t_s--;

h_g=t_s/3 600/10;

h_d=t_s/3 600%10;

m_g=t_s%3 600/60/10;

m_d=t_s%3 600/60%10;

s_g=t_s%3 600%60/10;

s_d=t_s%3 600%60%10;

display_1(h_g,h_d);

display_2(m_g,m_d);

display_3(s_g,s_d);

display_4(T_d);

if(t_s==0)

{

if(js==5) js=1;

if(js==2) //js=2(第2段)為低溫段,此段6段通斷電{

T_d=2;

js_2++;

if(js_2==13)

{

js_2=0;

js++;

}

switch (js_2)

{

case 1:

D1=0;//js_2=1為第2段中第1

小段為點(diǎn)亮段

relay=0; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 2:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

case 3:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 4:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

case 5:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 6:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

case 7:

D1=0;//點(diǎn)亮

relay=1; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 8:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

case 9:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 10:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

case 11:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw2_on_h_g;

h_d=pw2_on_h_d;

m_g=pw2_on_m_g;

m_d=pw2_on_m_d;

s_g=pw2_on_s_g;

s_d=pw2_on_s_d;

t_s=etrc_pw2_on;

break;

case 12:

D1=1;//熄滅

relay=1; //繼電器斷開h_g=pw2_off_h_g;

h_d=pw2_off_h_d;

m_g=pw2_off_m_g;

m_d=pw2_off_m_d;

s_g=pw2_off_s_g;

s_d=pw2_off_s_d;

t_s=etrc_pw2_off;

break;

}

}

if(js==4)//js=4(第4段)為高溫段,此段6段通斷電{

T_d=4;

js_4++;

if(js_4==13){

js_4=0;

js=1;}

switch (js_4){

case 1:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 2:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

case 3:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 4:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

case 5:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 6:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

case 7:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 8:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

case 9:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 10:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

case 11:

D1=0;//點(diǎn)亮

relay=0; //繼電器打開

h_g=pw4_on_h_g;

h_d=pw4_on_h_d;

m_g=pw4_on_m_g;

m_d=pw4_on_m_d;

s_g=pw4_on_s_g;

s_d=pw4_on_s_d;

t_s=etrc_pw4_on;

break;

case 12:

D1=1;//熄滅

relay=1; //繼電器斷開

h_g=pw4_off_h_g;

h_d=pw4_off_h_d;

m_g=pw4_off_m_g;

m_d=pw4_off_m_d;

s_g=pw4_off_s_g;

s_d=pw4_off_s_d;

t_s=etrc_pw4_off;

break;

}

}

switch (js)

{

case 1:

T_d=1;

D1=1; //第1段為降溫段,此段斷電,燈熄滅

relay=1; //繼電器斷開

h_g=pw1_h_g;

h_d=pw1_h_d;

m_g=pw1_m_g;

m_d=pw1_m_d;

s_g=pw1_s_g;

s_d=pw1_s_d;

t_s=etrc_pw1;

js++;

break;

case 3:

T_d=3;

D1=0;//第3段為升溫段,此段通電,燈點(diǎn)亮

relay=0; //繼電器打開

h_g=pw3_h_g;

h_d=pw3_h_d;

m_g=pw3_m_g;

m_d=pw3_m_d;

s_g=pw3_s_g;

s_d=pw3_s_d;

t_s=etrc_pw3;

js++;

break;

}

} } }

5 結(jié)束語

a)此電應(yīng)力邏輯被大多數(shù)可靠性環(huán)境應(yīng)力試驗(yàn)所采用,簡稱 “4段式電應(yīng)力邏輯”,已經(jīng)過大量的實(shí)踐驗(yàn)證。若為此4段邏輯,只需改動(dòng)程序入口處各段的通斷電時(shí)間即可,這對于編程者是極為方便的。

b)編寫程序時(shí)應(yīng)注意,矩陣鍵盤僅在程序剛運(yùn)行時(shí)掃描,即當(dāng)按下某矩陣鍵盤后,便開始順序執(zhí)行程序,此時(shí)按其他任何矩陣鍵盤都無效。這樣可以有效地減少因?yàn)檎`按某個(gè)鍵盤而導(dǎo)致電應(yīng)力錯(cuò)誤。

c)編寫程序時(shí)應(yīng)注意,利用單片機(jī)內(nèi)部定時(shí)器進(jìn)行時(shí)間控制時(shí),需加入時(shí)間動(dòng)態(tài)補(bǔ)償算法程序,這樣的計(jì)時(shí)時(shí)間會非常精確。對于時(shí)間動(dòng)態(tài)補(bǔ)償算法程序有C語言及匯編寫法。具體的寫法此處不做累述。

d)根據(jù)硬件電路及上述程序編寫方法描述,可以較方便地寫出其他各種電應(yīng)力邏輯程序,最多可擴(kuò)充到16段。

e)此on-off機(jī)已經(jīng)運(yùn)用到很多試驗(yàn)項(xiàng)目中,運(yùn)行穩(wěn)定,經(jīng)過大量的實(shí)踐驗(yàn)證。當(dāng)然閱讀此文者需要有一定的硬件及軟件基礎(chǔ)。

f)此on-off機(jī)成本低廉,使用方便,直觀性、可操作性都很強(qiáng)。

g)如上述程序,可以實(shí)現(xiàn)到1 s的通斷邏輯并進(jìn)行顯示,若要實(shí)現(xiàn)毫秒級的on-off機(jī),此系統(tǒng)由于采用高性能STC 51單片機(jī) (最高頻率可達(dá)320 MHz)也可實(shí)現(xiàn),此時(shí)可以去除掉數(shù)碼管顯示模塊,按上述方式編寫程序即可。因?yàn)閷τ诤撩爰壍耐〝?,?shù)顯往往沒有意義[6]。

h)此on-off機(jī)系統(tǒng)的應(yīng)用會較為廣泛,如電源的通斷循環(huán)次數(shù),往往影響一個(gè)電源的使用壽命;空氣壓縮機(jī)上的氣壓閥會隨著氣壓的降低而反復(fù)啟動(dòng),此氣壓閥的重復(fù)啟動(dòng)次數(shù)往往關(guān)乎整個(gè)空氣壓縮機(jī)的壽命。此on-off機(jī)將為反復(fù)通斷電子器件提供壽命驗(yàn)證方法及加速壽命方法。

[1]姜同敏.可靠性試驗(yàn)技術(shù) [M].北京:北京航空航天大學(xué)出版社,2012:20-21.

[2]郭天祥.51單片機(jī)C語言教程——入門、提高、開發(fā)、拓展全攻略 [M].北京:電子工業(yè)出版社,2009:86-90.

[3]梅麗鳳,王艷秋,王敏鐸,等.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2006:225-230.

[4]劉丹.速度傳感器型式試驗(yàn)大綱 [Z].株洲:南國株洲電力機(jī)車研究所有限公司,2014.

[5]薛峰,朱曉駿.單片機(jī)原理及應(yīng)用 [M].北京:北京理工大學(xué)出版社,2011:146-147.

[6]王文岳.用于樣品可靠性環(huán)境試驗(yàn)提供電應(yīng)力的通用邏輯控制系統(tǒng):中國,ZL 2011 101557150.0[P].2013-04-17.

Design of Electrical Stress On-O ff Control System for Environmental Test

WANGWen-yue
(CEPREI-EAST,Suzhou 215011,China)

The production of an electrical stress on-off control system is introduced.A new way for the electrical stress control in environm ental tests is p resented, using a SCM as the central control element and programming to control the peripheral circuits to implement logic onoff.Themethod can also apply to cyclic on-off life tests of some products.

environmental test;life test;electrical stress control;on-off control;SCM

TP 273+.5

:A

:1672-5468(2015)01-0029-14

10.3969/j.issn.1672-5468.2015.01.007

2014-07-11

2015-01-12

王文岳 (1985-),男,江蘇南京人,工業(yè)和信息化部電子第五研究所華東分所 (中國賽寶華東實(shí)驗(yàn)室)工程師,主要從事可靠性與環(huán)境試驗(yàn)技術(shù)研究工作。

猜你喜歡
數(shù)碼管斷電鍵盤
你知道手機(jī)撥號鍵盤上為什么要有*和#嗎?
鍵盤貓
高壓感應(yīng)電動(dòng)機(jī)斷電重啟時(shí)的瞬態(tài)仿真
Cлово месяца
中國(俄文)(2019年6期)2019-11-22 14:41:58
Arduino編程
電腦報(bào)(2019年2期)2019-09-10 07:22:44
ikbc R300機(jī)械鍵盤
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
一種STS新的斷電快速檢測方法
长丰县| 七台河市| 绥江县| 桓仁| 阳泉市| 象山县| 陵水| 隆安县| 葫芦岛市| 桐庐县| 商洛市| 怀来县| 资兴市| 繁峙县| 郯城县| 湄潭县| 吴堡县| 呼和浩特市| 普安县| 望谟县| 江油市| 丽江市| 皋兰县| 河池市| 老河口市| 咸丰县| 嘉定区| 布尔津县| 芷江| 香格里拉县| 天柱县| 建宁县| 民乐县| 安义县| 吴忠市| 桐乡市| 南部县| 绥阳县| 方山县| 大庆市| 兰溪市|