項(xiàng)目介紹
目前新能源車中的混動(dòng)汽車,由于又有電的部分,也有傳統(tǒng)燃油車部分,又由于廠家目前是偏向電車的構(gòu)造,所以很多數(shù)據(jù)顯示不全,如發(fā)動(dòng)機(jī)轉(zhuǎn)速這些實(shí)際是不給顯示的,還有廠家對(duì)于電機(jī)轉(zhuǎn)速這塊也是隱藏的,很多只顯示功率和車速信息。所以我們通過OBD-II接口,可以獲得很多信息。
硬件介紹
主要是一個(gè)串口轉(zhuǎn)CAN接口的模塊,用這個(gè)主要是樹莓派沒有CAN接口。
樹莓派5,主要功能是運(yùn)行QT然后通過QT的串口數(shù)據(jù)傳輸,可以通過OBD接口拿到行車數(shù)據(jù)。
少不了一個(gè)OBD接頭,只要接上CAN線,電源我們也可以考慮使用,給樹莓派供電需要。
軟件介紹
軟件主要是移植串口轉(zhuǎn)CAN的功能,內(nèi)部有一些配置,使用的是AT指令,比較方便,主要是配置三個(gè)東西,一個(gè)是CAN數(shù)據(jù)的波特率,兩個(gè)是信息濾波,不然串口這就是收的數(shù)據(jù)比較多,需要處理很多。我們直接過濾掉,然后只獲取我們通過OBD協(xié)議回傳的數(shù)據(jù)的幀。
波特率配置,現(xiàn)在新能源車速率到500Kb/s了所以要調(diào)整,初始化時(shí)修改了。
濾波器功能開啟,對(duì)串口要求就很低了。
CAN模塊初始化一個(gè)是波特率,這個(gè)默認(rèn)我們就不設(shè)置新波特率了,要設(shè)置CAN總線波特率,后面就是設(shè)置濾波,過濾掉其他回復(fù)幀。
重要的回讀,底下的dta就是判斷回讀數(shù)據(jù)的。
主要功能就是用定時(shí)器,不斷發(fā)OBD協(xié)議,然后回復(fù)過來解析。
以上就是整個(gè)代碼架構(gòu)了。
功能展示圖及說明
主要頁面是用到了兩個(gè)框,用來顯示發(fā)動(dòng)機(jī)轉(zhuǎn)速,這也是新能源車未顯示功能,通過這個(gè)功能我們可以知道發(fā)動(dòng)機(jī)是否工作,還有就是時(shí)速功能。水溫等數(shù)據(jù)考慮直接用Label來顯示了。
這是目前通過CAN調(diào)試器發(fā)送的。實(shí)際演示看我視頻。
視頻
【《2024 DigiKey 汽車應(yīng)用創(chuàng)意挑戰(zhàn)賽》樹莓派OBD行車數(shù)據(jù)獲取】
見附件