控制步進(jìn)電機(jī),在采用單片機(jī)控制的步進(jìn)電機(jī)系統(tǒng)中,通過控制單片機(jī)輸出的CP脈沖波形來驅(qū)動步進(jìn)電機(jī)是一種較為常見的方法,這種控制方式簡單易行,只需不斷改變單片機(jī)芯片的時(shí)鐘周期,就可以獲得不同CP脈沖頻率的輸出波形,進(jìn)而可以控制步進(jìn)電機(jī)的轉(zhuǎn)速,該方法簡單,占用資源少,控制方法可以用軟件來實(shí)現(xiàn),通過調(diào)用不同周期的時(shí)鐘子程序就可以實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)速的控制。
[0023]電機(jī)選用四相步進(jìn)電機(jī),單片機(jī)選用89S52作為控制器。選取用單片機(jī)來驅(qū)動顯示和鍵盤。選用UNL2003作為步進(jìn)電機(jī)的驅(qū)動芯片來驅(qū)動步進(jìn)電機(jī)。計(jì)時(shí)器信號經(jīng)CPU處理后再由顯示器顯示出來,由鍵盤輸入的計(jì)時(shí)數(shù)值了得通過顯示器來顯示。并將實(shí)時(shí)的計(jì)時(shí)信息輸出至比較器,與比較器中的預(yù)置數(shù)值經(jīng)行比較,進(jìn)而控制蜂鳴器進(jìn)行報(bào)警。
[0024]軟件部分,主要有如下幾個(gè)部分:主程序的初始化;顯示屏的顯示程序的設(shè)計(jì);鍵盤按鍵及其防抖程序的設(shè)計(jì);步進(jìn)電機(jī)驅(qū)動程序設(shè)計(jì),并在其中實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速;定時(shí)中斷程序的設(shè)計(jì)。同時(shí)設(shè)置指令使以上各軟件部分組成一個(gè)較為平穩(wěn)的大程序。
[0025]結(jié)合圖2,本發(fā)明的軟件部分,主要實(shí)現(xiàn)如下的幾個(gè)部分:主程序的初始化;顯示屏的顯示程序的設(shè)計(jì);鍵盤按鍵及其防抖程序的設(shè)計(jì);步進(jìn)電機(jī)驅(qū)動程序設(shè)計(jì),并在其中實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速;定時(shí)中斷程序的設(shè)計(jì)。同時(shí)設(shè)置指令使以上各軟件部分組成一個(gè)較為平穩(wěn)的大程序。主程序的工作過程為:先進(jìn)行初始化工作,然后判斷是否啟動,若啟動則讀取鍵值信號或傳感器輸入信號,進(jìn)行對應(yīng)處理。否則進(jìn)入關(guān)機(jī)狀態(tài),等待操作人員輸入指令。如果輸入指令有效,則延時(shí)5S啟動。判斷是否延時(shí)5S啟動,如果延時(shí)啟動有效,則系統(tǒng)進(jìn)入工作狀態(tài)。
[0026]主程序的初始化:初始化程序是對程序中系列的變量進(jìn)行初始化:對步進(jìn)電機(jī)運(yùn)行周期計(jì)時(shí)器T0、步進(jìn)電機(jī)運(yùn)行計(jì)時(shí)器Tl計(jì)時(shí)周期進(jìn)行設(shè)定,同時(shí)將計(jì)時(shí)初始量設(shè)置為O ;對驅(qū)動繼電器端進(jìn)行初值設(shè)定,設(shè)定驅(qū)動繼電器端為低電平,繼電器端輸出端打開,電源模塊未向步進(jìn)電機(jī)驅(qū)動模塊供電;對驅(qū)動繼電器端計(jì)時(shí)器初始值為零,為繼電器延時(shí)5S計(jì)時(shí);設(shè)定定時(shí)中斷電位為低電平,無中斷程序運(yùn)行,準(zhǔn)備下一步步進(jìn)電機(jī)運(yùn)行計(jì)時(shí)器Tl計(jì)時(shí)計(jì)時(shí)小于4min跳出,報(bào)警器報(bào)警做準(zhǔn)備。
[0027]顯示子程序說明:程序開始運(yùn)行,首先對芯片8279進(jìn)行初始化。然后設(shè)定數(shù)據(jù)段的首地址,而后選擇想要顯示的數(shù)字位數(shù)。尋找該數(shù)字位數(shù)要顯示的數(shù)字,通過查詢段代碼,得到該數(shù)字所對應(yīng)的數(shù)碼管顯示代碼,并通過數(shù)碼管顯示。判斷所有數(shù)字位數(shù)是否已全部顯示,如果未全部顯示,尋找未顯示數(shù)字位數(shù)要顯示的數(shù)字代碼進(jìn)行顯示,如果已全部顯示,則程序結(jié)束。數(shù)碼管顯示數(shù)字,顯示子程序完成工作,程序退出。
[0028]鍵盤子程序說明:程序開始,各鍵盤鍵判斷是否閉合,如果閉合則鍵盤按鍵進(jìn)入調(diào)用下一部子程序并延時(shí)12ms鍵盤防抖。后判讀是否釋放按鍵,如果釋放則可判斷為輸入鍵位X,如果未釋放,則繼續(xù)等待;如果按鍵未閉合,則返回上一子程序,程序繼續(xù)等待按鍵閉合。中間加入防抖程序的原因是,按鍵一般是機(jī)械式的,其具有一定的彈性,因此當(dāng)鍵盤閉合時(shí),無法立即獲得一個(gè)穩(wěn)定的電信號,當(dāng)按鍵松開時(shí),也存在同樣的問題,兩者均會發(fā)生一定的信號抖動,為系統(tǒng)帶來一定的噪音,影響系統(tǒng)的穩(wěn)定性。加入防抖程序就是為了消除這些抖動,防止這些抖動產(chǎn)生噪音,進(jìn)而影響正常程序的運(yùn)行。切換到獨(dú)立按鍵模式,通過按鍵在數(shù)碼管顯示對應(yīng)的數(shù)字。
【主權(quán)項(xiàng)】
1.一種基于步進(jìn)電機(jī)的電噴汽車噴嘴清洗機(jī),其組成包括:電源電路模塊(I)、控制模塊(2)、計(jì)時(shí)報(bào)警模塊(3)、外部存儲模塊(4)、人機(jī)界面模塊(5)和軟件執(zhí)行機(jī)構(gòu)(6),其中電源電路模塊(I)與控制模塊(2)、計(jì)時(shí)報(bào)警模塊(3)和軟件執(zhí)行機(jī)構(gòu)(6)分別連接。
2.根據(jù)權(quán)利要求1所述的一種基于步進(jìn)電機(jī)的電噴汽車噴嘴清洗機(jī),其特征在于所述的計(jì)時(shí)報(bào)警模塊(3)中的計(jì)時(shí)器信號經(jīng)CPU處理后再由顯示器顯示出來,由鍵盤輸入的計(jì)時(shí)數(shù)值了得通過顯示器來顯示。并將實(shí)時(shí)的計(jì)時(shí)信息輸出至比較器,與比較器中的預(yù)置數(shù)值經(jīng)行比較,進(jìn)而控制蜂鳴器進(jìn)行報(bào)警。
3.根據(jù)權(quán)利要求1所述的一種基于步進(jìn)電機(jī)的電噴汽車噴嘴清洗機(jī),其特征在于所述的軟件執(zhí)行機(jī)構(gòu)(6),包括主程序的初始化;顯示屏的顯示程序的設(shè)計(jì);鍵盤按鍵及其防抖程序的設(shè)計(jì);步進(jìn)電機(jī)驅(qū)動程序設(shè)計(jì),并在其中實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速;定時(shí)中斷程序的設(shè)計(jì)。同時(shí)設(shè)置指令使以上各軟件部分組成一個(gè)較為平穩(wěn)的大程序。
【專利摘要】一種基于步進(jìn)電機(jī)的電噴汽車噴嘴清洗機(jī),其組成包括:電源電路模塊(1)、控制模塊(2)、計(jì)時(shí)報(bào)警模塊(3)、外部存儲模塊(4)、人機(jī)界面模塊(5)和軟件執(zhí)行機(jī)構(gòu)(6),其中電源電路模塊(1)與控制模塊(2)、計(jì)時(shí)報(bào)警模塊(3)和軟件執(zhí)行機(jī)構(gòu)(6)分別連接。只需要用接頭與發(fā)動機(jī)供油管及回油管連接,在發(fā)動機(jī)正常運(yùn)轉(zhuǎn)狀況下就可以清洗電噴汽車噴嘴的清洗機(jī)。本發(fā)明分為電源電路模塊、控制模塊、計(jì)時(shí)報(bào)警模塊、外部存儲模塊、人機(jī)界面模塊五大模塊。發(fā)明將采用單片機(jī)控制步進(jìn)電機(jī),在采用單片機(jī)控制的步進(jìn)電機(jī)系統(tǒng)中,通過控制單片機(jī)輸出的CP脈沖波形來驅(qū)動步進(jìn)電機(jī),該方法簡單,占用資源少,控制方法可以用軟件來實(shí)現(xiàn),通過調(diào)用不同周期的時(shí)鐘子程序就可以實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)速的控制。
【IPC分類】G05B19-042
【公開號】CN104656497
【申請?zhí)枴緾N201310589662
【發(fā)明人】楊亮
【申請人】哈爾濱功成科技創(chuàng)業(yè)投資有限公司
【公開日】2015年5月27日
【申請日】2013年11月20日