步進(jìn)電機(jī)變頻技術(shù)的應(yīng)用
航海羅經(jīng)模擬器的組成結(jié)構(gòu)原理是:船舶舵輪的轉(zhuǎn)動(dòng)引起了船舶航向的改變,同時(shí)也就引起了船舶羅經(jīng)讀數(shù)的變化。當(dāng)羅經(jīng)模擬器要求轉(zhuǎn)動(dòng)的角度偏大時(shí),設(shè)計(jì)應(yīng)用變頻轉(zhuǎn)動(dòng)的方法來(lái)克服轉(zhuǎn)動(dòng)時(shí)間過(guò)長(zhǎng)的缺點(diǎn),也就是給出一個(gè)具體需要轉(zhuǎn)動(dòng)的航向值,該模擬器能夠迅速有效地按照要求轉(zhuǎn)到該值。
步進(jìn)電機(jī)的選用與設(shè)計(jì)
步進(jìn)電機(jī)具有轉(zhuǎn)矩大、慣性小、響應(yīng)頻率高等優(yōu)點(diǎn),具有瞬間起動(dòng)與急速停止的優(yōu)越特性。與其他驅(qū)動(dòng)元件相比,有明顯優(yōu)點(diǎn):通常不需要反饋就能對(duì)位移或速度進(jìn)行精確控制;輸出的轉(zhuǎn)角或位移精度高,誤差不會(huì)積累;控制系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,與數(shù)字設(shè)備兼容,價(jià)格便宜。它每轉(zhuǎn)一周有固定步數(shù),能夠精確控制步進(jìn)和接收數(shù)字量。為了便于數(shù)據(jù)的處理和驅(qū)動(dòng),設(shè)計(jì)了由步進(jìn)電機(jī)帶動(dòng)減速齒輪,再由齒輪帶動(dòng)羅經(jīng)數(shù)據(jù)轉(zhuǎn)盤(pán),為了提高數(shù)據(jù)精度和提高電機(jī)的負(fù)載能力,將減速比設(shè)計(jì)為:1:90(比值越小,精度越高,但是比值太小對(duì)控制和響應(yīng)頻率要求就太高了)。步進(jìn)電機(jī)的通電方式可采用三相雙六拍通電方式,即按照a、ab、b、bc、c、ca順序循環(huán)通電,這樣步進(jìn)電機(jī)中每個(gè)脈沖能驅(qū)動(dòng)1.5度。三相雙六拍通電的控制模型如表1。
步進(jìn)電機(jī)的驅(qū)動(dòng)采用軟件設(shè)置和功率放大電路來(lái)實(shí)現(xiàn),其中功率放大器也稱為驅(qū)動(dòng)電路,其作用是將脈沖發(fā)生器的輸出脈沖進(jìn)行功率放大,給步進(jìn)電機(jī)相繞組提供足夠的電流,驅(qū)動(dòng)步進(jìn)電機(jī)正常工作。對(duì)功率放大器的要求包括:能提供足夠的幅值;前后沿較陡的勵(lì)磁電流;功耗小,效率高;運(yùn)行穩(wěn)定可靠,便于維修而且成本低。
軟件設(shè)計(jì)中脈沖波的要求
這里利用mcs-51系列單片機(jī)中的p1口來(lái)進(jìn)行控制,因?yàn)閜1是8位準(zhǔn)雙向i/o口,每一位可以獨(dú)立地定義為輸入或輸出,所以,既可以對(duì)p1口進(jìn)行字節(jié)操作也可以進(jìn)行位的操作。mcs-51系列單片機(jī)中有兩個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器,定時(shí)器/計(jì)數(shù)器ct0由計(jì)數(shù)器th0和tl0組成,ct1由th1和tl1組成,th、tl分別為8位計(jì)數(shù)器,若拼接在一起就可組成16位計(jì)數(shù)器。
計(jì)算tl、th初值
應(yīng)用cto產(chǎn)生1ms的定時(shí),并使p1產(chǎn)生2ms的方波,設(shè)系統(tǒng)晶振頻率為12mhz。設(shè)12m晶振的周期:t=12/fosc=12/(12×10-6)=1×10-6(us)設(shè)定時(shí)初值為x,則有:(216-x)×1×10-6=10-3解算得x=65036=fe0c(h);所以tl0初值設(shè)為0ch;th0初值設(shè)為feh,這樣每秒能產(chǎn)生1000個(gè)方波。當(dāng)改變初值x時(shí),就能改變延時(shí)時(shí)間,x值越小,延時(shí)時(shí)間就越長(zhǎng),脈沖寬度也越寬。
計(jì)算并設(shè)置轉(zhuǎn)動(dòng)數(shù)據(jù)
因?yàn)槟M航海羅經(jīng)的精度為一格(即0.1度),同時(shí)減速裝置是1:90,所以電機(jī)每步應(yīng)轉(zhuǎn)動(dòng)9度,又因?yàn)槊總€(gè)脈沖使電機(jī)轉(zhuǎn)動(dòng)1.5度,所以每步要求有6個(gè)脈沖,因此步長(zhǎng)要設(shè)置為6。按照上表得知若以a、ab、b、bc、c、ca、a循環(huán),則控制脈沖為:01h,03h,02h,06h,04h,05h;編程時(shí)采用查表法來(lái)實(shí)現(xiàn),首先將步進(jìn)電機(jī)通電方式運(yùn)行邏輯數(shù)據(jù)列成表格,存入計(jì)算機(jī)指定內(nèi)存,并設(shè)置數(shù)據(jù)指針,指針自動(dòng)向下移動(dòng)或向上移動(dòng)一組數(shù)據(jù),使步進(jìn)電機(jī)按規(guī)定的通電勵(lì)磁方式運(yùn)行。這樣正轉(zhuǎn)模型按照地址順序的分配分別為:01h、03h、02h、06h、04h、05h、00h;同樣,反轉(zhuǎn)模型地址中的分配分別為:05h、04h、06h、02h、03h、01h、00h。
在快速轉(zhuǎn)動(dòng)不同角度時(shí)的變頻設(shè)計(jì)思路
因?yàn)樵撃M羅經(jīng)需要在任意時(shí)刻都能夠設(shè)置,所以當(dāng)在設(shè)置狀態(tài)和轉(zhuǎn)動(dòng)數(shù)據(jù)大,使步進(jìn)電機(jī)在短時(shí)間內(nèi)以比較快的速度運(yùn)轉(zhuǎn)而不出現(xiàn)失步,就要求采用小于或等于步進(jìn)電機(jī)的響應(yīng)頻率,在該頻率之下,步進(jìn)電機(jī)可以隨意地啟動(dòng)、停止或反轉(zhuǎn)而不發(fā)生失步現(xiàn)象。而步進(jìn)電機(jī)的響應(yīng)頻率通常比較低,當(dāng)步進(jìn)電機(jī)要求走轉(zhuǎn)動(dòng)的度數(shù)比較多時(shí),就對(duì)該電機(jī)提出了要求:低速啟動(dòng),高速運(yùn)轉(zhuǎn),然后降低速度,最后停止。這樣才能解決“快速而不失步”的要求。依照該思路,采用改變輸出脈沖寬度的方法,也就是改變控制定時(shí)器的延時(shí),如圖1。
其中f為步進(jìn)電機(jī)當(dāng)前運(yùn)行的頻率l1為升頻運(yùn)行階段;l2為高速運(yùn)行階段;l3為降頻運(yùn)行階段。利用定時(shí)器的延時(shí),在升頻時(shí),定時(shí)器的初值由小變大,在降頻時(shí)剛好相反,高速運(yùn)行段初值不變。因?yàn)椴竭M(jìn)電機(jī)從靜止加速到工作轉(zhuǎn)速(一般為每分鐘幾百轉(zhuǎn))需要200~400ms。所以經(jīng)上式計(jì)算得如附表中的相應(yīng)定時(shí)初值。
按照附表得出高速運(yùn)行階段:頻率為1000hz,2s能產(chǎn)生2000個(gè)脈沖,能使電機(jī)運(yùn)轉(zhuǎn)最大度數(shù)為:2000×1.5=3000°,所以在高速階段2s內(nèi)電機(jī)能驅(qū)動(dòng)羅經(jīng)轉(zhuǎn)動(dòng)3000/90=34°,該數(shù)值已經(jīng)完全滿足模擬器轉(zhuǎn)動(dòng)要求了。
程序設(shè)計(jì)
該模擬器的步進(jìn)電機(jī)進(jìn)行控制的一個(gè)重要條件是,計(jì)算當(dāng)前需要步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度是多少,然后按照需要轉(zhuǎn)動(dòng)的角度進(jìn)行設(shè)置不同的電機(jī)所需要的三個(gè)階段的頻率即:升頻運(yùn)行階段(啟動(dòng))、高速運(yùn)行階段、降頻運(yùn)行階段(減速)。程序的設(shè)計(jì)流程圖如圖2所示:其中針對(duì)需要正向或逆向轉(zhuǎn)動(dòng)不同的角度,就需要選擇合適的脈沖值,也就是tl0和th0的初值就能夠輕松實(shí)現(xiàn)。
結(jié)語(yǔ)
利用步進(jìn)電機(jī)和單片機(jī)來(lái)設(shè)計(jì)航海羅經(jīng)模擬器的方案是充分利用單片機(jī)的特點(diǎn)以及采用變頻的控制原理。此設(shè)計(jì)采用的硬件比較少,軟件采用模塊化結(jié)構(gòu),利于修改,并為將來(lái)程序功能的擴(kuò)展留下了很好的余地。本設(shè)計(jì)對(duì)該模擬羅經(jīng)驅(qū)動(dòng)效果為:連續(xù)工作20小時(shí),誤差僅在2°以內(nèi),完全符合模擬器的要求。