Transcript 下載/瀏覽
第 七 章 直流馬達控制實習 VHDL數位電路實習與專題設計 文魁資訊-P8127 第七章 直流馬達控制實習 單元10-1 PWM脈寬調變實習 實驗目的 瞭解直流馬達之驅動與PWM脈寬調變的控制方法 VHDL數位電路實習與專題設計 2 第七章 直流馬達控制實習 相關知識 直流馬達之驅動 直流馬達為兩個輸入的驅動界面,一般稱為 MOTOR 與 MOTOR ,與步進馬達不同,一般直流馬達的驅動 方式有兩種 : 電壓驅動:兩極的電壓差越大轉速越快,電壓差越小轉速越慢 電流驅動:兩極的電流量越大扭力越強,電流量越小扭力越弱 本章節以介紹如何控制直流馬達的轉速與轉向為主 可是我們CPLD只有數位訊號輸出,要怎麼產生不同電 壓差的類比訊號呢?以下我們介紹PWM脈寬調變電路 控制技術 VHDL數位電路實習與專題設計 3 第七章 直流馬達控制實習 相關知識 PWM脈寬調變 PWM是Pulse Width Modulation的縮寫,就是調整脈波 寬度的意思 工作率示意圖 工作率 tH t H tH tL T tH tL 5V 0V T tH tL VHDL數位電路實習與專題設計 4 第七章 直流馬達控制實習 相關知識 若我們的高準位是5V電源電壓,低準位是0V電壓, 則我們可以得到的平均電壓為 平均電壓 工作率 電源電壓 t H 5V T PWM示意圖 5V 5V 0.2 1V 0V 5V 5V 0.4 2 V 0V 5V 5V 0.8 4V 0V VHDL數位電路實習與專題設計 5 第七章 直流馬達控制實習 相關知識 PWM產生器方塊圖 A CLK 計數器 B 比較器 PWM 比較器之VHDL語法:PWM <= '1' when A > B else '0'; VHDL數位電路實習與專題設計 6 第七章 直流馬達控制實習 相關知識 計數器採下數計數器與上數計數器的兩種PWM訊號 B B A A PWM PWM VHDL數位電路實習與專題設計 7 第七章 直流馬達控制實習 實驗功能 利用指撥開關來產生不同的PWM訊號以得到不同 的電壓值,我們將輸出驅動LED,以觀察LED的 明亮差異 VHDL數位電路實習與專題設計 8 第七章 直流馬達控制實習 實驗電路圖 PWM實習電路圖 V CC V CC SW DIP-8 PWM 4 CLOCK 43 I/O I/GCLK1 I/O I/O I/O I/O I/O I/O I/O I/O 29 31 33 34 36 1 44 2 A0 A1 A2 A3 A4 A5 A6 A7 EPM7064S/LCC44 VHDL數位電路實習與專題設計 9 第七章 直流馬達控制實習 PWM實習程式碼 1 ------------------------------------------------------------------2 --實驗名稱:PWM實習 3 --檔案名稱:pwm.vhd 4 --功 能:以指撥開關來調整PWM訊號輸出 5 --日 期:2003.8.8 6 ------------------------------------------------------------------7 library ieee; 8 use ieee.std_logic_1164.all; 9 use ieee.std_logic_arith.all; 10 use ieee.std_logic_unsigned.all; 11 12 entity pwm is 13 port( 14 clk :in std_logic; --系統頻率 15 A :in std_logic_vector(7 downto 0); 16 pwm :out std_logic 17 ); 18 end pwm; 19 20 architecture a of pwm is 21 signal B: std_logic_vector(7 downto 0); 22 begin 23 24 ----- 下數計數器 ----25 process(clk) 26 begin 27 if clk'event and clk='1' then 28 B <= B-1; 29 end if; 30 end process; 31 32 ----- 比較器 ----33 pwm<='1' when A > B else '0'; 34 end a; VHDL數位電路實習與專題設計 10 第七章 直流馬達控制實習 功能模擬與CPLD下載驗證 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 11 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 PWM實習腳位配置圖 輸入 腳位 輸出 腳位 clk 43 pwm 4(LED1) A0 29(DIP1) A1 31(DIP2) A2 33(DIP3) A3 34(DIP4) A4 36(DIP5) A5 1(DIP6) A6 44(DIP7) A7 2(DIP8) 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 12 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 FPT-3實驗板元件規劃 PWM A 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 13 第七章 直流馬達控制實習 燒錄於力浦電子LP-2900實驗板 由於LP-2900實驗板上之L1 LED燈示為HI啟動,而Pin141為LED的陰極共點 端,在使用上我們將該腳位連接VCC才能驅動LED。因此我們可以利用 Graphic Editor呼叫pwm.sym元件,並將主程式電路圖重新更改如下 (pwm_lp2900.gdf) pwm PIN_55 PIN_63 PIN_62 PIN_60 PIN_59 PIN_51 PIN_49 PIN_48 PIN_47 CLK A[7..0] INPUT VCC INPUT VCC 陳慶逸、林昱翰編著---文魁資訊 clk OUTPUT pwm PWM PIN_7 A[7..0] inst 7 VCC OUTPUT LED_COM PIN_141 VHDL數位電路實習與專題設計 14 第七章 直流馬達控制實習 燒錄於力浦電子LP-2900實驗板 PWM實習腳位配置表 輸入 腳位 輸出 腳位 CLK 55 PWM 7(LED1) A0 47(SW1) LED_COM 141 A1 48(SW2) A2 49(SW3) A3 51(SW4) A4 59(SW5) A5 60(SW6) A6 62(SW7) A7 63(SW8) 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 15 第七章 直流馬達控制實習 燒錄於力浦電子LP-2900實驗板 LP-2900實驗板元件規劃 PWM A 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 16 第七章 直流馬達控制實習 單元10-2 直流馬達轉速與轉向控制實習 實驗目的 瞭解直流馬達驅動電路以及轉速與轉向的控制方法 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 17 第七章 直流馬達控制實習 相關知識 直流馬達之驅動電路 在本章節我們要介紹一顆可以利用信號來控制的電子 開關, TOSHIBA所出的直流馬達驅動器TA7291, TA7291的腳位圖如下圖所示 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 18 第七章 直流馬達控制實習 相關知識 TA7291是由四組NPN電晶體所組成的H橋構造,因此我們可藉由參考電壓 Vref腳位來作輸出至直流馬達電壓的調節。而我們所用的脈波寬度調變訊號 (PWM)即是輸出至此Vref腳位,因為當TA7291輸出為High時的電壓是以此參 考電壓為標準,輸出的High端電壓等於此參考電壓Vref,如此即可以控制馬 達的轉速 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 19 第七章 直流馬達控制實習 相關知識 在上圖中,OUT1及OUT2為連接至直流馬達的輸入端與,Vs為供應直流馬達 的電源,Vcc為邏輯電路的電源。而TA7291的H橋構造還有一主要功能,即 控制馬達的正反轉。也就是藉由TA7291的第五隻腳(IN1)及第六隻腳(IN2)的 電壓準位變化,便可控制馬達的正反轉,其邏輯組合及模式如下表所示 IN1 IN2真值表 IN1 IN2 OUT1 OUT2 模式 1 1 L L 制動 0 1 L H 正轉/反轉 1 0 H L 反轉/正轉 0 0 陳慶逸、林昱翰編著---文魁資訊 高阻抗 VHDL數位電路實習與專題設計 停止 20 第七章 直流馬達控制實習 實驗功能 以指撥開關(DIP[7:0])來設定直流馬達轉速,且以四個彈跳開關 (BTN[3:0])來選擇直流馬達驅動器的驅動模式。下表為本實驗之系統 規格表 系統規格表 信號名稱 輸入/出 CLK INPUT DIP[7:0] INPUT BTN[3] INPUT 制動 BTN[2] INPUT 正轉 BTN[1] INPUT 反轉 BTN[0] INPUT 停止 VREF OUTPUT PWM輸出 DIR[1:0] OUTPUT TA7291控制信號 陳慶逸、林昱翰編著---文魁資訊 信號 功能 系統頻率 00H ~ FFH VHDL數位電路實習與專題設計 控制速度快慢 21 第七章 直流馬達控制實習 實驗電路圖 直流馬達轉速與轉向控制實習電路圖 V CC V CC SW DIP-8 10 9 8 7 6 5 4 3 2 1 M OTOR- DIR1 DIR0 VREF 4 5 6 CLK 43 I/O I/O I/O M OTOR+ I/O I/O I/O I/O I/O I/O I/O I/O 29 31 33 34 36 1 44 2 DIP0 DIP1 DIP2 DIP3 DIP4 DIP5 DIP6 DIP7 V CC TA 7291 I/GCLK1 I/O I/O I/O I/O 37 39 40 41 BTN0 BTN1 BTN2 BTN3 EPM7064S/LCC44 SW1 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 SW2 SW3 SW4 22 第七章 直流馬達控制實習 直流馬達轉速與轉向控制實習程式碼 1 ------------------------------------------------------------------2 --實驗名稱:直流馬達轉速與轉向控制實習 3 --檔案名稱:dcmotor.vhd 4 --功 能:以指撥開關來調整直流馬達轉速,以彈跳開關控制直流馬達轉向 5 --日 期:2003.8.8 6 ------------------------------------------------------------------7 library ieee; 8 use ieee.std_logic_1164.all; 9 use ieee.std_logic_arith.all; 10 use ieee.std_logic_unsigned.all; 11 12 ntity dcmotor is 13 ort( 14 clk :in std_logic; --系統頻率 15 DIP :in std_logic_vector(7 downto 0); --指撥開關輸入 16 BTN :in std_logic_vector(3 downto 0); --彈跳開關輸入 17 VREF :out std_logic; --PWM訊號 18 DIR :out std_logic_vector(1 downto 0) --TA7291模式選擇訊號 19 ); 20 end dcmotor; 21 22 architecture a of dcmotor is 23 signal B:std_logic_vector(7 downto 0); 24 begin 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 25 26 ----- 下數計數器 ----27 process(clk) 28 begin 29 if clk'event and clk='1' then 30 B <= B-1; 31 end if; 32 end process; 33 34 ----- 比較器 ----35 VREF <= '1' when DIP > B else '0'; 36 37 ----- TA7291模式選擇 ----38 process(BTN) 39 begin 40 case BTN is 41 when "1110" => DIR <= "00"; 42 when "1101" => DIR <= "01"; 43 when "1011" => DIR <= "10"; 44 when "0111" => DIR <= "11"; 45 when others => DIR <= "00"; 46 end case; 47 end process; 48 end a; 23 第七章 直流馬達控制實習 功能模擬與CPLD下載驗證 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 24 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 直流馬達轉速與轉向控制實習腳位配置圖 輸入 腳位 輸出 腳位 CLK 43 DIR1 4(IO0) DIP0 29 DIR0 5(IO1) DIP1 31 VERF 6(IO2) DIP2 33 DIP3 34 DIP4 36 DIP5 1 DIP6 44 DIP7 2 BTN0 37(SW1) BTN1 39(SW2) BTN2 40(SW3) BTN3 41(SW4) 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 25 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 直流馬達轉速與轉向控制實驗實體圖1 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 26 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 直流馬達轉速與轉向控制 實驗實體圖2,按下SW1, 為停止模式 直流馬達轉速與轉向控制 實驗實體圖3,按下SW2, 為正轉/反轉模式 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 27 第七章 直流馬達控制實習 燒錄於力浦電子FPT-3實驗板 直流馬達轉速與轉向控制 實驗實體圖4,按下SW3, 為反轉/正轉模式 直流馬達轉速與轉向控制 實驗實體圖5,按下SW3, 為制動模式 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 28 第七章 直流馬達控制實習 燒錄於力浦電子LP-2900實驗板 此處我們選用力浦電子LP-2900實驗板上的EPF10K10TC144-4晶片型號來編譯程式, 而腳位配置如下表所示。再來將dcmotor_lp2900.sof檔下載到CPLD中做實際驗證,開 啟programmer進行程式下載;下載成功後,我們可調整SW9~SW16的指撥開關來設 定PWM訊號的大小,以SW1~SW4來控制馬達的轉向與動作。 陳慶逸、林昱翰編著---文魁資訊 輸入 腳位 輸出 腳位 CLK 55 DIR1 37 DIP0 64(SW9) DIR0 38 DIP1 65(SW10) VERF 39 DIP2 67(SW11) DIP3 68(SW12) DIP4 69(SW13) DIP5 70(SW14) DIP6 72(SW15) DIP7 73(SW16) BTN0 47(SW1) BTN1 48(SW2) BTN2 49(SW3) BTN3 51(SW4) VHDL數位電路實習與專題設計 29 第七章 直流馬達控制實習 燒錄於力浦電子LP-2900實驗板 LP-2900實驗板元件規劃 BTN0~BTN3 陳慶逸、林昱翰編著---文魁資訊 DIP0~DIP7 DIR1 DIR0 VREF VHDL數位電路實習與專題設計 30