基于87C196KC單片機(jī)的步進(jìn)電機(jī)高靈敏度控制系統(tǒng)
1 引言
在現(xiàn)代控制系統(tǒng)中,數(shù)控機(jī)床的高靈敏度控制是一個(gè)重要的分支。而單片機(jī)體積小、重量輕,具有很強(qiáng)的靈活性,因此得到越來(lái)越廣泛的應(yīng)用,尤其在數(shù)控機(jī)床方面。目前,我國(guó)的許多應(yīng)用領(lǐng)域仍以MCS-51系列8位單片機(jī)為主,但是在一些較為復(fù)雜,對(duì)實(shí)時(shí)性、靈敏性要求較高的場(chǎng)合,它就顯得力不從心,不得不讓位于16位單片機(jī)。87C196KC芯片為Intel公司的高性能16位單片機(jī),是其CHMOS中的第二代產(chǎn)品。它不但集成了監(jiān)視跟蹤定時(shí)器WDT、高速輸入輸出通道HSIO、外部設(shè)備事件服務(wù)器,還具有高精度的10位A/D、D/A和PWM波發(fā)生器功能。87C196KC單片機(jī)擁有3路PWM發(fā)生器,它們分別由P2.5口、P1.3口和P1.4口輸出,其內(nèi)部擁有存儲(chǔ)容量為16KB的EPROM和512B的RAM,是步進(jìn)電機(jī)控制系統(tǒng)的理想機(jī)種。本文主要結(jié)合87C196KC 單片機(jī)的PWM發(fā)生器,給出三相步進(jìn)電機(jī)控制系統(tǒng)的硬件和軟件設(shè)計(jì)。
2 PWM波發(fā)生器工作原理
下面以PWM/P2.5引腳為例,給出PWM波發(fā)生器的硬件電路和工作原理。PWM波發(fā)生器結(jié)構(gòu)框圖如圖1所示。
PWM波主要由脈寬調(diào)制控制寄存器PWM-PWM波發(fā)生器的時(shí)鐘可以由系統(tǒng)時(shí)鐘提供,也可以由外圍電路通過(guò)IOC2.2引腳提供。在選擇由系統(tǒng)時(shí)鐘提供的方式時(shí),還可選擇直接提供和經(jīng)二分頻提供的方式。單片機(jī)上電后,8位循環(huán)計(jì)數(shù)器即開(kāi)始工作。每接收一個(gè)脈沖計(jì)數(shù)值增1,當(dāng)其內(nèi)容由0FFH再增1時(shí),計(jì)數(shù)器溢出,引腳PWM端變?yōu)楦唠娖捷敵?。在PWM_CONTROL中置入要轉(zhuǎn)換的數(shù)字量,其值與8位循環(huán)數(shù)器的值相比較,當(dāng)二者相等時(shí),R-S觸發(fā)器使得引腳PWM端變?yōu)榈碗娖捷敵?。由此可?jiàn),引腳PWM端輸出高電平的時(shí)間由8位循環(huán)計(jì)數(shù)器的值決定,引腳PWM端輸出低電平的時(shí)間由PWM--CONTROL決定。通過(guò)二者的結(jié)合便可輸出寬度可變的脈沖波。
3 系統(tǒng)總體設(shè)計(jì)
該87C196KC單片機(jī)構(gòu)成的數(shù)控機(jī)床采用三相步進(jìn)電機(jī)高靈敏度控制系統(tǒng),能夠精確地調(diào)節(jié)步進(jìn)電機(jī)的行走速度,可以在三維空間中改變電機(jī)的行進(jìn)方向,還可以按操作者設(shè)定的行走步數(shù)行進(jìn)。通過(guò)鍵盤(pán)和數(shù)顯模塊的結(jié)合可以實(shí)時(shí)地進(jìn)行速度顯示和行程控制。
3.1 系統(tǒng)硬件設(shè)計(jì)
由87C196KC單片機(jī)構(gòu)成的三相步進(jìn)電機(jī)控制系統(tǒng)原理圖。該控制系統(tǒng)通過(guò)單片機(jī)輸出3路PWM波,然后通過(guò)反相器、光電耦合器和驅(qū)動(dòng)器控制步進(jìn)電機(jī)的啟停和正反轉(zhuǎn),而步進(jìn)電機(jī)的電流、電壓和轉(zhuǎn)速則通過(guò)反饋回路進(jìn)入單片機(jī),并通過(guò)數(shù)顯電路加以顯示。電路中的光電耦合器是出于系統(tǒng)安全性的考慮,起隔離作用,以此把單片機(jī)輸出的弱電信號(hào)和電機(jī)驅(qū)動(dòng)電路的強(qiáng)電區(qū)分開(kāi)來(lái)。驅(qū)動(dòng)器采用具有較高輸出電流的達(dá)林頓驅(qū)動(dòng)步進(jìn)電機(jī)。鍵盤(pán)和數(shù)顯模塊中,采用4×5鍵盤(pán)設(shè)置數(shù)字鍵、方位鍵、數(shù)顯選擇鍵和確定鍵等,采用Intel 8279芯片對(duì)鍵盤(pán)和4位共陰極LED顯示器進(jìn)行管理和控制。
3.2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括主程序設(shè)計(jì)和中斷程序設(shè)計(jì)。通過(guò)外部鍵盤(pán)的輸入控制和經(jīng)由反饋回路的A/D轉(zhuǎn)換均采用中斷方式??紤]到程序模塊的可移植性和程序的執(zhí)行效率,系統(tǒng)程序采用C語(yǔ)言和匯編語(yǔ)言混合編程的模式,主程序才用C96程序,中斷程序采用匯編語(yǔ)言編寫(xiě)。由于篇幅的限制,在此僅給出系統(tǒng)軟件主程序的流程圖。
在系統(tǒng)主程序中,考慮到系統(tǒng)的安全性,前后設(shè)置WDT清零操作。在設(shè)定PWM波輸出的前提下,置PWM波控制寄存器,用以和相應(yīng)的軟件定時(shí)器值相比較,來(lái)決定PWM波的占空比。在進(jìn)行方位控制和速度調(diào)節(jié)時(shí),只需改變定時(shí)器的值,然后調(diào)節(jié)3路PWM波輸出順序和占空比即可。
4 抗干擾措施
在單片機(jī)應(yīng)用系統(tǒng)中,系統(tǒng)的抗干擾性能直接影響系統(tǒng)工作的可靠性。一旦系統(tǒng)受到干擾,程序指針發(fā)生錯(cuò)誤,將會(huì)造成程序執(zhí)行的混亂或進(jìn)入死循環(huán),系統(tǒng)無(wú)法正常運(yùn)行,嚴(yán)重時(shí)可能損壞系統(tǒng)硬件。
本系統(tǒng)在硬件和軟件方面分別采取了抗干擾措施。硬件上,系統(tǒng)進(jìn)行了良好的接地,采用了隔離技術(shù)和硬件濾波技術(shù),在此,用光電隔離器隔離強(qiáng)弱電信號(hào),用濾波器排除反饋回路的干擾信號(hào)。在軟件方面,設(shè)置軟件陷阱,在非程序區(qū)設(shè)置攔截措施,當(dāng)程序指針PC失控進(jìn)入非程序區(qū)時(shí),使程序進(jìn)入陷阱,用LJMP #2080H指令填滿非程序區(qū),以使程序返回初始狀態(tài),同時(shí),運(yùn)用"看門(mén)狗"技術(shù),啟用16位監(jiān)視跟蹤定時(shí)器WDT。WDT是一個(gè)16位計(jì)數(shù)器,其計(jì)數(shù)脈沖由單片機(jī)的系統(tǒng)時(shí)鐘CLOCK(T)提供。每經(jīng)歷一個(gè)T,WDT的內(nèi)容增1。WDT一旦被啟動(dòng),便開(kāi)始計(jì)數(shù),只要不對(duì)其清零,其內(nèi)容將持續(xù)增加,直到經(jīng)過(guò)64K個(gè)T周期產(chǎn)生溢出,系統(tǒng)復(fù)位,WDT停止工作。軟件陷阱和WDT的雙重運(yùn)用將有效保證系統(tǒng)的可靠性。
5 結(jié)束語(yǔ)
該系統(tǒng)具有高精度、實(shí)時(shí)性和可控性等特點(diǎn),再加上硬件方式和軟件方式的多重抗干擾措施,大大地提高了系統(tǒng)的可靠性。
參考文獻(xiàn):
[1]. 87C196KC datasheet http://www.dzsc.com/datasheet/87C196KC_105005.html.
[2]. MCS-51 datasheet http://www.dzsc.com/datasheet/MCS-51_477840.html.
[3]. EPROM datasheet http://www.dzsc.com/datasheet/EPROM_1128137.html.
陀螺儀相關(guān)文章:陀螺儀原理
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 隔離器相關(guān)文章:隔離器原理
評(píng)論