C504單片機(jī)在步進(jìn)電機(jī)控制方面的應(yīng)用
摘要:C504是德國(guó)SIEMENS公司生產(chǎn)的單片微控制器,文中介紹了C504單片機(jī)在步進(jìn)電機(jī)控制方面的應(yīng)用,給出了利用C504的資源優(yōu)勢(shì),經(jīng)過一定的擴(kuò)展來(lái)對(duì)步進(jìn)電機(jī)進(jìn)行控制的控制系統(tǒng)結(jié)構(gòu)及方法,另外,該控制系統(tǒng)還具有人機(jī)對(duì)話功能和較高的性能價(jià)格比。
本文引用地址:http://m.butianyuan.cn/article/244611.htm關(guān)鍵詞:C504 步進(jìn)電機(jī) CCU 步距角
步進(jìn)電機(jī)是一種脈沖電機(jī),它是一種能將脈沖信號(hào)轉(zhuǎn)換為角位移的數(shù)模轉(zhuǎn)換器,可廣泛用于無(wú)需反饋控制而要求有精確位置的場(chǎng)合,為了改善步進(jìn)電機(jī)的工作特性以及減少硬件電路的連接,近幾年來(lái)多采用單片機(jī)對(duì)其控制,但由于各類單片機(jī)的功能、容量和價(jià)格不同,因而其性能和成本也各不相同。鑒于C504單片機(jī)在電機(jī)控制方面的獨(dú)特結(jié)構(gòu)和大容量、低價(jià)格的特點(diǎn),本文將介紹以C504控制芯片為核心的步進(jìn)電機(jī)控制系統(tǒng),并在滿足性能要求的前提下,實(shí)現(xiàn)了人機(jī)對(duì)話,從而使整個(gè)系統(tǒng)具有較高的性能價(jià)格比。
1 步進(jìn)電機(jī) 控制系統(tǒng)結(jié)構(gòu)及功能
1.1 系統(tǒng)結(jié)構(gòu)
步進(jìn)電機(jī)控制系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,它主要由單片機(jī)控制系統(tǒng)、光電耦合電路、驅(qū)動(dòng)電路及檢測(cè)、保護(hù)電路組成。系統(tǒng)中的步進(jìn)電機(jī)采用三相步進(jìn)電機(jī),它有A、B、C三個(gè)勵(lì)磁線圈,可工作于三相單三拍、雙三拍及六拍方式下。為了減小步距角,可對(duì)三相勵(lì)磁線圈采用單雙相輪流通電的方式,通電次序?yàn)锳-AB-B-BC-C-CA,以構(gòu)成三相六拍分配方式,步進(jìn)電機(jī)的步距角為:60/Z(度),其轉(zhuǎn)速由單片機(jī)所輸出的脈沖來(lái)控制,當(dāng)控制脈沖的頻率發(fā)生變化時(shí),轉(zhuǎn)速也發(fā)生變化。
為了能有足夠的功率驅(qū)動(dòng)步進(jìn)電機(jī)和具有較高的效率,作為控制信號(hào)與執(zhí)行元件之間橋梁的驅(qū)動(dòng)電路,采用以大功率場(chǎng)效應(yīng)管作為功放管的恒流斬波驅(qū)動(dòng)電路形式,可以使電機(jī)在工作時(shí)具有較大的為矩和較好的矩頻特性。該系統(tǒng)可把C504單片機(jī)CCU單元輸出的三相彼此間隔為T/3的脈沖信號(hào)進(jìn)行放大以驅(qū)動(dòng)電機(jī),從而實(shí)現(xiàn)三相六拍的通電次序并能夠運(yùn)行。由C504單片機(jī)組成的控制系統(tǒng)主要完成對(duì)整個(gè)系統(tǒng)的控制檢測(cè)和保護(hù),它在輸出一定頻率的脈沖信號(hào)的同時(shí),還能隨時(shí)接受過電流檢測(cè)電路的信號(hào)及時(shí)封鎖控制脈沖信號(hào),從而實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的保護(hù)。
1.2 鍵盤/顯示電路
為了滿足工作需要,該控制系統(tǒng)設(shè)計(jì)有鍵盤/顯示電路,它利用C504外接的可編程I/O接口芯片8279來(lái)構(gòu)成44鍵盤和四位的LED顯示器,以實(shí)現(xiàn)人機(jī)對(duì)話和對(duì)頻率及步數(shù)的顯示,從而完成對(duì)清零、復(fù)位、啟動(dòng)、停止、上升、下降、頻率、步數(shù)、單步、時(shí)間、正轉(zhuǎn)、反轉(zhuǎn)、三拍/六拍等功能的設(shè)置。設(shè)計(jì)時(shí),通過選取8279的四根SL0~3控制鍵盤的列線電四根SR0~3作為行線,8279的輸出B0~3和A0~3作為數(shù)據(jù)口,鍵盤采用逐列掃描查詢方式工作,顯示器采用軟件譯碼動(dòng)態(tài)掃描顯示方式。這種設(shè)計(jì)操作方便、可靠。
1.3 保護(hù)電路及抗干擾措施
為了對(duì)場(chǎng)效應(yīng)管和步進(jìn)電機(jī)進(jìn)行保護(hù),系統(tǒng)除了C504的內(nèi)部硬保護(hù)電路以外,還設(shè)置了過壓、過流保護(hù)電器,從而提高了系統(tǒng)的抗干擾能力;它們的工作原理為:取相應(yīng)的電壓和電流信號(hào)送到由運(yùn)算放大器接成的比較器與給定值進(jìn)行比較,比較結(jié)果一方面經(jīng)與門送到C504的CTRAP端,一方面送到鎖存器。若發(fā)生故障,則使CRTAP處于低電平,通過控制CCU的初始化寄存器,使控制端邏輯處于封鎖狀態(tài),以封鎖向外輸出的脈沖,并使場(chǎng)效應(yīng)管處于截止?fàn)顟B(tài),從而完成對(duì)步進(jìn)電機(jī)的保護(hù)。最后,再通過CCU的控制寄存器的狀態(tài)字使系統(tǒng)進(jìn)入復(fù)位狀態(tài),并進(jìn)行故障判斷和故障代碼顯示以便維修。
為了防止干擾對(duì)系統(tǒng)運(yùn)行造成影響,在C504的內(nèi)部設(shè)置有一個(gè)15位可編程看門狗定時(shí)單元和RC振蕩器看門狗電路,它們可分別對(duì)軟件運(yùn)行和晶振源的頻率進(jìn)行監(jiān)控;若發(fā)生程序跑飛或死機(jī),可通過15位可編程看門狗定時(shí)單元計(jì)數(shù)的溢出來(lái)使CPU自動(dòng)進(jìn)入復(fù)位狀態(tài)和休眠等待狀態(tài);若系統(tǒng)工作頻率不正常,也可通過RC振蕩器看門狗電路控制,也可使CPU自動(dòng)進(jìn)入復(fù)位狀態(tài)和休眠等待狀態(tài);RC振蕩器看門狗電路框圖如圖2所示,它的工作原理為:當(dāng)系統(tǒng)工作時(shí),CPU通過控制總線將P3.2端的命令字送到RC振蕩器和晶振源,并使它們同時(shí)運(yùn)行,以向外提供各自的時(shí)鐘脈沖,然后經(jīng)頻率比較器進(jìn)行比較后輸出。若晶振源的頻率大于RC振蕩器5分頻的頻率時(shí),則頻率比較器的輸出為低電平,這時(shí)控制邏輯單元被封鎖,系統(tǒng)接受到晶振源的時(shí)鐘脈沖而正常工作;若控制邏輯頻率因其它因素小于RC振蕩器的5分頻時(shí),頻率比較器的輸出為高電平,控制邏輯單元被開放而使CPU進(jìn)入復(fù)位狀態(tài),這樣可防止數(shù)據(jù)丟失和非正常運(yùn)行,從而提高了系統(tǒng)自身的抗干擾能力。
1.4 三相控制脈沖信號(hào)的產(chǎn)生
按照電機(jī)的工作需要,若完成三相/六拍的通電方式,則必須為驅(qū)動(dòng)電路提供三路周期為T、脈寬為T/2或2T/3、相位彼此相差T/3的驅(qū)動(dòng)信號(hào),也就是要求單片機(jī)控制系統(tǒng)控制要能夠產(chǎn)生這樣的控制信號(hào)。具體過程為:CPU由數(shù)據(jù)總線和內(nèi)部地址總線通過暫存鎖存器向周期寄存器、控制寄存器、方式選擇寄存器、初始化寄存器等寫入命令和數(shù)據(jù),并把來(lái)自晶振兩發(fā)頻的時(shí)鐘脈沖信號(hào)送到受周期寄存器控制的預(yù)分頻單元,再把它變?yōu)橐欢ㄖ芷诘拿}沖送到被賦予定值的捕捉定時(shí)器,然后按每個(gè)狀態(tài)周期增1計(jì)數(shù)。當(dāng)與賦值相等時(shí),再按每個(gè)狀態(tài)周期減1計(jì)數(shù)或刷新重新計(jì)數(shù)以把時(shí)鐘脈沖轉(zhuǎn)化為一定周期的三角波,再送到被賦予不同比較值的三個(gè)比較器進(jìn)行比較,將輸入波形調(diào)制為三路一定周期、相位彼此相差T/3的方波脈沖輸出,經(jīng)接口控制邏輯單元向外輸出三路周期為T、脈寬為T/2或2T/3、相位彼此相差T/3的驅(qū)動(dòng)信號(hào)。如果改變了周期寄存器的賦值,也就改變了控制信號(hào)的周期,從而改變了步進(jìn)電機(jī)的轉(zhuǎn)速。
2 系統(tǒng)軟件設(shè)計(jì)
為保證系統(tǒng)安全可靠地啟動(dòng)與運(yùn)行,該系統(tǒng)的軟件采用啟動(dòng)與運(yùn)行雙循環(huán)檢測(cè)的控制方案,其主程序流程如圖3所示。啟動(dòng)前檢測(cè)循環(huán)首先完成對(duì)驅(qū)動(dòng)電路電壓和電流的檢測(cè)。運(yùn)行控制循環(huán)主要完成對(duì)鍵盤各鍵命令的處理,其中包括初始化程序、自診斷程序、鍵盤掃描程序、清零程序、復(fù)位及顯示程序、運(yùn)行程序、停止及顯示程序、上升及下降程序、頻顯程序、步顯程序、時(shí)間顯示程序、單步運(yùn)行程序、正轉(zhuǎn)及反轉(zhuǎn)選擇程序、三相/六拍程序等,并對(duì)故障實(shí)行單獨(dú)處理及顯示。
3 結(jié)論
本文介紹的步進(jìn)電機(jī)控制系統(tǒng),通過合理利用C504單片機(jī)的自身功能及相應(yīng)的擴(kuò)展電路,便可用很少的機(jī)時(shí)來(lái)完成對(duì)步時(shí)電機(jī)的控制,該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,并具有故障自動(dòng)保護(hù)和抗干擾保護(hù)功能,能夠完成多種功能信息顯示及人機(jī)對(duì)話等功能,經(jīng)實(shí)際使用證明,該系統(tǒng)運(yùn)行可靠、性能優(yōu)良。
評(píng)論