當前位置: 首頁 > 應用教程 > 【創(chuàng)客學堂】DIY個性多功能摩托車儀表

【創(chuàng)客學堂】DIY個性多功能摩托車儀表

編輯:Jack-Bei2013-12-31 390378261@qq.com 瀏覽次數(shù):1547

  騎過摩托的朋友都有一個感覺,就是基本的摩托車儀表除了轉(zhuǎn)速表和碼表(速度表),剩下的沒有啥花樣了,作為一個電子愛好者,何不動手實踐,設(shè)計定制一款屬于自己的DIY個性多功能摩托車儀表。

硬件篇

      從我的標題上大家看見了多功能這幾個字,那么我這多功能包含幾部分呢?第一是要兼顧原有的的儀表功能,第二是要講究一些實用的人機交互信息體現(xiàn)出來,其次由于是自己DIY所以對于制作的話,需要精簡。下面就看看我的摩托車儀表系統(tǒng)框圖吧,(圖1),在這里我選用了一款飛思卡爾公司生產(chǎn)的HCS12X系列的單片機MC9S12XS128MMA,是HCS12家族中的一員,由16位的中央處理單元(HCS12CPU)、128KBFlash、8KB RAM、2KB EEPROM組成,外設(shè)功能以及IO資源極為豐富,包括了常用ADC、PWM、SCI、SPI、CAN,總線頻率通過鎖相環(huán)倍頻能超到80M左右,對于本設(shè)計應用來說完全滿足,本人選用此芯片的主要原因在同類微處理器中性價比較高(低功耗和強抗噪,汽車專業(yè)級芯片),同時在設(shè)計制作完儀表后可以擴展控制對處理速度要求較高(此要求非傳統(tǒng)51系列,AVR系列所能及)的摩托車的點火系,以及燃油進氣系統(tǒng),排氣系統(tǒng)等,以達到提高燃油經(jīng)濟性的目的。下面就說說我的儀表的的傳感器信號輸入部分,這里的重頭戲還是發(fā)動機轉(zhuǎn)速和碼表(速度表)。

摩托車儀表系統(tǒng)框圖

圖1摩托車儀表系統(tǒng)框圖

      我從發(fā)動機曲軸飛輪處提取電磁感應信號(現(xiàn)在一般的單缸四沖程發(fā)動機曲軸位置信號都是以此種信號模式輸出)(如圖2),根據(jù)信號V-PP變化以及頻率響應特性,開始我選擇利用穩(wěn)壓二極管以及三極管等自己搭建信號調(diào)理電路,但發(fā)現(xiàn)由于發(fā)動機在不同轉(zhuǎn)速下,產(chǎn)生的磁感電動勢大小有很大差別,用這種方法搭建電路,不能對信號做出適應性的調(diào)節(jié),波形整形穩(wěn)定性以及質(zhì)量較差,通過搜尋資料后,選擇一款集成芯片LM1815作為信號調(diào)理電路的主要組成部分。LM1815是省略門電路的自適應傳感放大器。LM1815提供一次性脈沖輸出,其前沿與反向過零基準輸入信號恰好一致。正常工作時,計時基準信號在外部被處理(延遲)并且返回 LM1815,然后邏輯輸入可以用作傳送到輸出驅(qū)動極的定時基準或處理信號。LM1815的原理結(jié)構(gòu)框圖如圖(3),根據(jù)其模式的真值表(圖4),我選擇了第一種模式,

曲軸電磁感應信號

圖2曲軸電磁感應信號                                                                                    圖3  LM1815的原理結(jié)構(gòu)框圖

模式的真值表

圖3  模式的真值表

         最后的電路原理圖(如圖5),采取脈沖輸出,且脈沖寬度為一個RC的寬度,經(jīng)過試驗選定R=150K?,C=0.001uf,利用單片機采樣時,信號穩(wěn)定,準確(圖6)。對于摩托車的轉(zhuǎn)速測量設(shè)計本著簡單的原則,拋棄了常見的光電式傳感器和霍爾傳感器,在這里我選用了一個電感式的接近開關(guān)(圖7)(接近開關(guān)是一種毋需與運動部件進行機械接觸而可以操作的位置開關(guān),當物體接近開關(guān)的感應面到動作距離時,不需要機械接觸及施加任何壓力即可使開關(guān)動作,從而驅(qū)動交流或直流電器或給計算機裝置提供控制指令),檢測摩托車輪輻板,廠家:OMRON,型號:E2E-X5E1 電 壓:DC12-24V 檢測距離:5mm 輸 出:NPN ,在電路設(shè)計上,由蓄電池直接為其供電(我曾嘗試過用5V給接近開關(guān)進行供電,但實際發(fā)現(xiàn)其檢測距離明顯變小,信號的穩(wěn)定性下降,對于其安裝以及調(diào)試帶來不必要的困難,所以還是選擇按其規(guī)定來為其供電,在信號調(diào)理電路上來做些補償),在輸出端對地加10 K?的負載,同時將其輸出端的電壓節(jié)點過鉗位二極管的保護電路,使其轉(zhuǎn)化成單片機能兼容的TTL電平,(原理圖如8)。下面就檔位信號的處理做一番描述吧,首先看看發(fā)動機檔位信號的來源以及原理,(圖9),其可以視作是一個多路選擇開關(guān),當發(fā)動機選擇某個檔位工作時,就將信號輸出端和地短接,而其余管腳信號懸空,為防止誤讀,在這里添加上拉電阻,保證信號的穩(wěn)定可靠。對于電壓信號而言電池電壓進來后分壓降壓,通過一個二極管鉗位電路實現(xiàn)保護我們的嬌貴的單片機。電路原理圖如圖以及pcb圖 (10),在其中為了調(diào)試的方便,添加了USB轉(zhuǎn)UART模塊。

 電路原理圖\條理之后的信號

