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