freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的步進電機小車控制系統(tǒng)設(shè)計_畢業(yè)設(shè)計(參考版)

2025-07-05 18:22本頁面
  

【正文】 } } 附錄Ⅱ 單片機驅(qū)動電機電路 35 附錄Ⅱ 單片機驅(qū)動電機電路 基于單片機的步進電機小車 控制 系統(tǒng)設(shè)計 36 附錄Ⅲ 外文文獻翻譯 Knowledge of the stepper motor Stepper motor is a kind of electrical pulses into angular displacement of the implementing agency. Popular little lesson: When the driver receives a step pulse signal, it will drive a stepper motor to set the direction of rotation at a fixed angle (and the step angle). You can control the number of pulses to control the angular displacement, so as to achieve accurate positioning purposes。 clk_right=~clk_right。 // m=m+1。 TL1=(65536100)%256。 move_right(15,1,1)。amp。amp。 delay(400)。ir_right==0)//右有障礙,左轉(zhuǎn) { move_left(15,1,1)。ir_mid==1amp。 } if(ir_left==1amp。 move_right(15,0,1)。amp。amp。 delay(400)。ir_right==0)//前、右有障礙,左轉(zhuǎn) { move_left(15,1,1)。ir_mid==0amp。 } if(ir_left==1amp。 move_right(15,0,1)。amp。amp。 delay(800)。ir_right==0)//左右有障礙,右轉(zhuǎn) move_left(15,0,1)。ir_mid==1amp。 } if(ir_left==0amp。 move_right(15,0,1)。amp。amp。//前左右都有障礙,右轉(zhuǎn) delay(800)。ir_right==0) //以下是三個紅外傳感器的八種狀態(tài)和對應(yīng)的運動方式 { move_left(15,0,1)。ir_mid==0amp。 while(1) { if(ir_left==0amp。 } } void main (void) { delay(10)。 //cw 控制電機正反轉(zhuǎn), 1 與 0 各代表一個方向 } if(en==1) { //en 為使能位 1:能 0:不能 en_right=1。 //speed 數(shù)值與速度成反比 請結(jié)合實際情況進行調(diào)節(jié), if(cw==1) //但速度不能無限加快因為步進電機有速度上限 { //而且速度加快是力矩會下降,容易導(dǎo)致丟步現(xiàn)象 cw_right=1。 } else { en_left=0。 } else { cw_left=0。//定時器啟動后 運動控制脈沖將一直產(chǎn)生 小車的運動方式受 cw 和 en 控制 } void move_left(uint speed_l,uchar cw,uchar en) { //speed_l 速度控制變量 cw 方向控制變量 en 使能控制變量 speed=speed_l。 TL1=(65536100)%256。 基于單片機的步進電機小車 控制 系統(tǒng)設(shè)計 32 EA=1。}} } /*******************************/ void timer1_init() { TMOD=0X10。j121。ik。//電機速度控制變量 /**************函數(shù)體 ******************************************/ void delay(unsigned int k) { unsigned int i,j。 //延時函數(shù) //////////////////變量定義 //////////////////////////////////////////////// uint n。//左電機運動函數(shù) void move_right(uint speed_r,uchar cw,uchar en)。 //中間紅外傳感器接收位 /////////////////////////函數(shù)聲明 //////////////////////////////////////// void timer1_init()。 //左側(cè)紅外傳感器接收位 sbit ir_right=P1^7。//右電機方向控制位 sbit clk_right= P1^5。//左電機脈沖控制位 sbit en_right = P1^3。//左電機使能控制位 sbit cw_left= P1^1。 n=0。 if(n==speed) { clk_left=~clk_left。 n=n+1。 } } } void timer1_serve() interrupt 3 { TH1=(65536100)/256。 move_right(15,1,1)。amp。 delay(100)。ir_right==0) { move_left(15,0,1)。 } if(ir_left==1amp。 move_right(15,1,1)。amp。 move_right(15,0,0)。amp。 timer1_init()。 } else { en_right=0。 //所以實際應(yīng)用當中應(yīng)調(diào)節(jié)到速度可力矩比較合適的數(shù)值 } //應(yīng)考慮到電池電壓,輪胎直徑等因素 else { cw_right=0。 } } void move_right(uint speed_r,uchar cw,uchar en) { //speed_r 速度控制變量 cw 方向控制變量 en 使能控制變量 speed=speed_r。 } if(en==1) { en_left=1。 if(cw==1) { cw_left=1。 TR1=1。 TH1=(65536100)/256。 ET1=1。j++) {。i++) { for(j=0。 for(i=0。//進定時器 1 中斷次數(shù)計數(shù) uint speed。//右電機運動函數(shù) void delay(unsigned int k)。 //定時器 1 初始化函數(shù) void move_left(uint speed_l,uchar cw,uchar en)。 //左側(cè)紅外傳感器接收位 sbit ir_right=P2^4。//右電機方向控制位 sbit clk_right= P1^5。//左電機脈沖控制位 sbit en_right = P1^3。//左電機使能控制位 sbit cw_left= P1^1。 n=0。 if(n==speed) { clk_left=~clk_left。 TL1=(65536100)%256。 move_right(10,1,1)。 timer1_init()。 } 附錄Ⅰ 程序清單 27 else { en_right=0。 //所以實際應(yīng)用當中應(yīng)調(diào)節(jié)到速度可力矩比較合適的數(shù)值 } //應(yīng)考慮到電池電壓,輪胎直徑等因素 else { cw_right=0。 } } void move_right(uint speed_r,uchar cw,uchar en) { //speed_r 速度控制變量 cw 方向控制變量 en 使能控制變量 speed=speed_r。 } if(en==1) { en_left=1。 if(cw==1) { cw_left=1。 TR1=1。 TH1=(65536100)/256。 ET1=1。j++) {。i++) { for(j=0。 for(i=0。//進定時器 1 中斷次數(shù)計數(shù) uint speed。//右電機運動函數(shù) void delay(unsigned int k)。 //定時 器 1 初始化函數(shù) void move_left(uint speed_l,uchar cw,uchar en)。//右電機方向控制位 sbit clk_right= P1^5。//左電機脈沖控制位 sbit en_right = P1^3。//左電機使 能控制位 sbit cw_left= P1^1。在今后的學(xué)習(xí)中,我會吸取經(jīng)驗教訓(xùn),應(yīng)用于各個地方。對機電這個專業(yè)有了更深一步的理解 ,但這只是很小一方面罷了 ,今后要繼續(xù)學(xué)習(xí)。 這次畢業(yè)設(shè)計,從最初的查閱圖書資料 ,到最后的運行 ,這中間有很多值得思考的地方。在連續(xù) 轉(zhuǎn)彎后就可以達到要求了。delay(800)是轉(zhuǎn) 180176。 小車在遇到障礙時設(shè)置了轉(zhuǎn)彎的避障方式。 表 41 電機 轉(zhuǎn)向表 傳感器 左 右 傳感器所處位置 循跡動作 傳感器輸出電平 1 1 黑 黑 前進 1 0 黑 白 左轉(zhuǎn) 0 1 白 黑 右轉(zhuǎn) 0 0 白 白 前進 避障流程圖 為了實現(xiàn)避障功能,小車上裝了三個紅外傳感器,則有三種感應(yīng)情況,如圖 42 所示。設(shè)高電平為 1,低電平為 0,電機的轉(zhuǎn)向由表 41 可知。 n=0。 第 4 章系統(tǒng)軟件設(shè)計 21 if(n==speed) { clk_left=~clk_left。 TL1=(65536100)%256。 n 或 speed 的數(shù)值越大 clk_left 與 clk_right 改變的時間間隔就會越大,電機的步與步的間隔就大,電機的旋轉(zhuǎn)速度就會變慢,反之亦然 [21]。 } } 電機 速度控制 在中斷中, n 不斷累加,當你增加到預(yù)設(shè)的數(shù)之后 clk_left 與 clk_right 就會置為高電平,就會發(fā)出一個脈沖,使兩個電機旋轉(zhuǎn)一步;或 clk_left 與 clk_right 置 為 低電平,這時電機不轉(zhuǎn)。 } if(en==1) { en_left=1。 //speed_l 速度控制變量 cw 方向控制變量 en 使能控制變量 if(cw==1) { cw_left=1。方向控制主函數(shù)如下: while(1) { move_left(10,0,1)。 開 始延 遲產(chǎn) 生 脈 沖e n 是 否 高 電 平c w 位 的 電 位c w = 1 c w = 0電 機 正 轉(zhuǎn) 電 機 正 轉(zhuǎn)是 否 結(jié) 束NNYY結(jié) 束 圖 41 電機控制流程圖 電機方向控制 電機旋轉(zhuǎn)方向受方向控制位 cw 控制。 第 4 章系統(tǒng)軟件設(shè)計 19 第 4 章系統(tǒng)軟件設(shè)計 電機控制流程圖 電機旋轉(zhuǎn)受使能控制位 en、方向控制位 cw 控制 [20],如圖 41 所示。 4. 點擊下載,此時單片機需要冷啟動。 基于單片機的步進電機小車 控制 系統(tǒng)設(shè)計 18 2. 選中要燒寫的文件( .hex 文件)。 第 3 章系統(tǒng)硬件設(shè)計 17 圖 312 USB 轉(zhuǎn)串口電路圖 圖 313 STC 單片機的串口燒寫軟件 電路連接準備好之后,打開 STC 單片機的串口燒寫軟件 STC_ISP,如圖 313 所示。如圖 312 所示 。 D1 接一個上拉電阻以幫助實現(xiàn)枚舉功能。 PL2303 需要一個 12MHz 的外部晶體為自己提供時鐘 , 外部并聯(lián)的兩個匹配起振電容。 PL2303HX 的特點是: 28 腳貼片 SOIC 封裝 12MHZ USB 規(guī)范 ,可以直接將 USB 信號轉(zhuǎn)換成串口信號 75~ 1228800,有 22 種波特率可以選擇,并支持 1
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1