【正文】
工業(yè)控制計(jì)算機(jī)可謂功能最強(qiáng)大,它有極高的速度、強(qiáng)大的運(yùn)算能力和接口功能、方便的軟件環(huán)境;但由于成本高 、 體積大、所以只用于大型控制系統(tǒng)。由于功能太弱,所以只能用于簡單的電動機(jī)控制。人們在選擇電動機(jī)的控制器時,常常是在先滿足功能的需要的同時,優(yōu)先選擇成本低的控制器。 (三)直流電動機(jī)電樞的 PWM 的調(diào)壓調(diào)速原理 眾所周知,直流電動機(jī)轉(zhuǎn)速 n 的表達(dá)式為 n= ??KIRU ( 13) 式中 U— 電樞端電壓; I— 電樞電流; R— 電樞電路總電阻; Ф — 每極磁通量; K— 電動機(jī)結(jié)構(gòu)參數(shù) 由此式可得,直流電動機(jī)的轉(zhuǎn)速控制方法可分為兩種,對勵磁磁通進(jìn)行控制的勵磁控制 天津職業(yè)技術(shù)師范學(xué)院畢業(yè)設(shè)計(jì)論文 4 法和對電樞電壓進(jìn)行控制的電樞控制法。現(xiàn)在大多數(shù)應(yīng)場合都使用電樞控制法。這種方式的優(yōu)點(diǎn)是:控制原理簡單、輸出波動小、線性好、對臨近電路的干擾小;但功率器件在線性區(qū)工作時會將大部分電功率用于產(chǎn)生熱量。 絕大多數(shù)電動機(jī)采用開關(guān)驅(qū)動方式。 在 PWM調(diào)速時,占空比α是一個重要參數(shù)。 ( 1)定寬調(diào)制法 這種方法是保持 t1 不變,只改變 t2,這樣使周期 T 也隨之改變。 ( 3)定頻調(diào)寬法 這種方法是使周期 T 保持不變,而同時改變 t1 和 t2。目前在直流電動機(jī)的控制中,主要使用定頻調(diào)寬法。 ( 1)分立電子元件組成的 PWM 信號發(fā)生器 這種方法是用分立的邏輯 電子元件組成 PWM信號電路。 ( 2)軟件模擬法 利用單片機(jī)的一個 I/O 引腳,通過軟件對該引腳不斷地輸出高低電平來實(shí)現(xiàn) PWM 波輸出。 ( 3)專用 PWM 集成電路 從 PWM 控制技術(shù)出現(xiàn)之日起,就有芯片制造商生產(chǎn)專用的 PWM集成電路芯片,現(xiàn)在市場上已有很多種。 單片機(jī)的 PWM 口 新一代的單片機(jī)增加了許多功能,其中包括 PWM 功能。 (四)轉(zhuǎn)速檢測的選擇 用測速發(fā)電機(jī)測速 用直流測速發(fā)電機(jī)測速是比較簡單的??紤]到轉(zhuǎn)速有正有負(fù),測速發(fā)電機(jī)的輸出電壓也有正有負(fù),設(shè)計(jì)模 天津職業(yè)技術(shù)師范學(xué)院畢業(yè)設(shè)計(jì)論文 5 數(shù)轉(zhuǎn)換電路時,應(yīng)當(dāng)考慮負(fù)電壓的轉(zhuǎn)換問題。具體的方法有 M 法、 T 法和 M/T 法三種。 轉(zhuǎn)速為: n=PTm160 ( 141) 式中 P— 光電碼盤轉(zhuǎn)一周發(fā)出的脈沖數(shù)。例如要求誤差小于百分之一,則 m1 應(yīng)大于 100。由此可見,減小量化誤差的方法最好是增加光電碼盤每周輸出脈沖數(shù) P。 ( 2) T 法測速 T 法測速是在碼盤輸出的一個脈沖周期內(nèi)對高頻時鐘脈沖的個數(shù) m2 進(jìn)行計(jì)數(shù)。 為了減小量化誤差, m2不能太小,所以 T 法在測低轉(zhuǎn)速時精度較高。為了提高測速的快速性,應(yīng)當(dāng)選用 P 值較大的光電碼盤。于是可求出轉(zhuǎn)速 n= 20200Pmfm ( 143) T1的開始和結(jié)束都應(yīng)當(dāng)正好是光電碼盤脈沖的上 跳沿,這樣就可保證檢測的精度。 此系統(tǒng)的方框圖如圖所示。89C52還有功耗低的優(yōu)點(diǎn),采用單 CPU系統(tǒng)是為了不間斷地輸出 PWM控制信號。在圖 321( a)中,當(dāng)開關(guān)管 MOSFET的柵極輸入高電平時,開關(guān)管導(dǎo)通,直流電動機(jī) 電樞繞組兩端有電壓 Us。 t2秒后,柵極輸入重新變?yōu)?高電平,開關(guān)管的動作重復(fù)前面的過程。 直流電動機(jī)電樞繞組兩端的電壓波形如圖 321( b)所示。 α 的變化范圍為 0≦ α≦ 1。 在速度閉環(huán)控制系統(tǒng)中,測速裝置屬于反饋環(huán)節(jié),轉(zhuǎn)速檢測的精度和快速性直接影響系統(tǒng)的靜動態(tài)性能。 m1反映轉(zhuǎn)角, m2反映測速時間,通過計(jì)算可得轉(zhuǎn)速值 n。測速時間 Td由脈沖發(fā)生器脈沖來同步,即 Td等于 m1個脈沖周期。設(shè)高頻脈沖頻率為 fφ ,脈沖發(fā)生器每轉(zhuǎn)發(fā)出P 個脈沖,則電動機(jī)轉(zhuǎn)速為: n= 2121f60 mmkmmP ???? ? (rpm) (322) 我們將 PWM通過 298( H橋)控制電機(jī)的轉(zhuǎn)速。為此我們才用了 2KHz 的 PWM 波,其周期為T=500us,并將其均分成十份(通過高低電平之間的延時得到同一頻率不同占空比的 PWM波)。 增量式光電編碼盤的結(jié)構(gòu)與工作原理 增量式光電編 碼盤是在一個碼盤上只開出 3 條碼道,由內(nèi)向外分別為 A、 B、 C如圖 41( a)所示。第 3 條碼道 C 只開出一個縫隙,用來表示碼盤的零位。碼道上有多少縫隙,就會有多少個脈沖輸出,將這些脈沖整形后,輸出的脈沖信號如圖 41( c)所示。它每圈能輸出 600 個 A 相或 B 相脈沖和一個零位脈沖, A、 B 相脈沖信號的相位相差 90176。 編碼盤方向的判別 編碼盤方向的判別可以采用, 42 所示電路實(shí)現(xiàn)。由于 A、 B 脈沖相位相差 90176。 ,觸發(fā)器總是在 B脈沖處于高電平時觸發(fā),如圖 42( b)所示,這時 Q=1,表示正轉(zhuǎn);當(dāng)反轉(zhuǎn)時, A脈沖超前 B 脈沖 90176。 A、 B 脈沖的另一路經(jīng)與門后,輸出計(jì)數(shù)脈沖。 C 項(xiàng)脈沖接到計(jì)數(shù)器的復(fù)位端,實(shí)現(xiàn)每轉(zhuǎn)動一圈復(fù)位計(jì)數(shù)一次計(jì)數(shù)器。 (五)光電碼盤與單片機(jī)的接口 單片機(jī)與增量式光電編碼盤的硬件接口非常簡單,只要把編碼盤經(jīng)過整形的輸出信號直 天津職業(yè)技術(shù)師范學(xué)院畢業(yè)設(shè)計(jì)論文 11 接接到單片機(jī)的 I/O 口即可。 (一)應(yīng)用軟件設(shè)計(jì)的基本要求 ( 1) 實(shí)時性 ( 2) 可靠性 ( 3) 易修改性 (二)系統(tǒng)軟件設(shè)計(jì) 此系統(tǒng)采用 C語言編程,其單片機(jī)的 P0^0口為電動機(jī)的驅(qū)動, P0^2口為電動機(jī)正轉(zhuǎn),P0^3為電動機(jī)反轉(zhuǎn), 外部中斷 0是編碼器的輸入。 仿真器與硬件電路相連,在仿真軟件里調(diào)入原程序,進(jìn)行編譯后對程序進(jìn)行單步調(diào)試,檢查程序是否與設(shè)計(jì)思路一致,調(diào)試完畢將原程序的二進(jìn)制或十六進(jìn)制文件燒入單片機(jī)中,與硬件電路相連接,檢查系統(tǒng)工作 是否正常。 六、誤差分析及處理 測量誤差 當(dāng)編碼盤測得的速度反饋到輸入端時,由于測得的是速度平均值 △ n,此值越小系統(tǒng)越精確。這樣造成測量誤差。 天津職業(yè)技術(shù)師范學(xué)院畢業(yè)設(shè)計(jì)論文 13 附圖(原理圖 ) S E N S E A1O U T 12O U T 23+ V S4I N 15E N A6I N 27GND8+ V S S9I N 310E N B11I N 412O U T 313O U T 414S E N S E B15U 4 AL 2 9 8q z 1q f 1q z 2q f 2V C C12VO U T 1O U T 2O U T 3O U T 412J 1 2M 212J 1 1M 1O U T 1O U T 3O U T 4R32KD74148D54148D34148D14148D24148D44148D64148D84148123J 1 3T X 4V C CDD1LED12VE A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 1 01P 1 12P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728P S E N29A L E / P30T X D11R X D10VCC40GND20U1A T 8 9 C 5 2V C CR11KR2200Y112MC530pC630pS1SBV C CP 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6R S TV C CO U T 2P 1 7P 2 0 P 2 1 P 2 2 P 2 3 P 2 4 P 2 5 P 2 6 P 2 7P 2 0P 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 7V i n1GND2V o u t3U3780512J9C O N 2C1220uC3110uC2C4V C CP 0 2P 0 2P 0 3P 0 4P 0 5P 0 6P 0 71 2GND7VCC14U 2 A7 4 L S 0 43 4U 2 B7 4 L S 0 4q z 1q f 1q z 2q f 21 2 3 4 5 6 7 8 9J1C O N 91 2 3 4 5 6 7 8 9J2C O N 9V C C V C CP 0 2 P 0 3 P 0 4 P 0 5 P 0 6 P 0 7V C CP 3 0 P 3 1 P 3 2 P 3 3 P 3 4 P 3 5 P 3 6 P 3 71 2 3 4 5 6 7 8 9J3C O N 91 2 3 4 5 6 7 8 9J4C O N 9V C C V C CP 1 0 P 1 1 P 1 2 P 1 3 P 1 4 P 1 5 P 1 6 P 1 712345678J6C O N 8P 2 0P 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 712345678J8C O N 812345678J7C O N 8P 0 3P 0 4P 0 5P 0 6P 0 7P 3 0P 3 1P 3 2P 3 3P 3 4P 3 5P 3 6P 3 7P 3 0P 3 1P 3 2P 3 3P 3 4P 3 5P 3 6P 3 7123J5C O N 3R41KDD2LEDD94001D 1 14001D 1 04001D 1 24001V C CC722U12V 天津職業(yè)技術(shù)師范學(xué)院畢業(yè)設(shè)計(jì)論文 14 程序 include void delay ( unsigned char x)。 //電機(jī)正轉(zhuǎn)函數(shù) void fz(void)。 //電動機(jī)驅(qū)動 sbit zz=P0^2。 //電機(jī)反轉(zhuǎn)按鍵 unsigned char rr2=0x0a,rr3=0x06,rr4=0x00,rr5=0,rr6=0。 count1=0x00。 main() { unsigned char start1=0x00,start2=0x00。 TMOD=0x01。 TL0=0x00。 ET0=1。 while (1) { if (P0_2==0 amp。 rr5++。 TR0=1。 } if (P0_3==0 amp。 rr6++。 TR0=1。 } if (P0_2==0) { if (count1count2) {rr2++。 EX0=1。} if (count1count2) {rr3++。 EX0=1。} } } if (P0_3==0) { if (count1count2) {rr2++。 EX0=1。} if (count1count2) {rr3++。 EX0=1。} } } void zz (void) {unsigned char rr1。rr1rr2。} for (rr1=0。rr1++) {zl=0