嵌入式實驗4 直流電機_第1頁
嵌入式實驗4 直流電機_第2頁
嵌入式實驗4 直流電機_第3頁
嵌入式實驗4 直流電機_第4頁
嵌入式實驗4 直流電機_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗4直流電機控制目錄9業(yè)<1^:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????32.3實驗原理32.3.1嵌入式系統(tǒng)開發(fā)的特點錯誤!未定義書簽。2.3.2嵌入式系統(tǒng)開發(fā)的流程錯誤!未定義書簽。2.3.3ADS調(diào)試嵌入式系統(tǒng)錯誤!未定義書簽。2.3.3.1嵌入式系統(tǒng)調(diào)試的方式錯誤!未定義書簽。ADS調(diào)試環(huán)境的組成錯誤!未定義書簽。2.3.33ADS命令行開發(fā)工具錯誤!未定義書簽。2.3.4利用ADS建立工程錯誤!未定義書簽。2.3.4.1碩件連接錯誤!未定義書簽。安裝調(diào)試工具(ADS1.2、H-JTAG、dnw)錯誤!未定義書簽。2.3.43編譯和鏈接工程錯誤!未定義書簽。23.4.4AXD調(diào)試下載錯誤!未定義書簽。2.4.5驅(qū)動程序開發(fā)34.1實驗?zāi)康模毫私庹莆帐褂肞WM方式控制直流電機的轉(zhuǎn)動速度。4.2實驗要求:使用S3C2410A的TOUT2II輸出PWM信號控制直流電機,實現(xiàn)二級調(diào)速控制。通過從串口接收字符來改變當(dāng)前電機的速度級別。4.3實驗原理脈沖寬度調(diào)制(PulseWidthModulation,PWM)脈沖寬度調(diào)制,簡稱脈寬調(diào)制。它是利用微處理器的數(shù)字輸岀來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用于測量,通信,功率控制與變換等許多領(lǐng)域。PWM是一種模擬控制方式,它根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定。PWM是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。PWM晶體管的導(dǎo)通時間也被稱為導(dǎo)通角a,若改變調(diào)制晶體管的開與關(guān)的時間,也就是說通過改變導(dǎo)通角a的人小,如圖所示,來改變加在負載上的平均電壓的大小,以實現(xiàn)對電動機的變速控制,稱為脈寬調(diào)制(PWM)變速控制。PWM定時器(PWMTimer)S3C2410有5個16位定時器,其中定時器0,1,2,3具有脈沖寬度調(diào)制((PWM)功能,定時器4具有內(nèi)部定時作用,但是沒有輸出引腳。定時器0具有死區(qū)生成器,可以控制大電流設(shè)備。定時器T0和T1共用一個8位預(yù)分頻器,定時器T2,T3和T4共用另一個8位預(yù)分頻器,每個定時器都有一個時鐘分頻器,信號分頻輸出有5種模式(1/2、1/4、1/8、1/16和外部時鐘TCLK)0定時器結(jié)構(gòu)框圖請參看下圖。

信號來自于8位預(yù)分頻器。可編程8位預(yù)分頻器根據(jù)存儲在TCFGO和TCFG1中的數(shù)據(jù)對PCLK進行預(yù)分頻。分頻器功能見下表。4-bltdividersettingsMinimumresolution(prescaler=0)Maximumresolution(prescaler=255)MaximumInterval(TCNTBn=65535)1/2(PCLK=50MHz)0.0400US(25.0000MHz)10.2400US(97.6562KHz)0.6710sec1/4(PCLK=50MHz)0.0800US(12.5000MHz)20.4800US(48.8281KHz)1.3421sec1/8(PCLK=50MHz)0.1600us(6.2500MHz)409601us(244140KHz)26843sec1/16(PCLK二50MHz)0.3200us(3.1250MHz)819188us(122070KHz)53686sec分頻器功能當(dāng)時鐘彼允許后,定時器計數(shù)緩沖寄存器(CTNTBn)把計數(shù)初值卜?載到減法計數(shù)器中。定時器比較緩沖寄存器(CNIPBn)把初始值下載到比較寄存器中,來和減法計數(shù)器的值比較。這種CTNTBn和CMPEn雙緩沖寄存器特性能使定時器產(chǎn)生穩(wěn)定的輸出,且占空比可變。每一個定時器都有一個自己的用定時器時鐘驅(qū)動的16位減法計數(shù)器。當(dāng)減法計數(shù)器減到0時,就會產(chǎn)生一個定時器中斷來通知CPU,定時器操作完成。當(dāng)定時器減法計數(shù)器減到0時,相應(yīng)的TCNTBn的值被自動重載到減法計數(shù)器中繼續(xù)下次操作。然而,如果定時器停止了,比如在運行時通過清除TCON中定時器使能位來中止定時器的運行,則TCNTBn的值不會被重載到減法計數(shù)器中。TCMPBn的值用于脈沖寬度調(diào)制(PWM)。當(dāng)定時器的減法計數(shù)器的值和TCMPBn的值相匹配時,定時器輸出改變輸出電平。因此,比較寄存器決定了PWM輸出的開關(guān)時間。定時器具體操作時序下圖所示。定時器操作時序圖PWMTimer特性5個16位定時器;2個8位預(yù)分頻器和2個4位分頻器:■可編程PWM輸出占空比;■自動重載模式或者單個脈沖輸出模式;■具有死區(qū)生成器:■自動重載與雙緩沖。S3C2410定時器具有雙緩沖功能,能在不中止當(dāng)前定時器運行的情況下,重載下次定時器運行參數(shù),所以盡管新的定時器的值被設(shè)置好了。當(dāng)前操作仍能成功完成。定時器值可以被寫入定時器計數(shù)緩沖寄存器(TCNTBn),當(dāng)前計數(shù)器的值可以從定時器計數(shù)觀察寄存器(TCNTOn)讀出。讀出的TCNTBn值并不是當(dāng)前計數(shù)器的值,而是下次重載的計數(shù)器值。TCNTn的值等于0時,自動重載操作,把TCNTBn的值裝人TCNTn,只有當(dāng)自動重載允許并且TCNTn的值等于1時才會自動重載。如果TCNTn=0,自動重載禁止,則定時器停止運行,具體如下圖所示。

WnteWnteTCNTBn=100TCNTBn=200StartTCNTBn=150口口'Auto-reload||N?1150100100200Interrupt雙緩沖功能示例(1)使用手動更新完成定時器的初始化和倒相位:當(dāng)計數(shù)器的值減到0時會發(fā)生自動重載操作,所以TCNT11的初始值必須由用戶提前定義好,在這種情況卜?就需要手動更新啟動值。以下幾個步驟給出了更新過程:■向TCNTBn和TCMPBn寫入初始值?!鲋梦幌鄳?yīng)定時器的于?動更新位,不管是否使用倒相功能,推薦設(shè)置倒相位■啟動定時器,清除手動更新位。注意:如果定時器被強制停止,TCNTn保持原來的值;如果要設(shè)置一個新的值,必須使用手動更新位。另外,手動更新位要在定時器啟動后清除,否則不能正常運行。只要TOUT的倒相位改變,不管定時器是否處于運行狀態(tài),TOUT#會倒相,因此在手動更新時需要設(shè)置倒相位。PWMTimer操作示例;40;40[2060?144TOC\o"1-5"\h\z1;40;40[2060?144▼:50::50:1105811定時器操作示例圖Step1:允許自動重載功能,設(shè)置TCNTBn=160(50十110),TCMPEn=110。設(shè)置手動更新位和配置倒相位(開/關(guān)),手動更新位被設(shè)置后,TCNTBn和TCMP'Bn的值被自動裝人了TCNTn和TCNIPno然后,設(shè)置TCNTBn和TCMPBn分別等于80(40+40)和40。Step2:設(shè)置開始位將定時器清零并且手動更新位,取消倒相功能,允許自動重載,定時器開始啟動減法計數(shù)。Step3:當(dāng)TCNTn和TCMPn的值相等時,TOUT輸出電平由低變高。Step4:當(dāng)TCNTn的值等于0時產(chǎn)生中斷,并在下一個時鐘到來時把TCNTBn的值裝人暫存器中。Step5:在中斷服務(wù)子程序中,把80(20+60)和60分別裝入TCNTBn和TCMPE11。Step6:當(dāng)TCNTn和TC'IPn的值相等時,TOUTn輸出電平由低變高。Step7:當(dāng)TCNTn=0時,扌巴TCNTBn和TCMPBn的值分別自動裝入TCNTn和TCMPm并觸發(fā)中斷。Step&在中斷服務(wù)子程序中,禁止使用自動重載和中斷請求來中止定時器運行。Step9:當(dāng)TCNTn和TCMPn的值相等時,TOUTn輸出電平由低變高。Step10:盡管TCNTn=0,但是定時器停止運行,也不再發(fā)生自動重載操作,這是因為定時器自動重載功能被禁止。Step11:不再產(chǎn)生新的中斷。4.3.5死區(qū)生成器當(dāng)PWM控制用于電源設(shè)備時需要用到死區(qū)功能。這個功能允許在一個沒備關(guān)閉和另一個設(shè)備開啟之間插入一個時間間隔。這個時間間隔可以防止兩個設(shè)備同時被啟動。TOUT0是定時器0的PWM輸出,11TOUTO是TOUT0的倒相信號。如果死區(qū)功能被允許,TOUTO和nTOUTO的輸出波形就變成了TOUT0.DZ和NtoutO_D乙如圖11-5所示。nTOUT0_DZ在TOUT]腳上產(chǎn)生。在死區(qū)間隔內(nèi),TOUT0.DZ和nTOUT0_DZ就不會同時是高電平了。TOUTOnTOUTODeadzoneintervalDeadzoneintervalTOUTO_DZnTOUTODZ死區(qū)功能允許時功能圖4.4PWMTimer控制寄存器PCLK是Tuner的信號源,通過設(shè)置每個Timer相應(yīng)的Prescaler和ClockDivider把PCLK轉(zhuǎn)換成輸入時鐘信號傳送給各個Timer的邏輯控制單元(ControlLogic),事實上每個Timer都有一個稱為輸入時鐘頻率(TimerinputclockFrequency)的參數(shù),這個頻率就是通過PCLK,Prescaler和ClockDivider確定下來的,每個Timer的邏輯控制單元就是以這個頻率在工作。下面給出輸入時鐘頻率的公式:TimerinputclockFrequency=PCLKf{prescalervalue+1}1{dividervalue}{prescalervalue}=0-255{dividervalue}=2,4,8,16

即:fTCLK二[fPCLK/(Prescaler+1)]/分配器分頻值其中,Prescaler為預(yù)分頻值(0、255);■分配器的分頻值為2、4、8和16。Timer配置寄存器0(TCFGO)■定時器配置寄存器0(TCFGO),地址:0x51000000,如下表所列。TCFGOBitDescriptionInitialStateReserved[3124]0x00Deadzonelength[23:16]These8bitsdeterminethedeadzonelengthThe1unittimeofthedeadzonelengthisequaltothatoftimer00x00Prescaler1[15.8]These8bitsdetermineprescalervalueforTimer2,3and4.0x00Prescaler0[7:0]These8bitsdetennineprescalervalueforTimer0and1.0x00Timer配置寄存器1(TCFG1)■Timer配置寄存器1(TCFG1)地址:0x51000004,如下表所列。TCFG1BitDescriptionInitialStateReserved[31:24]00000000DMAmode[23:20]SelectDMArequestchannel0000=Noselect(allinterrupt)0001=TimerO0010=Timerl0011=Timer20100=Timer30101=Timer40110=Reserved0000MUX4[19:16]SelectMUXinputforPWMTimer4.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX3115:12]SelectMUXinputforPWMTimer3.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX2[11:8]SelectMUXinputforPWMTimer2.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX1[7:4]SelectMUXinputforPWMTimerl.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK00000MUX0[3:0]SelectMUXinputforPWMTimerO.0000-1/20001二1/40010二1/80011二1/1601xx二ExternalTCLK00000■其中MUX為多路開關(guān)。Timer減法緩沖寄存器(TCNTBn)與Timer比較緩沖寄存器(TCMPBn)定義如卜?表:寄存器讀寫狀態(tài)描述初始化狀態(tài)TCNTBnR/WTCNTBn[15:0]設(shè)置減法緩沖寄存器的值0X00000000TCMPBnR/WTCMPBn[15:0]設(shè)置比較緩沖寄存器的值0X00000000Timer控制寄存器(TCON)■定時器控制寄存器(TCON)地址:0x51000008,如下表所列。

