基于VB串口通信的電動(dòng)天窗耐久性測試系統的軟硬
摘要:提出了一種基于VB串口通信的電動(dòng)天窗耐久性測試系統的軟硬件實(shí)現方案。該系統包括PC機構成的上位機和單片機構成的下位機。上位機提供了良好的人機交互界面;下位機采用集成電路,以及信號采樣、V/F、F/V轉換和D/A轉換,通過(guò)串口通信將單片機與PC機連接。借助這一系統,可方便靈活精確地實(shí)現對各種電動(dòng)天窗的耐久性測試。
本文引用地址:http://dyxdggzs.com/article/196465.htm1 概述
汽車(chē)天窗是為滿(mǎn)足消費者乘車(chē)健康和舒適度的要求而設計的,因此人們對天窗性能的要求不僅僅停留在美觀(guān)、豪華上,還必須滿(mǎn)足安全、可靠、運行自如等全方位的要求。所以,在汽車(chē)天窗裝車(chē)前要首先對其進(jìn)行耐久性和安全性測試,以確保其裝車(chē)后符合技術(shù)和用戶(hù)的要求。而現有汽車(chē)天窗存在行程不到位,天窗打不開(kāi);行程不到位,天窗關(guān)不嚴,對汽車(chē)防盜防雨構成威脅;控制開(kāi)關(guān)失靈,出現夾人現象等隱患和問(wèn)題。
目前,國內天窗測試大都采用單機式的下位機系統。該類(lèi)系統雖能進(jìn)行常規測試,但不能記錄或反饋測試信息。我們設計的汽車(chē)天窗測試系統分上、下位機,下位機具有控制天窗的執行機構,不但可以控制天窗的往返等動(dòng)作,完成測試項目,而且還具備自動(dòng)辨別故障功能,能自動(dòng)記錄天窗電機故障時(shí)間。通過(guò)上位機顯示耐久測試次數、顯示故障。依靠上位機和下位機的可靠通訊,實(shí)現了測試運行、信息傳遞和信息反饋。
2 電動(dòng)天窗耐久性測試系統的關(guān)鍵技術(shù)
2.1 硬件技術(shù)特性
本硬件系統要實(shí)現天窗的開(kāi)到位,關(guān)到位,中途停和電機必要休息的判斷。主要由檢測電路和控制電路兩部分組成,其系統原理圖如圖1所示:

