基于AVR單片機(jī)的通用電機(jī)控制裝置的設(shè)計(jì)
1.6 轉(zhuǎn)速測(cè)量電路
轉(zhuǎn)速測(cè)量可采用一組鼠標(biāo)上用的紅外對(duì)管來(lái)實(shí)現(xiàn),其電路原理如圖8所示。當(dāng)紅外發(fā)射管與紅外接收管之間被直流電機(jī)光柵轉(zhuǎn)盤的不透明部分遮擋時(shí),紅外接收管處于截止?fàn)顟B(tài),此時(shí)圖中的SPEED輸出高電平。反之,當(dāng)光柵轉(zhuǎn)盤的通光槽轉(zhuǎn)至紅外對(duì)管之間時(shí),紅外接收管處于導(dǎo)通狀態(tài),此時(shí)SPEED輸出低電平。這樣,將SPEED連接到單片機(jī)的I/O口,即可通過(guò)定時(shí)計(jì)數(shù)的方法計(jì)算出電機(jī)的轉(zhuǎn)動(dòng)速度。
2 單片機(jī)程序設(shè)計(jì)
2.1 主程序
本驅(qū)動(dòng)器的程序設(shè)計(jì)使用模塊化編程思想,其主程序用于完成對(duì)各子程序的調(diào)用。系統(tǒng)工作后,首先調(diào)用初始化子程序,以完成具有復(fù)用功能的I/0腳的選擇和設(shè)置、各種中斷功能的選擇及其設(shè)置、AT89S51和ATmegal6的初始化、中斷屏蔽寄存器的設(shè)置、中斷寄存器的清零、系統(tǒng)變量的初始化等,最后完成開(kāi)中斷。初始化完成之后,系統(tǒng)將調(diào)用驅(qū)動(dòng)程序,并完成系統(tǒng)的起動(dòng)。系統(tǒng)起動(dòng)之后,即進(jìn)入正常運(yùn)行狀態(tài)。系統(tǒng)的全部運(yùn)行過(guò)程均可由鍵盤進(jìn)行實(shí)時(shí)控制和調(diào)節(jié)。
2.2 初始化程序
系統(tǒng)的初始化程序流程圖如圖9所示。該程序中包括LCD顯示器、鍵盤等人機(jī)接口部分的初始化。主要功能是對(duì)具有復(fù)用功能引腳的選擇和設(shè)置,以及各種中斷功能的選擇及設(shè)置(如外部鍵盤的中斷選擇等),同時(shí)包括AT89S5l的初始化、鍵盤的方式選擇、工作時(shí)間的確定、顯示方式的設(shè)定等。而系統(tǒng)變量的初始化包括溫度的設(shè)定,轉(zhuǎn)速初值的設(shè)定等。
2.3 控制程序
系統(tǒng)起動(dòng)后即進(jìn)入控制程序??刂瞥绦蚴窍到y(tǒng)程序的主要部分,主要用來(lái)保證系統(tǒng)在給定的轉(zhuǎn)速下正常運(yùn)行,該程序主要調(diào)節(jié)單片機(jī)PWM口的占空比,從而調(diào)節(jié)電機(jī)繞組兩端的平均電壓,達(dá)到調(diào)速的目的,其控制程序流程如圖10所示。
3 結(jié)束語(yǔ)
本設(shè)計(jì)實(shí)現(xiàn)了一種以ATmega16單片機(jī)為核心的電機(jī)控制裝置。該裝置具有各類電機(jī)驅(qū)動(dòng)脈沖的輸出、電機(jī)溫度監(jiān)測(cè)與保護(hù)、人機(jī)操作界面和長(zhǎng)距離工業(yè)總線通信等功能。利用AVR單片機(jī)具備的軟硬件特點(diǎn),可實(shí)現(xiàn)對(duì)多種電機(jī)的驅(qū)動(dòng)與控制,以用于電機(jī)驅(qū)動(dòng)研究、網(wǎng)絡(luò)化電機(jī)集中控制等領(lǐng)域。由于該控制器采用主從單片機(jī)設(shè)計(jì),系統(tǒng)的運(yùn)行得以很好地分工,其中從單片機(jī)實(shí)現(xiàn)低速人際交互,主單片機(jī)則實(shí)現(xiàn)高速的電機(jī)驅(qū)動(dòng)與控制,主從單片機(jī)各司其職,故可使系統(tǒng)的運(yùn)行效率達(dá)到最高。本電機(jī)控制裝置的架構(gòu)開(kāi)放,使用靈活,可以很好地應(yīng)用于直流電機(jī)的調(diào)速控制,交流電機(jī)的變頻驅(qū)動(dòng),步進(jìn)電機(jī)的步距細(xì)分等多種電機(jī)驅(qū)動(dòng)和控制領(lǐng)域。
評(píng)論