TCONBitDescriptionInitialstateTimer4autoreloadon/off[22]Determineautoreloadon/offforTimer4.0二One-shot1二Intervalmode(autoreload)0Timer4manualupdate(咲)[21]DeterminethemanualupdateforTimer40=Nooperation1=UpdateTCNTB40Timer4start/stop[20]Determinestart/stopforTimer4.0=Stop1=StartforTimer40Timer3autoreloadon/off[19]Determineautoreloadon/offforTimer3.0=Ono-shot1=Intorvalmode(autoreload)0Timer3outputinverteron/off[18]Determineoutputinverteron/offforTimer3.0=Inverteroff1=InverteronforTOUT30Timor3manualupdateDeterminemanualupdateforTimer3.0=Nooperation1=UpdateTCNTB3&TCMPB30Timer3start/stop[16]Determinestart/stopforTimer30二Stop1=StartforTimer30Timer2autoreloadon/off[15]Determineautoreloadon/offforTimer20=One-shot1=Intervalmode(autoreload)0Timer2outputinverteron/off[14]Determineoutputinverteron/offforTimer2.0=Invertoroff1=InverteronforTOUT20Timer2manualupdate(哄)[13]DGterminethemanualupdateforTimor2.0=Nooperation1=UpdateTCNTB2&TCMPB20Timor2start/stop[12]Determinestart/stopforTimer20二Stop1二StartforTimer20Timer1autoreloadon/off[11]Determinetheautoreloadon/offforTimer1.0二One-shot1二Intervalmode(autoreload)0Timer1outputinverteron/off[10]Determinetheoutputinverteron/offforTimer10=Inverteroff1=InverteronforTOUT10Timer1manualupdate(心°)⑼DeterminethemanualupdateforTimer1.0=Nooperation1二UpdateTCNTB1&TCMPB10Timer1start/stop18]Determinestart/stopforTimer1.0=Stop1二StartforTimer10TCONBitDescriptionInitialstateReserved[7:5]ReservedDeadzoneenable[4]Determinethedeadzoneoperation.0=Disable1=Enable0Timer0autoreloadon/off⑶Determineautoreloadon/offforTimer00=One-shot1=Intervalmode(autoreload)0Timer0outputjnverieron/off⑵Determinetheoutputinverteron/'offforTimer00=Inverteroff1=InverteronforTOUTO0Timer0manualupdate(曲)[1]DeterminethemanualupdateforTimer0.0=Nooperation1=UpdateTCNTBO&TCMPBO0Timor0start/stop|0]DGterminestart/stopforTimer0.0=Stop1二StartforTimer00Timer觀察寄存器(TCNTOn)■Timer觀察寄存器(TCNTOn)地址:0x5100000C'0x5100003C,其具體描述如下表所列。寄存器讀寫狀態(tài)描述初始化狀態(tài)TCNTOnRTunern觀察寄存器0X00000000

