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