基于自由擺的平板控制系統(tǒng)設計論文_第1頁
基于自由擺的平板控制系統(tǒng)設計論文_第2頁
基于自由擺的平板控制系統(tǒng)設計論文_第3頁
基于自由擺的平板控制系統(tǒng)設計論文_第4頁
基于自由擺的平板控制系統(tǒng)設計論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE2設計(論文)報告基于自由擺的平板控制系統(tǒng)(日期)摘要摘要摘要:本自由擺的平板控制系統(tǒng)采用STC12C5A60S2單片機作為主控系統(tǒng),L298N作為電機驅動模塊,STC12C5A60S2單片機通過L298N驅動模塊驅PK545-NAC-C29步進機,使步進機上的平板隨著擺桿的擺動而旋轉。硬件部分主要包括STC12C5A60S2單片機最小系統(tǒng),L298N電機驅動電路,N1000060傾角傳感器,電源模塊等。本設計主要運用STC12C5A60S2單片機控制4相6線步進電機,由單片機產(chǎn)生脈沖信號精確控制步進機的轉速和角度,使步進電機上的平板能夠隨著擺桿擺動而保持水平平衡。關鍵詞:STC單片機;L298N電機驅動芯片;傳感器 目錄PAGEi目錄摘要 1目錄 i1 設計任務與要求 11.1 設計任務 11.2 設計要求 12 方案比較與論證 22.1 主控器的選擇與論證 22.2 電機的選擇與論證 22.3 驅動模塊的選擇與論證 33 系統(tǒng)硬件設計 33.1 總體電路框圖 33.2 單元電路設計 43.3 整體電路圖 74 系統(tǒng)軟件設計 74.1 總體軟件框圖 74.2 各模塊軟件設計 84.3 總程序 105 系統(tǒng)調試與測試 105.1 測試儀器 105.2 測試指標 105.3 測試結果分析 116 設計總結 11參考文獻 11附錄 12附錄A:電路圖 12附錄B:電路板圖 13附錄C:元器件清單 13附錄D:總程序 14正文PAGE28設計題目設計任務與要求設計任務1、設計并制作一個自由擺上的平板系統(tǒng),其結構如圖1-1所示。擺桿的一端通過轉軸固定在一支架上,另一端固定安裝一臺電機,平板固在電機轉軸上;當擺桿如圖1-2所示擺動時,驅動電機可以控制平板轉動。 圖1-1 圖1-2設計要求1、控制電機使平板可以隨著擺桿的擺動而旋轉(3~5周),擺桿擺一個周期,平板旋轉一周(360o),偏差絕對值不大于45°。2、在平板上粘貼一張畫有一組間距為1cm平行線的打印紙。用手推動擺桿至一個角度θ(θ在30o~45o間),調整平板角度,在平板中心穩(wěn)定放置一枚1元硬幣(人民幣);啟動后放開擺桿讓其自由擺動。在擺桿擺動過程中,要求控制平板狀態(tài),使硬幣在5個擺動周期中不從平板上滑落,并盡量少滑離平板的中心位置。3、用手推動擺桿至一個角度θ(θ在45o~60o間),調整平板角度,在平板中心穩(wěn)定疊放8枚1元硬幣,見圖1-2;啟動后放開擺桿讓其自由擺動。在擺桿擺動過程中,要求控制平板狀態(tài)使硬幣在擺桿的5個擺動周期中不從平板上滑落,并保持疊放狀態(tài)。根據(jù)平板上非保持疊放狀態(tài)及滑落的硬幣數(shù)計算成績。方案比較與論證主控器的選擇與論證方案一:采用STC12C5A60S2方案二:采用STC89C52方案三:采用AT89C52方案論證:方案一,STC12C5A60S2芯片價格便宜,應用范圍廣,功能強大,高速運轉,低功耗,強抗靜電,強抗干擾,內部集成雙串口、8路10bitADC和兩路八位PWM;方案二,STC89C52芯片價格便宜,應用范圍廣,運轉速度慢,抗靜電抗干擾弱,內部無ADC;方案三,AT89C52芯片價格便宜,應用范圍廣,運轉速度慢,抗靜電抗干擾弱,內部無ADC。鑒于設計要求,故采用方案一。電機的選擇與論證方案一:采用步進電機方案二:采用直流電機方案三:舵機方案論證:方案一,步進電機價格便宜,容易控制,旋轉角度于脈沖成正比,每步的旋轉角度精確度高,不會將一步的誤差積累到下一步,且具有優(yōu)秀的起停和反轉響應;方案二,直流電機價格低,調速范圍廣,易于平滑調節(jié),過載、起動、制動轉矩大,難于控制轉軸的角度和轉速;方案三,舵機價格偏高,性能易受電壓影響,控制旋轉的角度精確度不高。鑒于設計要求,故采用方案一。驅動模塊的選擇與論證方案一:采用L298N芯片方案二:采用ULN2803芯片方案三:采用三極管方案論證:方案一,L298N芯片價格便宜,電路設計簡單,驅動電流大,足以驅動大功率的步進電機;方案二,ULN2803芯片價格便宜,電路設計簡單,驅動電流小,不能驅動大功率的步進電機;方案三,三極管價格便宜,驅動電路設計復雜,不穩(wěn)定,出問題難于查詢。本設計采用PK545-NAC-C29步進電機,故采用方案一。系統(tǒng)硬件設計總體電路框圖為了使系統(tǒng)能夠實現(xiàn)各種復雜的控制功能,本設計采用一種功能強大的、高速低功耗性價比高的單片機STC12C5A60S2完成對其他部分控制。本設計采用N1000060傾角傳感器對擺桿的傾斜角度的采集數(shù)據(jù),通過STC12C5A60S2單片機內部自帶的A/D轉換將數(shù)據(jù)送給單片機,單片機通過數(shù)據(jù)分析控制L298N驅動電路,使步進機旋轉保持平板的水平平衡,用1602液晶顯示A/D的數(shù)據(jù)??傮w框圖如圖3-1所示。電源電源單片機驅動模塊步進機液晶顯示傳感器AD模塊圖3-1總體框圖單元電路設計STC12C5A60S2單片機最小系統(tǒng)STC12C5A60S2單片機最小系統(tǒng)P1^1口、P1^2口、P1^3、P1^4口接L298驅動電流的輸入口,單片機通過對L298N的控制,使L298發(fā)出脈沖控制步進機;P2^3口、P2^4口、P2^5口接1602液晶,控制液晶顯示A/D采集N1000060傾角傳感器的數(shù)據(jù),A/D轉換是用STC12C5A60S2內部自帶的A/D。單片機最小系統(tǒng)如圖3-2、3-3所示。圖3-2最小系統(tǒng)圖3-3串口部分2、L298N電機驅動L298N是一種二相四相步電機的專用驅動器,內含兩個H-Bridge的高電壓、大電流雙橋式驅動器,接收標準;OUT1、OUT2、OUT3、OUT4之間分別接兩個步進機;INPUT1、INPUT2、INPUT3、INPUT4接單片機I/O,接收輸入控制電位來控制電機旋轉。L298N驅動電路如圖3-4所示。圖3-4L298N驅動3、供電電源供電電源采用集成穩(wěn)壓器7805,電路圖中,穩(wěn)壓器7805輸入端的電容為輸入端濾波電容,輸出端的電容為輸出端濾波電容;家用電220V經(jīng)過變壓器接入供電電源模塊,能輸出直流電壓-12V、-5V、5V、12V。供電電源如圖3-5所示。圖3-5供電電源整體電路圖見附錄A系統(tǒng)軟件設計總體軟件框圖1、總體軟件框圖如圖4-1所示。初始化初始化讀傾角傳感器電壓A/D轉換單片機處理讀到的A/D數(shù)據(jù)控制驅動電機轉動平板是否水平否結束是圖4-1總體軟件框圖各模塊軟件設計1、步進電機右轉函數(shù)voidl_turn(uinti)//步進電機右轉函數(shù){ AA; delay_ms(i); AB; delay_ms(i); BB; delay_ms(i); BC; delay_ms(i); CC; delay_ms(i); CD; delay_ms(i); DD; delay_ms(i); DA; delay_ms(i);}2、步進電機左轉函數(shù)voidr_turn(uinti)//步進電機左轉函數(shù){ DA; delay_ms(i); DD; delay_ms(i); CD; delay_ms(i); CC; delay_ms(i); BC; delay_ms(i); BB; delay_ms(i); AB; delay_ms(i); AA; delay_ms(i);}3、STC12C5A60S2內部ADBYTEget_ad0() //AD讀取傳感器1的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch0|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}BYTEget_ad5() //AD讀取傳感器2的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch5|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}總程序見附錄D系統(tǒng)調試與測試測試儀器數(shù)字萬用表量角器測試指標當N100060傾角傳感器與水平方向有角度時,N100060傾角傳感器會產(chǎn)生一個一壓,STC12C5A60S2單片機通過內部自帶AD轉換采集N100060反饋的電壓值。每個電壓值對應一個角度,通過量角器測出角度,列出表格。如表格5-1所示。表5-1角度-90-60-45-30030456090AD值102.4239.0307.2377.5512648.6716.8784.9921.6傾角傳感器0.5V1.167V1.5V1.843V2.5V3.167V3.5V3.833V4.5V測試結果分析從表格5-1可得:傾角傳感器與水平方向平行時,輸出電壓是2.5V;向左右與水平方向傾斜90度時,其電壓的變化量為2V。由此可得(誤差允許范圍內)傾角傳感器與水平方向的角度a與傾角傳感器的電壓變化量v的數(shù)學關系為:v=a(1/45)本設計采用4相5線PK545-NAC-C29步進電機,4相8拍運行方式A-AB-B-BC-C-CD-D-DA-A,對應一個脈沖信號,步距角為θ=360度/(50*8)=0.9度(俗稱半步)。 本設計把N100060傾角傳感器固定在步進電機上,與水平方向平行,當擺桿有一個角度時,STC12C5A60S2單片機內部自帶AD讀取N1000060傾角傳感器電壓值,就能精確控制步進電機的轉動角度,使步進電機上的平板保持平衡。如:當STC12C5A60S2單片機內部自帶AD讀取N1000060傾角傳感器電壓值為3.5V時,其N1000060傾角傳感器電壓變化量為v=1V,通過上式計算得N100060傾角傳感器與水平方向的角度a為45度,從而就能控制步進電機旋轉45度,使步進電機上的平板保持平衡。設計總結經(jīng)過四天三夜的辛勤努力,本設計實現(xiàn)了題目的全部要求。但由于時間緊,任務重,系統(tǒng)還存在許多可以改進的地方,比如電路布局、抗干擾性等方面還有很大的提升空間,經(jīng)過改進,相信性能還會有進一步的提升。在軟件編程方面,成功的通過軟件編程消除了步進電機的抖動問題,采用的方法是:通過A/D轉換采集傾角傳感器的數(shù)據(jù),10個數(shù)據(jù)一組,然后取平均值。本次競賽極大的鍛煉了我們各方面的能力,雖然我們遇到了很多困難和障礙,但總體上成功與挫折交替,困難與希望并存,我們將繼續(xù)努力爭取更大的進步。參考文獻毛禮銳,沈灌群.中國教育通史[M].濟南:山東教育出版社,1988.20-22.王英杰,高益民.高等教育的國際化[J].清華大學教育研究,2000(2):13-16.中華人民共和國國務院.計算機軟件保護條例[J/0L].東方網(wǎng),2001.12.28附錄附錄A:電路圖 附錄A-1附錄A-2附錄B:電路板圖附錄B-1附錄C:元器件清單電阻6個瓷片電容12個電解電容4個鍵盤6個單片機1個開關2個L298N1個穩(wěn)壓78051個穩(wěn)壓78121個N10000602個步進電機1個MS2321個串口1個電位器1個整流橋1個變壓器1個發(fā)光二極管4個二極管8個附錄D:總程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchartypedefunsignedcharBYTE;typedefunsignedintWORD;sfrADC_CONTR=0xBC;sfrADC_RES=0xBD;sfrADC_RESL=0xBE;sfrADC_LOW2=0xBE;sfrP1ASF=0x9D;#defineADC_POWER0x80#define ADC_FLAG0x10#define ADC_START0x08#define ADC_SPEEDLL0x00#define ADC_SPEEDL0x20#define ADC_SPEEDH0x40#define ADC_SPEEDHH0x60sbiten=P2^5;//使能sbitrs=P2^3;//數(shù)據(jù)命令sbitrw=P2^4;//讀寫//定義步進電機連接端口sbitA1=P1^1;//轉三周sbitB1=P1^2;//轉四周sbitC1=P1^3;//轉五周sbitD1=P1^4;//來回擺動//定義要用到按鍵的管腳sbitk1=P3^4;sbitk2=P3^5;sbitk3=P3^6;sbitk4=P3^7;//定義全局變量uintsu=20;//8最大uintj=0;uintjian_zhi=0;uinttemp1=0;ucharshu[]={'0','1','2','3','4','5','6','7','8','9','-',':',''};uinti=6;uintchong1=0;uintsu1=20;//8最大uintsu2=20;uintm=0;uintad=0;uintad0=0;uintj1=0;uintj2=0;uintad5=0;BYTEch0=0; //模擬通道選擇BYTEch5=5;uinter_flag=0;//使用1-2相驅動#defineAA{A1=1;B1=0;C1=0;D1=0;}#defineBB{A1=0;B1=1;C1=0;D1=0;}#defineCC{A1=0;B1=0;C1=1;D1=0;}#defineDD{A1=0;B1=0;C1=0;D1=1;}#defineAB{A1=1;B1=1;C1=0;D1=0;}#defineBC{A1=0;B1=1;C1=1;D1=0;}#defineCD{A1=0;B1=0;C1=1;D1=1;}#defineDA{A1=1;B1=0;C1=0;D1=1;}//函數(shù)聲明voiddelay_ms(uintx);voidr_turn(uinti);voidl_turn(uinti);voiddelay(WORDn){ WORDx; while(n--) { x=110; while(x--); }}voiddelay_ms(uintx)//延時函數(shù){ uinty,z; for(y=x;y>0;y--) for(z=130;z>0;z--);}voidl_turn(uinti)//步進電機右轉函數(shù){ AA; delay_ms(i); AB; delay_ms(i); BB; delay_ms(i); BC; delay_ms(i); CC; delay_ms(i); CD; delay_ms(i); DD; delay_ms(i); DA; delay_ms(i);}voidr_turn(uinti)//步進電機左轉函數(shù){ DA; delay_ms(i); DD; delay_ms(i); CD; delay_ms(i); CC; delay_ms(i); BC; delay_ms(i); BB; delay_ms(i); AB; delay_ms(i); AA; delay_ms(i);}voidl_dan(){ switch(m) { case0:AA;m++;break; case1:AB;m++;break; case2:BB;m++;break; case3:BC;m++;break; case4:CC;m++;break; case5:CD;m++;break; case6:DD;m++;break; case7:DA;m++;break; case8:m=0;break; default:break; }}voidr_dan(){ switch(m) { case0:DA;m++;break; case1:DD;m++;break; case2:CD;m++;break; case3:CC;m++;break; case4:BC;m++;break; case5:BB;m++;break; case6:AB;m++;break; case7:AA;m++;break; case8:m=0;break; default:break; }}voidting_zhi(){ A1=0; B1=0; C1=0; D1=0;}//LCD1602初始化voidwrite_com(ucharcom){ rs=0; P0=com; delay(1); en=1; delay(1); en=0;}voidwrite_data(uchardatae){ rs=1; P0=datae; delay(5); en=1; delay(5); en=0;}voiddisplay_shu(ucharhang,ucharadd,ucharnum)//在1602顯示數(shù)據(jù)的函數(shù),hang為第幾行,add為位置,num為數(shù)據(jù){ ucharshi; shi=num; if(hang==1) { write_com(0x80+add); write_data(0x30+shi); } if(hang==2) { write_com(0x80+0x40+add); write_data(0x30+num); }}voidinit_LCD()//初始化LCD{ en=0; rw=0; write_com(0x38);//顯示模式控制 write_com(0x0c);//顯示開關及光標控制 write_com(0x06);//數(shù)據(jù)指針設置 write_com(0x01);//清零 write_com(0x80);}voidInitADC(){ P1ASF=0x21; //輸入通道選擇與CH相配合使用,選擇P1^2 ADC_RES=0; //轉化的數(shù)據(jù)存儲所在,高八位 ADC_CONTR=ADC_POWER|ADC_SPEEDLL; //內部AD主要的控制寄存器ADC_CONTR,選擇P1^2; delay(100);}BYTEget_ad0() //AD讀取傳感器1的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch0|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}BYTEget_ad5() //AD讀取傳感器2的值{ ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch5|ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR&ADC_FLAG)); returnADC_RES;}voidkeyscan(){ if(k1==0) { delay(5); if(k1==0) { while(!k1); display_shu(1,1,1); su=32; j=150; while(j--) r_turn(su);//8最快 su=0; } } if(k2==0) { delay(5); if(k2==0) { while(!k2); display_shu(1,1,2); su=32; j=200; while(j--) l_turn(su);//8最

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論