4.5等效電4.5等效電*圖(1)如卞圖所示,左圖是一個直流電動機的PWM控制電路的等效電路。在這個等效電路中,傳送到負載(電動機)上的功率值決定于開關(guān)頻率、導(dǎo)通角度及負載電感的人小。(2)加上電壓UP,電動機儲能,電流增加,當(dāng)電源中斷時,電樞電感所儲的能量通過續(xù)流二極管VD繼續(xù)流動,而儲藏的能量呈下降的趨勢。除功率值以外,電樞電流的脈動量與電動機的轉(zhuǎn)速無關(guān),僅與開關(guān)周期、正向?qū)〞r間及電機的電磁時河常數(shù)有關(guān)。續(xù)流二極管續(xù)流二極管(3)下圖為直流電動機PWM電路的一個例子。它屬于橋式雙極模式PWM電路。電路主要由四部分組成,即三角波形成電路、脈寬調(diào)制電路、信號延遲及信號分配電路和功率電路。(4)其原理簡單敘述如下:功率電路主要由四個功率晶體管和四個續(xù)流二極管組成。四個功率晶體管分為兩組,VI與V4、V2與V3分別為一組,同一組的晶體管同時導(dǎo)通,同時關(guān)斷?;鶚O的驅(qū)動信號Ubl=Ub2,Ub3=Ub4oPWM信號延遲及信號分配電路功率電路10

