電動車控制器自動測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(二)
2.5 模擬腳踏速度控制設(shè)計(jì)
控制器對用戶腳踏信號的采集是通過給可調(diào)電阻提供5 V 電壓,在不同位置將輸出不同電壓,通過電壓值控制速度的大小.因此用三路模擬電壓通路給控制器的接受電路發(fā)送不同狀態(tài)的電壓值,以此來檢測控制器接受電路是否能夠正確采集,電路原理如圖7所示.
系統(tǒng)選用集成芯片TS5A3359,其工作性質(zhì)見表2,測試設(shè)備通過引腳RD4,RD5控制選通開關(guān)IN1,IN2,分時(shí)選通NO0,NO1,NO2 三路開關(guān).并將不同的模擬電壓輸出給電動車控制器.電動車控制器采集到相應(yīng)的電壓值后,通過通信接口發(fā)送給測試設(shè)備.
2.6 模擬速度傳感器電路設(shè)計(jì)
控制器對速度傳感器信號的采集是一個(gè)通斷信號,因此用一個(gè)開關(guān)數(shù)字量來進(jìn)行模擬.為提供速度傳感器的模擬脈沖,電路設(shè)計(jì)原理與圖5同.
3 控制分析軟件的設(shè)計(jì)
3.1 通信協(xié)議
PC 機(jī)通過串口與智能測試終端相連,本文設(shè)計(jì)的串口通信采用半雙工通信,速率為115 200 Kb/s,以完成命令與數(shù)據(jù)通信的需要.基于幀的協(xié)議設(shè)計(jì)思想,即在向串行口發(fā)送命令信號.回傳數(shù)據(jù)信號時(shí),信號是一幀一幀發(fā)送的.通信鏈路中所有的內(nèi)容都將包含在這樣的一個(gè)幀中,無論它是控制命令還是傳送的數(shù)據(jù).
為了使數(shù)據(jù)可靠的傳輸,將每一幀信號惟一對應(yīng)一個(gè)命令幀.為了避免數(shù)據(jù)發(fā)生錯(cuò)亂,通信方式采用主從應(yīng)答方式,即PC 作為主機(jī),測試設(shè)備作為從機(jī),由PC 以固定周期100 ms發(fā)起命令幀.當(dāng)測試設(shè)備收到命令幀以后,就會回傳一個(gè)數(shù)據(jù)幀給PC機(jī).幀格式如下:
幀格式由九個(gè)字節(jié)組成,分別是同步字SYNC,命令類型CMD,數(shù)據(jù)D0~D4 和校驗(yàn)信號BCC.同步字SYNC:標(biāo)志一幀數(shù)據(jù)的開始;命令字節(jié)CMD:用于標(biāo)識需要執(zhí)行的指令類型,即是哪一項(xiàng)功能檢測;數(shù)據(jù)字節(jié)D0~D4:對于PC機(jī)來說是提供執(zhí)行該命令所擴(kuò)展的輔助數(shù)據(jù),沒有用到.而對于測試設(shè)備,則是存儲的測試數(shù)據(jù);校驗(yàn)字節(jié)BCC:用于測試終端確認(rèn)該幀是否有效以免通信錯(cuò)誤.
其中命令幀和數(shù)據(jù)幀第一個(gè)字節(jié)是用來標(biāo)志一幀數(shù)據(jù)的開始,而頭字節(jié)之所以用“0×55”,是因?yàn)閭鬏斶^程中,產(chǎn)生的干擾信號,多為連續(xù)高電平或者連續(xù)低電平,而“0×55”的二進(jìn)制編碼為:10101010,很少情況下會產(chǎn)生這樣高低脈沖的干擾,因此使用“0×55”頭字節(jié)有利于提高傳輸?shù)目煽啃?命令幀和數(shù)據(jù)幀第二個(gè)字節(jié)是命令字節(jié),即代表要測試的項(xiàng)目.數(shù)據(jù)幀中的數(shù)據(jù)字節(jié)是單片機(jī)在工作過程中采集到的測試結(jié)果數(shù)據(jù).命令幀和數(shù)據(jù)幀的最后一個(gè)字節(jié)都為校驗(yàn)字節(jié),該字節(jié)是用來驗(yàn)證所有數(shù)據(jù)在傳輸過程中是否被破壞了.這里所使用的校驗(yàn)方式用是BCC 異或校驗(yàn)法(Block CheckCharacter),即將前面兩個(gè)字節(jié)異或,異或出來的字節(jié)再與下一個(gè)字節(jié)異或,直到一幀數(shù)據(jù)全部都異或過,得出的字節(jié)就作為校驗(yàn)字節(jié).
3.2 PC控制分析軟件設(shè)計(jì)
控制分析軟件是整個(gè)測試系統(tǒng)操作.展示的一個(gè)平臺.測試系統(tǒng)的應(yīng)用,一方面是為了檢測出控制器功能是否正常,另一方面也是為了產(chǎn)品質(zhì)量的跟蹤,即產(chǎn)品測試完成后,其所有數(shù)據(jù)都是有據(jù)可查的,一旦產(chǎn)品發(fā)生質(zhì)量問題,可以根據(jù)其產(chǎn)品序列號,在第一時(shí)間查出產(chǎn)品初始測試的數(shù)據(jù).因此控制分析軟件必須提供一個(gè)友好的人機(jī)界面與測試數(shù)據(jù)的存儲.依據(jù)于此,控制分析軟件是在。NET開發(fā)平臺下利用C#語言開發(fā),數(shù)據(jù)存儲使用的是SQL Server 2005,.NET具有友好的開發(fā)界面,提供豐富的庫函數(shù),對于串口通信的開發(fā)尤為便利.
控制分析軟件主要工作流程如圖8所示.首先,為保證使用者單獨(dú)使用,該測試軟件通過用戶登錄界面特別設(shè)計(jì)了保密措施,包括用戶名和密碼驗(yàn)證.
功能選擇項(xiàng)主要包括各模塊的功能信號,用戶輸入相應(yīng)的用戶名和產(chǎn)品序列號后對待測項(xiàng)目進(jìn)行測試.
控制分析軟件通過串口發(fā)送命令幀給終端測試設(shè)備.命令測試設(shè)備進(jìn)行項(xiàng)目測試,終端測試設(shè)備通過解析幀命令類型來確定是哪一個(gè)項(xiàng)目需要進(jìn)行測試.測試完成后返回給PC機(jī),PC機(jī)接到測試結(jié)束后對回傳的數(shù)據(jù)進(jìn)行處理.超時(shí)等待是為了防止通信錯(cuò)誤導(dǎo)致控制分析軟件死循環(huán)強(qiáng)制退出,重新發(fā)送測試命令.
4 試驗(yàn)
測試界面如圖9所示,包括測試控制按鈕及測量結(jié)果顯示模塊(上),用于實(shí)時(shí)顯示被測試信號是否良好,若正確則顯示打鉤,若錯(cuò)誤則顯示打叉,中間是測試人員登記與產(chǎn)品序列號的輸入.只有在測試人員和序列號輸入的情況下,測試結(jié)果才可以允許保存;測試數(shù)據(jù)顯示(下)用于對測試過程的數(shù)據(jù)的分析和顯示.以數(shù)據(jù)表單的形式,將各個(gè)測試結(jié)果保存,并同時(shí)將數(shù)據(jù)保存在后臺數(shù)據(jù)庫中.
評論