步進(jìn)電機變頻技術(shù)的應用
航海羅經(jīng)模擬器的組成結構原理是:船舶舵輪的轉動(dòng)引起了船舶航向的改變,同時(shí)也就引起了船舶羅經(jīng)讀數的變化。當羅經(jīng)模擬器要求轉動(dòng)的角度偏大時(shí),設計應用變頻轉動(dòng)的方法來(lái)克服轉動(dòng)時(shí)間過(guò)長(cháng)的缺點(diǎn),也就是給出一個(gè)具體需要轉動(dòng)的航向值,該模擬器能夠迅速有效地按照要求轉到該值。
本文引用地址:http://dyxdggzs.com/article/201610/306672.htm步進(jìn)電機的選用與設計
步進(jìn)電機具有轉矩大、慣性小、響應頻率高等優(yōu)點(diǎn),具有瞬間起動(dòng)與急速停止的優(yōu)越特性。與其他驅動(dòng)元件相比,有明顯優(yōu)點(diǎn):通常不需要反饋就能對位移或速度進(jìn)行精確控制;輸出的轉角或位移精度高,誤差不會(huì )積累;控制系統結構簡(jiǎn)單,與數字設備兼容,價(jià)格便宜。它每轉一周有固定步數,能夠精確控制步進(jìn)和接收數字量。為了便于數據的處理和驅動(dòng),設計了由步進(jìn)電機帶動(dòng)減速齒輪,再由齒輪帶動(dòng)羅經(jīng)數據轉盤(pán),為了提高數據精度和提高電機的負載能力,將減速比設計為:1:90(比值越小,精度越高,但是比值太小對控制和響應頻率要求就太高了)。步進(jìn)電機的通電方式可采用三相雙六拍通電方式,即按照a、ab、b、bc、c、ca順序循環(huán)通電,這樣步進(jìn)電機中每個(gè)脈沖能驅動(dòng)1.5度。三相雙六拍通電的控制模型如表1。

步進(jìn)電機的驅動(dòng)采用軟件設置和功率放大電路來(lái)實(shí)現,其中功率放大器也稱(chēng)為驅動(dòng)電路,其作用是將脈沖發(fā)生器的輸出脈沖進(jìn)行功率放大,給步進(jìn)電機相繞組提供足夠的電流,驅動(dòng)步進(jìn)電機正常工作。對功率放大器的要求包括:能提供足夠的幅值;前后沿較陡的勵磁電流;功耗小,效率高;運行穩定可靠,便于維修而且成本低。
軟件設計中脈沖波的要求
這里利用mcs-51系列單片機中的p1口來(lái)進(jìn)行控制,因為p1是8位準雙向i/o口,每一位可以獨立地定義為輸入或輸出,所以,既可以對p1口進(jìn)行字節操作也可以進(jìn)行位的操作。mcs-51系列單片機中有兩個(gè)16位的可編程定時(shí)器/計數器,定時(shí)器/計數器ct0由計數器th0和tl0組成,ct1由th1和tl1組成,th、tl分別為8位計數器,若拼接在一起就可組成16位計數器。
計算tl、th初值
應用cto產(chǎn)生1ms的定時(shí),并使p1產(chǎn)生2ms的方波,設系統晶振頻率為12mhz。設12m晶振的周期:t=12/fosc=12/(12×10-6)=1×10-6(us)設定時(shí)初值為x,則有:(216-x)×1×10-6=10-3解算得x=65036=fe0c(h);所以tl0初值設為0ch;th0初值設為feh,這樣每秒能產(chǎn)生1000個(gè)方波。當改變初值x時(shí),就能改變延時(shí)時(shí)間,x值越小,延時(shí)時(shí)間就越長(cháng),脈沖寬度也越寬。
計算并設置轉動(dòng)數據
因為模擬航海羅經(jīng)的精度為一格(即0.1度),同時(shí)減速裝置是1:90,所以電機每步應轉動(dòng)9度,又因為每個(gè)脈沖使電機轉動(dòng)1.5度,所以每步要求有6個(gè)脈沖,因此步長(cháng)要設置為6。按照上表得知若以a、ab、b、bc、c、ca、a循環(huán),則控制脈沖為:01h,03h,02h,06h,04h,05h;編程時(shí)采用查表法來(lái)實(shí)現,首先將步進(jìn)電機通電方式運行邏輯數據列成表格,存入計算機指定內存,并設置數據指針,指針自動(dòng)向下移動(dòng)或向上移動(dòng)一組數據,使步進(jìn)電機按規定的通電勵磁方式運行。這樣正轉模型按照地址順序的分配分別為:01h、03h、02h、06h、04h、05h、00h;同樣,反轉模型地址中的分配分別為:05h、04h、06h、02h、03h、01h、00h。
在快速轉動(dòng)不同角度時(shí)的變頻設計思路
因為該模擬羅經(jīng)需要在任意時(shí)刻都能夠設置,所以當在設置狀態(tài)和轉動(dòng)數據大,使步進(jìn)電機在短時(shí)間內以比較快的速度運轉而不出現失步,就要求采用小于或等于步進(jìn)電機的響應頻率,在該頻率之下,步進(jìn)電機可以隨意地啟動(dòng)、停止或反轉而不發(fā)生失步現象。而步進(jìn)電機的響應頻率通常比較低,當步進(jìn)電機要求走轉動(dòng)的度數比較多時(shí),就對該電機提出了要求:低速啟動(dòng),高速運轉,然后降低速度,最后停止。這樣才能解決“快速而不失步”的要求。依照該思路,采用改變輸出脈沖寬度的方法,也就是改變控制定時(shí)器的延時(shí),如圖1。

其中f為步進(jìn)電機當前運行的頻率l1為升頻運行階段;l2為高速運行階段;l3為降頻運行階段。利用定時(shí)器的延時(shí),在升頻時(shí),定時(shí)器的初值由小變大,在降頻時(shí)剛好相反,高速運行段初值不變。因為步進(jìn)電機從靜止加速到工作轉速(一般為每分鐘幾百轉)需要200~400ms。所以經(jīng)上式計算得如附表中的相應定時(shí)初值。
按照附表得出高速運行階段:頻率為1000hz,2s能產(chǎn)生2000個(gè)脈沖,能使電機運轉最大度數為:2000×1.5=3000°,所以在高速階段2s內電機能驅動(dòng)羅經(jīng)轉動(dòng)3000/90=34°,該數值已經(jīng)完全滿(mǎn)足模擬器轉動(dòng)要求了。
程序設計
該模擬器的步進(jìn)電機進(jìn)行控制的一個(gè)重要條件是,計算當前需要步進(jìn)電機轉動(dòng)的角度是多少,然后按照需要轉動(dòng)的角度進(jìn)行設置不同的電機所需要的三個(gè)階段的頻率即:升頻運行階段(啟動(dòng))、高速運行階段、降頻運行階段(減速)。程序的設計流程圖如圖2所示:其中針對需要正向或逆向轉動(dòng)不同的角度,就需要選擇合適的脈沖值,也就是tl0和th0的初值就能夠輕松實(shí)現。

結語(yǔ)
利用步進(jìn)電機和單片機來(lái)設計航海羅經(jīng)模擬器的方案是充分利用單片機的特點(diǎn)以及采用變頻的控制原理。此設計采用的硬件比較少,軟件采用模塊化結構,利于修改,并為將來(lái)程序功能的擴展留下了很好的余地。本設計對該模擬羅經(jīng)驅動(dòng)效果為:連續工作20小時(shí),誤差僅在2°以?xún)?,完全符合模擬器的要求。
評論