基于單片機PIC16C72的分體式空調控制器
前言
汽車車身視覺檢測站是用于測量車身關鍵點的三維空間坐標的大型的專用檢測系統。它由機械及定位系統、三維視覺傳感器系統、測量控制與接口系統、標定系統以及計算機軟件五大部分組成。主要方法采用結構光傳感器,經標定系統標定后,通過控制系統選取被測點,采集圖像,結合視覺檢測算法,求出被測點坐標參數。為進行測量,必須把計算機與傳輸器聯系起來。檢測人員應能通過計算機選擇測點,使傳感器按預先設定的順序進入測量狀態,產生測量用的光條平面,還應能夠隨時調整測量順序,并實現對光源的實時控制及圖像部分的多用戶采集。
控制器局域網CAN(Controller Area Network)是一種具有很高保密性,有效支持分布式控制及實時控制的串行通信網絡。CAN總線屬于現場總線范疇,與現有的其他總線相比,屬于一種分散式、數字化、雙向、多站點、多變量的通信系統,具有通信速率高、可靠性強、連接方便、性能價格比高等諸多優點,非常適用于分布式測量系統的數據通信。
本文主要介紹CAN總線在視覺檢測站中的研究與應用。
二、視覺檢測原理及視覺檢測站控制系統
汽車車身視覺檢測是目前正在發展的一種新型車身檢測方法。其主要原理是利用計算機視覺技術,采用主動三角法獲取車身表面點的信息,通過三維視覺算法求取各關鍵點的坐標,從而完成對車身各頂點位置、擋風玻璃框尺寸、定位孔大小及位置、車門安裝處棱邊位置及走向等主要參數的測量。
由于汽車車身長寬高都是幾m(米)范圍,被測點一般都要求在50個以上,網絡布線要求300m以上,此外控制系統還應實現對檢測站中的機械及定位系統的控制。整個控制系統應具有一定的擴展和適應能力,以便于其他控制單元的加入。
本系統中,針對不同的測量對象,采用不同類型的傳感器,總數在50臺以上。檢測站的控制系統應能對這些傳感器的動作進行實時控制,以使其動作相互協調。另外,本測量系統將用于汽車生產線,車身先由吊車放到運放小車上,然后由小車運送到檢測站內。吊車及運送小車由直流電機驅動,它們的動作應該既可以通過主機鍵盤控制,也可以通過檢測站中的控制柜直接控制。由于以上各方面的考慮,我們決定采用CAN總線作為本控制網絡的通信標準。
二、網絡拓撲結構與CAN總線
在車身檢測站中,對各傳感器的數據采集及圖像處理等工作主要由CP機完成,為操作方便,對機械部分的控制還應能通過控制臺進行。本系統控制節點多(50個以上),可靠性要求高,傳統的集中控制方式雖然功能集中、速度較快,但具有硬件結構復雜、現場布線困難、擴展能力低等缺點,所以我們采用單片機作為直接控制單元,用于對傳感器的直接控制。每個單片機都是控制網絡上的一個節點,各節點直接掛接在數據總線上。PC機和控制框也同樣各和為一個節點掛接在總線上,即控制網絡應具有多主機控制能力。所以整個網絡采用多主機結構,即每一個節點也是一個主機,通過主機間的通信以實現控制要求。為此,我們決定采用總線型的網絡拓撲結構,利用CAN靈活方便、支持多主機方式等特點,建立控制網絡。不難看出,只要解決好“碰撞”問題,這種方法有結構簡單、安全系數高、靈活性好、易于擴展等特點,可以充分滿足本檢測站的控制要墳。控制網絡的結構示意圖如圖2所示。
現有微機一般都配有兩個串行接口,其機械特性和電器特性均符合RS-232C標準。由于RC- 232C標準采用單端電路,極易引入附加電平,并且負載電容不能大于2500pF,傳輸距離和速度都非常有限;而CAN總線這些方面都遠遠超過RS- 232C。CAN總線是一個智能化的總線,具有自我管理的功能,能夠有效地支持多主機分布式控制,能夠良好地解決“碰撞”問題,并具有傳輸速率高(可達 1Mbps)、傳輸距離長(可達1000m)、信號的傳輸精度高(0.01%)等優點。另外,采用循環冗余CRC校驗及獨特的數據信號表示,使其具有錯誤判別及自動重發功能,漏檢錯誤概率低于5×10 -11。所以,我們采用了CAN總線。由于CAN總線優良的性能和智能化的管理,保證了整個檢測站在惡劣環境下的正常工作。
在信道訪問控制上,采用主從式與自由競爭式相結合的放手式通信方法,即以PC主處理機和控制臺作為主控制節點,兩主控節點的優先級與節點標總符相對應,主控節點命令及信息的送可通過外部設置約定,也可通過自由競爭實現。
在PC 機方面,采用接口卡使PC機跨入總線,其接口電路如圖3所示。這里,并行接口采用8255A可編程外圍接口芯片,接口邏輯及CAN轉換主要由 MC68HC05X16單片機控制。工作中,信息由PC機數據總線送出,經8255A的PA口進入單片機,在單片機的控制下將并行輸入的信號轉換為CAN 總線輸出。這里,采用16V8的GAL進行地址譯碼并實現部分邏輯關系。
在傳感器和控制框通信接口方面,選用了MC68HC05X16單片機。由于MC68HC05X16自身帶CAN接口,簡化了硬件設計,減少了系統故障,增加了通信的可靠性與安全性。本系統硬件設計為128個節點(可以設計為更多),可以充分滿足檢測站 50個節點的要求,并且可以進一步擴展,加入新的檢測設備和檢測點。
三、CAN總線通信協議
針對測量系統的需要,我們采用了多主機通信方式。該方式可以充分發揮每個主機的作用,很容易使各個節點之間建立起數據聯系,任意兩個節點之間都可以根據需要進行通信。通信與控制都非常簡單,可以充分滿足本檢測站迅速、可靠、實時性的要求。根據檢測系統的需要和CAN幀結構,重點結合測量傳感器和控制柜的功能要求,我們對網絡的通信協議進行了研究和設計。
本系統中,CAN總線以報文為單位進行數據傳輸,并采取位仲裁的方式對總線進行訪問,即在報文起始部分發送節點標總符。CAN總線的標準數據幀的仲裁場有 11個位標識符,它主要用于解決總線上的碰撞問題。數據幀標識符越小,數據幀具有越高的優先權。也就是說,當兩幀數據同時由高位向低位發送時,一旦有不同的電平,發更新“凹槽”電平(recessive level)的數據幀將停止發送,而發送“主控”電平(dominant level)的數據幀將繼續發送,這樣,CAN總線自身就解決了碰撞問題。我們在每個節點設計了一個8位DIP開關,通過這個開關可以方便地改變傳感器地址,并且,以它代表的數據作為該節點發送的數據幀的標識符的高8位。這樣,地址越小的節點,其發送的數據就具有越高的優先權。根據節點的重要性安排地址,有效地解決了碰撞和優先權的問題。
四、采用CAN總線的過程控制軟件
根據檢測系統的需要,將指令分為通用指令和尋址指令:通用指令是旨所有收到指令的節點都要執行的指令;尋址指令是指收到指令的節點只有相應地址的節點才執行的指令。由于CAN總線標準數據幀最多可帶有8個字節的數據,們將第一個字節作為地址(127為通用的地址,帶有通用指令的數據幀第一個字節為127),第二個字節作為指令字節,用于表示節點所要執行的動作。表1為本系統中所用到的部分代碼及其意義。
評論