




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上題目:步進電機正反轉及調速設計陳超渭南師范學院 物理與電氣工程系2008級電氣(1)班摘 要: 利用單片機組成的變頻調速控制器可以實現從低頻(12 Hz) 起動到50 Hz ,可以消除以往工頻50 Hz 直接起動對電機的沖擊, 延長電機的使用壽命,同時由于變頻器的輸出電壓可以自適應調節, 使負載電機可以工作在額定電壓以下,不僅節能且可延長電機的使用壽命。本設計利用Atmel公司的AT89S52單片機對步進電機的變頻調速進行開發,設計了實現所需功能的硬件電路,應用C語言進行軟件編程,并用實驗板進行演示、驗證。關鍵詞:單片機、AT89S52、變頻調速、C語言編程一、緒論1
2、.1 課題背景隨著電力電子技術的日益發展和PWM控制技術的成熟, 利用電機的轉速和輸入電源的頻率是線性關系這一原理, 將50 Hz 的交流電通過整流和逆變轉換為頻率可調的電源, 供給異步電動機, 實現調速的目的。不僅在方便經濟的基礎上有一定的優勢,同時21世紀又是一個低碳環保型社會,對變頻調速的研發具有很高的實際價值。1.2 設計任務系統控制原理圖AT89S52電源電路時鐘電路鍵盤電路LCD顯示電路步進電機驅動電路霍爾檢測電路1.3 課題意義 在相應綠色節能經濟的同時,順應21世紀低碳經濟的發展模式,本設計采用經濟、小型、環保、低功耗的單片機作為核心控制模塊,模擬變頻器工作對電機實行“變頻調速
3、”控制。采用變頻的目的在,于當前變頻調速技術已經在經濟社會,綠色環保社會,低碳節約型社會發揮著重要的最用。目前變頻調速器已全部采用了數字化技術,并且日趨小型化、高可靠性和高精度。從應用角度看,其不僅具有顯著的節電性能,而且還具有如下的優良性能:(1) 高速響應、低噪聲、大范圍、高精度平滑無級調速; (2) 體積小、重量輕、可掛墻安裝,占地面積小; (3) 保護功能完善,能自診斷顯示故障所在,維護簡便; (4) 操作方便、簡單; (5) 內設功能多,可滿足不同工藝要求; (6) 具有通用的外部接口端子,可同計算機、PLC聯機,便于實現自動控制; (7) 軟起動、軟停機,具有電流限定和轉差補償控制
4、; (8) 電動機直接在線起動,起動轉矩大,起動電流小,減小對電網和設備的沖擊,并具有轉矩提升功能,節省軟起動裝置; (9) 功率因數高,節省電容補償裝置;(10) 與鼠籠式;轉子電動機結合,使調速系統維護更加簡單經濟。 此次設計在于全方位的模仿變頻器,實現對電機的變頻調速控制。同時,對周邊輔助模塊,如:LCD顯示模塊、磁敏式傳感器工作方式以及整個系統的運行和控制銜接方式都有了更深層次的探究。是對現實工作場景的一個縮寫,為變頻調速技術提前打下了一定的基礎。1.4 本章小節本章主要介紹了課題背景、設計任務和課題意義,對單片機的優點及結構作了簡要敘述,也對本系統的應用及概況進行了說明。二、系統功能
5、及操作2.1 系統功能的確定2.1.1 基本功能 能實現對四相步進電機的簡單控制,如:電機正轉,電機反轉,電機加速以及電機減速等功能,同時對電機實時速度有一個直觀的顯示和說明。2.1.2 擴展功能 本設計在滿足其預定工作狀態下,對測速模塊和顯示模塊有了更進一步的研究和說明。它除了能正常地實現電機的常規動作之外,而且能實時顯示電機的工作狀態及轉速。2.2 系統操作說明(1)接通電源,檢查裝置周邊設備是否具有良好的工作環境(2)打開電腦及做好硬件的準備和軟件的燒寫檢查工作(3)打開Kiel編程軟件對程序進行正確編譯,并規范應用軟件正確燒如芯片內。(4)連接好外圍硬件設備,確保無漏接、錯接、亂接、無
6、接觸松動等現象(5)按照硬件電路按鈕標示進行對電機的操作(6)實驗完畢后,關斷電源,合理有序的擺放好物料2.3 本章小節 本章主要對整個系統進行了一個全方位的概括和簡要介紹,同時,對安全規范操作設備也做了一定詳細的說明。為對后續章節更好的理解有了一個實質性的認識。三、系統硬件設計實驗板介紹3.1 芯片的選擇本設計選用AT89S52芯片,它是一種低功耗、高性能CMOS 8位微控制器,具有8K(0000H1FFFH)在線系統可編程Flash存儲器。片上Flash允許程序存儲器在線編程,也適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在線系統可編程Flash,使得AT89S52為眾多嵌入式控制應
7、用系統提供靈活、高效的解決方案。3.2 實驗板電路原理圖實驗板電路結構框圖如圖3-2所示,原理電路圖(只有本設計所需部分)見附錄A。圖3-2 實驗板結構框圖3.3 功能電路分析3.3.1 時鐘電路實驗板的時鐘振蕩源電路如圖3-3所示。其中JT 為11.0592MHz 的晶振,改變兩電容CB的值即可對此晶振頻率進行調節。該電路提供單片機工作所需的振蕩頻率,計算定時器初值即需此晶振頻率,在通信時也需知道晶振頻率,以對波特率進行計算。圖 3-3 時鐘電路3.3.2 電源模塊 電源模塊為系統板上其它模塊提供5V 電源,系統板為從USB 接口獲取5V 電源,只要用相應配套的USB線從電腦主機獲取5V直流
8、電源。3.3.3 復位電路如圖3-4所示為實驗板的復位電路,當RESET 信號為低電平時,實驗板為工作狀態,當RESET信號為高電平時,實驗板為復位或下載程序狀態。由于AT89S52具有ISP 的功能,即可以通過并口線直接將程序下載到單片機內,因此, AT89S52 具有兩種狀態,下載程序狀態和運行狀態。該復位電路能實現上電自動復位,也能手動復位,一般復位時RESET應保持20毫秒以上高電平,此復位時間由接地電容控制。圖 3-4 復位電路3.3.4 鍵盤電路 設計中編者采用自做獨立鍵盤實現了對電機的遠程控制。AT08C51內設有4X4矩陣鍵盤和獨立鍵盤模塊,本設計公用到8個獨立鍵盤分別控制電機
9、的7種工作方式以及芯片的復位功能。實現了對電機正轉、反轉、剎停、停機、加速、減速和清零的有效控制,操作便宜。7位控制獨立鍵盤圖示如下:圖3-4 鍵盤電路3.3.5 LCD顯示電路LCD1602顯示模塊可以與本設計單片機AT89S52單片機直接接口,LCD1602的8位雙向數據線D0D7連接P0口的P0.0P0.7,LCD1602使能信號E連接P2口線的P2.2。LCD1602讀/寫選擇信號R/W連接P2口線的P2.1,當P2.1=0時為寫數據信號,當P2.1=1時為讀數據信號。LCD1602數據/命令選擇信號RS連接P2口線的P2口線的P2.0,當P2.0=0時為命令信號;當P2.0=1時為數
10、據信號。需要注意的是液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。 LCD1602的VCC引腳接+5電源,引腳GND接地。LCD1602顯示模塊與單片機AT89S52的接口電路如下所示:圖3-5 LCD 顯示電路3.3.6 步進電機驅動電路本設計所使用的電機驅動模塊為SGS公司的恒壓恒L298N,它屬于恒壓恒流橋式2A驅動芯片。L298是SGS公司的產品,比較常見的是15腳Multiwatt封裝的L298N,內部同樣包含4通道邏輯驅動電路。可以方便的驅動兩個直流電機,
11、或一個兩相步進電機。L298N芯片可以驅動兩個二相電機,也可以驅動一個四相電機,輸出電壓最高可達50V,可以直接通過電源來調節輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。本設計是利用來L298N芯片驅動四相五線式的步進電機,四線分別連接驅動芯片的4個輸出端口,另外2線實質可以看為1線式接+5V電源即可。相關驅動芯片的接口圖及連接圖如下圖所示:圖3-6 步進電機驅動電路3.3.7 霍爾檢測電路 霍爾傳感器的外形圖和與原理圖,如下圖所示。磁鋼用來提供霍爾能感應的磁場,當霍爾元件以切割磁力線的方式相對磁鋼運動時,在霍爾輸出端口就會有電壓輸出,所以霍爾傳感器和磁鋼需要配對使
12、用。本設計既是利用這一原理來進行對步進電機的速度測試的。 。圖3-7 霍爾檢測模塊3.4 本章小節本章主要對芯片及周邊輔助功能芯片進行了一個系統的介紹,以及它們在設計電路中所起到的作用進行了一個很好的闡釋,通過原理圖直觀的說明了其在整個設計中所起的作用。四、系統軟件設計4.1 主程序設計 整個程序進行模塊化設計,主程序只需調用相應的程序即可。主程序流程如下圖所示:主程序掃描函數顯示函數停機系統初始函數圖4-1 總設計流程圖4.2 系統中涉及的存儲器的作用4.2.1 TMR0相關的存儲器的作用與TMR0相關的存儲器有3個它們的作用如下所示:1、 定時器/計數器0TMR0用于對光電傳感器送入的脈沖
13、進行計數2、 選項寄存器OPTION_REG用于控制定時器是對下降沿信號作為T0CKI的外部時鐘源3、 中斷寄存器INTCON用與控制定時器是否溢出,是否溢出中斷4、 RA方向控制寄存器TRISA4作為定時器的外部時鐘源的輸入引腳4.2.2 芯片輸出端口功能 本設計中利用了單片機的P0、P1、P2、P3端口。其中,P0端口作用于LCD常規引腳D端口,P1端口主要用于外接獨立鍵盤的引腳輸入,P2端口總共引用了單片機的三個控制引腳P2.0、P2.1、P2.2分別對LCD的RS、RW、E控制線端口相連,P3端口P3.3主要實現外部中斷功能,實時反映霍爾傳感器的輸入信號,起到一個脈沖檢測輸入功能。同時
14、,另外四個引腳P3.4到P3.7分別引接與步進電機驅動模塊的INT腳,實現對電機的控制。4.3 子程序設計模塊 以下分別是各子程序模塊的流程圖: 開始傳感器檢測到信號?功能設置命令定時器,計數器模塊運行LCD,定時器模塊無任何反應LCD實現計數以及實時顯示電機速度等參數 是 否 圖4-2 掃描模塊流程圖 傳感器主要以電機是否受感應以脈沖的方式對電機狀態進行實時的檢測,同時將信號及時地傳給單片機核心部分進行處理。 開始接收到由單片機發來的傳感器信號? 是 否仍保持原有顯示沒有實時顯示顯示電機轉數,以及時間、頻率 圖4-3 LCD顯示模塊LCD顯示模塊在正常燒寫成功,電機尚未啟動的情況下,已實現了
15、部分功能,即顯示了字符型指示語言。當單片機接收到由霍爾傳感器傳來的脈沖信號后,單片機指示計時模塊進行對電機實時速度及工作狀態的一個很好顯示。4.4、本章小結本章著重介紹了該設計的總流程以及相關子程序的工作流程,為后續設計告成的硬件連接奠定一定的基礎。五、系統調試 該程序的功能模塊先后實現的順序為:主程序初始化函數模塊掃描函數模塊顯示函數模塊。每完成一個模塊就與前一個已完成的模塊結合起來調試,直至實現相應功能,再編寫下一模塊程序。在與主程序銜接時,主程序和各子程序也需作相應的改動,以便與子程序更好的銜接,特別是顯示子程序需作較大改動,以便對不同內容進行顯示。 程序用Keil uVision2進行
16、程序創建、錄入、編輯,用Easy 51Pro軟件進行程序的燒寫。詳細燒寫過程本設計將不做重要介紹,重點分析介紹硬件電路連接圖以及調試運行等相關動作。5.1 硬件電路的安裝與連接1、 首先檢查自己所需實驗器材是否齊全。 電路板兩塊,電焊筆一支,杜邦線數根,5V直流電源一部,4相步進電機一個,霍爾傳感器一個,獨立按鍵7個,AT89S51單片機主芯片一塊兒,LCD1602液晶顯示器一塊,L298N電機驅動一個,以及若干引線等備用輔助工具。2、 連接硬件 參考硬件原理圖,在沒有上電的情況下對硬件進行合理有序安裝。安裝過程中務必保證線無斷、松、漏、交叉等情況,確保線的有序合理接引。5.2 硬件的調試及操
17、作方法介紹5.2 1、電機正轉 啟動電源檢查AT89S51電路板是否上電上電后,按下按鍵K1即正轉按鈕電機正轉 按下K4停機按鈕 按下K7按鈕,LCD清零關斷電源 5.2.2、電機正轉情況下加、減速運行 啟動電源檢查AT89S51電路板是否上電上電后,按下按鍵K1即正轉按鈕電機正轉 按下K5加速按鈕電機加速運行繼續另一次按下,電機繼續加速按下K6按鈕電機減速按下K4停機按鈕 按下K7按鈕,LCD清零關斷電源5.2.3、電機剎停啟動電源檢查AT89S51電路板是否上電上電后,按下按鍵K1即正轉按鈕電機正轉 按下K3按鈕電機剎停需要說明的是電機的反轉與正轉的原理可謂是大同小異,在此僅簡單介紹正轉情
18、況下電機的控制方式。另外,在做實驗時請時刻注意觀察LCD的顯示。通過調節芯片板上的可調電阻,可對顯示屏的明暗程度進行調換。在做實驗的過程中請務必在所有硬件設備的額定工作電壓等其他安全規定要求下操作。系統接線電路是最為重要的部分,請務必在確保電路接法無誤的情況下在通電進行試驗。同時,遇到一些常見性的問題可以檢查以下部分:1、LCD不能實時顯示或者不能顯示解決辦法:(1)、檢查LCD是否工作正常,最好有備用 (2)、霍爾傳感器部分是否在正常有效的范圍內檢測電機轉速等參數,或者霍爾傳感器是否接好 (3)、LCD部分電壓不足,導致顯示不清晰,此時可以調解可調電阻 (4)、有效電源輸入是否正常穩定等2、
19、霍爾傳感器不能有效測速解決辦法:(1)、安裝在電機端的磁性材料是否磁性過大或者過小,可以更換檢查 (2)、霍爾傳感器有效接入端是否出現接觸不良、斷線、松接(3)、霍爾傳感器距離電機太遠,大于其有效測速距離等試驗中還會遇到許多諸如此類的問題,以上問題較為普遍。至此本設計安裝調試部分就到此為止,以上即為一般調試的常見方法。 結束語經過兩個多月的工作,基于單片機的DC5V4相步進電機的變頻調速的設計已經完成。經試驗驗證,滿足設計要求。本次設計主要涉及了單片機原理及接口技術的相關知識和C語言編程的諸多要領。設計中涉及的許多問題,更是對以前所學的知識的回顧及在過去的三年中學到知識的系統總結,這次設計對我
20、們將來的工作有很大的幫助。在此次設計中,我積極查閱資料,細心鉆研各個細節,完成了對四相步進電機的開發與調試,也讓我們明白了在設計中考慮問題應該全面。在設計中既鍛煉了我的動手能力,又學會查閱資料,提煉需要的信息。 由于本人水平有限,文中難免出現錯誤與不足之處,懇請各位老師批評指正。專心-專注-專業附錄A:實驗板原理圖附錄B:程序清單#include<AT89x52.H>#define uchar unsigned char#define uint unsigned int/LCD口線sbit E=P22;sbit RW=P21;sbit RS=P20;unsigned char dp
21、bl,dpbl_1,gw,sw,bw,sw1,gw1,t01s,t11s,js1s,js10s;unsigned char bdata myflag,b,rate,s;unsigned int bzw=0,bzw1=0,bzw2=0,bzw3=0,bzw4=0,bzw5=0,bzw6=0,bzw7=0,bzw_jia=0,bzw_jian=0,bzw11=0,bzw22=0;uchar code FFW8=0x1f,0x3f,0x2f,0x6f,0x4f,0xcf,0x8f,0x9f;uchar code REV8=0x9f,0x8f,0xcf,0x4f,0x6f,0x2f,0x3f,0x1f
22、;sbit K1=P10; /正轉sbit K2=P11; /反轉sbit K3=P12; /剎車sbit K4=P13; /停止sbit K5=P14; /加速sbit K6=P15; /減速sbit K7=P16; /清零sbit L1=P34; /電機Asbit L2=P35; /電機Bsbit L3=P36; /電機Csbit L4=P37; /電機Dvoid time0(void);void Delay1(unsigned int t);void SendCommandByte(unsigned char ch);void SendDataByte(unsigned char ch)
23、;void dispdpbl_1(void);void dispdpbl_2(void);void dispdpbl_3(void);void dispdpbl_4(void);void dispdpbl_5(void);void InitLcd(void);void Delay(unsigned int t);void delay() uchar k; uint s; k = rate; do for(s = 10 ; s >0; s-) ; while(-k); /調節轉向與速度的子程序/void motor_ffw() uchar i; for (i=0; i<8; i+)
24、/一個周期轉30度 P3 = FFWi; /取數據 delay(); /調節轉速 void motor_rev() uchar i; for (i=0; i<8; i+) /一個周期轉30度 P3 = REVi; /取數據 delay(); /調節轉速 /正轉/void motor_turn_z() if(bzw3=1) rate=b; motor_ffw(); rate-; /反轉/void motor_turn_f() if(bzw4=1) rate=b; motor_rev(); rate-; void motor_turn_t() L1=0; L2=0; L3=0; L4=1;v
25、oid motor_turn_st() L1=1; L2=1; L3=0; L4=0;void motor_turn_ql() dpbl=0x00; dpbl_1=0x00; gw=0x00; sw=0x00; bw=0x00; sw1=0x00; gw1=0x00; js1s=0x00; js10s=0x00; bzw1=0; void main(void) dpbl=0x00; dpbl_1=0x00; gw=0x00; sw=0x00; bw=0x00; sw1=0x00; gw1=0x00; js1s=0x00; js10s=0x00; b=20; P3=0x0f; InitLcd()
26、; myflag=0x00; dpbl=00; dpbl_1=000; Delay1(2); SendCommandByte(0xc0); /LCD1602第二行的入口地址 SendDataByte('T'); SendDataByte('I'); SendDataByte('M'); SendDataByte('E'); SendDataByte(':'); SendCommandByte(0x80); /LCD1602第一行的入口地址 SendDataByte('S'); SendDataByt
27、e('P'); SendDataByte('E'); SendDataByte('E'); SendDataByte('D'); SendDataByte(':'); TMOD=0x01; TH0=0xee; TL0=0x00; t01s=0xc8; TR0=1; EA=1; ET0=1; IT1=1; EX1=1; while(1) if(bzw=1&bzw1=0) dpbl_1+; bzw=0; if(dpbl_1>999) dpbl_1=000; if (K1=0) bzw2=1; /啟動計時器
28、/電機正轉/ bzw3=1; bzw4=0; bzw5=0; bzw6=0; bzw7=0; if (bzw3=1) motor_turn_z(); /電機反轉/ if (K2=0) bzw4=1; bzw3=0; bzw5=0; bzw6=0; bzw7=0; if(bzw4=1) motor_turn_f(); /電機剎停/ if (K3=0) bzw4=0; bzw3=0; bzw5=1; bzw6=0; bzw7=0; if (bzw5=1) motor_turn_st(); /電機停止/if (K4=0) bzw4=0; bzw3=0; bzw5=0; bzw6=1; bzw7=0;
29、 if (bzw6=1) motor_turn_t(); /清零/if(K7=0) bzw4=0; bzw3=0; bzw5=0; bzw6=0; bzw7=1; if(bzw7=1) motor_turn_ql(); /加速/ if(K5=0) bzw_jia=1; bzw22=0; if(bzw_jia=1&bzw11!=1) b-; bzw_jia=0; if(b=16) bzw11=1; /減速/ if(K6=0) bzw_jian=1; bzw11=0; if(bzw_jian=1&bzw22!=1) b+; bzw_jian=0; if(b=99) bzw22=1;
30、 js10s=(dpbl%100)/10)|0x30; js1s=(dpbl%10)|0x30; sw1=(100-b)%100)/10)|0x30; gw1=(100-b)%10)|0x30; dispdpbl_1(); bw=(dpbl_1/100)|0x30; sw=(dpbl_1%100)/10)|0x30; gw=(dpbl_1%10)|0x30; dispdpbl_2(); /外部中斷1服務子程序(用來對電機的轉速計數用)/void intersvrl () interrupt 3 bzw=1; /定時器T0服務子程序(用來作為時間的標準量)/void time0() interr
31、upt 1 TH0=0xee; TL0=0x00; t01s-; if(bzw2=1&t01s=0x00) t01s=0xc8; dpbl+; if(dpbl>60) dpbl=60; bzw1=1; /定時器T1服務子程序(用來顯示電機的圈數)/void Delay1(unsigned int t) / delay 40us for(;t!=0;t-) ;/=void SendCommandByte(unsigned char ch) RS=0; RW=0; P0=ch; E=1; Delay1(1); E=0; Delay1(100); /delay 40us/-void SendDataByte(unsigned char ch) RS=1; RW=0; P0=ch; E=1; Delay1(1); E=0; Delay1(100); /delay 40us/-void InitLcd(void) SendCommandByte(0x30); SendCommandByte(0x30); SendCommandByte(0x30); SendCommandByte(0x38); /設置工作方式 SendCommandByte(0x0c); /顯示狀態設置 SendCommandByte(0x01);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廠級員工安全培訓考試試題及答案培優B卷
- 2025公司項目部管理人員安全培訓考試試題及答案原創題
- 2024-2025項目部安全管理人員安全培訓考試試題及答案研優卷
- 2025年紡織品質量控制計劃
- 2025年倉庫人員績效評估與計劃
- 幼兒園環境衛生提升工作計劃
- 五年級語文期末復習計劃與考試準備
- 幼師心理素質提升分層培訓計劃
- 2025財務部門成就總結及未來工作計劃
- 鐵路車站消防施工計劃及維護措施
- 合伙經營煤炭協議書
- 醫生入職考試試題及答案
- 學校食堂安全風險管控清單
- 安徽省C20教育聯盟2025年九年級中考“功夫”卷(一)數學(原卷版+解析版)
- 家校社協同育人促進學生核心素養發展的實踐研究范文
- 磷礦反浮選操作規程
- 中華人民共和國醫療器械注冊申請表
- 醫院胸痛中心應知應會
- 1000道二年級數學口算練習題
- 收到個稅手續費返還獎勵給辦稅人員的文件-財稅實操
- 《晨會的重要性》課件
評論
0/150
提交評論