基于MXT8051單片機的發(fā)動機車載監(jiān)控系統(tǒng)研究
其中debug窗口可以當做串口調(diào)試助手使用,所有計算機接收到的信號都會顯示在debug文本框內(nèi),并會自動翻頁,自動計數(shù),datamode中的三個選項決定串口調(diào)試助手顯示數(shù)據(jù)的格式,可以是十進制、十六進制和二進制。VB自帶有十進制轉(zhuǎn)十六進制的函數(shù)HEX(),本文提供自定義的十進制轉(zhuǎn)二進制函數(shù)源碼供參考:
本文引用地址:http://www.biyoush.com/article/110393.htmPublic Function decbin(dec As Long, Optional tt As Long) As String
Dim temp As String
Bit = Int(Math.Log(dec) / Math.Log(2))
temp = ""
dectemp = dec
For i = 0 To Bit Step 1
temp = (dectemp / 2 - Int(dectemp / 2)) * 2 & temp
dectemp = Int(dectemp / 2)
Next
Do While (Len(temp) < tt)
temp = "0" & temp
Loop
decbin = temp
End Function
按照本系統(tǒng)的設定,開機點選send按鈕后,上位機會發(fā)送send按鈕右側(cè)文本框中的數(shù)據(jù)到串口,單片機在自運行模式下接收到通信指令以外的值,會通過P0口高4位驅(qū)動步進電機轉(zhuǎn)過與該值相同的角度。
驅(qū)動電路設計
圖2是At24C08的驅(qū)動電路原理圖,圖中V5代表+5V電源,Gc代表信號地,i7、i8接MXT8051單片機的P0口低2位IO。基本結(jié)果與常用的At24C02沒有區(qū)別,但24C08能存儲更多字節(jié)的數(shù)據(jù),存儲空間是24c02的4倍。數(shù)據(jù)傳輸協(xié)議依然采用IIC,但設備尋址碼與24C02不同,24C02的Device Address 的bit2~bit4位是接線腳的尋址位,24C08的這幾位是用來給片內(nèi)的頁尋址。
本文采用步進電機作為執(zhí)行元件,因為該器件可以精確快速的響應控制器的指令,在發(fā)動機的實際應用中,步進電機可以用于控制各種氣液通道上的過流截面,以達到最優(yōu)化流通特性的目的,詳細參數(shù):額定電流3.25A,保持扭矩為1.2N*m,2相4線,最小步距角0.9°。轉(zhuǎn)子線圈采用NPN達林頓三極管TIP41C上拉驅(qū)動,與控制器信號輸出端采用817隔離。圖3為單獨一路相線的驅(qū)動電路,其中兩路2N5551是留作備用中間級放大,當信號輸出端驅(qū)動電流太小無法驅(qū)動光耦時,可接通電路中相應插針,啟動中間級放大。A0經(jīng)轉(zhuǎn)子線圈并聯(lián)續(xù)流二極管接功率電源,i1接單片機驅(qū)動IO口,其它插針用于擴展電路功能。當輸出電流不符合負載要求時,可逐級調(diào)整限流電阻,以實現(xiàn)小幅調(diào)整電流的目的。實驗表明,MXT8051單片機的通用IO具有較大電流輸出能力,在不接任何中間級放大的情況下,光耦輸出端就有約30mA的電流,中間兩級限流電阻選300Ω,無散熱條件下可驅(qū)動線圈電流至1A~1.5A。
參考文獻:
[1].何立民,《單片機應用技術選編》;北京航天航空大學出版社,2006
[2].何立民,《單片機高級教程》;北京航天航空大學出版社,2007
評論