PWM信號延遲及信號分配電路功率電路10在tl5—12期間,Ubl>0與Ub4>0,VI與V4導(dǎo)通,V2與V3截止,電樞電流沿回路1流通。在t2—T+tr期間,UbKO與Ub4<0,VI與V4截止,Ub2>0與Ub3>0。但此時由于電樞電感儲藏著能量,將維持電流在原來的方向上流動,此時電流沿回路2流通;經(jīng)過跨接于V2與V3上的續(xù)流二極管VD4、VD5o受二極管正向壓降的限制,V2與V3不能導(dǎo)通。?T+tl,之后,重復(fù)前面的過程。?反向運轉(zhuǎn)時,具有相似的過程。4.5實驗電路圖

?S3C2410A具有4路PWM輸出,輸出丨1分別為TOUT0?TOUT3,其中兩路帶有死區(qū)控制功能。為了能夠正確輸出PWM信號,需要正確設(shè)置GPBCON寄存器選擇相應(yīng)LO的為TOUTx功能。然后,通過TCFG0寄存器為PWM定時器時鐘源設(shè)置預(yù)分頻值,通過TCFG1寄存器選擇PWM定時器時鐘源。接著,通過TCNTBx寄存器設(shè)置PWM周期,通過TCNIPBx設(shè)置PWM占空比。最后,通過TCON寄存器啟動PWM定時器,即町輸出PWM信號。與PWM相關(guān)寄存器:TCNTB0決定了PWM的周期。TCNIPB0決定了PWM的占空比。4.7實驗內(nèi)容使用S3C2410A的TOUT2II輸出PWM信號控制直流電機,實現(xiàn)二級調(diào)速控制。通過從串「I接收字符來改變當(dāng)前電機的速度級

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論