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