多功能工業(yè)控制平臺(tái)
多功能工業(yè)控制平臺(tái),多功能,工業(yè),控制,節(jié)制,平臺(tái)
1 引言
自20世紀(jì)80年代初期誕生至今,工業(yè)控制軟件已有20年的發(fā)展歷史。工業(yè)控制與上位機(jī)軟件相結(jié)合,是隨著PC機(jī)的興起而不斷發(fā)展的。工業(yè)控制與上位機(jī)軟件控制、多元化、低功耗、智能化、網(wǎng)絡(luò)化、集成化是現(xiàn)代工業(yè)的發(fā)展趨勢(shì)。
目前,我國(guó)已開發(fā)出一批具有自主知識(shí)產(chǎn)權(quán)的實(shí)時(shí)監(jiān)控軟件平臺(tái)、先進(jìn)控制軟件、過程優(yōu)化控制軟件等成套應(yīng)用軟件,工程化、產(chǎn)品化有了一定突破,打破了國(guó)外同類應(yīng)用軟件的壟斷格局。通過在化工、石化、造紙等行業(yè)的數(shù)百個(gè)企業(yè)(裝置)中應(yīng)用,促進(jìn)了企業(yè)的技術(shù)改造,提高了生產(chǎn)過程控制水平和產(chǎn)品質(zhì)量,為企業(yè)創(chuàng)造了明顯的經(jīng)濟(jì)效益。2000年“九五”國(guó)家科技攻關(guān)計(jì)劃項(xiàng)目“大型骨干石化生產(chǎn)系統(tǒng)控制及計(jì)算機(jī)應(yīng)用技術(shù)”通過了驗(yàn)收。
作為工控軟件的一個(gè)重要組成部分,國(guó)內(nèi)人機(jī)界面組態(tài)軟件研制方面近幾年取得了較大進(jìn)展,軟件和硬件相結(jié)合,為企業(yè)測(cè)、控、管一體化提供了比較完整的解決方案。在此基礎(chǔ)上,工業(yè)控制軟件將從人機(jī)界面和基本策略組態(tài)向先進(jìn)控制方向發(fā)展。
由于先進(jìn)控制和優(yōu)化軟件可以創(chuàng)造巨大的經(jīng)濟(jì)效益,因此這些軟件也身價(jià)倍增。在世界范圍內(nèi)形成了一個(gè)強(qiáng)大的流程工業(yè)應(yīng)用軟件產(chǎn)業(yè)。因此,開發(fā)我國(guó)具有自主知識(shí)產(chǎn)權(quán)的先進(jìn)控制和優(yōu)化軟件,打破外國(guó)產(chǎn)品的壟斷,替代進(jìn)口,具有十分重要的意義。
在未來,工業(yè)控制軟件將繼續(xù)向標(biāo)準(zhǔn)化、網(wǎng)絡(luò)化、智能化和開放性發(fā)展方向。
52
2 系統(tǒng)設(shè)計(jì)
2.1 設(shè)計(jì)要求
1.步進(jìn)電機(jī)的正反轉(zhuǎn),加減速控制
2.直流電機(jī)的正反轉(zhuǎn),加減速控制
3.繼電器的閉合與斷開控制
4.傳感器的輸入檢測(cè)
5.上位機(jī)進(jìn)行數(shù)據(jù)采集與顯示
6.電腦控制電路
7.常用的工業(yè)控制演示
2.2 開發(fā)設(shè)計(jì)思路
根據(jù)工業(yè)控制的現(xiàn)狀和電控技術(shù),智能控制技術(shù),基于單片機(jī)控制的試驗(yàn)技術(shù),設(shè)計(jì)完成簡(jiǎn)單的工業(yè)控制電路。系統(tǒng)硬件平臺(tái)搭建本著為性能可靠,工作穩(wěn)定,功能強(qiáng)大的總體設(shè)計(jì)原則,采用高性能低功耗的MPS430單片機(jī)為核心。由傳感器、驅(qū)動(dòng)器、繼電器等常用工業(yè)控制設(shè)備作為主體。然后,應(yīng)用VB程序設(shè)計(jì)完成數(shù)據(jù)采集分析,同時(shí)使用VB程序自帶串口設(shè)計(jì)控件,完成向單片機(jī)串口發(fā)送指令的設(shè)計(jì)。并應(yīng)用C語(yǔ)言程序設(shè)計(jì)寫出單片機(jī)控制程序,實(shí)現(xiàn)單片機(jī)對(duì)步進(jìn)電機(jī)、直流電機(jī)的加減速、狀態(tài)顯示、電路繼電器開路與斷路的控制。最后,模擬工業(yè)控制的方式進(jìn)行調(diào)試和演示。
2.3 系統(tǒng)方框圖
圖2-1系統(tǒng)方框圖
3 MSP430F149單片機(jī)
3.1 MSP430F149核心芯片簡(jiǎn)介
圖3-1 MSP430F149核心芯片
MSP430系列單片機(jī)是美國(guó)德州儀器(TI)1996年開始推向市場(chǎng)的一種16位超低功耗的混合信號(hào)處理器(Mixed Signal Processor)。稱之為混合信號(hào)處理器,主要是由于其針對(duì)實(shí)際應(yīng)用需求,把許多模擬電路、數(shù)字電路和微處理器集成在一個(gè)芯片上,以提供“單片”解決方案。
3.2 MSP430 單片機(jī)的發(fā)展
MSP430 系列是一個(gè) 16 位的、具有精簡(jiǎn)指令集的、超低功耗的混合型單片機(jī),在 1996 年問世,由于它具有極低的功耗、豐富的片內(nèi)外設(shè)和方便靈活的開發(fā)手段,已成為眾多單片機(jī)系列中一顆耀眼的新星?;貞?MSP430 系列單片機(jī)的發(fā)展過程,可以看出有這樣三個(gè)階段:
開始階段 從 1996 年推出 MSP430 系列開始到 2000 年初,這個(gè)階段首先推出有 33X 、 32X 、 31X 等幾個(gè)系列,而后于 2000 年初又推出了 11X 、 11X1 系列。
MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驅(qū)動(dòng)模塊,對(duì)提高系統(tǒng)的集成度較有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的價(jià)格昂貴,運(yùn)行環(huán)境溫度范圍窄,主要用于樣機(jī)開發(fā)。這也表明了這幾個(gè)系列的開發(fā)模式,即:用戶可以用 EPROM 型開發(fā)樣機(jī);用 OTP 型進(jìn)行小批量生產(chǎn);而 ROM 型適應(yīng)大批量生產(chǎn)的產(chǎn)品。
2000 年推出了 11X/11X1 系列。這個(gè)系列采用 20 腳封裝,內(nèi)存容量、片上功能和 I/O 引腳數(shù)比較少,但是價(jià)格比較低廉。
這個(gè)時(shí)期的 MSP430 已經(jīng)顯露出了它的特低功耗等的一系列技術(shù)特點(diǎn),但也有不盡如人意之處。它的許多重要特性,如:片內(nèi)串行通信接口、硬件乘法器、足夠的 I/O 引腳等,只有 33X 系列才具備。 33X 系列價(jià)格較高,比較適合于較為復(fù)雜的應(yīng)用系統(tǒng)。當(dāng)用戶設(shè)計(jì)需要更多考慮成本時(shí), 33X 并不一定是最適合的。而片內(nèi)高精度A/D 轉(zhuǎn)換器又只有 32X 系列才有。
尋找突破,引入Flash技術(shù) 隨著 Flash 技術(shù)的迅速發(fā)展, TI 公司也將這一技術(shù)引入 MSP430 系列中。在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相繼推出 F41X 、 F43X 、 F44X 這些全部是 Flash 型單片機(jī)。
F41X 單片機(jī)是目前應(yīng)用比較廣的單片機(jī),它有 48 個(gè) I/O 口, 96 段 LCD 驅(qū)動(dòng)。 F43X 、 F44X 系列是在 13X 、 14X 的基礎(chǔ)上,增加了液晶驅(qū)動(dòng)器,將驅(qū)動(dòng) LCD 的段數(shù)由 3XX 系列的最多 120 段增加到 160 段。并且相應(yīng)地調(diào)整了顯示存儲(chǔ)器在存儲(chǔ)區(qū)內(nèi)的地址,為以后的發(fā)展拓展了空間。
MSP430 系列由于具有 Flash 存儲(chǔ)器,在系統(tǒng)設(shè)計(jì)、開發(fā)調(diào)試及實(shí)際應(yīng)用上都表現(xiàn)出較明顯的優(yōu)點(diǎn)。這是 TI 公司推出具有 Flash 型存儲(chǔ)器及 JTAG 邊界掃描技術(shù)的廉價(jià)開發(fā)工具 MSP-FET430X110 ,將國(guó)際上先進(jìn)的 JTAG 技術(shù)和 Flash 在線編程技術(shù)引入 MSP430 。
這種以 Flash 技術(shù)與 FET 開發(fā)工具組合的開發(fā)方式,具有方便、廉價(jià)、實(shí)用等優(yōu)點(diǎn),給用戶提供了一個(gè)較為理想的樣機(jī)開發(fā)方式。
另外, 2001 年 TI 公司又公布了 BOOTSTRAP LOADER技術(shù),利用它可在燒斷熔絲以后只要幾根線就可更改并運(yùn)行內(nèi)部的程序。這為系統(tǒng)軟件的升級(jí)提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可達(dá)到 32 個(gè)字節(jié)的長(zhǎng)度。
蓬勃發(fā)展階段 在前一階段,引進(jìn)新技術(shù)和內(nèi)部進(jìn)行調(diào)整之后,為 MSP430 的功能擴(kuò)展打下了良好的基礎(chǔ)。于是 TI 公司在 2002 年底和 2003 年期間又陸續(xù)推出了 F15X 和 F16X 系列的產(chǎn)品。
在這一新的系列中,有了兩個(gè)方面的發(fā)展。一是從存儲(chǔ)器方面來說,將 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。這樣一來,希望將實(shí)時(shí)操作系統(tǒng)( RTOS )引入 MSP430 的,就不會(huì)因 RAM 不夠而發(fā)愁了。二是從外圍模塊來說,增加了 I 2 C 、 DMA 、 DAC12 和 SVS 等模塊。
在 2003 年中, TI 公司還推出了專門用于電量計(jì)量的 MSP430FE42X 和用于水表、氣表、熱表上的具有無(wú)磁傳感模塊的 MSP430FW42X 單片機(jī)。我們相信由于 MSP430 的開放性的基本架構(gòu)和新技術(shù)的應(yīng)用,新的 MSP430 的產(chǎn)品品種必將會(huì)不斷出現(xiàn)。
3.3 MSP430 單片機(jī)的特點(diǎn)
MSP430 系列單片機(jī)的迅速發(fā)展和應(yīng)用范圍的不斷擴(kuò)大,主要取決于以下的特點(diǎn)。
強(qiáng)大的處理能力 MSP430 系列單片機(jī)是一個(gè) 16 位的單片機(jī),采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式( 7 種源操作數(shù)尋址、 4 種目的操作數(shù)尋址)、簡(jiǎn)潔的 27 條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅(qū)動(dòng)下指令周期為 125 ns 。這些特點(diǎn)保證了可編制出高效率的源程序。
在運(yùn)算速度方面, MSP430 系列單片機(jī)能在 8MHz 晶體的驅(qū)動(dòng)下,實(shí)現(xiàn) 125ns 的指令周期。 16 位的數(shù)據(jù)寬度、 125ns 的指令周期以及多功能的硬件乘法器(能實(shí)現(xiàn)乘加)相配合,能實(shí)現(xiàn)數(shù)字信號(hào)處理的某些算法(如 FFT 等)。
MSP430 系列單片機(jī)的中斷源較多,并且可以任意嵌套,使用時(shí)靈活方便。當(dāng)系統(tǒng)處于省電的備用狀態(tài)時(shí),用中斷請(qǐng)求將它喚醒只用 6us 。
超低功耗 MSP430 單片機(jī)之所以有超低的功耗,是因?yàn)槠湓诮档托酒碾娫措妷杭办`活而可控的運(yùn)行時(shí)鐘方面都有其獨(dú)到之處。
首先, MSP430 系列單片機(jī)的電源電壓采用的是 1.8~3.6V 電壓。因而可使其在 1MHz 的時(shí)鐘條件下運(yùn)行時(shí), 芯片的電流會(huì)在 200~400uA 左右,時(shí)鐘關(guān)斷模式的最低功耗只有 0.1uA 。
其次,獨(dú)特的時(shí)鐘系統(tǒng)設(shè)計(jì)。在 MSP430 系列中有兩個(gè)不同的系統(tǒng)時(shí)鐘系統(tǒng):基本時(shí)鐘系統(tǒng)和鎖頻環(huán)( FLL 和 FLL+ )時(shí)鐘系統(tǒng)或 DCO 數(shù)字振蕩器時(shí)鐘系統(tǒng)。有的使用一個(gè)晶體振蕩器( 32768Hz ) , 有的使用兩個(gè)晶體振蕩器。由系統(tǒng)時(shí)鐘系統(tǒng)產(chǎn)生 CPU 和各功能所需的時(shí)鐘。并且這些時(shí)鐘可以在指令的控制下,打開和關(guān)閉,從而實(shí)現(xiàn)對(duì)總體功耗的控制。
由于系統(tǒng)運(yùn)行時(shí)打開的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動(dòng)模式( AM )和五種低功耗模式( LPM0~LPM4 )。在等待方式下,耗電為 0.7uA ,在節(jié)電方式下,最低可達(dá) 0.1uA 。
系統(tǒng)工作穩(wěn)定。上電復(fù)位后,首先由 DCOCLK 啟動(dòng) CPU ,以保證程序從正確的位置開始執(zhí)行,保證晶體振蕩器有足夠的起振及穩(wěn)定時(shí)間。然后軟件可設(shè)置適當(dāng)?shù)募拇嫫鞯目刂莆粊泶_定最后的系統(tǒng)時(shí)鐘頻率。如果晶體振蕩器在用做 CPU 時(shí)鐘 MCLK 時(shí)發(fā)生故障, DCO 會(huì)自動(dòng)啟動(dòng),以保證系統(tǒng)正常工作;如果程序跑飛,可用看門狗將其復(fù)位。
豐富的片上外圍模塊 MSP430 系列單片機(jī)的各成員都集成了較豐富的片內(nèi)外設(shè)。它們分別是看門狗( WDT )、模擬比較器 A 、定時(shí)器 A ( Timer_A )、定時(shí)器 B ( Timer_B )、串口 0 、1( USART0 、1 )、硬件乘法器、液晶驅(qū)動(dòng)器、 10 位 /12 位 ADC 、16位Sigma-Delta AD、直接尋址模塊( DMA )、端口 O ( P0 )、端口 1~6 ( P1~P6 )、基本定時(shí)器( Basic Timer )等的一些外圍模塊的不同組合。其中,看門狗可以使程序失控時(shí)迅速?gòu)?fù)位;模擬比較器進(jìn)行模擬電壓的比較,配合定時(shí)器,可設(shè)計(jì)出 A/D 轉(zhuǎn)換器; 16 位定時(shí)器( Timer_A 和 Timer_B )具有捕獲 / 比較功能,大量的捕獲 / 比較寄存器,可用于事件計(jì)數(shù)、時(shí)序發(fā)生、 PWM 等;有的器件更具有可實(shí)現(xiàn)異步、同步及多址訪問串行通信接口可方便的實(shí)現(xiàn)多機(jī)通信等應(yīng)用;具有較多的 I/O 端口,最多達(dá) 6*8 條 I/O 口線; P0 、 P1 、 P2 端口能夠接收外部上升沿或下降沿的中斷輸入; 12/14 位硬件 A/D 轉(zhuǎn)換器有較高的轉(zhuǎn)換速率,最高可達(dá) 200kbps ,能夠滿足大多數(shù)數(shù)據(jù)采集應(yīng)用;能直接驅(qū)動(dòng)液晶多達(dá) 160 段;實(shí)現(xiàn)兩路的 12 位 D/A 轉(zhuǎn)換;硬件IIC串行總線接口實(shí)現(xiàn)存儲(chǔ)器串行擴(kuò)展;以及為了增加數(shù)據(jù)傳輸速度,而采用直接數(shù)據(jù)傳輸( DMA )模塊。 MSP430 系列單片機(jī)的這些片內(nèi)外設(shè)為系統(tǒng)的單片解決方案提供了極大的方便。
方便高效的開發(fā)環(huán)境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三種類型的器件,這些器件的開發(fā)手段不同。對(duì)于 OPT 型和 ROM 型的器件是使用仿真器開發(fā)成功之后在燒寫或掩膜芯片;對(duì)于 FLASH 型則有十分方便的開發(fā)調(diào)試環(huán)境,因?yàn)槠骷瑑?nèi)有 JTAG 調(diào)試接口,還有可電擦寫的 FLASH 存儲(chǔ)器,因此采用先下載程序到 FLASH 內(nèi),再在器件內(nèi)通過軟件控制程序的運(yùn)行,由 JTAG 接口讀取片內(nèi)信息供設(shè)計(jì)者調(diào)試使用的方法進(jìn)行開發(fā)。這種方式只需要一臺(tái) PC 機(jī)和一個(gè) JTAG 調(diào)試器,而不需要仿真器和編程器。開發(fā)語(yǔ)言有匯編語(yǔ)言和 C 語(yǔ)言。
MSP430 單片機(jī)目前主要以 FLASH 型為主。
1.適應(yīng)工業(yè)級(jí)運(yùn)行環(huán)境 MSP430 系列器件均為工業(yè)級(jí)的,運(yùn)行環(huán)境溫度為 -40~+ 85 攝氏度 ,所設(shè)計(jì)的產(chǎn)品適合用于工業(yè)環(huán)境下。
2.同其它微控制器相比 MSP430系列可以大大延長(zhǎng)電池的使用壽命。
3.6us的啟動(dòng)時(shí)間可以使啟動(dòng)更加迅速。
4.ESD保護(hù),抗干擾力強(qiáng)。
5.低電壓供電。
6.多達(dá)64KB尋址空間,包含 ROM、RAM 閃存 RAM和外圍模塊。將來計(jì)劃擴(kuò)大至 1MB。
7.通過堆棧處理,中斷和子程序調(diào)用層次無(wú)限制。
8.僅3種子令格式,全部為正交結(jié)構(gòu)。
9.盡可能做到1字/指令。
10.源操作數(shù)有7種尋址模式,目的操作數(shù)有 4種尋址模式。
11.外部中斷引腳:I/O口具有中斷能力。
12.中斷優(yōu)先級(jí):對(duì)同時(shí)發(fā)生的中斷按優(yōu)先級(jí)別處理。
13.嵌套中斷結(jié)構(gòu):可以在中斷服務(wù)過程中再次響應(yīng)其它中斷。
14.外圍模塊地址為存儲(chǔ)器分配:全部寄存器不占用 RAM空間,均在模塊內(nèi)。
定時(shí)器中斷可用于事件計(jì)數(shù)、時(shí)序發(fā)生、PWM等。
15.看門狗功能。
16.A/D轉(zhuǎn)換器(10位或更高精度)。
17.正交指令簡(jiǎn)化了程序的開發(fā):所有指令可以用任意尋址模式。
18.已開發(fā)了C-編譯器。
19.模塊設(shè)計(jì)思想:所有模塊采用存儲(chǔ)器分配。
20.MSP430 全部為工業(yè)級(jí) 16 位 RISC MCU。
3.4 MSP430 與89C51系列的比較
我國(guó)的多數(shù)讀者對(duì)89C51系列的單片機(jī)是很熟悉的,為了加深對(duì) MSP430系列單片機(jī)的認(rèn)識(shí),我們不妨將兩者進(jìn)行一下比較。
首先,89C51單片機(jī)是 8 位單片機(jī)。其指令是采用的被稱為“ CISC ”的復(fù)雜指令集,共具有 111 條指令。而 MSP430 單片機(jī)是 16 位的單片機(jī),采用了精簡(jiǎn)指令集( RISC )結(jié)構(gòu),只有簡(jiǎn)潔的 27 條指令,大量的指令則是模擬指令,眾多的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算。這些內(nèi)核指令均為單周期指令,功能強(qiáng),運(yùn)行的速度快。
其次,89C51單片機(jī)本身的電源電壓是5 V,有兩種低功耗方式:待機(jī)方式和掉電方式。正常情況下消耗的電流為24mA ,在待機(jī)狀態(tài)下,其耗電電流仍為 3mA ;即使在掉電方式下,電源電壓可以下降到2V,但是為了保存內(nèi)部RAM中的數(shù)據(jù),還需要提供約50uA 的電流。而MSP430系列單片機(jī)在低功耗方面的優(yōu)越之處,則是89C51系列不可比擬的。正因?yàn)槿绱耍?MSP430更適合應(yīng)用于使用電池供電的儀器、儀表類產(chǎn)品中。
再者,89C51系列單片機(jī)由于其內(nèi)部總線是8位的,其內(nèi)部功能模塊基本上都是 8 位的雖然經(jīng)過各種努力其內(nèi)部功能模塊有了顯著增加,但是受其結(jié)構(gòu)本身的限制很大,尤其模擬功能部件的增加更顯困難。 MSP430系列其基本架構(gòu)是16位的,同時(shí)在其內(nèi)部的數(shù)據(jù)總線經(jīng)過轉(zhuǎn)換還存在8位的總線,在加上本身就是混合型的結(jié)構(gòu),因而對(duì)它這樣的開放型的架構(gòu)來說,無(wú)論擴(kuò)展8位的功能模塊,還是16位的功能模塊,即使擴(kuò)展模/數(shù)轉(zhuǎn)換或數(shù)/模轉(zhuǎn)換這類的功能模塊也是很方便的。這也就是為什么MSP430系列產(chǎn)品和其中功能部件迅速增加的原因。
最后,就是在開發(fā)工具上面。對(duì)于89C51來說,由于它是最早進(jìn)入中國(guó)的單片機(jī),人們對(duì)它在熟悉不過了,再加上我國(guó)各方人士的努力,創(chuàng)造了不少適合我們使用的開發(fā)工具。但是如何實(shí)現(xiàn)在線編程還是一個(gè)很大的問題。對(duì)于MSP430系列而言,由于引進(jìn)了Flash型程序存儲(chǔ)器和JTAG技術(shù),不僅使開發(fā)工具變得簡(jiǎn)便,而且價(jià)格也相對(duì)低廉,并且還可以實(shí)現(xiàn)在線編程。
3.5 應(yīng)使用的多種MSP430
使用參數(shù)搜索為您的應(yīng)用找到合適的MSP430產(chǎn)品。MSP430產(chǎn)品系列類型描述。
MSP430F5xx 基于閃存的 MCU 提供 1.2 V至 3.6 V工作電壓、高達(dá) 256kB的閃存和最高25MIPS的時(shí)鐘系統(tǒng),內(nèi)置4個(gè)USCI模塊。
MSP430F4xx基于閃存的 MCU 提供 1.8 V至 3.6 V工作電壓、高達(dá) 60kB 的閃存/ROM和8MIP(帶有 FLL + SVS) 內(nèi)置LCD Driver。
MSP430F2xx基于閃存的 MCU 提供 1.8 V至 3.6 V工作電壓、掉電復(fù)位及 16MIP(帶有基本時(shí)鐘)。
MSP430F1xx 基于閃存/ ROM 的 MCU 提供 1.8 V至 3.6 V的工作電壓、高達(dá) 60kB和8MIP(帶有基本時(shí)鐘)。
MSP430是一類現(xiàn)場(chǎng)16位數(shù)據(jù)線FLASH存儲(chǔ)器的單片機(jī),該單片機(jī)以豐富的片上資源,高速和高精度而深受廣大單片機(jī)愛好者的青睞。而本設(shè)計(jì)充分利用其資源,實(shí)現(xiàn)了A/D轉(zhuǎn)換、多機(jī)通信、外存和實(shí)時(shí)時(shí)鐘、PWM波形的函數(shù)發(fā)生器、比較器測(cè)量、定時(shí)器的捕獲測(cè)量周期、8M方波產(chǎn)生、硬件乘法器等等。通過設(shè)計(jì)的PCB板,可以應(yīng)用到大量的工業(yè)自動(dòng)控制中,實(shí)現(xiàn)低功耗、低輻射、低污染的控制。
3.6 開發(fā)環(huán)境及程序下載
開發(fā)環(huán)境:在EW23環(huán)境下進(jìn)行編程,匯編,連接,在C—SPY環(huán)境下進(jìn)行調(diào)試,下載是在連接之后,調(diào)試之前,通過計(jì)算機(jī)的串口下載的。關(guān)于環(huán)境的操作,可以參考有關(guān)資料,其中可能遇到的問題及解決方法有:
1.匯編是對(duì)源程序而言的,因此必須打開一個(gè)源文件才能匯編,而連接是對(duì)一個(gè)工程文件而言的,連接是對(duì)工程文件的所有源代碼(包括多個(gè)源文件)和數(shù)據(jù)的定位,因此連接必須打開一個(gè)工程文件才能連接。
2.連接中必須將庫(kù)文件的路徑改正確,且必須選定C—SPY的驅(qū)動(dòng)方式,即在project中的options的xlink的include下修改(先選中)xcl的庫(kù)路徑為 $TOOLKIT_DIR$\icc430\msp430F149A。xcl ,選擇C—SPY 的驅(qū)動(dòng)drive為simulator或FLASH EMULATION TOOL ,當(dāng)沒連接430片子時(shí)可以選simulator,當(dāng)連接430片子時(shí),選 FLASH EMULATION TOOL進(jìn)行在線下載調(diào)試。
3.由于430支持匯編語(yǔ)言和C語(yǔ)言兩種語(yǔ)言,因此可以在一個(gè)工程文件 中同時(shí)用兩種語(yǔ)言,但建議用匯編語(yǔ)言,因?yàn)楸阌谠谡{(diào)試時(shí)尋找邏輯和指令的聯(lián)系及地址的定位正確與否。
4.在在線的C—SPY 的調(diào)試中,單步需要將Control的Reatime前的勾取消才能進(jìn)行單步測(cè)試。
5.在線調(diào)試時(shí),不能將58 管腳(復(fù)位/非屏蔽中斷)外部變高,否則,會(huì)強(qiáng)制退出調(diào)試環(huán)境。
程序下載原理及脫機(jī)工作原理:程序的在線調(diào)試是通過JATG口和F149片子的 RST、TCK、TDI、TDO、TMS引腳按一定的時(shí)序串行的傳遞程序代碼和數(shù)據(jù)的,調(diào)試指令的命令傳遞都是通過這些數(shù)據(jù)線和控制線傳遞的,其中的地址0FFFEH為復(fù)位向量的地址,它是程序遇到非屏蔽中斷和程序啟動(dòng)的首要地址,地址中存放的是程序段開始的首地址,因此必須把程序段的首地址標(biāo)號(hào)表示在中斷向量中或程序偽指令的開頭位置,否則,連接時(shí)將會(huì)出錯(cuò),具體的 表示方法在下一節(jié)中表示。程序的下載和在線調(diào)試的電源是通過計(jì)算機(jī)在JATG提供的,不須另外給加電源。
3.7 MSP430F149單片機(jī)的功能介紹
3.7.1 MSP430F149輸入輸出口
MSP430F149有6個(gè)8位的P口,其中P1、P2口占兩個(gè)中斷向量,共可以接16個(gè)中斷源,還可以直接利用P口的輸入輸出寄存器,直接對(duì)外進(jìn)行通信。因?yàn)樗械腜口都是和其他外設(shè)復(fù)用的,因此在用端口之前都要用功能選擇寄存器選定所用的功能是外設(shè)還是P口,選定之后還要在方向寄存器中確定是是輸出還是輸入,我實(shí)驗(yàn)了一個(gè)程序,前部分是實(shí)現(xiàn)中斷功能的程序,后部分為中斷程序是實(shí)現(xiàn)直接用P口對(duì)外提供一個(gè)短脈沖的程序,在我們?cè)O(shè)計(jì)的開發(fā)板中,專門利用了P口的輸入輸出功能對(duì)外存24WCXX和實(shí)時(shí)時(shí)鐘芯片8563的數(shù)據(jù)通過的存取I2C總線的讀取和寫入。還利用了P口向電池充電的開啟電路。
3.7.2 定時(shí)器及數(shù)模轉(zhuǎn)換
圖3-2定時(shí)器及數(shù)模轉(zhuǎn)換
MSP430中有兩個(gè)16位定時(shí)器,還可以利用看門狗定時(shí)器。由于定時(shí)器的是16位的,則可以在秒數(shù)量級(jí)上定時(shí),且具有2個(gè)中斷向量,便于處理各種定時(shí)中斷。定時(shí)器的應(yīng)用在F149中具有舉足輕重的作用,可以利用MSP430F149中的定時(shí)器的比較模式產(chǎn)生PWM(數(shù)字脈沖調(diào)制)波形,再經(jīng)過低通濾波器產(chǎn)生任意函數(shù)的波形,也就是說,可以通過定時(shí)器的比較模式實(shí)現(xiàn)數(shù)模轉(zhuǎn)換功能。另外,定時(shí)器還具有捕獲模式,我們可以通過定時(shí)器的捕獲功能實(shí)現(xiàn)各種測(cè)量,比如脈沖寬度測(cè)量,如果和比較器結(jié)合,還可以測(cè)量電阻、電容、電壓、電流、溫度等,可以這樣說,只要能通過傳感轉(zhuǎn)換為時(shí)間長(zhǎng)度的,都可以通過定時(shí)器的捕獲定時(shí)功能實(shí)現(xiàn)值的測(cè)量。在開發(fā)板中,利用定時(shí)器,我們?cè)O(shè)計(jì)了一個(gè)PWM濾波輸出的函數(shù)發(fā)生器。另外,我們還利用定時(shí)器的捕獲功能和比較器的比較功能測(cè)電阻和電容。比較器測(cè)電阻的實(shí)驗(yàn)程序和時(shí)序: 程序和設(shè)計(jì)流圖為 如圖3-2:
3.7.3 時(shí)鐘模塊
MSP430F149的時(shí)鐘可以自由選擇,它包括一個(gè)內(nèi)部DCO時(shí)鐘和另外兩個(gè)外部時(shí)鐘,內(nèi)部時(shí)鐘的參數(shù)見參考資料,其中最高可達(dá)到1042KHZ;外部可以接兩個(gè)時(shí)鐘,一個(gè)可接鐘表晶振或標(biāo)準(zhǔn)晶振,另一個(gè)接最高時(shí)鐘頻率為8MHZ的晶振,8M是單片機(jī)的最高工作頻率,對(duì)于晶振的選擇,在參考資料一上介紹的很清楚,在此不在重復(fù),對(duì)基礎(chǔ)時(shí)鐘的控制,只需要對(duì)相應(yīng)的控制寄存器寫入相應(yīng)的控制位就可以產(chǎn)生需要的時(shí)鐘,還可以從相應(yīng)的端口測(cè)的時(shí)鐘頻率,我們做了一個(gè)實(shí)驗(yàn),是控制內(nèi)部時(shí)鐘的,可以從149的端口上測(cè)的相應(yīng)的頻率,只要開啟時(shí)鐘頻率之后,時(shí)鐘就繼續(xù)存在到寫入停止為止。
3.7.4 USART通信模塊
通用串行同步異步通信模塊是為了使MSP430F149多機(jī)通信用的,通過USART口連接RS202和RS485的驅(qū)動(dòng)芯片可以實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)及其他的工作電平的匹配串行通信,由于MSP430F149具有兩個(gè)通信口,因此可以分別用于RS202和RS485的串行通信。MSP430有同步和異步兩種方式,每一種方式都有獨(dú)立的幀格式和控制寄存器,只需要按照需要和幀格式寫入相應(yīng)的寄存器就可以實(shí)現(xiàn)多機(jī)通信。由于MSP430的波特率產(chǎn)生比較自由,因此異步通信模式用的比較多,在畢業(yè)設(shè)計(jì)中,我們只實(shí)驗(yàn)了異步通信模式,在異步通信模式中,MSP430的波特率的產(chǎn)生有很獨(dú)特的方式,可以實(shí)現(xiàn)多種波特率的產(chǎn)生,可以克服其他單片機(jī)的波特率受限的缺點(diǎn)。另外,在異步模式中,又根據(jù)需要分為線路空閑多機(jī)模式和地址位多機(jī)模式,如果只是兩機(jī)通信,線路空閑比較多,用線路空閑多機(jī)模式比較好,在開發(fā)板中有一個(gè)測(cè)試程序是實(shí)現(xiàn)通過RS202與計(jì)算機(jī)超級(jí)終端串行口相連的測(cè)試程序,在此,不用多說,由于MSP430的波特率發(fā)生器比較特別,在此,我們著重討論一下波特率發(fā)生器。波特率發(fā)生器是用波特率選擇寄存器和調(diào)整控制寄存器來產(chǎn)生串行數(shù)據(jù)位定時(shí)。
波特率=BRCLK/(UBR+(M7+M6+M5+M4+M3+M2+M1+M0)),其中BRCLK為晶振頻率,UBR為分頻因子的整數(shù),晶振頻率除以波特率的整數(shù)部分,而調(diào)整位,是分別寫在UMCTL中的,如果置位,則對(duì)應(yīng)的時(shí)序時(shí)間只能波特率分頻器的輸入時(shí)鐘擴(kuò)展一個(gè)時(shí)鐘周期,每接受或發(fā)送一位,在調(diào)整控制寄存器的下一位被用來決定當(dāng)前位的定時(shí)時(shí)間。協(xié)議的第一位的定時(shí)由URB加上M0決定,下一位由UBR加上M1決定,以后類推。而調(diào)整位取“0”還是“1”,取決于當(dāng)前的分頻因子與需要的分頻因子的差距,如果大于0.5取“1”,如果小于0.5取“0”。
3.7.5 比較器模塊
比較器的應(yīng)用在MSP430中很廣,可以做為可轉(zhuǎn)換為電壓的量的測(cè)量,如果加上定時(shí)器的捕獲功能,比較器的用途會(huì)更廣,由于比較器的應(yīng)用在定時(shí)器一章已有實(shí)驗(yàn)證明,在此不在多述,但有幾點(diǎn)必須說明。
1.比較器屬于硬件型的,雖然很準(zhǔn)確,但由于有軟件的控制,造成的時(shí)間誤差可能很大。因此存在一段時(shí)間的振蕩,這造成測(cè)量的誤差大,不能很精確。
2.比較器的參考電平很方便,可以都自由加,但不能超過片子的最高電壓3.3V ,否則不能正常工作。
3.比較器的應(yīng)用還很多,可以很放心的用,在我們的開發(fā)板中,有比較器的輸入端口,還加了電阻和穩(wěn)壓和嵌位的二極管對(duì)在高壓和負(fù)壓時(shí)的芯片保護(hù)。
3.7.6 模數(shù)轉(zhuǎn)換模塊
MSP430F149單片機(jī)中集成了14路12位A/D轉(zhuǎn)換,其中8路屬于外部的信號(hào)轉(zhuǎn)換,3路是對(duì)內(nèi)部參考電壓的檢測(cè)轉(zhuǎn)換,1路是接溫控的傳感電壓轉(zhuǎn)換,每一路轉(zhuǎn)換都有一個(gè)可控制的轉(zhuǎn)換存儲(chǔ)器,而且,參考電平和時(shí)鐘源都是可選擇的,可以外部提供的。這給使用上帶來了很大的靈活性。原理上不同于一般積分和逐次比較等A/D轉(zhuǎn)換原理,它的輸入信號(hào)是加在A/D的電容網(wǎng)絡(luò)上的,通過電容的充電來采樣信號(hào)進(jìn)行A/D轉(zhuǎn)換的。其時(shí)序可以歸納為如圖3-3:
A/D轉(zhuǎn)換的時(shí)序和具體的一些注意事項(xiàng)和參數(shù),但有幾點(diǎn)必須注意的地方:
1.由于MSP430F149是采用加載信號(hào)到電容上充電的采樣,因此必須要給一定的采樣時(shí)間以能到達(dá)一定的精度和時(shí)間的不溢出,否則會(huì)出現(xiàn)時(shí)間溢出的中斷。據(jù)測(cè)定其采樣開始之后需要13個(gè)ADC12CLK周期延時(shí)。在實(shí)驗(yàn)時(shí)是采用的單步才能比較精確的測(cè)量,在全速時(shí)需要延時(shí)才能測(cè)量,否則采樣結(jié)果為0。
2.在采樣結(jié)束和轉(zhuǎn)換的開始需要一個(gè)控制過程,這就是將ADC12CTL0的ENC和ADC12SC同時(shí)置“1”,則表明采樣結(jié)束和轉(zhuǎn)換開始,在我們的測(cè)試中,是將ADC12CTL0的控制位重復(fù)了一次以達(dá)到開始轉(zhuǎn)換。
3.用外部參考電壓時(shí),轉(zhuǎn)換公式為NADC=4095*(Vin—Vr-)/(Vr+—Vr-)。
圖3-3模數(shù)轉(zhuǎn)換模塊
4.由于低三位是電阻性的,因此精度上需要多次測(cè)量取平均值。
5.如果采用外參考電壓,則不能認(rèn)為懸空為0V,而必須要加一個(gè)電壓,即使是0v也必須要加地,否則不能轉(zhuǎn)換。 具體的A/D采樣程序和結(jié)果在PCB測(cè)試中有比較詳細(xì)的結(jié)果。
在這次畢業(yè)設(shè)計(jì)中,我們的主要任務(wù)是設(shè)計(jì)一個(gè)芯片的開發(fā)板,以能夠供以后使用,考慮到F149的資源,我們的設(shè)計(jì)外圍模塊功能圖為:
圖3-4 外圍模塊功能圖
下面將分模塊介紹各模塊原理(標(biāo)示見原理圖)及調(diào)試程序和結(jié)果:外存和實(shí)時(shí)
考慮到單片機(jī)有時(shí)需要實(shí)時(shí)時(shí)鐘和外存,因此本設(shè)計(jì)加了一個(gè)8563實(shí)時(shí)時(shí)鐘芯片和24WCxx的片外存儲(chǔ),采用I2C 總線結(jié)構(gòu)傳送數(shù)據(jù)和時(shí)鐘,通過P4.6傳送SCL時(shí)鐘信號(hào),P4.5傳送地址、控制、應(yīng)答和數(shù)據(jù)信號(hào)。8563接一個(gè)32767HZ的晶振產(chǎn)生實(shí)時(shí)時(shí)鐘,R32、R31是提拉電阻,以從8563和24WCxx中輸出數(shù)據(jù)。由于本設(shè)計(jì)中只有一個(gè)片外存儲(chǔ),因此其芯片地址為1010000,8563的讀的芯片地址為1010011,寫地址為1010010,關(guān)于I2C 總線的幀結(jié)構(gòu)為:
圖3-5 幀結(jié)構(gòu)圖
調(diào)試程序流圖和幀結(jié)構(gòu)的順序一樣,在這兒就不在重復(fù),調(diào)試程序見設(shè)計(jì)程序。調(diào)試結(jié)果為:往外存中的10000000地址寫入10101010字節(jié)數(shù)據(jù)后讀出仍然為10101010,表明對(duì)外存的讀寫正確。對(duì)8563的讀寫一樣。對(duì)I2C 總線的使用最重要的是時(shí)序的正確。這是編程最重要的一點(diǎn)。另外,對(duì)讀信號(hào)時(shí),要注意是啟動(dòng)后,先寫片選地址,再送寫信號(hào),等應(yīng)答后送要讀的地址,然后才是啟動(dòng),之后是送片選地址,再送讀信號(hào),等應(yīng)答之后才是地址上的數(shù)據(jù)。這與寫時(shí)序是不一樣的。
3.7.7 485和232通訊模塊
單片機(jī)通訊時(shí)需要轉(zhuǎn)換電平,這就要485和232電平驅(qū)動(dòng),在開發(fā)板中,我們用了MAX202E和MAX485芯片作為驅(qū)動(dòng),MAX202芯片可以實(shí)現(xiàn)短距離的通信,是屬于單端驅(qū)動(dòng)方式,能將-15V~+15V 的電壓轉(zhuǎn)換為0~5V的電壓,速率能達(dá)到20K,輸出電流可達(dá)到500mA,實(shí)現(xiàn)了TTL—EIA電平的轉(zhuǎn)換,由于MAX202芯片是全雙工的,因此其使能引腳是全使能的,又由于MAX202芯片輸出是 5v的電壓,而430芯片是3V電壓,因此需要一個(gè)由RM3和RM4組成的分壓電路,由于受430內(nèi)阻和MAX202輸出電流的影響,當(dāng)RM3和RM4分別取2千歐和3千歐時(shí)分壓之后的電壓剛好能達(dá)到的電壓3V,因此取RM3和RM4為2千歐和3千歐。注:RS—232 電平規(guī)定為-3V— -15V為“1”,+3V—+15V為“0”。而RS—485電平屬于平衡電平,是通過兩路的比較決定正負(fù)的,RU4起連接兩路的作用,但由于是半雙工電路,因此需要使能端口,又由于 啟動(dòng)電平為大于5V,因此需要加CM1和RC7的微分電路產(chǎn)生一個(gè)比較大的驅(qū)動(dòng)使能信號(hào),當(dāng)要使能時(shí),P1.0口發(fā)出一個(gè)“1”電平,則CM1和RC7的微分使輸出到MAX485上的電平為一個(gè)尖峰信號(hào),從而驅(qū)動(dòng)。RM1,RM2的分壓電路和RM3,RM4的分壓原理一樣。MAX232和MAX485分別接到430的USART1和USART0上,實(shí)現(xiàn)了多機(jī)通信。在調(diào)試中,我們是將430和計(jì)算機(jī)的超級(jí)終端相連實(shí)現(xiàn)的測(cè)試,原理為:
圖3-6 通訊接口連接圖
圖3-7 調(diào)試程序流圖
調(diào)試結(jié)果可以看出發(fā)送的正確性,也可以看出用430可以達(dá)到的波特率的任意性,很靈活實(shí)用。但調(diào)試中的注意為:
1.發(fā)送的字符最好為熟悉是字符,否則可能認(rèn)為不正確而實(shí)際是正確的,開始我們發(fā)送的是FFH字符,收到的是一個(gè)符號(hào),我們還以為發(fā)錯(cuò)了,而當(dāng)改為31H時(shí),收到1才知道發(fā)送正確。
2.在超級(jí)終端需要將流量控制改為“無(wú)”。
3.只有當(dāng)波特率合適時(shí)才可能發(fā)生中斷請(qǐng)求。
4.由于接收控制寄存器中沒有時(shí)鐘源的選定,因此需要在發(fā)送控制寄存器中確定時(shí)鐘源。
3.8 MSP430F149單片機(jī)控制部分原理圖
見(附錄四)
4 控制部分介紹
4.1 直流電機(jī)的控制部分
4.1.1 恒壓恒流橋式2A驅(qū)動(dòng)芯片L298N
L298N芯片腳圖:
圖4-1 L298N芯片腳圖
L298是SGS(通標(biāo)標(biāo)準(zhǔn)技術(shù)服務(wù)有限公司)公司的產(chǎn)品,比較常見的是15腳Multiwatt封裝的L298N,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路。是一種二相和四相電機(jī)的專用驅(qū)動(dòng)器,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TTL邏輯電平信號(hào),可驅(qū)動(dòng)46V、2A以下的電機(jī)。其引腳排列如上圖中所示。
L298N的引腳9為L(zhǎng)OGIC SUPPLY VOLTAGE Vss,即邏輯供應(yīng)電壓。引腳4為SUPPLYVOLTAGE Vs,即驅(qū)動(dòng)部分輸入電壓。Vss電壓要求輸入最小電壓為4.5V,最大可達(dá)36V;Vs電壓最大值也是36V,但經(jīng)過我的實(shí)驗(yàn),Vs電壓應(yīng)該比Vss電壓高,否則有時(shí)會(huì)出現(xiàn)失控現(xiàn)象。
它的引腳2,3,13,14為L(zhǎng)298N芯片輸入到電動(dòng)機(jī)的輸出端,其中引腳2和3能控制兩相電機(jī),對(duì)于直流電動(dòng)機(jī),即可控制一個(gè)電動(dòng)機(jī)。同理,引腳13和14也可控制一個(gè)直流電動(dòng)機(jī)。引腳6和11腳為電動(dòng)機(jī)的使能接線腳。引腳5,7,10,12為單片機(jī)輸入到L298N芯片的輸入引腳。下表是其使能、輸入引腳和輸出引腳的邏輯關(guān)系如表4-1。
表4-1 輸入引腳和輸出引腳的邏輯關(guān)系
EN A(B)
IN1(IN3)
IN2(IN4)
電機(jī)運(yùn)行情況
H
H
L
正轉(zhuǎn)
H
L
H
反轉(zhuǎn)
H
同IN2(IN4)
同IN1(IN3)
快速停止
L
X
X
停止
控制使能引腳ENA或者ENB就可以實(shí)現(xiàn)PWM脈寬速度調(diào)整。
1腳和15腳可單獨(dú)引出連接電流采樣電阻器,形成電流傳感信號(hào),也可以直接接地。在可設(shè)計(jì)中就將它們直接接地。
引腳8為芯片的接地引腳,它與L298N芯片的散熱片連接在一起。由于本芯片的工作電流比較大,發(fā)熱量也比較大,所以在本芯片的散熱片上又連接了一塊鋁合金,以增大它的散熱面積。
該芯片的一些參數(shù)如下:
1.邏輯部分輸入電壓:6~7V
2.驅(qū)動(dòng)部分輸入電壓Vs:4.8~46V
3.邏輯部分工作電流Iss:≤36mA
4.驅(qū)動(dòng)部分工作電流Io:≤2A
5.最大耗散功率:25W(T=75℃)
6.控制信號(hào)輸入電平:高電平:2.3V≤Vin≤Vss,低電平:-0.3V≤Vin≤1.5V
7.工作溫度:-25℃~+130℃
8.驅(qū)動(dòng)形式:雙路大功率H橋驅(qū)動(dòng)
L298是SGS公司的產(chǎn)品,比較常見的是15腳Multiwatt封裝的L298N,內(nèi)部同樣包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī),或一個(gè)兩相步進(jìn)電機(jī)。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5V~46 V。輸出電流可達(dá)2.5 A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。L298可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī),本實(shí)驗(yàn)裝置我們選用驅(qū)動(dòng)一臺(tái)電動(dòng)機(jī)。5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的停轉(zhuǎn)。
4.1.2 直流電機(jī)驅(qū)動(dòng)電路原理
圖4-2直流電機(jī)驅(qū)動(dòng)電路原理圖
由主控程序控制這幾個(gè)腳就可以達(dá)到控制電機(jī)正反轉(zhuǎn)的目的。
為了提高機(jī)器人的循線成功系數(shù),我們采用了PWM進(jìn)行機(jī)器人運(yùn)轉(zhuǎn)速度控制,當(dāng)兩個(gè)傳感器感知到引導(dǎo)線條,點(diǎn)亮指示燈并準(zhǔn)備做出改變機(jī)器人行進(jìn)方向的響應(yīng)時(shí),靠程序的PWM控制降低電機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)平滑的轉(zhuǎn)向過程。
PWM調(diào)速的基本原理和思想即使通過反復(fù)循環(huán)改變ON/OFF的時(shí)間分配。但機(jī)器人無(wú)法借助循環(huán)處理實(shí)現(xiàn)PWM,需要通過中斷處理方式實(shí)現(xiàn)。設(shè)計(jì)靠的是89S51的兩個(gè)定時(shí)器實(shí)現(xiàn)的,需要對(duì)定時(shí)器設(shè)定中斷周期,也就是PWM的頻率。請(qǐng)注意,PWM的頻率即時(shí)達(dá)到數(shù)十千赫茲也能滿足平滑控制的要求,當(dāng)產(chǎn)生一個(gè)很大的弊端,就是中斷次數(shù)過多,導(dǎo)致CPU大部分時(shí)間都在處理中斷,實(shí)時(shí)檢測(cè)和控制不能很快的響應(yīng)和處理。而且電機(jī)也存在一個(gè)變化速率匹配的問題,所以不妨通過不斷的嘗試,適當(dāng)?shù)馗淖兩鲜鲈O(shè)定值以便得到最佳的效果。
4.1.3 直流電機(jī)的PWM調(diào)速電路
1、 PWM控制芯片SG3525功能簡(jiǎn)介
隨著電能變換技術(shù)的發(fā)展,功率MOSFET在開關(guān)變換器中開始廣泛使用,為此美國(guó)硅通用半導(dǎo)體公司(Silicon General)推出SG3525。SG3525是用于驅(qū)動(dòng)N溝道功率MOSFET。其產(chǎn)品一推出就受到廣泛好評(píng)。SG3525系列PWM控制器分軍品、工業(yè)品、民品三個(gè)等級(jí)。下面我們對(duì)SG3525特點(diǎn)、引腳功能、電氣參數(shù)、工作原理以及典型應(yīng)用進(jìn)行介紹。SG3525是電流控制型PWM控制器,所謂電流控制型脈寬調(diào)制器是按照接反饋電流來調(diào)節(jié)脈寬的。在脈寬比較器的輸入端直接用流過輸出電感線圈的信號(hào)與誤差放大器輸出信號(hào)進(jìn)行比較,從而調(diào)節(jié)占空比使
圖4-3 PWM信號(hào)輸出電路
輸出的電感峰值電流跟隨誤差電壓變化而變化。由于結(jié)構(gòu)上有電壓環(huán)和電流環(huán)雙環(huán)系統(tǒng),因此,無(wú)論開關(guān)電源的電壓調(diào)整率、負(fù)載調(diào)整率和瞬態(tài)響應(yīng)特性都有提高,是目前比較理想的新型控制器。SG3525引腳功能及特點(diǎn)簡(jiǎn)介其原理圖如圖下:
圖4-4 PWM控制芯片SG3525
1.Inv.input(引腳1):誤差放大器反向輸入端。在閉環(huán)系統(tǒng)中,該引腳接反饋信號(hào)。在開環(huán)系統(tǒng)中,該端與補(bǔ)償信號(hào)輸入端(引腳9)相連,可構(gòu)成跟隨器。
2.Noninv.input(引腳2):誤差放大器同向輸入端。在閉環(huán)系統(tǒng)和開環(huán)系統(tǒng)中,該端接給定信號(hào)。根據(jù)需要,在該端與補(bǔ)償信號(hào)輸入端(引腳9)之間接入不同類型的反饋網(wǎng)絡(luò),可以構(gòu)成比例、比例積分和積分等類型的調(diào)節(jié)器。
3.Sync(引腳3):振蕩器外接同步信號(hào)輸入端。該端接外部同步脈沖信號(hào)可實(shí)現(xiàn)與外電路同步。
4.OSC.Output(引腳4):振蕩器輸出端。
5.CT(引腳5):振蕩器定時(shí)電容接入端。
6.RT(引腳6):振蕩器定時(shí)電阻接入端。
圖4-5 SG3525內(nèi)部結(jié)構(gòu)圖
7.Discharge(引腳7):振蕩器放電端。該端與引腳5之間外接一只放電電阻,構(gòu)成放電回路。
8.Soft-Start(引腳8):軟啟動(dòng)電容接入端。該端通常接一只5 的軟啟動(dòng)電容。
9.Compensation(引腳9):PWM比較器補(bǔ)償信號(hào)輸入端。在該端與引腳2之間接入不同類型的反饋網(wǎng)絡(luò),可以構(gòu)成比例、比例積分和積分等類型調(diào)節(jié)器。
10.Shutdown(引腳10):外部關(guān)斷信號(hào)輸入端。該端接高電平時(shí)控制器輸出被禁止。該端可與保護(hù)電路相連,以實(shí)現(xiàn)故障保護(hù)。
11.Output A(引腳11):輸出端A。引腳11和引腳14是兩路互補(bǔ)輸出端。
12.Ground(引腳12):信號(hào)地。
13.Vc(引腳13):輸出級(jí)偏置電壓接入端。
14.Output B(引腳14):輸出端B。引腳14和引腳11是兩路互補(bǔ)輸出端。
15.Vcc(引腳15):偏置電源接入端。
16.Vref(引腳16):基準(zhǔn)電源輸出端。該端可輸出一溫度穩(wěn)定性極好的基準(zhǔn)電壓。
特點(diǎn)如下:
(1)工作電壓范圍寬:8V—35V。
(2)5.1(1 1.0%)V微調(diào)基準(zhǔn)電源。
(3)振蕩器工作頻率范圍寬:100Hz—400KHz。
(4)具有振蕩器外部同步功能。
(5)死區(qū)時(shí)間可調(diào)。
(6)內(nèi)置軟啟動(dòng)電路。
(7)具有輸入欠電壓鎖定功能。
(8)具有PWM瑣存功能,禁止多脈沖。
(9)逐個(gè)脈沖關(guān)斷。
(10)雙路輸出(灌電流/拉電流): mA(峰值)。
SG3525的工作原理
SG3525內(nèi)置了5.1V精密基準(zhǔn)電源,微調(diào)至 1.0%,在誤差放大器共模輸入電壓范圍內(nèi),無(wú)須外接分壓電組。SG3525還增加了同步功能,可以工作在主從模式,也可以與外部系統(tǒng)時(shí)鐘信號(hào)同步,為設(shè)計(jì)提供了極大的靈活性。在CT引腳和Discharge引腳之間加入一個(gè)電阻就可以實(shí)現(xiàn)對(duì)死區(qū)時(shí)間的調(diào)節(jié)功能。由于SG3525內(nèi)部集成了軟啟動(dòng)電路,因此只需要一個(gè)外接定時(shí)電容。SG3525的軟啟動(dòng)接入端(引腳8)上通常接一個(gè)5 的軟啟動(dòng)電容。上電過程中,由于電容兩端的電壓不能突變,因此與軟啟動(dòng)電容接入端相連的PWM比較器反向輸入端處于低電平,PWM比較器輸出高電平。此時(shí),PWM瑣存器的輸出也為高電平,該高電平通過兩個(gè)或非門加到輸出晶體管上,使之無(wú)法導(dǎo)通。只有軟啟動(dòng)電容充電至其上的電壓使引腳8處于高電平時(shí),SG3525才開始工作。由于實(shí)際中,基準(zhǔn)電壓通常是接在誤差放大器的同相輸入端上,而輸出電壓的采樣電壓則加在誤差放大器的反相輸入端上。當(dāng)輸出電壓因輸入電壓的升高或負(fù)載的變化而升高時(shí),誤差放大器的輸出將減小,這將導(dǎo)致PWM比較器輸出為正的時(shí)間變長(zhǎng),PWM瑣存器輸出高電平的時(shí)間也變長(zhǎng),因此輸出晶體管的導(dǎo)通時(shí)間將最終變短,從而使輸出電壓回落到額定值,實(shí)現(xiàn)了穩(wěn)態(tài)。反之亦然。外接關(guān)斷信號(hào)對(duì)輸出級(jí)和軟啟動(dòng)電路都起作用。當(dāng)Shutdown(引腳10)上的信號(hào)為高電平時(shí),PWM瑣存器將立即動(dòng)作,禁止SG3525的輸出,同時(shí),軟啟動(dòng)電容將開始放電。如果該高電平持續(xù),軟啟動(dòng)電容將充分放電,直到關(guān)斷信號(hào)結(jié)束,才重新進(jìn)入軟啟動(dòng)過程。注意,Shutdown引腳不能懸空,應(yīng)通過接地電阻可靠接地,以防止外部干擾信號(hào)耦合而影SG3525的正常工作。欠電壓鎖定功能同樣作用于輸出級(jí)和軟啟動(dòng)電路。如果輸入電壓過低,在SG3525的輸出被關(guān)斷同時(shí),軟啟動(dòng)電容將開始放電。此外,SG3525還具有以下功能,即無(wú)論因?yàn)槭裁丛蛟斐蒔WM脈沖中止,輸出都將被中止,直到下一個(gè)時(shí)鐘信號(hào)到來,PWM瑣存器才被復(fù)位。
4.1.4 控制直流電機(jī)程序設(shè)計(jì)流程
圖4-5控制直流電機(jī)程序設(shè)計(jì)流程
4.2 步進(jìn)電機(jī)的控制部分
4.2.1 進(jìn)電機(jī)的驅(qū)動(dòng)電路原理
圖4-6 步進(jìn)電機(jī)驅(qū)動(dòng)電路原理
步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)可分為反應(yīng)式步進(jìn)電機(jī)(簡(jiǎn)稱VR)、永磁式步進(jìn)電機(jī)(簡(jiǎn)稱PM)和混合式步進(jìn)電機(jī)(簡(jiǎn)稱HB)。
1.步進(jìn)電機(jī)最大特點(diǎn)是:
(1)它是通過輸入脈沖信號(hào)來進(jìn)行控制的。
(2)電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定。
(3)電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。
2.步進(jìn)電機(jī)的驅(qū)動(dòng)電路
根據(jù)控制信號(hào)工作,控制信號(hào)由單片機(jī)產(chǎn)生。(或者其他信號(hào)源)
3.基本原理作用如下表:
表4-2兩相四拍工作模式時(shí)序表
步進(jìn)電機(jī)
信號(hào)輸入
第一步
第二步
第三步
第四步
返回第一步
正轉(zhuǎn)
IN1
0
1
1
1
返回
IN2
1
0
1
1
返回
IN3
1
1
0
1
返回
IN4
1
1
1
0
返回
反轉(zhuǎn)
IN1
1
1
1
0
返回
IN2
1
1
0
1
返回
IN3
1
0
1
1
返回
IN4
0
1
1
1
返回
4.控制換相順序
(1)通電換相這一過程稱為脈沖分配。
例如:
(2)兩相四線步進(jìn)電機(jī)的四拍工作方式,其各相通電順序?yàn)?A-B-A’-B’)依次循環(huán)。 (通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,B相的通斷。)
5.兩相四線步進(jìn)電機(jī)的四拍工作方式,其各相通電順序?yàn)?
(A-AB-B-BA’-A’-A’B’-B’-B’A)依次循環(huán)。(出于對(duì)力矩、平穩(wěn)、噪音及減少角度等方面考慮。往往采用八拍工作方式)
(1)控制步進(jìn)電機(jī)的轉(zhuǎn)向
如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)。如:正轉(zhuǎn)通電順序是:(A-B-A’-B’ 依次循環(huán)。)則反轉(zhuǎn)的通電順序是:(B‘-A’-B-A依次循環(huán)。)
(2)控制步進(jìn)電機(jī)的速度
如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對(duì)步進(jìn)電機(jī)進(jìn)行調(diào)速。(注意:如果脈沖頻率的速度大于了電機(jī)的反應(yīng)速度,那么步進(jìn)電機(jī)將會(huì)出現(xiàn)失步現(xiàn)象)。
4.2.2 NE555脈沖產(chǎn)生器電路
圖4-7 NE555脈沖產(chǎn)生器電路
555定時(shí)器(又稱時(shí)基電路)是一個(gè)模擬與數(shù)字混合型的集成電路。按其工藝分雙極型和CMOS型兩類,其應(yīng)用非常廣泛。
555定時(shí)器的組成和功能
下圖是555定時(shí)器內(nèi)部組成框圖。它主要由兩個(gè)高精度電壓比較器A1、A2,一個(gè)RS觸發(fā)器,一個(gè)放電三極管和三個(gè)5KΩ電阻的分壓器而構(gòu)成。
555定時(shí)器組成框圖
它的各個(gè)引腳功能如下:
1腳:外接電源負(fù)端VSS或接地,一般情況下接地。
8腳:外接電源VCC,雙極型時(shí)基電路VCC的范圍是4.5 ~ 16V,CMOS型時(shí)基電路VCC的范圍為3 ~ 18V,一般用5V。
3腳:輸出端Vo。
2腳:低觸發(fā)端。
6腳:TH高觸發(fā)端
圖4-8 555定時(shí)器組成框圖
4腳:是直接清零端。當(dāng)端接低電平,則時(shí)基電路不工作,此時(shí)不論、TH處于何電平,時(shí)基電路輸出為“0”,該端不用時(shí)應(yīng)接高電平。
5腳:VC為控制電壓端。若此端外接電壓,則可改變內(nèi)部?jī)蓚€(gè)比較器的基準(zhǔn)電壓,當(dāng)該端不用時(shí),應(yīng)將該端串入一只0.01μF電容接地,以防引入干擾。
7腳:放電端。該端與放電管集電極相連,用做定時(shí)器時(shí)電容的放電。
在1腳接地,5腳未外接電壓,兩個(gè)比較器A1、A2基準(zhǔn)電壓分別為1/3VCC,2/3VCC的情況下,555時(shí)基電路的功能表如表4—3所示。
表4-3 555定時(shí)器的功能表
清零端
高觸發(fā)端TH
低觸發(fā)端
Qn+1
放電管T
0
0
導(dǎo)通
1
0
導(dǎo)通
1
1
截止
1
Qn
不變
555定時(shí)器的應(yīng)用
1.構(gòu)成多諧振蕩器
用555定時(shí)器構(gòu)成多諧振蕩器的電路和工作波形如圖4-9所示
圖4-9 多諧振蕩器的電路和工作波形
2.多諧振蕩器電路和工作波形
接通電源后,假定Vo截止,電容C充電。充電回路是VCC—R1—R2—C—地,Vo按指數(shù)規(guī)律上升,當(dāng)Vc到2/3VCC端電平大于2/3VCC),輸出Vo翻轉(zhuǎn)為低電平。Vo是低電平,T導(dǎo)通,C放電,放電回路為C—R2—T—地,Vc按指數(shù)規(guī)律下降,當(dāng)Vc下降到1/3VCC平小于1/3VCC轉(zhuǎn)為高電平,放電管T截止,電容再次充電,如此周而復(fù)始,產(chǎn)生振蕩,經(jīng)分析可得:
輸出高電平時(shí)間
輸出低電平時(shí)間
振蕩周期
輸出方波的占空比
4.2.3 控制步進(jìn)電機(jī)的程序設(shè)計(jì)流程
圖4-10控制步進(jìn)電機(jī)程序設(shè)計(jì)流程
4.3 繼電器控制部分
4.3.1 繼電器控制部分電路原理
圖4-11繼電器控制部分電路原理圖
電路原理
此電路是四路繼電器控制原理圖,繼電器由光耦直接驅(qū)動(dòng),繼電器可控制直流24V交流110V電流10你內(nèi)的負(fù)載。當(dāng)單片機(jī)輸出低電平信號(hào)時(shí),光耦及發(fā)光二極管正向?qū)?,發(fā)光二極管亮,做信號(hào)輸出指示,光耦3、4兩管腳,導(dǎo)通,驅(qū)動(dòng)繼電器線圈吸合,帶動(dòng)繼電器觸點(diǎn),常開點(diǎn)閉合,常閉點(diǎn)斷開。圖中整流二極管的作用是需流保護(hù),主要是保護(hù)繼電器線圈。反正,當(dāng)單片機(jī)輸出高電平信號(hào)是光耦及其發(fā)光二極管截止,光耦3、4管腳截止,從而繼電器線圈不得電,而保持常態(tài)。
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
5 VB軟件設(shè)計(jì)
5.1 VB6.0軟件的介紹
Visual basic 是在Basic語(yǔ)言的基礎(chǔ)上發(fā)展起來的,因此它有Basic語(yǔ)言簡(jiǎn)單而又不貧乏的優(yōu)點(diǎn)。
1.Basic語(yǔ)言的發(fā)展歷史
Basic相對(duì)于其他的計(jì)算機(jī)編程語(yǔ)言來說,可以成為古老的編程語(yǔ)言了。它最初由美國(guó)計(jì)算機(jī)科學(xué)家John kemeny和Thomas Kurtz設(shè)計(jì),誕生于1964年,迄今為止經(jīng)歷了40多年。其間經(jīng)歷了GW-Basic、True Basic、Turbo Basic、Quick Basic C等很多版本。隨著Windows 的流行,微軟的工程師們著眼于未來在改進(jìn)Quick Basic的基礎(chǔ)上開發(fā)了Visual Basic的第一個(gè)版本。其后,Visual Basic 一發(fā)不可收拾,被世界各地的許多程序員所愛。微軟在1991年推出Visual Basic 1.0以后,于1992年、1993年、1995年、1997年、1998年接連發(fā)布了Visual Basic 2.0 、3.0、 4.0、5.0、6.0版本。
2.Visual Basic的特點(diǎn)
Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。
(1)可視化編程
與傳統(tǒng)程序化設(shè)計(jì)語(yǔ)言相比,Visual Basic提供了可視化設(shè)計(jì)工具,程序員再也不用為編寫大量的界面代碼而犯愁,取而代之的是只需要按屏幕布局的設(shè)計(jì)要求,用系統(tǒng)提供的工具,在屏幕上面畫出各種圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性之后,Visual Basic會(huì)自動(dòng)產(chǎn)生界面代碼,從而大大提高程序設(shè)計(jì)的效果。
(2)面向?qū)ο蟮某绦蛟O(shè)計(jì)
Visual Basic 4.0 以后的版本都支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,入C++又完全不一樣。在設(shè)計(jì)對(duì)象時(shí),不必編寫建立和描述每個(gè)對(duì)象的程序代碼,而是用工具把它們畫在界面上,由Visual Basic自動(dòng)生成對(duì)象的程序代碼并封裝起來。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。
(3)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
Visual Basic由于是在Quick Basic的基礎(chǔ)上發(fā)展而來的,所以具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類的邏輯思維方式,其語(yǔ)言簡(jiǎn)單易懂。
收藏