控制部分電路是以51單片機(jī)為控制核心,接收上位機(jī)的脈沖信號(hào)和方向信號(hào)CLK1和CW1經(jīng)過(guò)存儲(chǔ)處理后發(fā)送給驅(qū)動(dòng)電路部分驅(qū)動(dòng)步進(jìn)電機(jī)工作。另外,單片機(jī)還要實(shí)時(shí)接收來(lái)自旋轉(zhuǎn)編碼器的反饋脈沖信號(hào),對(duì)編碼器的兩相反饋脈沖信號(hào)進(jìn)行處理,判斷步進(jìn)電機(jī)的位置和旋轉(zhuǎn)方向是否與給定信息相符合,如果不相符就調(diào)用相應(yīng)的算法進(jìn)行自動(dòng)補(bǔ)償,最終使步進(jìn)電機(jī)達(dá)到預(yù)定的位置。由于旋轉(zhuǎn)編碼器的分辨率有高有低,如果選擇高分辨率的旋轉(zhuǎn)編碼器,在細(xì)分情況下,當(dāng)步進(jìn)電機(jī)在最高轉(zhuǎn)速時(shí),要求單片機(jī)的相應(yīng)速度要符合要求。本設(shè)計(jì)選用的單片機(jī)為宏晶科技的STC12C5201單片機(jī),1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快8~12倍。一般程序稍大的可選用STC12C5202或者STC12C5204。編碼器與STC12C5201的接口如圖3所示。
圖3編碼器與單片機(jī)接口
需要注意的是,上位機(jī)向單片機(jī)發(fā)送控制信號(hào)的時(shí)候要經(jīng)過(guò)光耦隔離。光耦隔離的作用有兩個(gè):第一,防止電機(jī)干擾和損壞前級(jí)芯片;第二,對(duì)控制信號(hào)進(jìn)行整形。對(duì)于控制信號(hào)CLK和CW/CCW要選用中速或者高速的光耦,以保證信號(hào)經(jīng)過(guò)光耦后不會(huì)發(fā)生延遲或者變形而影響步進(jìn)電機(jī)的驅(qū)動(dòng)[5]。
4軟件設(shè)計(jì)