圖5 電路原理圖                                                                                  圖6條理之后的信號

接近開關(guān)

圖7 接近開關(guān)                                                                                                圖8電池電壓測試電路 

檔位示意圖

圖9 檔位示意圖

軟件篇

      首先請大家看一下整個控制的流程圖(11),首先對單片的初始化部分,我在這里選擇了飛思卡爾公司生產(chǎn)的HCS12X系列的單片機,開發(fā)的IDE是CodeWarrior Development Studio for S12(X) V5.1,對于沒有學習過該系列單片機的讀者,也不必糾結(jié)于如何對單片機進行初始化,在這個集成的IDE中自帶了一個Processor Expert(處理器專家),圖(12)在這個集成的開發(fā)環(huán)境中,你只要對你所需要的相關(guān)功能以及模塊勾勾選選,就能一鍵生成單片機底層的驅(qū)動,如有困難的話,點擊其的幫助功能或者去我的博客下載使用教程。在這里我還是選用自己編寫底層的驅(qū)動,代碼詳見文檔我的博客。

系統(tǒng)原理框圖

圖11 系統(tǒng)原理框圖

 圖12Processor Expert(處理器專家)

圖12Processor Expert(處理器專家)

初始化后,就得開始進行流程圖的第二步,編寫12864液晶的驅(qū)動代碼。在這里我選用了一塊帶中文字庫的12864液晶屏,我以前也在無線電的雜志上看見過有筆者寫過關(guān)于12864的使用的文章,在這里我就不再贅述,直接附上源碼,(文檔1)。在程序的主體上我采取在函數(shù)的實時中斷部分去采樣相關(guān)檢測變量,采樣周期為0.5S(對于檢測摩托車的狀態(tài)而言已經(jīng)足夠了),然后在函數(shù)的主循環(huán)部分,完成單片機端口的采集變量值,與實際變量之間的參數(shù)換算,相應參數(shù)的顯示。下面就如何換算相關(guān)變量值的方法做詳細說明,1)、發(fā)動機轉(zhuǎn)速,采取測周法測量,在程序設(shè)計上捕捉脈沖上升沿之間的差值Δ,在ECT模塊初始化時,設(shè)計脈沖周期4us,則實際的脈沖周期可計算得T=Δ*4us,換算轉(zhuǎn)速可得轉(zhuǎn)速n= (60000*1000/Δ)/4 rad/min;由于輸入捕捉的定時計數(shù)器是16bit,即差值Δ的換算范圍為0~65535,換算成轉(zhuǎn)速的話,n的范圍在228~15000000 rad/min之間,滿足設(shè)計要求,實際查閱資料可知,摩托車發(fā)動機正常工作在600~15000 rad/min;2)、車速測量,采取測頻法測量,記錄0.5ms內(nèi)車輪輻板經(jīng)過接近開關(guān)的次數(shù)ζ,以及車輪一周的輻板數(shù)З,輪子的周長C m,則換算成速度的話V=(ζ/З)*C*2*3.6Km/h;在計算里程時,經(jīng)過實驗發(fā)現(xiàn)當計數(shù)較大時,數(shù)值計算很容易發(fā)生溢出現(xiàn)象,故將數(shù)值進行估計處理,因為我最后顯示的數(shù)的單位是KM,所以估算記錄一公里將會產(chǎn)生的脈沖個數(shù),記錄實際滿足的次數(shù),即為里程數(shù);3)、電壓換算就比那些簡單多了,一個純粹的比例而已,根據(jù)分壓參數(shù)實際決定,在這里不再細說;4)、檔位換算的話就比較容易,由于邏輯關(guān)系不是很復雜,只要對于其附加相應的檔位值(在編寫程序前,請仔細測量各個檔位線所實際對應的檔位值)。顯示如圖


      在程序流程圖中,大家可以看見,我還特意寫了檔位特寫顯示這一個流程,主要目的是我們騎摩托時,為了確認是否換擋成功,以及顯示當前新歡檔位的需求,在程序編寫上,也不是特別復雜,只需每次刷新數(shù)據(jù)時檢測檔位是否發(fā)生變化,一旦檢測到檔位變化,立即響應顯示特寫畫面的程序(圖14)。同時為了能讓其控制大燈,以及尾燈,在我增加了兩個按鍵,和繼電器,由此控制大燈和尾燈的開關(guān),或者在擴展作為燃油控制閥的按鍵,和繼電器,由此研究燃油經(jīng)濟性的需求。
結(jié)語
      至此,我的儀表系統(tǒng)已經(jīng)基本完成,但也存在一些不足之處,比如:里程數(shù)數(shù)據(jù)不能掉電保存,用戶界面還不夠美觀,我將所有的源碼以及電路原理圖,公開在我博客上,望有興趣的愛好者可以嘗試,給予其改進之。

本文已經(jīng)刊登在《無線電》雜志2013年3月刊

  • 用戶評價

暫時還沒有任何用戶評論

總計 0 個記錄,共 1 頁。 第一頁 上一頁 下一頁 最末頁
用戶名: 匿名用戶
E-mail:
評價等級:
評論內(nèi)容:
驗證碼:
captcha

Hi,大家好,我是小奧!

歡迎來到奧松機器人的世界!

需要咨詢服務(wù)請點小奧哦!

  • 銷售咨詢: 銷售咨詢
  • 銷售咨詢: 銷售咨詢
  • 技術(shù)支持: 技術(shù)支持
  • 咨詢電話:
    0451-86628691
Top