3.1 節(jié)氣門(mén)信號(hào)信號(hào)的測(cè)量
這里測(cè)量的汽車發(fā)動(dòng)機(jī)上節(jié)氣門(mén)位置傳感器為一可調(diào)電阻型,節(jié)氣門(mén)位置輸出信號(hào)為0~5V的電壓信號(hào),根據(jù)節(jié)氣門(mén)的實(shí)際開(kāi)度與輸出電壓的關(guān)系,對(duì)測(cè)量的電壓信號(hào)進(jìn)行標(biāo)定,根據(jù)實(shí)測(cè)的電壓信號(hào)即可換算成節(jié)氣門(mén)的開(kāi)度。所以這里用PIC18F4580單片機(jī)內(nèi)嵌的10位AD轉(zhuǎn)換電路完成對(duì)節(jié)氣門(mén)位置傳感器輸出電壓的測(cè)量,為提高測(cè)量精度,對(duì)單片機(jī)AD的5V基準(zhǔn)電壓進(jìn)行了與系統(tǒng)電源隔離穩(wěn)壓處理。
本系統(tǒng)利用Microchip公司的MPLAB開(kāi)發(fā)環(huán)境嵌入PICC18C程序編譯器,用C程序編寫(xiě)了數(shù)據(jù)采集與CAN數(shù)據(jù)的收發(fā)程序,其中AD轉(zhuǎn)換子程序用匯編語(yǔ)言編寫(xiě),程序兼顧了C程序的模塊化和可維護(hù)性好的優(yōu)點(diǎn),同時(shí)具有了匯編語(yǔ)言高效率的優(yōu)點(diǎn)。
信號(hào)通過(guò)CAN控制器用擴(kuò)展幀格式發(fā)送到CAN網(wǎng)絡(luò)上。其中數(shù)據(jù)采集與CAN數(shù)據(jù)的發(fā)送子程序如下:
InitSPI();//SPI接口初始化
Init_MCP2515();//MCP2515初始化
……
TRISA=0B00000001;//AN0>>>>DCinputDC通道上輸入,打開(kāi)RA0
ADCON0=0B00000001;//AN0通道,允許ADC工作,
ADCON1=0B00001110;//除RA0為模擬輸入口外,其他RA口跟RE口均為普通數(shù)字口
ADCON2=0B10100001;//轉(zhuǎn)換結(jié)果右對(duì)齊,8TAD,1/8FOSC。
#asm
ADCON0 EQU 0FC2H
GO EQU 001H
bsf ADCON0, GO //開(kāi)始轉(zhuǎn)換
ADWAIT:
btfscADCON0,GO
gotoADWAIT//等待轉(zhuǎn)換完成
#endasm
write_MCP2515(TXB0CTRL,0x03);//設(shè)置為發(fā)送最高優(yōu)先級(jí)
write_MCP2515(TXB0SIDH,0xFF);//EID28--21
write_MCP2515(TXB0SIDL,0xEB);//EID20--EID18,擴(kuò)展幀使能,EID17--EID16
write_MCP2515(TXB0EID8,0xFF);//EID15--EID8
write_MCP2515(TXB0EID0,0xFF);//EID7--EID0
write_MCP2515(TXB0DLC,0x02);//發(fā)送數(shù)據(jù)長(zhǎng)度為8字節(jié)
write_MCP2515(TXB0D0,ADRESH);//發(fā)送的數(shù)據(jù)
write_MCP2515(TXB0D1,ADRESL);
……
send_TXB0();//請(qǐng)求發(fā)送
while((read_MCP2515(TXB0CTRL)&0x08)==0x08);//等待
發(fā)送完畢
……
3.2 水溫信號(hào)的測(cè)量
本文中的水溫信號(hào)利用DALLAS公司的DS18B20智能數(shù)字傳感器測(cè)量。DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。測(cè)量溫度范圍為-55℃~+125℃,在-10~+85℃范圍內(nèi),精度為±015℃?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。DS1820采集溫度信號(hào)完成后,通過(guò)PIC18F4580芯片接收數(shù)據(jù),并通過(guò)內(nèi)嵌CAN控制器把數(shù)據(jù)以8位二制數(shù)的格式用標(biāo)準(zhǔn)幀格式發(fā)送到CAN總線上。
4 CAN網(wǎng)絡(luò)的傳輸系統(tǒng)
采集到的信號(hào)通過(guò)PIC18F4580內(nèi)嵌的CAN控制器發(fā)出。這里選用MICROCHIP公司出品的MCP2551CAN收發(fā)器完成網(wǎng)絡(luò)信號(hào)的傳遞,在CAN網(wǎng)絡(luò)終端加入阻值為120歐的終端電阻。CAN網(wǎng)絡(luò)接收端的收發(fā)器接收到的信號(hào)后傳遞給另一片PIC18F4580芯片,通過(guò)基內(nèi)部的CAN控制器取出網(wǎng)絡(luò)信號(hào),如果接收到擴(kuò)展幀,則接收到的數(shù)據(jù)為節(jié)氣門(mén)的位置信號(hào);接收到標(biāo)準(zhǔn)幀,則接收到的數(shù)據(jù)為水溫信號(hào)。對(duì)信號(hào)處理后以數(shù)據(jù)包的方式通過(guò)基自身的UART口發(fā)給MAX232芯片,把TTL信號(hào)電平轉(zhuǎn)換成232電平。節(jié)氣門(mén)部分的CAN通訊板硬件原理圖如圖3所示。
?
圖3 節(jié)氣門(mén)位置信號(hào)測(cè)量CAN通信板原理圖
評(píng)論
查看更多