版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【W(wǎng)ord版本下載可任意編輯】 單片機(jī)和CAN控制器實現(xiàn)現(xiàn)場智能節(jié)點(diǎn)的設(shè)計 隨著控制、計算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展.傳統(tǒng)的控制系統(tǒng)己越來越不能滿足現(xiàn)代工業(yè)的要求。以信息技術(shù)為根底的網(wǎng)絡(luò)集成自動化系統(tǒng)己經(jīng)成為當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,它的出現(xiàn)標(biāo)志著丁業(yè)控制領(lǐng)域又一個新時代的開始,并將對該領(lǐng)域的發(fā)展產(chǎn)生重要影響?,F(xiàn)場總線就是順應(yīng)這一形勢發(fā)展起來的新技術(shù)。本文研究設(shè)計了總線監(jiān)控系統(tǒng)中的現(xiàn)場智能節(jié)點(diǎn),智能節(jié)點(diǎn)通過執(zhí)行應(yīng)用軟件要實現(xiàn)兩項任務(wù):一是能夠與總線上的其它節(jié)點(diǎn)開展數(shù)據(jù)交換,二是能夠按照通過網(wǎng)絡(luò)或鍵盤下達(dá)的控制命令驅(qū)動步進(jìn)電機(jī)按照要求動作。 2 現(xiàn)場智能節(jié)點(diǎn)的整體框架 圖1 智能節(jié)點(diǎn)主程
2、序流程圖 對于CAN總線下的智能節(jié)點(diǎn),為了滿足及時指示步進(jìn)電機(jī)執(zhí)行運(yùn)動.實時接收和發(fā)送報文,及時處理用戶下達(dá)的控制指令等要求,程序采用的是順序執(zhí)行主程序和實時中斷程序相結(jié)合的方式。軟件設(shè)計分塊開展,主要劃分為以下幾部分:CAN總線通信程序,顯示及鍵盤輸入程序,控制算法程序等。主程序流程如圖1所示。 3 CAN總線通信程序與LED顯示驅(qū)動 CAN總線通信程序是指在AT89C52控制下,模塊將采集到的數(shù)據(jù)發(fā)送到總線上供CAN WEB SERVER或其他智能節(jié)點(diǎn)使用,或是接收由CAN WEB SERVER傳送的由監(jiān)控PC下達(dá)的控制指令。該部分軟件的程序流程如圖2所示,在通電或者復(fù)位后,主控制器首先對
3、SJA 1000控制器開展初始化,建立CAN總線通信。CAN總線通信程序由三部分組成:SJA1000初始化,承受和發(fā)送。 圖2 CAN通信程序流程圖 3.1 SJA1000初始化 初始化是在程序運(yùn)行前對SJA1000的丁作方式開展設(shè)定, 使其能夠按照用戶需要的方式開展CAN總線通信工作。 SJA1000 CAN控制器在通電后或硬件復(fù)位后,必須通過初始化設(shè)置以建立CAN通信。而且,SJA1000可以在主控制器工作期問被再次初始化,這可以通過發(fā)送軟件復(fù)位請求來實現(xiàn)。系統(tǒng)上電后,CAN控制器在引腳上獲的一個復(fù)位脈沖,似的進(jìn)入復(fù)位模式。在開始對SJA1000各個配置存放器開展設(shè)定之前。主控制器通過讀復(fù)
4、位模式,請求標(biāo)識來檢測SJA1000是否進(jìn)入復(fù)位模式。因為單片機(jī)AT89C52的上電復(fù)位時問和SJA1000 的復(fù)位時間有偏差,單片機(jī)要等待SJA1000完成上電復(fù)位后才能對SJA1000配置存放器開展配置,存有配置信息的存放器只能在復(fù)位模式下才可開展寫入。 SJA1000初始化程序在復(fù)位模式下,需要配置下面的存放器:時鐘分頻存放器,承受代碼和承受掩碼存放器,總線十續(xù)存放器,輸出控制存放器。在這些配置信息配置到SJA1000存放器后,通過消除復(fù)位請求模式使SJA1000進(jìn)入操作模式。 3.2 CAN發(fā)送程序 對SJA1000開展初始化建立CAN總線通信后,模塊就可以通過CAN總線發(fā)送和承受CA
5、N數(shù)據(jù)包。消息的發(fā)送由CAN控制器SJA1000根據(jù)CAN的規(guī)則自動完成,主控制器必須把要發(fā)送的信息送到SJA1000的發(fā)送緩沖器中,并設(shè)置“發(fā)送請求標(biāo)識位”于命令存放器中,發(fā)送過程既可南SJA1000產(chǎn)生的中斷請求來控制。也可通過檢測SJA1000控制部分的狀態(tài)標(biāo)識符來控制。 在本論文的設(shè)計中,當(dāng)系統(tǒng)初次上電或硬件復(fù)位后,節(jié)點(diǎn)模塊會主動向CAN WEB SERVER發(fā)送節(jié)點(diǎn)的狀態(tài)信息,在以后的CAN通信中.則采用只有接收到CAN WEB sERVER的控制命令后,節(jié)點(diǎn)模塊才會將節(jié)點(diǎn)數(shù)據(jù)作為響應(yīng)發(fā)送到CAN總線上。因此,單個節(jié)點(diǎn)模塊向總線上發(fā)送數(shù)據(jù)的頻率不高,在編程時將發(fā)送數(shù)據(jù)根據(jù)通信協(xié)議寫入
6、發(fā)送緩沖器中,通過置位控制命令存放器的發(fā)送請求位,就可以將數(shù)據(jù)發(fā)送到CAN總線上。發(fā)送流程如圖3所示。 當(dāng)多個節(jié)點(diǎn)響應(yīng)CAN WEB SERVER的命令時,有可能產(chǎn)生同時向CAN總線上同一地址發(fā)送不同數(shù)據(jù),從而導(dǎo)致個別節(jié)點(diǎn)不斷累積發(fā)送錯誤而 終進(jìn)入總線關(guān)閉狀態(tài)這種錯誤的產(chǎn)生。為了防止這種錯誤的產(chǎn)生,基于CAN總線的特點(diǎn):任何節(jié)點(diǎn)均可向總線發(fā)送數(shù)據(jù),也可接收到總線數(shù)據(jù),在程序中設(shè)計了這樣的發(fā)送策略:將CAN WEB SERVER的接收掩碼存放器設(shè)置為全“1”,即可以承受總線上的全部數(shù)據(jù),節(jié)點(diǎn)模塊的待發(fā)送數(shù)據(jù)包的標(biāo)識符由本節(jié)點(diǎn)的地址信息構(gòu)成,即節(jié)點(diǎn)通過總線向自己發(fā)送了一個數(shù)據(jù)包,但同時義能夠被CA
7、N WEB SERVER 接收到,因CAN總線上的節(jié)點(diǎn)地址都是 的,故能夠有效的防止前面所提到的錯誤。 圖3 CAN發(fā)送程序流程。 3.3 CAN承受程序 CAN控制器SJA1000根據(jù)規(guī)則自動接收消息,承受到的消息放到接收緩沖器,此時接收緩沖器狀態(tài)標(biāo)示RBS置為“1“,同時向A1r89c52產(chǎn)生一個接收中斷,AT89C52響應(yīng)中斷后將消息保存到程序設(shè)置的消息緩沖中,同時釋放接收緩沖器井對消息內(nèi)容做出反應(yīng)。中斷控制接收數(shù)據(jù)的流程如圖4所示。 3.4 LED數(shù)據(jù)顯示和鍵盤輸入程序 ZLG7289B內(nèi)部含有譯碼器,可直接接收BCD碼或16進(jìn)制碼,并同時具有2種譯碼方式,此外還具有多種控制指令,如消
8、隱、閃爍、左移、右移、段尋址等。 圖4 中斷控制接收數(shù)據(jù)流程 4 控制算法程序 通過運(yùn)行控制算法程序,使得智能節(jié)點(diǎn)能夠按照預(yù)定要求產(chǎn)生正確的動作??刂扑惴ǔ绦蛑饕啥糠纸M成:鍵盤功能控制.步進(jìn)電機(jī)運(yùn)動控制,總線命令響應(yīng)控制。 4.1 鍵盤功能控制 鍵盤功能控制程序依據(jù)AT89C52獲得的不同鍵值,控制智能節(jié)點(diǎn)完成諸如步進(jìn)電機(jī)運(yùn)動圈數(shù)、角度設(shè)定,步進(jìn)電機(jī)的啟停等多種功能。各鍵對應(yīng)的鍵盤功能見表1所示。 表1鍵盤功能 4.2步進(jìn)電機(jī)運(yùn)動控制 步進(jìn)電機(jī)運(yùn)動控制包括:速度控制,計數(shù)單位控制.計數(shù)控制,方向控制。在本論文設(shè)計中,步進(jìn)電機(jī)速度控制程序?qū)⒆兞俊癟imePerPulse”作為速度控制參數(shù),該
9、變量與定時器1 (T1)和參數(shù)count Time相配合可實現(xiàn)步進(jìn)電機(jī)已不同的速度動作。其中T1為100us定時器,當(dāng)T1每計時100uS后產(chǎn)生一個中斷,使得Count Time加“1”,當(dāng)count Time=TimePerpulse時,AT89C52會通過端口發(fā)送一個脈沖控制步進(jìn)電機(jī)走一個步進(jìn)角,故步進(jìn)電機(jī)轉(zhuǎn)動一圈所需時間的計算公式為: 步進(jìn)電機(jī)轉(zhuǎn)動一圈所需時間=TimePerPulse*(細(xì)分?jǐn)?shù)*200)*100(us) 式中(細(xì)分?jǐn)?shù)*200)表示步進(jìn)電機(jī)轉(zhuǎn)動一圈所需要的全部脈沖數(shù)。 在本論文設(shè)計中.可以控制步進(jìn)電機(jī)以角度或圈數(shù)這兩種不同的計數(shù)單位控制步進(jìn)電機(jī)的運(yùn)動。當(dāng)處于角度計數(shù)時,因步進(jìn)電機(jī)的步進(jìn)角細(xì)分為1時是1.8脈沖,即1度角對應(yīng)的脈沖數(shù)不是整數(shù),所以需要紀(jì)錄以(1360)為單位的剩余脈沖計數(shù),以防止累積誤差。 4.3總線命令響應(yīng)控制 當(dāng)智能節(jié)點(diǎn)接收到總線數(shù)據(jù)后,需要對接收到的數(shù)據(jù)加以分析,以判斷總線命令的類型.從而轉(zhuǎn)入與該命令相對應(yīng)的控制程序段中開展相關(guān)操作。接收數(shù)據(jù)各字節(jié)所代表的含義,在程序中通過一個構(gòu)造加以說明。在程序中,首先根據(jù)參數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)據(jù)中心機(jī)房租賃及IT設(shè)備租賃合同3篇
- 西安高新科技職業(yè)學(xué)院《非線性編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 溫州醫(yī)科大學(xué)《民法前沿問題專論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度在線醫(yī)療咨詢用戶隱私保護(hù)合同3篇
- 二零二五年教室租賃及教育資源共享與校園環(huán)境維護(hù)協(xié)議3篇
- 二零二五年度道路交通事故預(yù)防責(zé)任合同書范本2篇
- 2024版建筑工程一切險保險合同
- 2024股權(quán)轉(zhuǎn)讓協(xié)議完整模板
- 唐山幼兒師范高等專科學(xué)?!渡镄畔W(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版光伏發(fā)電站鋪裝工程合同
- 綠色簡潔商務(wù)匯總報告PPT模板課件
- 下肢皮牽引護(hù)理PPT課件(19頁P(yáng)PT)
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會嘉賓簽到表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論