隨著時代的進步和科技的發展,電機調速系統在工農業生產、交通運輸以及日常生活中起著越來越重要的作用,因此,對電機調速的研究有著積極的意義.長期以來,直流電機被廣泛應用于調速系統中,而且一直在調速領域占居主導地位,這主要是因為直流電機不僅調速方便,而且在磁場一定的條件下,轉速和電樞電壓成正比,轉矩容易被控制;同時具有良好的起動性能,能較平滑和經濟地調節速度。因此采用直流電機調速可以得到良好的動態特性。由于直流電動機具有優良的起、制動性能,宜于在廣泛范圍內平滑調速。在軋鋼機、礦井卷機、挖掘機、金屬切削機床、造紙機、高層電梯等領域中得到廣泛應用。近年來交流調速系統發展很快,然而直流控制系統畢竟在理論上和在時間上都比較成熟,而且從反饋閉環控制的角度來看,它又是交流系統的基礎,長期以來,由于直流調速系統的性能指標優于交流調速系統。因此,直流調速系統一直在調速系統領域內占重要位置。
1.2功能 本文介紹了基于AT89C52單片機來實現最優PID控制的直流脈沖(PWM)調速系統,并且詳細論述了該系統的控制方法、結構、參數設計、程序設計等方面的問題。該系統結構簡單,調速性能好,性能價格比高,真正實現了直流調速系統的高精度控制。
本設計是基于單片機控制的PWM直流電機調速系統,系統以AT89C52單片機為核心,以2A、1000r/min小直流電機為控制對象,L298N為H橋驅動芯片實現速度、電流反饋雙閉環。采用PID控制算法,調節PWM 占空比從而控制電機兩端電壓,以達到調速的目的。用4*3鍵盤輸入有關控制信號及參數,可以實現電機的啟制動、正反轉、速度調節。并在4位LED上實時顯示輸入參數及動態轉速。
第二章 系統硬件電路的設計
2.1 系統總體設計
2.1.1 系統總體設計框圖本設計的任務是基于單片機控制的PWM直流電機調速系統,系統以單片機為核心,以小直流電機為控制對象,實現速度、電流反饋雙閉環、采用PID控制算法。方便的人機對話接口,用鍵盤輸入有關控制信號及參數,可以實現電機的啟制動、正反轉、速度調節。并在LED上實時顯示輸入參數及動態轉速。因此整個系統大致包括五部分:單片機、顯示電路、鍵盤電路、驅動電路、檢測電路!1】
根據設計任務,提出如圖2.1所示的硬件電路組成框圖。
圖2.1
2.1.2單片機的選擇及其簡介本設計選用了AT89C52單片機【2】,下面對它進行介紹。圖2.2給出了At89C52的芯片引腳結構。
at89c52單片機是美國ATMEL公司生產的低電壓,高性能CMOS 8位單片機,片內含8K bytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機數據存儲器(RAM),器件采用ATMEL公司的高密度,非易失性存儲技術生產,與標準MCS-51指令系統及8052產品引腳兼容。功能強大的at89c52單片機適合于許多較為復雜的控制應用場合。
(1)At89C52 主要性能參數
①與Mcs-51產品指令和引腳完全兼容。
②8字節可重擦寫FLASH閃速存儲器
③1000 次擦寫周期
④全靜態操作:0HZ-24MHZ
⑤三級加密程序存儲器
⑥256X8字節內部RAM
⑦32個可編程I/0口線
⑧3個16 位定時/計數器
⑨8個中斷源
⑩可編程串行UART通道、低功耗空閑和掉電模式
(2)At89C52功能特性
AT89C52 提供以下標準功能:8字節FLASH閃速存儲器,256字節內部RAM , 32個I/O口線,3個16 位定時/計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89c52可降至OHz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式?臻e方式停止CPU 的工作,但允許RAM,定時/計數器.串行通信口及中斷系統繼續工作。掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位.
圖2.2 AT89C52引腳圖
(3)At89C52部分引腳功能說明
①XTAL1:片內晶振電路反相放大器的輸入端.
②XTAL2:片內晶振電路反相放大器的輸出端。
③P0:P0口是一組8位漏極開路型雙向I/O 口,即地址/數據總線復用口。作為輸出口用時.每位能以吸收電流的方式驅動8個TTL 邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。
在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。
在FLASH中編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。
④P1口:P1 是一個帶內部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻某個引腳被外部信號拉低時會輸出一個電流。與AT89C51不同之處是,Pl.0 和P1.1還可分別作為定時/計數器2 的外部計數輸入(Pl.0/T2 )和外部觸發輸入(P1.1/T2EX) , FLASH編程和程序校驗期間,Pl接收低8位地址。
⑤P2口:P2 是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯電路。對端口P2寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。
在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執行MOvx@DPTR 指令)時,P2送出高8 位地址數據。在訪問8位地址的外部數據存儲器、如執行MOVX@RI指令)時,P2口輸出P2鎖存器的內容。
FLASH編程或校驗時,P2亦接收高位地址和一些控制信號。
⑥P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流。
P3口除了作為I/0口線外,更重要的用途是它的第二功能,如表2.1所示。
此外,P3口還接收一些用于FLASH閃速存儲器編程和程序校驗的控制信號。⑦RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。
表2.1
端口引腳 | 第二功能 |
P3.0 | RXD(串行輸入口〕 |
P3.1 | TXD(串行輸出口〕 |
P3.2 | INTO(外中斷0〕 |
P3.3 | INTO(外中斷l) |
P3.4 | TO (定時/計數器0 ) |
P3.5 | Tl (定時/計數器l ) |
P3.6 | WR(外部數據存儲器寫選通) |
P3.7 | RD(外部數據存儲器讀選通) |
⑧ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節.一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。
對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位.可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活,此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE禁止位無效。
⑨PSEN:程序儲存允許PSEN輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。
⑩EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H-FFFFH ) , EA端必須保持低電平(接地).需注意的是:如果加密位LBI被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端), CPU則執行內部程序存儲器中的指令。
flash存儲器編程時,該引腳加上+12V的編程允許電源VPP ,當然這必須是該器件是使用12V編程電壓VPP 。
(4)AT89C52特殊功能寄存器
在AT89C52片內存儲器中,80H-FFH共128個單元為特殊功能寄存器(SFE ) 。并非所有的地址都被定義,從80H-FFH共128 個字節只有一部分被定義,還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數位將不確定,而寫入的數據也將丟失。
不應將數據"1"寫入未定義的單元,由于這些單元在將來的產品中可能賦予新的功能。在這種情況下,復位后這些單元數值總是“0”。
(5)AT89C52 單片機擴展電路及分析
AT89C52 提供以下標準功能:8字節FLASH閃速存儲器,256字節內部RAM , 32個I/O口線,3個16 位定時/計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。由于AT89C52具有256字節內部RAM。 對本設計已經足夠使用,因此不需要再擴展外部數據存儲器。但本設計需外擴I/O接口,因此采用8255擴展外部I/O口。因為單片機的P0口是數據總線和低八位地址線共用的,所以需要使用地址鎖存器74HC373。由此將P0口地址送于74HC373鎖存,以便下一時刻,P0口傳送數據。
2.1.3 其他芯片簡介2.1.3.18255的簡介【3】
8255是一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口.它具有24個可編程設置的I/O口,即3組8位的I/O口,為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3).A組可設置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。圖2.3給出了8255芯片引腳結構.
8255引腳功能
① RESET:復位輸入線,當該輸入端外接高電平時,所有內部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。
圖2.3 8255引腳圖
② CS:芯片選擇信號線,當這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進行通訊;/CS=1時,8255無法與CPU做數據傳輸.
③ RD:讀信號線,當這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數據總線向CPU發送數據或狀態信息,即CPU從8255讀取信息或數據。
④ WR:寫入信號,當這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數據或控制字寫入8255。
⑤ D0~D7:三態雙向數據總線,8255與CPU數據傳送的通道,當CPU 執行輸入輸出指令時,通過它實現8位數據的讀/寫操作,控制字和狀態信息也通過數據總線傳送。
⑥ PA0~PA7:端口A輸入輸出線,一個8位的數據輸出鎖存器/緩沖器, 一個8位的數據輸入鎖存器。
⑦ PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。
⑧ PC0~PC7:端口C輸入輸出線,一個8位的數據輸出鎖存器/緩沖器, 一個8位的數據輸入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態信號輸入端口。8255 有4 個內部緩存器,分別是A 端口緩存器、B 端口緩存器、C 端口緩存器及控制緩存器。
當微電腦要讀寫8255 的內部緩存器時,必須利用A1 及A0 指定要對那一個暫器進行讀寫 動作。下表為A1、A0 配合RD、WR及CS 的控制狀態表。
表2.2
A1 | A0 | RD | WR | CS | 操作情形 |
0 | 0 | 0 | 1 | 0 | A 端口數據送到總線 |
0 | 1 | 0 | 1 | 0 | B 端口數據送到總線 |
1 | 0 | 0 | 1 | 0 | C 端口數據送到總線 |
0 | 0 | 1 | 0 | 0 | 總線數據存入A 端口 |
0 | 1 | 1 | 0 | 0 | 總線數據存入B 端口 |
1 | 0 | 1 | 0 | 0 | 總線數據存入C 端口 |
1 | 1 | 1 | 0 | 0 | 總線數據存入控制緩存器 |
× | × | × | × | 1 | 總線呈高阻抗 |
1 | 1 | 0 | 1 | 0 | 錯誤操作 |
× | × | × | 1 | 0 | 總線呈高阻抗 |
2.1.3.2 74HC373簡介【4】
373為三態輸出的八 D 透明鎖存器,共有 54/74S373 和 54/74LS373 兩種線路結構型式。
74HC373其主要電器特性的典型值如下(不同廠家具體值有差別):
型號 tPd PD
54S373/74S373 7ns 525mW
54LS373/74LS373 17ns 120mW
373 的輸出端 O0~O7 可直接與總線相連。當三態允許控制端 OE 為低電平時,O0~O7 為正常邏輯狀態,可用來驅動負載或總線。當 OE 為高電平時,O0~O7 呈高阻態,即不驅動總線,也不為總線的負載,但鎖存器內部的邏輯操作不受影響。
當鎖存允許端 LE 為高電平時,O 隨數據 D 而變。當 LE 為低電平時,O 被鎖存在已建立的數據電平。當 LE 端施密特觸發器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。
圖2.4給出了74HC373芯片引腳結構。
圖2.4 74HC373引腳圖
2.1.3.3L298N簡介【5】
L298是SGS公司的產品,比較常見的是15腳Multiwatt封裝的L298N,內部同樣包含4通道邏輯驅動電路。可以方便的驅動兩個直流電機,或一個兩相步進電機。
圖2.5是L298N內部結構圖
L298N可接受標準TTL邏輯電平信號VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達2.5 A,可驅動電感性負載。1腳和15腳下管的發射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機,如圖2.7此裝置我們選用驅動一臺電動機。5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接PWM端,控制電機的速度。表2.3是L298N功能邏輯圖。
圖2.5
表2.3
In3,In4的邏輯圖與表1.3相同。由表2.3可知EnA為低電平時,電機停止運行,當EnA為PWM時,輸入電平為一高一低,電機正或反轉。同為低電平電機停止,同為高電平電機剎停。下圖是其引腳圖:
圖2.6
圖2.7
圖2.8為采用內部集成有兩個橋式電 路的專用芯片L298所組成的電機驅動電路。驅動芯片L298是驅動二相和四相步進電機的專用芯片,我們利用它內部的 橋式電路來驅動直流電機,這種方法有一系列的優點。每一組PWM波用來控制一個電機的速度,而另外兩個I/O口可以控制電機的正反轉,控制比較簡單,電路也很簡單,一個芯片內包含有8個功率管,這樣簡化了電路的復雜性,如圖所示IOB10、IOB11控制第一個電機的方向,IOB8輸入的PWM控制第一個電機的速度;IOB12、IOB13控制第二個電機的方向,IOB9輸入的PWM控制第二個電機的速度。
圖2.8
2.1.3.4 AD574簡介【6】
AD574A 是美國模擬數字公司(Analog)推出的單片高速 12 位逐次比較型 A/D 轉換器,內置雙極性電路構成的混合集成轉換芯片,具有外接元件少,功耗低,精度高等特點,并且具有自動校零和自動極性轉換功能,只需外接少量的阻容器件即可構成一個完整的 A/D 轉換器.
AD574是一種常用的12位AD變換芯片,也可以實現8位轉換。有兩個模擬信號輸入端,分別為10V輸入端和20V輸入端,各自都既允許單極性輸入,也允許雙極性輸入。但芯片本身是單路工作,只允許一個模擬信號輸入端接入信號。它可以和16位CPU相連接,也可以和8位CPU相連接。只需要適當的改變某些控制引腳的接法。AD574可以通過簡單的三態門 、鎖存器接口與微機的系統總線相連接,也可以通過編程接口與系統總線相連接。采用查詢STS狀態可判斷變換是否完成。
AD574A主要功能特性如下:
①分辨率:12位
②非線性誤差:小于±1/2LBS或±1LBS
③轉換速率:25us
④模擬電壓輸入范圍:0—10V和0—20V,0—±5V和0—±10V兩檔四種
⑤電源電壓:±15V和5V
⑥數據輸出格式:12位/8位
⑦芯片工作模式:全速工作模式和單一工作模式
圖2.9 AD574引腳圖
AD574A的引腳結構如圖2.9。
[1]. Pin1(+V)——+5V電源輸入端。
[2]. Pin2(12/8 )——數據模式選擇端,通過此引腳可選擇數據縱線是12位或8位輸出。
[3]. Pin3(CS )——片選端。
[4]. Pin4(A0)——字節地址短周期控制端。與 端用來控制啟動轉換的方式和數據輸出格式。須注意的是, 端TTL電平不能直接+5V或0V
連接。
[5]. Pin5(R/C)——讀轉換數據控制端。
[6]. Pin6(CE)——使能端。
[7]. Pin7(V+)——正電源輸入端,輸入+15V電源。
[8]. Pin8(REF OUT)——10V基準電源電壓輸出端。
[9]. Pin9(AGND)——模擬地端。
[10]. Pin10(REF IN)——基準電源電壓輸入端。
[11]. Pin(V-)——負電源輸入端,輸入-15V電源。
[12]. Pin1(V+)——正電源輸入端,輸入+15V電源。
[13]. Pin13(10V IN)——10V量程模擬電壓輸入端。
[14]. Pin14(20V IN)——20V量程模擬電壓輸入端。
[15]. Pin15(DGND)——數字地端。
[16]. Pin16—Pin27(DB0—DB11)——12條數據總線。通過這12條數據總線向外輸出A/D轉換數據。
[17]. Pin28(STS)——工作狀態指示信號端,當STS=1時,表示轉換器正處于轉換狀態,當STS=0時,聲明A/D轉換結束,通過此信號可以判別A/D轉換器的工作狀態,作為單片機的中斷或查詢信號之用。
AD574工作時序的控制功能狀態表。
表 2.4
2.1.3.5 LF398簡介
LF398是一種反饋型采樣保持放大器,也是目前較為流行的通用型采樣保持放大器。與LF398結構相同的還有LF198/LF298等,都是由場效應管構成,具有采樣速度高,保持電壓下降慢和精度高等特點。
當作為單一放大器時,LF398直流增益精度為0.002%,采樣時間小于6us時精度可達0.01%;輸入偏置電壓的調整只需在偏置端(2腳)調整即可,并且在不降低偏置電流的情況下,帶寬允許1MHz,其主要技術指標有:
1、工作電壓:+5--+18V
2、采樣時間:<10us
3、可與TTL、PMOS、CMOS兼容
4、當保持電容為0.01uF時,典型保持步長為0.5mV
5、低輸入漂移,保持狀態下輸入特性不變
6、在采樣或保持狀態時高電源抑制
下圖為集成采樣/保持器--LF398引腳圖。
圖2.10 LF398引腳圖 圖2.11 CS3020外形圖
2.1.3.6 3020T簡介
霍爾傳感器【7】是對磁敏感的傳感元件,常用于開關信號采集的有CS3020、CS3040等,這種傳感器是一個3端器件,外形與三極管相似,只要接上電源、地,即可工作,輸出通常是集電極開路(OC)門輸出,工作電壓范圍寬,使用非常方便。如圖2.11所示是CS3020的外形圖,將有字面對準自己,三根腳從左右
分別是Vcc,地,輸出。
使用霍爾傳感器獲得脈沖信號,其機械結構也可以做得較為簡單,只要在轉軸的圓周上粘上一粒磁鋼,讓霍爾開關靠近磁鋼,就有信號輸出,轉軸旋轉時,就會不斷地產生脈沖信號輸出。如果在圓周上粘上多粒磁鋼,可以[url=]實現[/url]旋轉一周,獲得多個脈沖輸出。在粘磁鋼時要注意,霍爾傳感器對磁場方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。
這種傳感器不怕灰塵、油污,在工業現場應用廣泛。
2.1.3.7 CS040G簡介
CS040G系列霍爾電流傳感器
應用霍爾效應開環原理的電流傳感器,能在電隔離條件下測量直流、交流、脈沖以及各種不規則波形的電流。
結構參數(mm):
圖2.12
引腳說明:
1:+ 15V
2:0V(電源地)
3:Vout
4:-15V
表2.5結構參數
| 型號 | CS010G | CS020G | CS030G | CS040G |
|
IPN | 原邊額定輸入電流 | 10 | 20 | 30 | 40 | A |
IP | 原邊電流測量范圍 | 0~±20 | 0~±40 | 0~±60 | 0~±80 | A |
VSN | 副邊額定輸出電壓 | 1±1% | V |
VC | 電源電壓 | ±12~±15(±5%) | V |
IC | 電流消耗 | VC=±15V < 20 | mA |
Vd | 絕緣電壓 | 在原邊與副邊電路之間2 .5KV有效值/50Hz/1分鐘 |
|
εL | 線性度 | ≤1 | %FS |
V0 | 零點失調電壓 | TA=25℃ <±30 | mV |
VOM | 磁失調電壓 | IPN→0 <±20 | mV |
VOT | 失調電壓溫漂 | IPN=0 TA=–25~+85℃ < ±1 | mV/℃ |
Tr | 響應時間 | ≤3 | μs |
f | 頻帶寬度(-3dB) | DC~20 | kHz |
TA | 工作環境溫度 | –25~+85 | ℃ |
TS | 貯存環境溫度 | –40~+100 | ℃ |
RL | 負載電阻 | TA=25℃ ≥10K | Ω |
使用說明
1.傳感器按結構圖說明接線,當待測電流從傳感器穿芯孔中穿入,即可從輸出端測得與被測電流一一對應的電壓值。(注:錯誤的接線可能導致傳感器的損壞)
2.根據用戶需求定制不同額定輸入電流和輸出電壓的傳感器。
3.傳感器的輸出幅度可根據用戶需要進行適當調整。
2.2 PWM信號發生電路設計2.2.1 PWM的基本原理直流電機脈沖寬度調制(Pulse Width Modulation-簡稱PWM)【8】調速產生于20 世紀70 年代中期,最早用于自動跟蹤天文望遠鏡、自動記錄儀表等的驅動,后來由于晶體管器件水平的提高及電路技術的發展, PWM 技術得到了高速發展,各式各樣的脈寬調速控制器,脈寬調速模塊也應運而生,許多單片機也都有了PWM輸出功能。而MCS-51 系列單片機作為應用最廣泛的單片機之一,卻沒有PWM 輸出功能,本文采用定時器配合軟件的方法實現了MCS-51單片機的PWM輸出調速功能,這對精度要求不高的場合是非常實用的。
理論基礎:
沖量相等而形狀不同的窄脈沖加在具有慣性的環節上時,其效果基本相同。沖量指窄脈沖的面積。效果基本相同,是指環節的輸出響應波形基本相同。低頻段非常接近,僅在高頻段略有差異。
圖2.13 形狀不同而沖量相同的各種窄脈沖
面積等效原理:
分別將如圖2.13所示的電壓窄脈沖加在一階慣性環節(R-L電路)上,如圖2.14a所示。其輸出電流i(t)對不同窄脈沖時的響應波形如圖2.14b所示。從波形可以看出,在i(t)的上升段,i(t)的形狀也略有不同,但其下降段則幾乎完全相同。脈沖越窄,各i(t)響應波形的差異也越小。如果周期性地施加上述脈沖,則響應i(t)也是周期性的。用傅里葉級數分解后將可看出,各i(t)在低頻段的特性將非常接近,僅在高頻段有所不同。
圖2.14 沖量相同的各種窄脈沖的響應波形
用一系列等幅不等寬的脈沖來代替一個正弦半波,正弦半波N等分,看成N個相連的脈沖序列,寬度相等,但幅值不等;用矩形脈沖代替,等幅,不等寬,中點重合,面積(沖量)相等,寬度按正弦規律變化。
SPWM波形——脈沖寬度按正弦規律變化而和正弦波等效的PWM波形。
要改變等效輸出正弦波幅值,按同一比例改變各脈沖寬度即可。
PWM電流波: 電流型逆變電路進行PWM控制,得到的就是PWM電流波。
SPWM波:等效正弦波形,還可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面積原理
2.2.2 PWM信號發生電路設計采用定時器及軟件編程輸出PWM。用單片機控制H橋芯片使之工作在占空比可調的開關狀態,精確調整電動機轉速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡單地實現轉速和方向的控制;電子開關的速度很快,穩定性也極佳,是一種廣泛采用的PWM調速技術。
本設計采用H橋驅動芯片L298N來實現PWM電機調速。
圖2.15 用PWM波代替正弦半波
2.2.3 H橋芯片的工作原理【9】
圖2.16中所示為一個典型的直流電機控制電路。電路得名于“H橋式驅動電路”是因為它的形狀酷似字母H。4個三極管組成H的4條垂直腿,而電機就是H中的橫杠(注意:圖2.16及隨后的兩個圖都只是示意圖,而不是完整的電路圖,其中三極管的驅動電路沒有畫出來)。
如圖2.16所示,H橋式電機驅動電路包括4個三極管和一個電機。要使電機運轉,必須導通對角線上的一對三極管。根據不同三極管對的導通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉向。
要使電機運轉,必須使對角線上的一對三極管導通。例如,如圖2.17所示,當Q1管和Q4管導通時,電流就從電源正極經Q1從左至右穿過電機,然后再經Q4回到電源負極。按圖中電流箭頭所示,該流向的電流將驅動電機順時針轉動。
當三極管Q1和Q4導通時,電流將從左至右流過電機,從而驅動電機按特定方向轉動(電機周圍的箭頭指示為順時針方向)。
圖2.16 H橋式電機驅動電路
圖2.17 H橋電路驅動電機順時針轉動
圖2.18所示為另一對三極管Q2和Q3導通的情況,電流將從右至左流過電機。當三極管Q2和Q3導通時,電流將從右至左流過電機,從而驅動電機沿另
一方向轉動(電機周圍的箭頭表示為逆時針方向)。
二、使能控制和方向邏輯
驅動電機時,保證H橋上兩個同側的三極管不會同時導通非常重要。如果三極管Q1和Q2同時導通,那么電流就會從正極穿過兩個三極管直接回到負極。此時,電路中除了三極管外沒有其他任何負載,因此電路上的電流就可能達到最大值(該電流僅受電源性能限制),甚至燒壞三極管。
基于上述原因,在實際驅動電路中通常要用硬件電路方便地控制三極管的開關。
圖2.18 H橋電路驅動電機逆時針轉動
圖2.19所示就是基于這種考慮的改進電路,它在基本H橋電路的基礎上增加了4個與門和2個非門。4個與門同一個“使能”導通信號相接,這樣,用這一個信號就能控制整個電路的開關。而2個非門通過提供一種方向輸人,可以保證任何時候在H橋的同側腿上都只有一個三極管能導通。(與本節前面的示意圖一樣,圖2.19所示也不是一個完整的電路圖,特別是圖中與門和三極管直接連接是不能正常工作的。)
采用以上方法,電機的運轉就只需要用三個信號控制:兩個方向信號和一個使能信號。如果DIR-L信號為0,DIR-R信號為1,并且使能信號是1,那么三極管Q1和Q4導通,電流從左至右流經電機(如圖2.20所示);如果DIR-L信號變為1,而DIR-R信號變為0,那么Q2和Q3將導通,電流則反向流過電機。
實際使用的時候,用分立件制作H橋式是很麻煩的,好在現在市面上有很多封裝好的H橋集成電路,接上電源、電機和控制信號就可以使用了,在額定的電壓、電流內使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。
圖2.19具有使能控制和方向邏輯的H橋電路
圖2.20 使能信號與方向信號的使用
2.3 主電路設計
本設計中電機兩端電樞電壓由L298提供,通過調節PWM占空比來調節L298輸出電壓即電機兩端電樞電壓。主電路設有H橋型二級管電路作為保護電路。
電源經單相整流,電容濾波、穩壓后提供本設計所需電源。穩壓器7805、7905分別提供+5V、-5V電壓,7815、7915分別提供+15V、-15V電壓。
轉速檢測的傳感器、電流檢測的傳感器都要與直流電機連接。
電源部分如圖2.21。
2.4 轉速和電流的測量本設計采用3020T和CS040G分別對電機轉速和電流進行測量。
3020T其機械結構也可以做得較為簡單,只要在轉軸的圓周上粘上一粒磁鋼,讓霍爾開關靠近磁鋼,就有信號輸出,轉軸旋轉時,就會不斷地產生脈沖信號輸出。
設計中采用定時器T0,再配以軟件計數器對脈沖進行計數。
CS040G 應用霍爾效應開環原理的電流傳感器,能在電隔離條件下測量直流、交流、脈沖以及各種不規則波形的電流。當待測電流從傳感器穿芯孔中穿入,即可從輸出端測得與被測電流一一對應的電壓值。如圖2.22。
圖2.21
圖2.22
2.5 AD轉換由于本設計只有電流信號需要進行AD轉換,因此采用單通道AD轉換芯片AD574。而電流隨著電機轉動方向的不同會有正負之分,因此AD574采用雙極性接法。AD芯片與采樣保持其的連接如下:
圖2.23
2.6顯示與鍵盤電路本設計需要4為LED來實時顯示轉速值,且當有鍵盤按下時,要給予相應的顯示,本設計采用動態顯示。
動態顯示方式:動態顯示方式是指一位一位地輪流點亮每位顯示器(稱為掃描),即每個數碼管的位選被輪流選中,多個數碼管公用一組段選,段選數據僅對位選選中的數碼管有效。對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導通電流有關,也與點亮時間和間隔時間的比例有關。通過調整電流和時間參數,可以既保證亮度,又保證顯示。若顯示器的位數不大于8位,則顯示器的公共端只需一個8位I/O口進行動態掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。
4位共陽極LED,用PNP型三極管進行驅動。8255A口的PA3到PA0分別控制4位LED的選通,PB口則進行8位筆段代碼的傳輸。
本設計采用3*4矩陣鍵盤,由8255的C口控制鍵盤,PC2到PC0作為列線,PC7到PC4作為行線。
第三章 系統軟件程序的設計
3.1 PID控制算法原理及流程圖
所謂增量式PID是指數字控制器的輸出只是控制量的增量Δku。當執行機構需要的控制量是增量,而不是位置量的絕對數值時,可以使用增量式PID控制算法進行控制。
增量式PID控制算法可以通過(式3.1)推導出。
(3.1)
由(式3.1)可以得到控制器的第k-1個采樣時刻的輸出值為:
(3.2) 將(式3.1)與(式3.2)相減并整理,就可以得到增量式PID控制算法公式為:
(3.3) 其中:
(3.4)
由(式3.3)可以看出,如果計算機控制系統采用恒定的采樣周期T,一旦確定A、B、C,只要使用前后三次測量的偏差值,就可以由(式3.3)求出控制量。
增量式PID控制算法與位置式PID算法(式3.1)相比,計算量小的多,因此在實際中得到廣泛的應用。
而位置式PID控制算法也可以通過增量式控制算法推出遞推計算公式:
(3.5) 上式就是目前在計算機控制中廣泛應用的數字遞推PID控制算法。
物理模型:
圖3.1 PID增量式控制算法原理圖
圖3.2軟件算法流程圖
在實際編程時α0、α1、α2可預先算出,存入預先固定的單元,設初值e(k-1)、e(k-2)為0。
增量式PID算法的優點(1)位置式算法每次輸出與整個過去狀態有關,計算式中要用到過去偏差的累加值,容易產生較大的積累誤差。而增量式只需計算增量,當存在計算誤差或精度不足時,對控制量計算的影響較小。
3.2 系統中部分程序的設計
3.2.1 單片機資源分配
系統設計內存分配表:
3.2.2 程序流程圖主程序包括如下三個環節:
實現各種初始化,包括設置堆棧指針、8255初始化、定時器/計數器初始化、以及開中斷、定時器/計數器啟動等。
實現顯示(按照人機對話功能顯示各種不同參數)
不斷地進行鍵掃描,判斷是否有鍵按下。如無鍵按下,則返回;若有鍵按下,則轉各鍵處理子程序。
主程序流程圖如圖3.3
系統每隔10ms對轉速、電流采樣一次,每采樣三次,進行一次數據處理。即分別對轉速、電流采樣值進行中值濾波,標度變換,之后送顯示緩存區,對轉速進行PID運算,輸出作為電流PID運算的輸入,電流PID運算的輸出用來調節PWM占空比。
中斷程序流程如圖3.4
圖3.3主程序流程圖
圖3.4 中斷程序流程圖
結論:
本次設計我做的是直流電機調速,以前也接觸過,是在實訓的實驗臺上實現。通過本次設計我了解了許多關于直流電機調速的知識,也查詢了許多的資料,并結合自己的想法完成了課題。經過學習,使我對51單片機有了更進一步的了解,對一個系統的設計要如何入手有了更加深刻的體會。在整個設計過程中,也遇到了一些問題,如PID算法、PWM占空比調節等,但經過努力都一一解決了。
本設計的任務是基于單片機控制的PWM直流電機調速系統,系統以單片機為核心,以小直流電機為控制對象,實現速度、電流反饋雙閉環、采用PID控制算法。方便的人機對話接口,用鍵盤輸入有關控制信號及參數,可以實現電機的啟制動、正反轉、速度調節。并在LED上實時顯示輸入參數及動態轉速。
我的設計是基于單片機控制的PWM直流電機調速系統,系統以AT89C52單片機為核心,以2A、1000r/min小直流電機為控制對象,以L298N為H橋驅動芯片實現速度、電流反饋雙閉環。采用PID控制算法,調節PWM 占空比從而控制電機兩端電壓,以達到調速的目的。用4*3鍵盤輸入有關控制信號及參數,可以實現電機的啟制動、正反轉、速度調節。并在4位LED上實時顯示輸入參數及動態轉速。
我用了Protel 99 se來繪制系統硬件電路圖。用實驗室現有的資源編譯了我的程序,并且通過了編譯。