變頻調(diào)速作為交流電機(jī)調(diào)速的主要手段已經(jīng)在工業(yè)領(lǐng)域中應(yīng)用的十分廣泛,其具有的調(diào)速范圍寬、穩(wěn)速精度高、動(dòng)態(tài)響應(yīng)快、適用范圍廣、運(yùn)行可靠等技術(shù)性能,已逐步取代直流電機(jī)調(diào)速系統(tǒng)。變頻器的控制方式主要有三種:1.通過(guò)變頻器面板操作,即通過(guò)操作面板改變頻率的輸出和其他運(yùn)行參數(shù);2.在變頻器模擬量輸入端輸入0~10V或4~20mA信號(hào),通過(guò)改變輸入模擬量的大小控制變頻器的輸出頻率;3.通過(guò)變頻器的通訊口(多為RS485)進(jìn)行控制。第一種方式一般用于現(xiàn)場(chǎng)手動(dòng)調(diào)節(jié)和參數(shù)設(shè)定,后二種方式多用于自動(dòng)調(diào)節(jié)和遠(yuǎn)程控制。工控領(lǐng)域中常用的PLC、DCS等控制系統(tǒng)都具有適用于變頻器接口條件的控制模塊,可以方便的實(shí)現(xiàn)變頻器的閉環(huán)自動(dòng)控制,在大中型的控制系統(tǒng)中使用較為普遍。而對(duì)于一些小型實(shí)驗(yàn)裝置和嵌入式控制裝置,處理器在控制變頻器之外,一般還需要處理鍵盤(pán)輸入、顯示屏、數(shù)據(jù)采集和其它過(guò)程控制等工作,這種控制要求更適合采用單片機(jī)系統(tǒng)作為控制核心,而以PLC加操作面板的形式,雖能實(shí)現(xiàn)功能但成本過(guò)高,不宜采用。
使用單片機(jī)控制變頻器可以選擇后二種方式,采用通訊口方式控制,其優(yōu)點(diǎn)是控制功能全面,通過(guò)相應(yīng)的電平轉(zhuǎn)換電路適合變頻器的通訊口形式(RS484/RS232/CAN等),就可與變頻器進(jìn)行通訊,硬件簡(jiǎn)單,二者間的連線數(shù)量少連接方便。缺點(diǎn)是需要了解掌握變頻器的通訊協(xié)議才能進(jìn)行控制編程,軟件設(shè)計(jì)復(fù)雜。由于不同品牌的變頻器通訊接口和通訊協(xié)議各不相同,目前尚沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),只能針對(duì)一種變頻器進(jìn)行開(kāi)發(fā),縮小了變頻器品種的選擇范圍,適用性受到限制。而對(duì)于模擬量輸入控制方式,則幾乎在所有的變頻器中都能支持,雖然在功能上比較單一,但可實(shí)現(xiàn)調(diào)速的主要功能,能滿足多數(shù)場(chǎng)合的使用要求,具有普遍性。
最常用的模擬量輸入調(diào)速方法是通過(guò)電位器來(lái)調(diào)節(jié)頻率,即改變模擬量輸入的電壓值,達(dá)到調(diào)節(jié)轉(zhuǎn)速的目的。采用機(jī)械式電位器雖簡(jiǎn)單易行,但易磨損,長(zhǎng)期使用不夠穩(wěn)定,同時(shí)還有一個(gè)最大的缺陷是只適合手動(dòng)調(diào)節(jié),不能實(shí)現(xiàn)自動(dòng)調(diào)節(jié)。筆者采用數(shù)字電位器替代機(jī)械式電位器,在單片機(jī)的控制下,不但能進(jìn)行簡(jiǎn)單的手動(dòng)變頻調(diào)速,還能根據(jù)控制要求實(shí)現(xiàn)PID閉環(huán)自動(dòng)控制,不失為一種功能全面的單片機(jī)控制變頻器的好方法。
數(shù)字電位器
筆者采用美國(guó)Xicor公司的X9221雙E2POT非易失性數(shù)控電位器,電阻陣列端電壓±5V,分為64個(gè)抽頭。X9211包含二個(gè)電阻陣列,每個(gè)陣列包含有63個(gè)電阻單元。在每個(gè)單元之間和二個(gè)端點(diǎn)都有可以被訪問(wèn)的抽頭點(diǎn);瑒(dòng)單元在陣列中的位置由用戶通過(guò)二線制串行總線接口控制。每個(gè)電阻陣列與一個(gè)滑動(dòng)端計(jì)數(shù)寄存器和四個(gè)8位數(shù)據(jù)寄存器聯(lián)系在一起,這四個(gè)數(shù)據(jù)寄存器可以由用戶直接寫(xiě)入和讀出,滑動(dòng)端計(jì)數(shù)寄存器的內(nèi)容控制滑動(dòng)端在電阻陣列中的位置。功能框圖如圖1 所示。

圖1 功能框圖
單片機(jī)與數(shù)字電位器接口
X9221支持I2C二線制串行總線規(guī)約,與單片機(jī)的接口只需要2根I/O線。單片機(jī)作為主機(jī)可按照規(guī)約規(guī)定的時(shí)序啟動(dòng)數(shù)據(jù)的傳輸,并為發(fā)送和接收操作提供時(shí)鐘,X9221作為從機(jī)響應(yīng)主機(jī)的操作,從總線上接收數(shù)據(jù)或?qū)?shù)據(jù)送至總線上,從而實(shí)現(xiàn)單片機(jī)對(duì)X9221的讀寫(xiě)操作,硬件接口電路如圖2所示。

軟件設(shè)計(jì)
X9221包括二個(gè)滑動(dòng)端計(jì)數(shù)寄存器(WCR),每個(gè)E2POT電位器各對(duì)應(yīng)一個(gè)。WCR可以被認(rèn)為是一個(gè)6位并行和串行裝載的帶有輸出譯碼的計(jì)數(shù)器,用來(lái)選擇沿著電阻陣列的六十四選一的開(kāi)關(guān)。WCR的內(nèi)容可以有4種方法來(lái)改變:1.可以由主機(jī)通過(guò)Write WCR指令來(lái)直接寫(xiě)入(串行加載);2.可以通過(guò)XFR Data Register指令把四個(gè)輔助數(shù)據(jù)寄存器之一的內(nèi)容直接寫(xiě)入(并行裝載);3.可以通過(guò)Increment/Decrement指令一步一步地修改;4.可以在上電時(shí)裝入它的數(shù)據(jù)寄存器0(R0)的內(nèi)容。
送給X9221所有的命令都由開(kāi)始條件為引導(dǎo),這個(gè)條件就是當(dāng)SCL為高時(shí),SDA由高至低的跳變。X9221連續(xù)監(jiān)視SCL和SDA線上的開(kāi)始條件,在遇到這個(gè)條件前將不響應(yīng)任何命令。接著單片機(jī)必須輸出要訪問(wèn)的X9221的8位地址。其中高4位為器件類(lèi)型辨識(shí)符,固定為0101,低4位是該器件地址,由X9221的A0-A3輸入端的狀態(tài)來(lái)定義。在本設(shè)計(jì)中A0-A3全部接地,故地址為50H。 X9221在比較地址成功后會(huì)作出一個(gè)應(yīng)答響應(yīng),以表示數(shù)據(jù)接收成功。接著單片機(jī)可以送出一個(gè)字節(jié)包括指令和寄存器指針的信息,格式如下:
其中





