這時即刻在想,現在的車使用CAN-BUS的區網愈來愈多,何不用它來截取相關資訊呢?CAN-BUS是一種通訊協定,用於車子各個電腦模組之間的溝通介面,其優點就是通訊速度快、採非破壞性的仲裁機制,各個模組能自由傳送及接收、透過濾波的功能,很容易達到一對多、多對多、一對一的溝通。所以當下就在想…何不利用CAN-BUS來截取車速及其他行車資訊。
一切就從這張草圖開始

算運中心使用Atmel AVR單晶片,獨立CAN控制器使用MICROCHIP MCP2515,主角就由這兩顆IC來擔任,後來想一想為了減少MCU及程式碼,使用MC14489來推7段顯示器,只要一只電阻即可調整亮度(易於與光敏電阻配合)而且這顆IC也支援Cascade,以後要增顯示的裝置也比較容易。
先前業作
一台可以解CAN-BUS協定的邏輯分析儀一定不可少,除了可以分析各個數據所代表的意義,也可以分析出各個封包的時間差,以至於每個模組間傳遞訊息的仲裁順序,另外Debug也是其項目之一,像一些過載、主動錯誤的封包,可以細部研究其發生的源頭。這部份是花費我最多時間。


嗯..電路圖一定是要的,先大略畫一張

開始準備零件,先用洞洞板來測試主要的功能,洞洞板的好處是,編寫程式與修改線路比較彈性

另外,將7段顯示獨立成一個模組,線路才不至於太亂

大致的功能測試沒問題之後...
Layout
開始準備Layout,個人習慣比較不喜歡用洞洞板在實車上測試,因為有些線是直接用OK線拉,強度與穩定度較差,在車上測試除了分析,遇到板子問題還要Debug,很費時又沒有效率,所以只要板子沒有太複雜,就直接先Layout出來

首先印製投影片

裁切適當大小的PCB板(我是用曝光機只要90秒)

將TOP和BOTTOM結合在一起(這是我自己發明的方式,利用剩餘的洞洞板來做於輔助的定位,其效果當相準確,鑽孔時上下層幾乎沒有偏差)

準備曝光

調整好曝光的時間,在曝光的同時,調配好顯影劑

曝光完成之後,準備顯影

顯影後的成像

檢查一下細部的LAYOUT是否有缺失(嗯,大致上沒什麼問題)


準備蝕刻(旁邊那組是電鍍槽)

蝕刻的時間與蝕刻劑的使用時間成正比,用愈久則刻愈久,所以要注意一下蝕刻的外觀,冬天溫度可以調高一點

蝕刻好的成品,如果有斷線稍後再補

個人習慣把感光層塗掉,再吃上一層焊錫

開始鑽孔

鑽好檢查一下(嗯,這次雙層對正還不錯,沒有太大偏差)

貫孔程序
之前有用化學電鍍貫孔,不過溶劑都有時效性,放太久都失效了,所以就用一般穿線貫孔,果如是IC的下方怕影響高度,可用貫孔針

開始焊接零件

等不及趕快測試一下,竟然有缺字,又要Debug了

完成了,因為是HUD,測試一下鏡射效果(嗯…滿足感)

OK,開始實車測試了,為了比較精確度,旁邊放一台有GPS顯示速度功能的手機
當加速或減速明顯快了許多,在定速行駛時速度與GPS所呈現幾乎同相
將顯示輸出調整於"Turbo"模式,即是一個數據封包顯示一次
加速或減速可能快到看不清小數點以下的變化,沒太大的意義
當然引擎轉速也OK
下午3點時的陽光
旁邊那台是用VFD顯示,幾乎可以不同貼反光膜
後記
自從CAN-BUS發表以來,已經20多年了,不見其衰退,反而更為普遍並趨於大眾化
未來可發展的空間肯定還很寬廣,有興趣的網友可參考看看
本文章同步發表於汽車技術網


























































































