本設計基于STM32控制直流電機加減速正反轉設計(程序+仿真+報告+講解)
仿真:proteus8.9
程序編譯器:keil 5
編程語言:C語言
編號C0011
講解視頻:
功能說明:
本設計由STM32F103、L298N電機驅動電路、按鍵電路組成。
1.通過按鍵可以控制電機,正轉、反轉、加速、減速、停止。
2.檔位分4檔,并且可以通過按鍵順序正轉、反轉、加速、減速、停止。
3.檔位可以自定義。
附贈相關論文,一份是根據(jù)實物寫的(與仿真功能基本一致)還有一份是根據(jù)仿真寫的。
開題報告
基于STM32控制直流電機加減速正反轉的Proteus仿真設計
一、課題背景和目標
在本課程大作業(yè)中,我們將設計一個基于STM32微控制器的直流電機控制系統(tǒng)。該系統(tǒng)將通過Proteus仿真軟件進行設計和驗證,實現(xiàn)電機的正轉、反轉、加速、減速和停止控制??刂葡到y(tǒng)將通過按鍵進行操作,具有4檔控制功能。
我們的目標是通過Proteus仿真設計,驗證STM32控制系統(tǒng)的可行性和有效性,加深對微控制器、電機驅動電路和按鍵電路的理解和應用。
二、研究方法
我們將采用理論分析和仿真驗證相結合的方法,首先通過Proteus軟件設計電路,然后通過編程控制實現(xiàn)所需功能。具體步驟如下:
在Proteus中設計電路:包括STM32F103微控制器、L298N電機驅動電路和按鍵電路。
編寫程序:使用C語言編寫程序,通過微控制器的GPIO口控制電機的正轉、反轉、加速、減速和停止。
仿真測試:在Proteus中運行程序,通過按鍵操作測試電機的控制功能。
三、預期結果
我們預計通過上述研究方法,能夠實現(xiàn)以下預期結果:
通過按鍵實現(xiàn)電機的正轉、反轉、加速、減速和停止控制。
具有4檔控制功能,可以通過按鍵順序實現(xiàn)正轉、反轉、加速、減速、停止的控制循環(huán)。
通過Proteus仿真,驗證STM32控制系統(tǒng)的可行性和有效性。
四、實驗安排
我們預計將用一個月的時間完成該課程大作業(yè)。前兩周將主要用于電路設計和編程,第三周進行仿真測試,第四周進行結果分析和報告撰寫。
五、實驗材料和方法
實驗材料包括:
STM32F103微控制器
L298N電機驅動電路
按鍵電路
Proteus仿真軟件
實驗方法包括:
設計電路
編寫程序
仿真測試
六、實驗步驟和數(shù)據(jù)記錄
實驗步驟如下:
在Proteus中設計電路。
使用C語言編寫程序。
在Proteus中運行程序。
通過按鍵操作測試電機的控制功能。
記錄實驗數(shù)據(jù)。
分析實驗結果。
撰寫報告。
數(shù)據(jù)記錄包括:
按鍵操作記錄:記錄按鍵操作的時間、順序和結果。
電機狀態(tài)記錄:記錄電機的狀態(tài)變化,包括正轉、反轉、加速、減速和停止。
Proteus仿真結果記錄:記錄仿真測試的結果,包括電機的狀態(tài)和控制信號的變化。
七、實驗結論與討論
在實驗結束后,我們將根據(jù)實驗數(shù)據(jù)和結果進行分析和討論,得出實驗結論??赡艿慕Y論包括:
成功實現(xiàn)電機的正轉、反轉、加速、減速和停止控制。
成功實現(xiàn)4檔控制功能。
通過Proteus仿真驗證了STM32控制系統(tǒng)的可行性和有效性。
實驗討論將包括對實驗過程中遇到的問題和困難的分析,以及未來改進的方向和建議。
仿真圖(提供源文件):
3.1系統(tǒng)的功能分析及體系結構設計
3.1.1系統(tǒng)功能分析
本設計由STM32F103R6單片機核心板電路+L298N電機驅動電路+按鍵電路+電源電路組成。
1、通過按鍵可以控制電機,正轉、反轉、加速、減速、停止。檔位分8檔。
2、按鍵順序正轉、反轉、加速、減速、停止。
3.1.2系統(tǒng)總體結構
3.2模塊電路的設計
3.2.1 STM32單片機核心電路設計
STM32系列處理器是意法半導體ST公司生產(chǎn)的一種基于ARM 7架構的32位、支持實時仿真和跟蹤的微控制器。選擇此款控制芯片是因為本系統(tǒng)設計并非追求成本的最低或更小的功耗,而是在實現(xiàn)本設計功能的前提下能夠提供更豐富的接口和功能以便于設計實驗系統(tǒng)各實驗項目所需的外圍擴展電路。此款控制芯片在完成單片機課程的學習后上手較為容易,在醫(yī)療器械中應用廣泛,具有很好的學習、實驗研究價值。
一、STM32的主要優(yōu)點:
(1)使用ARM最新的、先進架構的Cortex-M3內(nèi)核
(2) 優(yōu)異的實時性能
(3) 杰出的功耗控制
(4) 出眾及創(chuàng)新的外設
(5) 最大程度的集成整合
(6) 易于開發(fā),可使產(chǎn)品快速將進入市場
二、STM32——最佳的平臺選項
對于使用同一平臺進行多個項目開發(fā)而言,STM32是最佳的選擇:
(1) 從僅需少量的存儲空間和管腳應用到需要更多的存儲空間和管腳的應用
(2) 從苛求性能的應用到電池供電的應用
(3) 從簡單而成本敏感的應用到高端應用
(4) 全系列腳對腳、外設及軟件的高度兼容性,給您帶來全方位的靈活性。您可以在不必修改您原始框架及軟件的條件下,將您的應用升級到需要更多存儲空間或精簡到使用更少存儲空間/ 或改用不同的封裝的規(guī)格。
STM32F103C8T6單片機核心板接口電路圖如下圖所示。
3.2.2 L298N電機驅動模塊電路設計
本L298N驅動模塊,采用ST公司的L298N芯片,L298N 是一種雙H橋電機驅動芯片,其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。該模塊可以直接驅動兩路3-30V直流電機,并提供了5V輸出接口,可以給5V單片機電路系統(tǒng)供電,可以方便的控制直流電機速度和方向。
一、產(chǎn)品參數(shù):
(1)驅動芯片:L298N雙H橋驅動芯片
(2)具有二極管續(xù)流保護
(3)直流電機轉速可以通過PWM方式來實現(xiàn)控制
(4)驅動部分端子供電范圍VMS:+5V~+35V
(5)驅動部分峰值電流Io:2A/橋
(6)邏輯部分端子供電范圍Vss:4.5-5.5V
(7)邏輯部分工作電流范圍:0~36mA
(8)控制信號輸入電壓范圍:高電平4.5-5.5V 低電平0V
(9)最大功耗:20W
(10)存儲溫度:-25℃~+130℃
二、電機驅動模塊使用注意事項
(1)第一次上電時觀察綠色電源指示燈L5是否點亮,如果不亮,請立即斷電檢查電源是否接反。
(2)驅動器為功率設備,請保持工作環(huán)境的散熱通風;在連上電機后使其連續(xù)工作一段時間后觀察電機和驅動芯片的溫升正常后方可進行后續(xù)使用。
三、電機驅動模塊接口說明:
(1)電機驅動電源輸入接口:VMS接正極,GND接負極
(2)驅動器和控制端口的接口:控制直流電機時IN1、IN2和ENA為一組,它們控制電機A,接在A+和A-,如果電機A不控制,則ENA懸空即可;如果電機A控制,則ENA接一路PWM輸出。IN3、IN4和ENB為一組,他們控制電機B,接在B+和B-,如果電機B不控制,則ENB懸空即可;如果電機B控制,則ENB接一路PWM輸出。
四、直流電機控制信號真值表
以電機A為例,高電平H:低電平:L
輸入信號功能:
IN1=H;IN2=L:電機A正轉
IN1=L;IN2=H:電機A反轉
ENA=H;IN1=IN2:電機A緊急停車
ENA=L;IN1=X;IN2=X:任意電平電機A自由停車
L298電機驅動模塊性能穩(wěn)定、可靠,滿足本設計要求。其模塊接口圖如下圖所示。
L298N電機驅動模塊接口圖
L298N電機驅動模塊內(nèi)部電路原理圖如下圖所示所示。P1為總電源輸入、GND和5V直流電源輸出接口??傠娫唇?jīng)過L7805CV穩(wěn)壓芯片將高電壓降為5V,L7805CV是輸出電壓為4.75-5.25V,最大輸入電壓為35V,最大輸出電流為1.5A靜態(tài)電流為4.2-8mA的正電壓穩(wěn)壓器。C1-C4均起到濾波作用,讓電壓更將平穩(wěn)。P3和P4為電機接口。二極管D1-D8起到保護作用,防止電機產(chǎn)生的反向感應電動勢損傷L298N。P2為控制引腳,D9-D13為信號指示燈,相關電阻起到限流作用,保護LED燈。
源程序(提供源文件):
char dis0[6] = "Dir:+"; //暫存
char dis1[6] = "Dir:-"; //暫存
char dis2[16] = ""; //暫?
char dis3[] = "RUN "; //暫存?
char dis4[] = "STOP"; //暫存
unsigned char rekey = 0; //按鍵防止抖動
unsigned char contNum = 0; //循環(huán)計數(shù)
int main(void)
{
delay_init(); //延時函數(shù)初始化
// uart_init(9600); //串口初始化為115200
// uart2_init(9600) ;
TIM3_Int_Init(10, 7199); //定時器
LED_Init(); //初始化與LED連接的硬件接口
KEY_Init();
Lcd_GPIO_init();
Lcd_Init();
IN1 = 1; //方向控制
IN2 = 0;
pwmRigh = 0; //pwm調(diào)整,電機轉速調(diào)整
Lcd_Puts(0, 0, (unsigned char *)dis0);
sprintf(dis2,"SPEED:%d",pwmRigh);
Lcd_Puts(0, 1, (unsigned char *)dis2);
Lcd_Puts(8, 0, (unsigned char *)dis3);
while(1)
{
if((key1 == 0) || (key2 == 0) || (key3 == 0) || (key4 == 0) || (key5 == 0)) //檢測到按鍵按下
{
// delay_ms(1); //小抖動仿真不需要加
if(rekey == 0)
{
if(key1 == 0) //檢測是否按下
{
rekey = 1;
IN1 = 1; //方向控制
IN2 = 0;
Lcd_Puts(0, 0, (unsigned char *)dis0);
Lcd_Puts(8, 0, (unsigned char *)dis3);
}
else if(key2 == 0) //設置值鍵
{
rekey = 1;
IN1 = 0; //方向控制
IN2 = 1;
Lcd_Puts(0, 0, (unsigned char *)dis1);
Lcd_Puts(8, 0, (unsigned char *)dis3);
}
else if(key3 == 0) //設置值鍵
{
rekey = 1;
if(pwmRigh < 8)pwmRigh = pwmRigh + 2; //pwm 調(diào)速
sprintf(dis2,"SPEED:%d",pwmRigh/2);
Lcd_Puts(0, 1, (unsigned char *)dis2);
}
else if(key4 == 0) //設置值鍵
{
rekey = 1;
if(pwmRigh >= 2)pwmRigh = pwmRigh - 1; //pwm 調(diào)速
sprintf(dis2,"SPEED:%d",pwmRigh/2);
Lcd_Puts(0, 1, (unsigned char *)dis2);
}
else if(key5 == 0) //設置值鍵
{
rekey = 1;
IN1 = 0; //方向控制
IN2 = 0;
Lcd_Puts(8, 0, (unsigned char *)dis4);
}
}
}
else
{
rekey = 0; //防止重復檢測到按鍵
}
delay_ms(10);
}
}
以下為部分程序,完整程序可在下載鏈接獲?。?/p>
論文報告:
實物相關論文:
仿真相關論文:
第一章緒論
1.1課題背景及其意義
直流電機擁有有良好的起制動性能,可應用于在大范圍內(nèi)的平滑控制,也可廣泛的應用于許多需要控制或正反向的電力拖動領域中。在控制角度來看,直流控制更是交流拖動系統(tǒng)的基礎。早期的控制系統(tǒng)較大部分以模擬電路作為基礎,有運算放大器、非線性集成電路和少量數(shù)字電路等,控制系統(tǒng)的硬件部分功能比較復雜,功能比較單一,而且軟件系統(tǒng)不靈活、不好調(diào)試,不利于直流電動機控制技術發(fā)展和應用范圍。伴隨著單片機控制技術的快速發(fā)展,使得許多控制功能算法以及軟件得以完成,為直流電動機控制控制提供了更大的發(fā)展空間,并使系統(tǒng)達到更高的性能。采用單片機構成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率。
傳統(tǒng)的控制系統(tǒng)采用模擬元件,雖然滿足了生產(chǎn)要求,但由于元件易老化和使用時容易受到干擾影響,并且線路很復雜,控制效果受到器件性能、溫度等因素的影響,故系統(tǒng)的運行可靠性及準確性得不到保證,甚至出現(xiàn)事故。
目前,直流電動機控制系統(tǒng)數(shù)字化已經(jīng)走向實用化,伴隨著電子技術的高度發(fā)展,促使直流電機控制逐步從模擬化向數(shù)字化轉變,特別是單片機技術的應用,使直流電機控制技術又進入到一個新的階段,智能化、高可靠性已成為它發(fā)展的趨勢。因此實現(xiàn)直流無級控制對我們社會生產(chǎn)和生活有著重大的意義。
1.2 國內(nèi)外的研究狀況
直流電動機具有良好的起動、制動性能,宜于在大范圍內(nèi)平滑控制,在許多需要控制或快速正反向的電力拖動領域中得到了廣泛的應用。從控制的角度來看,直流控制還是交流拖動系統(tǒng)的基礎。早期直流電動機的控制均以模擬電路為基礎,采用運算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試困難,阻礙了直流電動機控制技術的發(fā)展和應用范圍的推廣。隨著單片機技術的日新月異,使得許多控制功能及算法可以采用軟件技術來完成,為直流電動機的控制提供了更大的靈活性,并使系統(tǒng)能達到更高的性能。采用單片機構成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率。
在實際應用中,電動機作為把電能轉換為機械能的主要設備,一是要具有較高的能量轉換效率;二是應能根據(jù)生產(chǎn)工藝的要求調(diào)整轉速。電動機的控制性能如何對提高產(chǎn)品質(zhì)量、提高勞動生產(chǎn)率和節(jié)省電能有著直接的決定性影響。因此,控制技術一直是研究的熱點。
直流電動機在冶金、礦山、化工、交通、機械、紡織、航空等領域中已經(jīng)得 到廣泛的應用。而以往直流電動機的控制只是簡單的控制,很難進行控制,不能 實現(xiàn)智能化。傳統(tǒng)的控制系統(tǒng)采用模擬元件,雖在一定程度上滿足了生產(chǎn)要求,但是因為元件容易老化和在使用中易受外界干擾影響,并且線路復雜、通用性差,控制效果受到器件性能、溫度等因素的影響,故系統(tǒng)的運行可靠性及準確性得不到保證,甚至出現(xiàn)事故。如今,直流電動機的控制控制已經(jīng)離不開單片機的支持,單片機應用技術的飛速發(fā)展促進了自動控制技術的發(fā)展,使人類社會步入了自動化時代,單片機應用技術與其他學科領域交叉融合,促進了學科發(fā)展和專業(yè)更新,引發(fā)了新興交叉學科與技術的不斷涌現(xiàn)?,F(xiàn)代科學技術的飛速發(fā)展,改變了世界,也改變了人類的生活。由于單片機的體積小、重量輕、功能強、抗干擾能力強、控制靈活、應用方便、價格低廉等特點,計算機性能的不斷提高,單片機的應也更加廣泛特別是在各種領域的控制、自動化等方面。
目前,直流電動機控制系統(tǒng)數(shù)字化已經(jīng)走向實用化,伴隨著電子技術的高度發(fā)展,促使直流電機控制逐步從模擬化向數(shù)字化轉變,特別是單片機技術的應用,使直流電機控制技術又進入到一個新的階段,智能化、高可靠性已成為它發(fā)展的趨勢。
近年來,隨著科技的進步,電力電子技術得到了迅速的發(fā)展,直流電機得到了越來越廣泛的應用。直流它具有優(yōu)良的控制特性,控制平滑、方便,控制范圍廣;過載能力大,能承受頻繁的沖擊負載,可實現(xiàn)頻繁的無級快速起動、制動和反轉。
1.3本文的主要研究內(nèi)容及論文結構安排
第1章.主要介紹本設計的課題背景及國內(nèi)外研究狀況;
第2章.主要說明系統(tǒng)方案的選擇;
第3章.主要介紹硬件電路的組成及使用方法;
第4章.主要介紹軟件設計;
第5章.主要介紹硬件調(diào)試;
資料清單如下:
0.常見使用問題及解決方法–必讀?。。。?br />
1.源程序
2. 仿真
3. 論文報告
4.講解視頻
5.功能要求
Altium Designer 軟件資料
KEIL軟件資料
L298N的詳細資料.doc
Proteus軟件資料
單片機學習資料
目錄清單.txt
答辯技巧
設計報告常用描述
鼠標雙擊打開查找更多51 STM32單片機課程畢業(yè)設計.url
資料百度網(wǎng)盤下載鏈接