步進電機指數(shù)規(guī)律升降速的單片機控制系統(tǒng)設(shè)計.rar
步進電機指數(shù)規(guī)律升降速的單片機控制系統(tǒng)設(shè)計,3.1萬字 74頁包括開題報告,任務(wù)書,設(shè)計說明書,2張cad原理圖,程序代碼摘 要從步進電機的矩-頻特性可知,啟動頻率越高,啟動轉(zhuǎn)矩越小,帶動負載的能力越差。當啟動頻率較高時,啟動時會造成失步,而停止時由于慣性作用又會發(fā)生過沖,所以在步進電機控制中必須要采取升降速控制措施。本...
該文檔為壓縮文件,包含的文件列表如下:
內(nèi)容介紹
原文檔由會員 weyue 發(fā)布
步進電機指數(shù)規(guī)律升降速的單片機控制系統(tǒng)設(shè)計
3.1萬字 74頁
包括開題報告,任務(wù)書,設(shè)計說明書,2張CAD原理圖,程序代碼
摘 要
從步進電機的矩-頻特性可知,啟動頻率越高,啟動轉(zhuǎn)矩越小,帶動負載的能力越差。當啟動頻率較高時,啟動時會造成失步,而停止時由于慣性作用又會發(fā)生過沖,所以在步進電機控制中必須要采取升降速控制措施。本文根據(jù)步進電機的動力學方程和矩-頻特性曲線建立系統(tǒng)的數(shù)學模型,采用指數(shù)規(guī)律的升降速算法,以單片機為核心對步進電機進行并行控制。系統(tǒng)的軟件設(shè)計由C51 語言編程來實現(xiàn)。并設(shè)計了檢測系統(tǒng)用于對步進電機轉(zhuǎn)速和步數(shù)的檢測。最后,本系統(tǒng)可以實現(xiàn)以下功能:在顯示器的提示下,由鍵盤輸入運行的步數(shù)和穩(wěn)定運行的速度;由各個功能鍵控制系統(tǒng)的運行,按啟動鍵后,步進電機按照輸入的步數(shù)進行走步;如在運行期間按停止鍵,則步進電機停止運行。研究表明,采用指數(shù)規(guī)律的升降速曲線將大大地提高微機控制步進電機的最高工作頻率,大大縮短所需的升降速時間。
關(guān)鍵詞:步進電機,單片機,速度控制,C51 語言
ABSTRACT
According to torque vs. speed characteristic of stepping motor, the higher startup speed is, the smaller startup torque is and then the worse the capability of driving load is. When the startup speed is higher, stepping motor will lose steps. While stopping, it will also lose steps because of inertia. So, it needs to take speed control measures on control of stepping motor. Mathematic model of the system is educed by dynamics equation and torque vs. speed characteristic of stepping motor. It adopts speed control arithmetic of exponential rule and deals with process of acceleration and deceleration via discrete method. Single-chip microcomputer that is the core of system controls stepping motor. The system is programmed by C51 language. The test system is designed to test the rotate speed and steps of stepping motor. Finally, according to the direction of LED display, running steps and speed are input by keyboard. The system’s run is controlled by functional keys. Stepping motor will run to the given steps if the “start” key is pressed. Meanwhile, stepping motor will stop if the “stop” key is pressed during its running. The research shows: the method of acceleration and deceleration via exponential rule will greatly improve the highest running frequency of stepping motor and shorten the acceleration and deceleration time.
Keywords: stepping motor; single-chip microcomputer; speed control; C51 language
目 錄
中文摘要 I
英文摘要 II
第一章 緒 論 1
第二章 系統(tǒng)工作原理和總體方案擬定 3
2.1控制方案論證與比較 3
2.1.1步進電機控制系統(tǒng)的構(gòu)成 3
2.1.2步進電機的串行和并行控制 3
2.2步進電機工作原理和動態(tài)特性分析 4
2.2.1反應(yīng)式步進電機原理 4
2.2.2 步進電機的動態(tài)特性 6
2.3步進電機升降速控制討論 7
2.3.1步進電機的失步 7
2.3.2步進電機升降速曲線的分析 8
第三章 控制系統(tǒng)的數(shù)學模型 9
3.1 步進電機升速的控制算法 9
3.2 步進電機升速過程的離散處理 11
3.3 步進電機降速過程的離散處理 12
3.4 步進電機升速過程運行參數(shù)的計算 12
第四章 控制系統(tǒng)的硬件設(shè)計 14
4.1 系統(tǒng)的硬件結(jié)構(gòu) 14
4.2 系統(tǒng)的硬件設(shè)計 15
4.2.1 微處理器及存儲器的配置 15
4.2.2 鍵盤與顯示接口電路的設(shè)計 16
4.2.3 定時和報警電路的設(shè)計 20
4.2.4步進電機的脈沖分配 21
4.2.5 擴展存儲器及擴展芯片地址的確定 24
4.3 硬件系統(tǒng)的合成及其原理圖 25
第五章 控制系統(tǒng)的軟件設(shè)計 26
5.1 軟件結(jié)構(gòu)設(shè)計 26
5.2 系統(tǒng)的程序流程 28
5.3 程序設(shè)計問題分析 38
5.3.1 程序的初始化及變量的定義 38
5.3.2 存儲類型與存儲模式的定義 39
5.3.3 編譯預處理的定義 40
5.3.4 數(shù)組查表功能 40
5.3.5 中斷服務(wù)函數(shù)的定義 41
5.3.6 有關(guān)定時器精確定時的實現(xiàn) 42
5.3.7 主函數(shù)及鍵盤與顯示功能的實現(xiàn) 43
第六章 轉(zhuǎn)速和步數(shù)檢測系統(tǒng)設(shè)計 45
6.1 光電編碼器的工作原理 45
6.2 檢測系統(tǒng)的硬件設(shè)計 45
6.3 檢測系統(tǒng)的軟件設(shè)計 47
6.3.1 檢測系統(tǒng)的流程圖 48
6.3.1 檢測系統(tǒng)程序 48
第七章 結(jié) 論 49
參考文獻 50
致 謝 51
附錄A:步進電機升速過程運行參數(shù)計算程序 52
附錄B:步進電機控制系統(tǒng)程序 55
附錄C:步進電機檢測系統(tǒng)程序 63
參 考 文 獻
[13] 童詩白,模擬電子技術(shù)基礎(chǔ),北京,清華大學電子學教研組,2002:65-68
[14] 李海波,何雪濤,步進電機升降速的離散控制,北京化工大學學報,2003,(1):1-2
[15] 陳維山,趙杰,機電系統(tǒng)計算機控制,哈爾濱,哈爾濱工業(yè)大學出版社,1999:
124-125
[16] 王昊,通用電子元器件的選用與檢測,北京,電子工業(yè)出版社,2006.1:250-256
[17] 賴麒文,8051單片機C語言開發(fā)環(huán)境實務(wù)與設(shè)計,北京,科學出版社,2002:335-336
[18] 余永權(quán),ATMEL89 系列單片機應(yīng)用技術(shù),北京,北京航天航空大學出版社,2002: 25-29
[19] 馬忠梅,籍順心,張凱,馬巖,單片機的C語言應(yīng)用程序設(shè)計,北京,北京航空航天大學出版社,1999:125-127
[20] 房小翠,單片微型計算機與機電接口技術(shù),北京,國防工業(yè)出版社,2002,269-269
[21] 王永章,杜文君,程國全,數(shù)控技術(shù),北京,高等教育出版社,2005.11:261-264
[22] 李漢軍,楊士亮,姬國慶,電機轉(zhuǎn)速的精密測量,電子儀器儀表用戶,2000,(1):15-16
附錄A:步進電機升速過程運行參數(shù)計算程序
本程序的各個窗體和模塊的代碼如下:
1.窗體 form1 下的程序代碼:
Private Sub Command1_Click()
fc = Val(Text1.Text)
H = Val(Text4.Text)
Unload Form1
Load Form3
Form3.Show
End Sub
Private Sub Command2_Click()
Unload Form1
......
附錄B:步進電機控制系統(tǒng)程序
#include/*絕對宏指令的包含語句*/
#include
#define uchar unsigned char
#define Fm 5000 /*最高連續(xù)運行頻率*/
#define Fq 750 /*帶動負載時的最高啟動頻率*/
#define PA8255 XBYTE[0x7ffc] /*定義8255A的數(shù)據(jù)口和命令口*/
#define PB8255 XBYTE[0x7ffd]
#define PC8255 XBYTE[0x7ffe]
#define COM8255 XBYTE[0x7fff]
uchar code forward[]={0x01,0x03,0x02,0x06,0x04,0x05}; /*正轉(zhuǎn)控制字*/
......
附錄C:步進電機檢測系統(tǒng)程序
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define PA8255A1 XBYTE[0xfffc]
#define PB8255A1 XBYTE[0xfffd]
#define PC8255A1 XBYTE[0xfffe]
#define COM8255A1 XBYTE[0xffff]
#define PA8255A2 XBYTE[0x7ffc]
#define PB8255A2 XBYTE[0x7ffd]
#define PC8255A2 XBYTE[0x7ffe]
#define COM8255A2 XBYTE[0x7fff]
#define P 3600 /*碼盤上的狹縫數(shù),即碼盤轉(zhuǎn)一圈時發(fā)的脈沖數(shù)*/
#define TS 10000 /*采樣大致時間*/
#define BJJ 0.75
......
3.1萬字 74頁
包括開題報告,任務(wù)書,設(shè)計說明書,2張CAD原理圖,程序代碼
摘 要
從步進電機的矩-頻特性可知,啟動頻率越高,啟動轉(zhuǎn)矩越小,帶動負載的能力越差。當啟動頻率較高時,啟動時會造成失步,而停止時由于慣性作用又會發(fā)生過沖,所以在步進電機控制中必須要采取升降速控制措施。本文根據(jù)步進電機的動力學方程和矩-頻特性曲線建立系統(tǒng)的數(shù)學模型,采用指數(shù)規(guī)律的升降速算法,以單片機為核心對步進電機進行并行控制。系統(tǒng)的軟件設(shè)計由C51 語言編程來實現(xiàn)。并設(shè)計了檢測系統(tǒng)用于對步進電機轉(zhuǎn)速和步數(shù)的檢測。最后,本系統(tǒng)可以實現(xiàn)以下功能:在顯示器的提示下,由鍵盤輸入運行的步數(shù)和穩(wěn)定運行的速度;由各個功能鍵控制系統(tǒng)的運行,按啟動鍵后,步進電機按照輸入的步數(shù)進行走步;如在運行期間按停止鍵,則步進電機停止運行。研究表明,采用指數(shù)規(guī)律的升降速曲線將大大地提高微機控制步進電機的最高工作頻率,大大縮短所需的升降速時間。
關(guān)鍵詞:步進電機,單片機,速度控制,C51 語言
ABSTRACT
According to torque vs. speed characteristic of stepping motor, the higher startup speed is, the smaller startup torque is and then the worse the capability of driving load is. When the startup speed is higher, stepping motor will lose steps. While stopping, it will also lose steps because of inertia. So, it needs to take speed control measures on control of stepping motor. Mathematic model of the system is educed by dynamics equation and torque vs. speed characteristic of stepping motor. It adopts speed control arithmetic of exponential rule and deals with process of acceleration and deceleration via discrete method. Single-chip microcomputer that is the core of system controls stepping motor. The system is programmed by C51 language. The test system is designed to test the rotate speed and steps of stepping motor. Finally, according to the direction of LED display, running steps and speed are input by keyboard. The system’s run is controlled by functional keys. Stepping motor will run to the given steps if the “start” key is pressed. Meanwhile, stepping motor will stop if the “stop” key is pressed during its running. The research shows: the method of acceleration and deceleration via exponential rule will greatly improve the highest running frequency of stepping motor and shorten the acceleration and deceleration time.
Keywords: stepping motor; single-chip microcomputer; speed control; C51 language
目 錄
中文摘要 I
英文摘要 II
第一章 緒 論 1
第二章 系統(tǒng)工作原理和總體方案擬定 3
2.1控制方案論證與比較 3
2.1.1步進電機控制系統(tǒng)的構(gòu)成 3
2.1.2步進電機的串行和并行控制 3
2.2步進電機工作原理和動態(tài)特性分析 4
2.2.1反應(yīng)式步進電機原理 4
2.2.2 步進電機的動態(tài)特性 6
2.3步進電機升降速控制討論 7
2.3.1步進電機的失步 7
2.3.2步進電機升降速曲線的分析 8
第三章 控制系統(tǒng)的數(shù)學模型 9
3.1 步進電機升速的控制算法 9
3.2 步進電機升速過程的離散處理 11
3.3 步進電機降速過程的離散處理 12
3.4 步進電機升速過程運行參數(shù)的計算 12
第四章 控制系統(tǒng)的硬件設(shè)計 14
4.1 系統(tǒng)的硬件結(jié)構(gòu) 14
4.2 系統(tǒng)的硬件設(shè)計 15
4.2.1 微處理器及存儲器的配置 15
4.2.2 鍵盤與顯示接口電路的設(shè)計 16
4.2.3 定時和報警電路的設(shè)計 20
4.2.4步進電機的脈沖分配 21
4.2.5 擴展存儲器及擴展芯片地址的確定 24
4.3 硬件系統(tǒng)的合成及其原理圖 25
第五章 控制系統(tǒng)的軟件設(shè)計 26
5.1 軟件結(jié)構(gòu)設(shè)計 26
5.2 系統(tǒng)的程序流程 28
5.3 程序設(shè)計問題分析 38
5.3.1 程序的初始化及變量的定義 38
5.3.2 存儲類型與存儲模式的定義 39
5.3.3 編譯預處理的定義 40
5.3.4 數(shù)組查表功能 40
5.3.5 中斷服務(wù)函數(shù)的定義 41
5.3.6 有關(guān)定時器精確定時的實現(xiàn) 42
5.3.7 主函數(shù)及鍵盤與顯示功能的實現(xiàn) 43
第六章 轉(zhuǎn)速和步數(shù)檢測系統(tǒng)設(shè)計 45
6.1 光電編碼器的工作原理 45
6.2 檢測系統(tǒng)的硬件設(shè)計 45
6.3 檢測系統(tǒng)的軟件設(shè)計 47
6.3.1 檢測系統(tǒng)的流程圖 48
6.3.1 檢測系統(tǒng)程序 48
第七章 結(jié) 論 49
參考文獻 50
致 謝 51
附錄A:步進電機升速過程運行參數(shù)計算程序 52
附錄B:步進電機控制系統(tǒng)程序 55
附錄C:步進電機檢測系統(tǒng)程序 63
參 考 文 獻
[13] 童詩白,模擬電子技術(shù)基礎(chǔ),北京,清華大學電子學教研組,2002:65-68
[14] 李海波,何雪濤,步進電機升降速的離散控制,北京化工大學學報,2003,(1):1-2
[15] 陳維山,趙杰,機電系統(tǒng)計算機控制,哈爾濱,哈爾濱工業(yè)大學出版社,1999:
124-125
[16] 王昊,通用電子元器件的選用與檢測,北京,電子工業(yè)出版社,2006.1:250-256
[17] 賴麒文,8051單片機C語言開發(fā)環(huán)境實務(wù)與設(shè)計,北京,科學出版社,2002:335-336
[18] 余永權(quán),ATMEL89 系列單片機應(yīng)用技術(shù),北京,北京航天航空大學出版社,2002: 25-29
[19] 馬忠梅,籍順心,張凱,馬巖,單片機的C語言應(yīng)用程序設(shè)計,北京,北京航空航天大學出版社,1999:125-127
[20] 房小翠,單片微型計算機與機電接口技術(shù),北京,國防工業(yè)出版社,2002,269-269
[21] 王永章,杜文君,程國全,數(shù)控技術(shù),北京,高等教育出版社,2005.11:261-264
[22] 李漢軍,楊士亮,姬國慶,電機轉(zhuǎn)速的精密測量,電子儀器儀表用戶,2000,(1):15-16
附錄A:步進電機升速過程運行參數(shù)計算程序
本程序的各個窗體和模塊的代碼如下:
1.窗體 form1 下的程序代碼:
Private Sub Command1_Click()
fc = Val(Text1.Text)
H = Val(Text4.Text)
Unload Form1
Load Form3
Form3.Show
End Sub
Private Sub Command2_Click()
Unload Form1
......
附錄B:步進電機控制系統(tǒng)程序
#include
#include
#define uchar unsigned char
#define Fm 5000 /*最高連續(xù)運行頻率*/
#define Fq 750 /*帶動負載時的最高啟動頻率*/
#define PA8255 XBYTE[0x7ffc] /*定義8255A的數(shù)據(jù)口和命令口*/
#define PB8255 XBYTE[0x7ffd]
#define PC8255 XBYTE[0x7ffe]
#define COM8255 XBYTE[0x7fff]
uchar code forward[]={0x01,0x03,0x02,0x06,0x04,0x05}; /*正轉(zhuǎn)控制字*/
......
附錄C:步進電機檢測系統(tǒng)程序
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define PA8255A1 XBYTE[0xfffc]
#define PB8255A1 XBYTE[0xfffd]
#define PC8255A1 XBYTE[0xfffe]
#define COM8255A1 XBYTE[0xffff]
#define PA8255A2 XBYTE[0x7ffc]
#define PB8255A2 XBYTE[0x7ffd]
#define PC8255A2 XBYTE[0x7ffe]
#define COM8255A2 XBYTE[0x7fff]
#define P 3600 /*碼盤上的狹縫數(shù),即碼盤轉(zhuǎn)一圈時發(fā)的脈沖數(shù)*/
#define TS 10000 /*采樣大致時間*/
#define BJJ 0.75
......