基于單片機(jī)的CAN總線分布式測(cè)控系統(tǒng)的研制
硬件電路的設(shè)計(jì)并不太困難,但有幾點(diǎn)應(yīng)引起注意:
總線兩端兩個(gè)120Ω的電阻,對(duì)于匹配總線阻擾,起著相當(dāng)重要的作用。忽略掉它們,會(huì)使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至無法通信。 (2005-11-28 15:07:00 閱讀數(shù):21 )
82C50第8腳與地之間的電阻Rs稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式,在這種方式下,為避免射頻干擾,建議使用屏蔽電纜作總線;而在波特率較低、總線較短時(shí),一般采用斜率控制方式,上升及下降的斜率取決于民的阻值,實(shí)驗(yàn)數(shù)據(jù)表明15~200kΩ為Rs較理想的取值范圍,在該方式下,可以使用平行線或雙絞線作總線。
SJA1000的TX1腳懸空,RX1引腳的電位必須維持在約0.5Vcc上,否則,將不能形成CAN協(xié)議所要求的電平邏輯。如果系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可直接把82C250的VREF端(約為0.5 Vcc)與RX1腳相連,從而簡(jiǎn)化了電路。
在系統(tǒng)中,SJA1000的片選信號(hào)一般由地址總線經(jīng)譯碼獲得,并由此決定出CAN控制器各寄存器的地址。實(shí)際應(yīng)用中,采用單片機(jī)AT89C52的P2.7為片選信號(hào)。所以,SJA1000的地址為:7F00~7F32H。
當(dāng)上電復(fù)位時(shí),AT89C52的上電復(fù)位,需要從低到高的電平變化來激活,而SJA1000的17腳RST被激活,需要出現(xiàn)一個(gè)由高電平到低電平的跳變,因此,這必須加一個(gè)反相器。
(2)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊用來將各類傳感器的數(shù)據(jù)傳送到CAN總線上。整個(gè)電路包括:看門狗X5045,單片機(jī)89C52,鎖存器74LS373,A/D轉(zhuǎn)換器ADC0809以及CAN控制器SJA1000和收發(fā)器82C250。電路板如圖3。
數(shù)據(jù)采集模塊的工作原理:各類傳感器采集到數(shù)據(jù)后將0—5V的模擬量傳送到ADC0809,0809將轉(zhuǎn)換成的數(shù)字量傳給89C52,最后單片機(jī)將采集到的數(shù)據(jù)送到SJA1000通過CAN總線收發(fā)器82C250傳上總線,完成數(shù)據(jù)采集工作。
(3)控制模塊
是一個(gè)帶有CAN通信功能的隔離型控制器。該模塊有一個(gè)數(shù)據(jù)輸入點(diǎn),可以是命令或其他信號(hào),有一個(gè)模擬量輸出,供輸出執(zhí)行機(jī)構(gòu)是連續(xù)變化的控制系統(tǒng)使用,例如控制步進(jìn)電機(jī);還有一路是數(shù)字量輸出,供執(zhí)行機(jī)構(gòu)是兩位式的控制系統(tǒng)使用,例如開關(guān)設(shè)備。這個(gè)控制器可以單獨(dú)作為一個(gè)調(diào)節(jié)器使用,因?yàn)樵谠撃K上提供了完整的顯示窗口和操作按鈕,可以設(shè)定溫度設(shè)定值、PID調(diào)節(jié)參數(shù)等運(yùn)行過程中可以顯示被控對(duì)象的PV值和SV值。該模塊可以根據(jù)設(shè)定的控制點(diǎn)及升、降的時(shí)間實(shí)現(xiàn)自動(dòng)調(diào)節(jié)。帶有CAN通信口,可以與微機(jī)實(shí)現(xiàn)通信,也就是說控制模塊可以接入CAN 網(wǎng)絡(luò)系統(tǒng)。通過上位機(jī)實(shí)現(xiàn)對(duì)多個(gè)節(jié)點(diǎn)上的控制模塊設(shè)定各控制點(diǎn)的上下限控制點(diǎn)、PID值、實(shí)現(xiàn)時(shí)間等控制參數(shù),并實(shí)時(shí)記錄各控制器的測(cè)量值,描繪出變化曲線,供實(shí)驗(yàn)人員對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。如圖4所示。
評(píng)論