基于ATmegal6單片機(jī)的通用電機(jī)控制裝置的設(shè)計(jì)
摘要:以ATmegal6單片機(jī)為控制核心,給出了利用主從兩片單片機(jī)來實(shí)現(xiàn)高效電機(jī)控制和人機(jī)接口,并通過單片機(jī)編程實(shí)現(xiàn)對多種交直流電機(jī)和步進(jìn)電機(jī)的驅(qū)動控制,同時(shí)用RS232/485工業(yè)總線來將多個控制器連接成網(wǎng)絡(luò),從而實(shí)現(xiàn)電機(jī)的網(wǎng)絡(luò)化遠(yuǎn)程控制的設(shè)計(jì)方法。
0 引言
電機(jī)的驅(qū)動與控制是現(xiàn)代電子技術(shù)中一個重要的研究課題,不同種類的電動機(jī)需要有不同的控制和驅(qū)動方法。使用高性能單片機(jī)作為電機(jī)控制驅(qū)動裝置的核心,可以有效降低電機(jī)驅(qū)動器的成本,擴(kuò)展應(yīng)用范圍,提高使用靈活性。
ATmegal6單片機(jī)是ATMEL公司的一款高性能8位AVR單片機(jī),它內(nèi)部帶有功能強(qiáng)大的可編程定時(shí)和計(jì)數(shù)單元,通過編程可以很容易地產(chǎn)生各類交、直流電機(jī)以及步進(jìn)電機(jī)的驅(qū)動波形,因此,利用這類功能強(qiáng)大的單片機(jī)作為電機(jī)控制器的核心,可以使控制器應(yīng)用更加靈活、應(yīng)用范圍更廣、維護(hù)成本更低。本文設(shè)計(jì)出的電機(jī)通用控制裝置功能齊全,其液晶顯示裝置和按鍵可以控制并顯示電機(jī)的運(yùn)行狀態(tài),而數(shù)字化的溫度傳感器則能有效準(zhǔn)確地監(jiān)控電機(jī)的運(yùn)行溫度,RS485/232總線通信接口可以將多個控制器進(jìn)行聯(lián)網(wǎng)。從而實(shí)現(xiàn)電機(jī)的智能化遠(yuǎn)程控制。
1 電機(jī)控制及驅(qū)動電路設(shè)計(jì)
圖l所示是一種通用電機(jī)控制裝置系統(tǒng)的總體結(jié)構(gòu)圖。其整個單片機(jī)系統(tǒng)以ATmegal6單片機(jī)為控制核心,其中從單片機(jī)和主單片機(jī)利用I2C總線進(jìn)行通信。從單片機(jī)連接按鍵和液晶屏,可以實(shí)現(xiàn)人機(jī)接口的功能,這樣即可以為主單片機(jī)節(jié)約寶貴的I/O資源,又可以提高系統(tǒng)的運(yùn)行效率。另外,DSl8820采用單總線結(jié)構(gòu)采集溫度,可以實(shí)現(xiàn)對電機(jī)溫度的監(jiān)控。
1.1 ATmegal6主控電路
ATmegal6單片機(jī)具有3個PWM功能的定時(shí)器/計(jì)數(shù)器T/C0、T/Cl和T/C2,其中T/C0和T/C2是兩個8位的定時(shí)器/計(jì)數(shù)器,而T/Cl是16位具有輸入捕獲功能的定時(shí)器/計(jì)數(shù)器。
本系統(tǒng)的主控單片機(jī)電路如圖2所示。它以megal6單片機(jī)為核心,配有外圍復(fù)位電路和振蕩器電路,單片機(jī)所有I/0都可獨(dú)立引出,以便與外部電路的連接和擴(kuò)展。
1.2 電機(jī)溫度監(jiān)測電路
電機(jī)的表面溫度是衡量電機(jī)是否在安全狀態(tài)下工作的一個重要指標(biāo)。本系統(tǒng)的電機(jī)溫度監(jiān)測電路利用美國DALLAS半導(dǎo)體公司推出的單總線數(shù)字化測溫集成電路DSl8820來實(shí)現(xiàn)。該數(shù)字化傳感器具有很寬的測溫范圍(-55℃~+125℃),工作時(shí)只需要三根引線,而且多只DSl8820可以并行連接,以實(shí)現(xiàn)對多個電動機(jī)的溫度監(jiān)控。
系統(tǒng)工作時(shí),DSl8820可把測得的溫度數(shù)據(jù)傳給單片機(jī)。如果超過用戶設(shè)定,系統(tǒng)還可執(zhí)行電機(jī)保護(hù)和報(bào)警等程序。電機(jī)溫度監(jiān)測系統(tǒng)的結(jié)構(gòu)如圖3所示,圖4所示是其溫度監(jiān)控電路。
1.3 鍵盤及LCD接口電路
本系統(tǒng)的按鍵和LCD接口控制電路以單片機(jī)AT89S51為核心,該電路使用I2C總線與主單片機(jī)進(jìn)行通信。利用這種主從單片機(jī)分離的設(shè)計(jì)可將一些大量占用IO端口資源的低速設(shè)備進(jìn)行集中管理,從而為主單片機(jī)節(jié)約硬件資源和程序開銷,提高系統(tǒng)的使用靈活性和運(yùn)行效率。其LCD顯示和鍵盤處理電路如圖5所示。
1.4 RS-232/485通信電路
為了適應(yīng)電機(jī)控制的網(wǎng)絡(luò)化、智能化需求,本電機(jī)控制器帶有RS232/RS485數(shù)據(jù)接口。用戶利用這兩種總線接口可以方便地將多個電機(jī)控制器連接成網(wǎng),以方便電機(jī)系統(tǒng)的集中化管理。RS485接口電路使用收發(fā)控制的“透明化”管理,MAX485芯片的收發(fā)切換由NE555組成的單穩(wěn)態(tài)電路自動完成,當(dāng)單片機(jī)需要向RS485總線傳輸數(shù)據(jù)時(shí),NE555可自動將MAX485切換至發(fā)送狀態(tài),數(shù)據(jù)傳送完畢后,MAX485又將恢復(fù)至接收狀態(tài)。RS-232/485總線驅(qū)動電路如圖6所示。
1.5 電機(jī)驅(qū)動電路
本控制器的驅(qū)動部分使用凌陽SPGT62C19B電機(jī)驅(qū)動芯片來實(shí)現(xiàn)對直流電機(jī)和步進(jìn)電機(jī)的驅(qū)動。SPGT62C19B是低電壓單片式步進(jìn)電機(jī)驅(qū)動
器集成電路芯片,其輸出電壓可達(dá)40 V,輸出電流可達(dá)750mA。設(shè)計(jì)時(shí),可由輸入的邏輯電平來決定輸出脈沖的寬度及頻率。由該芯片組成的電機(jī)驅(qū)動系統(tǒng)將脈沖發(fā)生器、脈沖分配器、脈沖放大器合為一體,故可省去很多外圍器件。與其它部件一樣,主控電路也被設(shè)計(jì)成為一個獨(dú)立的模塊.以方便更換,而且該模塊還可用于別的場合。其電機(jī)驅(qū)動電路圖如圖7所示。
1.6 轉(zhuǎn)速測量電路
轉(zhuǎn)速測量可采用一組鼠標(biāo)上用的紅外對管來實(shí)現(xiàn),其電路原理如圖8所示。當(dāng)紅外發(fā)射管與紅外接收管之間被直流電機(jī)光柵轉(zhuǎn)盤的不透明部分遮擋時(shí),紅外接收管處于截止?fàn)顟B(tài),此時(shí)圖中的SPEED輸出高電平。反之,當(dāng)光柵轉(zhuǎn)盤的通光槽轉(zhuǎn)至紅外對管之間時(shí),紅外接收管處于導(dǎo)通狀態(tài),此時(shí)SPEED輸出低電平。這樣,將SPEED連接到單片機(jī)的I/O口,即可通過定時(shí)計(jì)數(shù)的方法計(jì)算出電機(jī)的轉(zhuǎn)動速度。
2 單片機(jī)程序設(shè)計(jì)
2.1 主程序
本驅(qū)動器的程序設(shè)計(jì)使用模塊化編程思想,其主程序用于完成對各子程序的調(diào)用。系統(tǒng)工作后,首先調(diào)用初始化子程序,以完成具有復(fù)用功能的I/0腳的選擇和設(shè)置、各種中斷功能的選擇及其設(shè)置、AT89S51和ATmegal6的初始化、中斷屏蔽寄存器的設(shè)置、中斷寄存器的清零、系統(tǒng)變量的初始化等,最后完成開中斷。初始化完成之后,系統(tǒng)將調(diào)用驅(qū)動程序,并完成系統(tǒng)的起動。系統(tǒng)起動之后,即進(jìn)入正常運(yùn)行狀態(tài)。系統(tǒng)的全部運(yùn)行過程均可由鍵盤進(jìn)行實(shí)時(shí)控制和調(diào)節(jié)。
2.2 初始化程序
系統(tǒng)的初始化程序流程圖如圖9所示。該程序中包括LCD顯示器、鍵盤等人機(jī)接口部分的初始化。主要功能是對具有復(fù)用功能引腳的選擇和設(shè)置,以及各種中斷功能的選擇及設(shè)置(如外部鍵盤的中斷選擇等),同時(shí)包括AT89S5l的初始化、鍵盤的方式選擇、工作時(shí)間的確定、顯示方式的設(shè)定等。而系統(tǒng)變量的初始化包括溫度的設(shè)定,轉(zhuǎn)速初值的設(shè)定等。
2.3 控制程序
系統(tǒng)起動后即進(jìn)入控制程序??刂瞥绦蚴窍到y(tǒng)程序的主要部分,主要用來保證系統(tǒng)在給定的轉(zhuǎn)速下正常運(yùn)行,該程序主要調(diào)節(jié)單片機(jī)PWM口的占空比,從而調(diào)節(jié)電機(jī)繞組兩端的平均電壓,達(dá)到調(diào)速的目的,其控制程序流程如圖10所示。
3 結(jié)束語
本設(shè)計(jì)實(shí)現(xiàn)了一種以ATmega16單片機(jī)為核心的電機(jī)控制裝置。該裝置具有各類電機(jī)驅(qū)動脈沖的輸出、電機(jī)溫度監(jiān)測與保護(hù)、人機(jī)操作界面和長距離工業(yè)總線通信等功能。利用AVR單片機(jī)具備的軟硬件特點(diǎn),可實(shí)現(xiàn)對多種電機(jī)的驅(qū)動與控制,以用于電機(jī)驅(qū)動研究、網(wǎng)絡(luò)化電機(jī)集中控制等領(lǐng)域。由于該控制器采用主從單片機(jī)設(shè)計(jì),系統(tǒng)的運(yùn)行得以很好地分工,其中從單片機(jī)實(shí)現(xiàn)低速人際交互,主單片機(jī)則實(shí)現(xiàn)高速的電機(jī)驅(qū)動與控制,主從單片機(jī)各司其職,故可使系統(tǒng)的運(yùn)行效率達(dá)到最高。本電機(jī)控制裝置的架構(gòu)開放,使用靈活,可以很好地應(yīng)用于直流電機(jī)的調(diào)速控制,交流電機(jī)的變頻驅(qū)動,步進(jìn)電機(jī)的步距細(xì)分等多種電機(jī)驅(qū)動和控制領(lǐng)域。