圖1 電路原理圖
到位檢測電路:在系統中,為了保證天窗測試臺的自身耐久性,設計中采用非接觸式傳感器(紅外線(xiàn)光電式傳感器)代替易損的接觸式傳感器,而且可以靈活的調節天窗的開(kāi)到位或關(guān)到位的位置,方便用戶(hù)的需求,天窗到位的電路工作原理為:電路由3D紅外線(xiàn)發(fā)射管和3E接收管以及運放LM324構成,當天窗未開(kāi)到位或未關(guān)到位,無(wú)信號發(fā)出,只有天窗到位,才發(fā)信號給單片機。
中途停檢測電路:系統中,由于控制對象(天窗電機)的負載特性,不允許天窗電機持續不停的工作,防止電機過(guò)熱而影響正常工作。在獲取中途停信號的子系統中,用取樣電阻采樣、保持。為了保證信號的不失真,可采用兩級放大電路,經(jīng)過(guò)V/F和F/V轉換(因為取信號的地與電源地不能共地),然后再經(jīng)一級放大,經(jīng)過(guò)比較后接入到單片機中。
報警控制電路:通過(guò)8255出來(lái)的信號經(jīng)過(guò)7405控制光耦,若檢測到系統堵轉,則聲音報警。
過(guò)流保護控制電路:當系統堵轉時(shí),繼電器打開(kāi),電機立即停止工作。
電機控制電路:開(kāi)到位信號(關(guān)到位信號)經(jīng)8255出來(lái)后,經(jīng)過(guò)7405控制光耦的導通,然后通過(guò)晶體管控制繼電器,使電機停30秒。
2.2 軟件技術(shù)特性
單片機部分:下位機部分由單片機及擴展接口電路構成,主要有8031,地址鎖存器74LS373,用作片外程序存儲器的EPROM2764以及用于擴展I/O口的8255,然后通過(guò)RS-232接口與上位機通信。由于單片機輸入、輸出電平是TTL電平,而PC機配置的是RS-232標準串行接口,二者的電氣規范不一致,因此要完成單片機與PC機的數據通訊,必須對單片機輸出的TTL電平進(jìn)行電平轉換。本電路中使用的是一種標準的RS-232芯片MAX232。下位機軟件由匯編語(yǔ)言編寫(xiě),主要由主程序、延時(shí)子程序、中斷子程序、跳過(guò)電機啟動(dòng)子程序、握手聯(lián)絡(luò )子程序和賦堵轉電流子程序組成。其功能如下:
圖2 單片機程序流程圖
主程序:完成系統的初始化,分配調用各子程序以實(shí)現系統功能;
延時(shí)子程序:為了滿(mǎn)足天窗電機的特性要求,控制電機不連續工作;
中斷子程序:當堵轉電流大于設定電流時(shí),電機停止工作;
跳過(guò)電機啟動(dòng)子程序:當電機啟動(dòng)時(shí)電流很大,有可能超過(guò)堵轉電流,此程序可使電機正常工作;
握手聯(lián)絡(luò )子程序:上、下位機在通訊時(shí), 握手聯(lián)絡(luò )子程序起到保證通訊可靠,減少誤動(dòng)作的作用;
堵轉電流子程序:設定堵轉電流值,以控制電機工作; 其部分代碼如下,程序流程圖如圖2所示:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TOT0
ORG 0030H
MAIN: MOV R6,#0FFH ; 延時(shí)子程序,等待8255完全復位
MAIN1: DJNZ R6,MAIN1
MOV P1,#0FFH
MOV SP,#40H
MOV DPTR,#7FF3H ; 對8255寫(xiě)控制字,PA,PB.PC輸出,0010 0100 0000 0011
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#7FF0H ; PA輸出全01111111
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#0BFFFH
MOV A,#0FFH
MOVX @DPTR,A
MOV TMOD,#22H ; T1為波特發(fā)生器,方式2,定時(shí).T0方式2,定時(shí)
MOV TL1,#0F3H ; 波特為1200B/S
上位機部分:由PC機構成,具有人機接口界面,如圖3所示。由于VISUAL BASIC語(yǔ)言有非常友好的界面,很好發(fā)揮了其可視化特點(diǎn),深受廣大編程人員的青睞。所以,軟件編寫(xiě)利用VB6.0語(yǔ)言環(huán)境,界面操作方便直接。在本系統中要使用上下位機通訊,則要用到串口技術(shù)。串口通訊一般采用RS232或者RS485等規范,并有專(zhuān)用芯片實(shí)現相關(guān)硬件通訊電路。在Windows環(huán)境下我們可以調用API函數或直接使用Ac-tiveX串口通訊控件,利用API函數編寫(xiě)串口通訊程序比較復雜,而VB6.0的MSComm通訊控件為標準的通訊命令集,提供了一個(gè)接口,它允許程序員建立一個(gè)基于串行口的連接,可進(jìn)行命令的確認、數據交換以及對串行接口處可能出現的各種事件或錯誤進(jìn)行監視,并可做出反應。另外VB6.0通過(guò)屬性方法,提供了串行通訊口參數的設置,可以較容易地解決串口通訊問(wèn)題。而且MSComm控件屏蔽了通信過(guò)程中的底層操作,使串口編程非常方便。因此在進(jìn)行系統開(kāi)發(fā)時(shí),利用MSComm控件能起到縮短設計周期、增加系統可靠性的作用。同時(shí),只要了解自己需要的參數即可順序編寫(xiě)上位機軟件,所以此處采用MSComm控件編程來(lái)實(shí)現與單片機的通訊。該控件的各項參數簡(jiǎn)介如下:
評論