




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2011 年全國大學生電子設計競賽基于自由擺的平板控制系統(基于自由擺的平板控制系統(B B 題)題)【本科本科 組組】20112011 年年 9 9 月月 3 3 日日摘摘 要要 采用 ATmage16 avr 單片機作為主控芯片的基于自由擺的平板控制系統。利用高精度的電位器和單片機的片內模數轉換器測量自由擺的擺動角度。ULN2003N 達林頓陣列驅動,1/16 倍速的減速步進電機控制平板的轉動。能夠實現根據擺桿角度平板轉動相應角度、擺桿擺動一周期平板轉動一圈、控制平板使得擺桿擺動時平板上的硬幣不滑落、平板上的激光筆在擺桿擺動一定角度后照射到靶子中心線等要求。關鍵詞:關鍵詞: 自由擺 AVR
2、 單片機 電位器 減速步進電機I目錄目錄1 1 系統方案系統方案 .1 11.1 中央處理器的論證與選擇 .11.2 電機驅動模塊的論證與選擇 .11.3 擺桿角度測量模塊的論證與選擇 .22 2 系統理論分析與計算系統理論分析與計算 .2 22.1 系統理論的分析 .22.1.1 擺桿旋轉角度的獲取 .22.1.2 平板旋轉角度的控制 .32.1.3 步進電機轉動控制 .42.2 擺桿斜角度的計算 .42.3 步進電機的計算 .42.3.1 擺桿擺動三周電機的轉動 .42.3.2 擺動擺桿通過電機控制平板使硬幣不從平板上掉落.42.3.3 擺桿固定時控制激光筆.42.3.4 擺桿擺動時電機控
3、制激光筆.43 3 電路與程序設計電路與程序設計 .5 53.1 電路的設計 .53.1.1 系統總體框圖.53.1.2 擺桿角度檢測子系統框圖與電路原理圖 .53.1.3 步進電機驅動子系統電路原理圖.63.1.4 電源.63.2 程序的設計 .73.2.1 程序功能描述與設計思路.73.2.2 程序流程圖.74 4 測試方案與測試結果測試方案與測試結果 .9 94.1 測試方案 .94.2 測試方式與儀器 .94.3 測試結果及分析 .94.3.1 測試結果(數據).94.3.2 測試分析與結論.10附錄附錄 1 1:電路原理圖:電路原理圖 .1111附錄附錄 2 2:完整測試數據:完整測
4、試數據 .1212附錄附錄 3 3:源程序:源程序 .13130基于自由擺的平板控制系統(基于自由擺的平板控制系統(B B 題)題)【本科組本科組】1 1 系統方案系統方案本系統主要由中央處理器模塊、電機驅動模塊、擺桿角度測量模塊、電源模塊組成,下面分別論證這幾個模塊的選擇。1.11.1 中央處理器的論證與選擇中央處理器的論證與選擇方案一:方案一:目前應用很廣泛的 51 系列單片機。該系列的單片機具有價格低廉、性能穩(wěn)定、技術成熟等特點。但缺點也很明顯,運行速度不是很快,而此次設計應需要較為復雜的運算,所以可能達不到要求。方案二:方案二:AVR 系列的單片機。該系列單片機較于早期的 51 單片機
5、,片內資源更豐富,接口也更強大,同時采用的是 RISC 精簡指令集,在運行速度上較與 51 有絕對的優(yōu)勢。而價格低廉的優(yōu)勢也同樣存在。方案三:方案三:ARM 處理器。ARM 處理器主要應用于嵌入式系統的開發(fā),支持 Thumb(16位)/ARM(32 位)雙指令集,兼容性好,大量使用寄存器執(zhí)行速度快。單從性能上講,AMR 絕對強與 AVR 與 51,但其價格昂貴,并不是很適合本次設計。因此次設計需要設計加速度傳感器對于角度的計算,需要較大的計算量,且系統對于精度的要求較高,故選擇方案二。1.21.2 電機驅動模塊的論證與選擇電機驅動模塊的論證與選擇方案一:方案一:L298H 橋式驅動芯片。該芯片
6、具有性能穩(wěn)定、控制靈活、輸出電流大等特點,可以很方便控制直流電機的轉動方向。但其價格較高,外接電路較為復雜。方案二:方案二:ULN2003 達林頓陣列芯片。ULN2003 是高耐壓、大電流復合晶體管陣列,工作電壓高,工作電流大,灌電流可達 500mA,并且能夠在關閉狀態(tài)承受 50V 的電壓,輸出還可以在高負載電流并行運行。采用此方案不能控制直流電機的運動方向,但采用步進電機則完全可以控制,且電路極其簡單,基本不需要其他外圍元器件。相對于L298 來說,價格上又有絕對的優(yōu)勢。1方案三:方案三:步進電機細分儀。高精度的步進電機細分儀能將驅動電機的電流細分化,不僅能提高步進電機的精度,還能減噪和提高
7、電機運行時的穩(wěn)定性,驅動上也較普通驅動芯方便,只需給一定頻率的脈沖信號即可控制速度。但出于條件限制,我們并有足夠的設備,且價格很高,最終還是沒選擇此種方案。綜合以上三種方案,選擇方案二。1.31.3 擺桿角度測量模塊的論證與選擇擺桿角度測量模塊的論證與選擇方案一:方案一:加速度傳感器。采用 HQ7455-mma7455 數字三軸加速度模塊。該模塊使用和測試方便,可以實現基于運動的功能,也提供 I2C 和 SPI 接口,方便與 MCU 的通訊。將加速度傳感器安裝在擺桿的尾部,擺桿擺動時根據角速度傳感器測量出來的 x 軸上重力加速度的分量計算出擺桿角度。此種方案經過實驗后發(fā)現加速度傳感器很不穩(wěn)定,
8、首先是在靜止狀態(tài)下震動幅度過大,其次是在運動狀態(tài)中測量出來的角度不準確,還有嚴重的滯后問題?;谶@些原因,放棄了此種方案。方案二:方案二:電位器。隨著擺桿轉動,利用電位器調制出的電壓信號,使用 AVR 單片機的片內 ADC 即可讀取。具有穩(wěn)定性好,讀出的數值與擺桿角度的線性相關也較吻合。綜合考慮采用方案二。2 2 系統理論分析與計算系統理論分析與計算2.12.1 系統理論的分析系統理論的分析 2.1.12.1.1 擺桿旋轉角度的獲取擺桿旋轉角度的獲取 將高精度的電位器安裝在擺桿的轉軸位置,電位器連接在 5V 電源上,隨著擺桿的擺動,電位器上能產生 05V 的電位差,利用單片機片內的 10 位
9、ADC 即可讀取。采集多組讀出的 AD 值和擺桿實際角度,然后建立線性回歸方程,即可獲取擺桿旋轉角度。作出的線性回歸圖形如圖一所示:2y = 3.685x + 261.301002003004005006007008009001000050100150200系列1線性 (系列1)圖一 擺桿角度與模數轉換線性擬合圖2.1.22.1.2 平板旋轉角度的控制平板旋轉角度的控制 根據擺桿轉動角度依據題目要求,驅動減速步進電機實時轉動相應角度。如圖二所示:圖二 平板旋轉控制流程圖32.1.32.1.3 步進電機轉動控制步進電機轉動控制此次使用的減速步進電機在速度、方向上都能精確控制。所以可根據對擺臂旋轉
10、角度、平板旋轉角度等數據計算后更改步進電機脈沖信號的走向控制步進電機的方向,更改步進延時控制電機的速度。2.22.2 擺桿斜角度的計算擺桿斜角度的計算 在電位器上加上 5V 的電壓并把電位器固定到擺軸的定點,電位器本身固定不動、調節(jié)軸與擺桿相連,當擺桿靜止在某個角度(-6060 度)時,電位器輸出對應的電壓值不變,采樣出足夠的點并分析其線性關系,利用閑心回歸方程得到相應線性關系,通過不斷測試數據來改進電位器輸出電壓與角度的關系2.32.3 步進電機的計算步進電機的計算 2.3.12.3.1 擺桿擺動三周電機的轉動擺桿擺動三周電機的轉動單片機首先檢測擺桿是否開始擺動(松手檢測) ,擺桿擺動后,當
11、檢測到擺桿擺到了平衡位置時電機轉動半圈,以此類推直到走完三圈。2.3.22.3.2 擺動擺桿通過電機控制平板使硬幣不從平板上掉落擺動擺桿通過電機控制平板使硬幣不從平板上掉落當檢測到按鍵按下時延時一段時間以適宜操作者的反應時間,之后步進電機轉動相應角度到平板到平板與擺桿垂直時電機停止轉動,之后讓硬幣隨擺桿擺動而擺動。2.3.32.3.3擺桿固定時控制激光筆擺桿固定時控制激光筆 把擺桿固定到一定角度(3060 度)位置時,通過角度計算公式:計算出 角,讓電機轉動 度。2.3.42.3.4 擺桿擺動時電機控制激光筆擺桿擺動時電機控制激光筆同 2.3.3,擺桿擺動到下一位置與前一角度對應的 角之差就是
12、電機要轉動的角度,通過檢測擺動最高點和最低點來決定電機的轉動方向43 3 電路與程序設計電路與程序設計3.13.1 電路的設計電路的設計3.1.13.1.1 系統總體框圖系統總體框圖系統總體框圖如圖三所示:Atmage16單片機最小系統擺桿角度檢測模塊步進電機驅動模塊鍵盤輸入模塊LED顯示模塊圖三 系統總體框圖3.1.23.1.2 擺桿角度檢測子系統框圖與電路原理圖擺桿角度檢測子系統框圖與電路原理圖1、擺桿角度檢測子系統框圖5擺桿轉動電位器兩端電位變化模數轉化器轉化圖四 擺桿角度檢測子系統框圖3.1.33.1.3 步進電機驅動子系統電路原理圖步進電機驅動子系統電路原理圖1、步進電機驅動子系統電
13、路In11In22In33In44In55In66In77GND8COM9OUT110OUT211OUT312OUT413OUT514OUT615OUT716U?ULN200312H?Head21234H?Head412345P?Header 5VCCGNDVCC步進電機驅動模塊GND100pFC?Cap圖五 步進電機子系統電路3.1.43.1.4 電源電源因本系統需為單片機的 ADC 提供參考電壓,所以對電壓穩(wěn)定的要求較高,故采用現成的+5V 電源模塊,并焊接了一塊有多個接口的板子,以便其他模塊的供電連接。63.23.2 程序的設計程序的設計3.2.13.2.1 程序功能描述與設計思路程序功
14、能描述與設計思路1、程序功能描述根據題目要求軟件部分需實現電位器端的模數轉換、步進電機驅動、鍵盤檢測、LED 燈顯示、各種參數及數據的計算等。(1)模數轉換實現功能:采用 AVR 單片機的片內十位 ADC。 (2)步進電機驅動:控制連接 ULN2003 驅動模塊的 IO 口,輸出制定頻率的電位變化控制步進電機的轉動速度與轉動方向。(3)鍵盤檢測:實時掃描連鍵盤的單片機 IO 的電位變化,讀出按鍵。2、程序設計思路(1)模式選擇:程序啟動后進入模式選擇狀態(tài)。鍵盤檢測輸入,LED 燈顯示當前狀態(tài)。(2)步進電機驅動:編寫電機驅動接口函數,入口參數有電機轉動方向、電機轉動步數、每步延時。(3)電位器
15、電壓檢測:利用 AVR 片內的 10 位 ADC。需要檢測點位時調用進行模數轉換,檢測寄存器狀態(tài)判斷裝化完成。3.2.23.2.2 程序流程圖程序流程圖1、主程序結構圖圖模式選擇模式一模式二模式三模式四模式五隨桿擺動平板旋轉子程序一塊硬幣子程序8塊硬幣子程序定點調整激光方向子程序動態(tài)調整激光旋轉子程序圖六 主程序結構圖72、擺桿角度檢測子程序流程圖ADC轉化調用ADC值與擺桿角度的計算函數開始返回角度值結束圖七 擺桿角度檢測子程序3、電機驅動子程序流程圖開始入口參數:電機方向、電機步數、每步延時判斷方向調用步進電機編碼1調用步進電機編碼2方向1方向2根據電機步數參數送IO口編碼延時結束圖八 電
16、機驅動子程序流程圖84 4 測試方案與測試結果測試方案與測試結果4.14.1 測試方案測試方案1、軟件仿真測試2、硬件設計測試4、設計要求測試4.24.2 測試方式與儀器測試方式與儀器1、軟件仿真:用 PROTEUS 軟件畫出系統要求的電路,測試程序是否編寫正確。這一測試主要是對模式選擇子系統的測試;2、硬件電路檢測:使用萬用表測量電路是否連接正確,米尺和三角板測量擺桿的長度和水平是否符合要求。3、設計要求測試(1)基本要求 1:調整平板至水平位置,啟動程序后松手,平板旋轉結束用量角器測量平板偏離初始位置角度。(2)基本要求 2:按要求操作后用三角板測量硬幣偏離平板距離(3)基本要求 3:按要
17、求操作后計算硬幣非保持疊放狀態(tài)數量和滑落硬幣數。(4)發(fā)揮部分 1:按要求操作后計算光斑離開中心線的距離。(5)發(fā)揮部分 2:按要求操作后計算光斑偏離中心線最遠距離。4.34.3 測試結果及分析測試結果及分析4.3.14.3.1 測試結果測試結果( (數據數據) )表一:ADC 值與實際測量的擺桿角度(中心線為為 90):ADC5060708090100110120130140角度()463496519560575615639671704739表二:基本要求 1 平板旋轉角度誤差:測量次數12345678誤差()00200030表三:基本要求 2 硬幣偏離平板中心線距離:測量次數1234567
18、89偏移(cm)01000200表四:基本要求 3 硬幣非保持疊放狀態(tài)數量和滑落硬幣數測量次數12345678非保持疊放狀態(tài)數量02080000滑落硬幣數00080000表五:發(fā)揮部分 1 光斑離開中心線的距離:測量次數12345678距離(cm)13251201表六:發(fā)揮部分 2 斑離開中心線的距離:測量次數12345678距離(cm)NNNNNNNN4.3.24.3.2 測試分析與結論測試分析與結論根據上述測試數據,由此可以得出以下結論:1、電路焊接正確。2、基本要求 1 符合設計需要3、基本要求 2 符合設計需要4、基本要求 3,如果操作時手顫抖和操作不及時能使得誤差較大,但大部分時候符
19、合設計要求。5、發(fā)揮部分 1 基本能符合設計要求,誤差在允許范圍內6、發(fā)揮部分 2 因步進電機的轉速以及電位器穩(wěn)定性等問題,編寫程序后光斑并不能落到靶子上。參考文獻:參考文獻:1 閆愛軍 范海明.基于 AVR 單片機的四相步進電機驅動設計J.艦船防化-2011 年 2期2 陸廣平 張美琪.基于 AVR 單片機的步進電機運動控制系統設計J.微電機-2010年 3 期10附錄附錄 1 1:電路原理圖:電路原理圖PB0 (XCK/T0)1PB1 (T1)2PB2 (AIN0/INT2)3PB3 (AIN1/OC0)4PB4 (SS)5PB5 (M OSI)6PB6 (M ISO)7PB7 (SCK)
20、8RESET9PD0 (RXD)14PD1 (TXD)15PD2 (INT0)16PD3 (INT1)17PD4 (OC1B)18PD5 (OC1A)19PD6 (ICP)20PD7 (OC2)21XTAL212XTAL113GND11PC0 (SCL)22PC1 (SDA)23PC2 (TCK)24PC3 (TM S)25PC4 (TDO)26PC5 (TDI)27PC6 (TOSC1)28PC7 (TOSC2)29AREF32AVCC30GND31PA7 (ADC7)33PA6 (ADC6)34PA5 (ADC5)35PA4 (ADC4)36PA3 (ADC3)37PA2 (ADC2)38
21、PA1 (ADC1)39PA0 (ADC0)40VCC10U2ATm ega16-16PCPA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5PC6PC7PB0PB1PB2PB3PB4PB5PB6PB7PD0PD1PD2PD3PD4PD5PD6PD7VCCGNDGND1243S2位位位位GNDRSTRSTPB5PB6PB7GNDVCCM OSI1VCC2NC3GND4RST5GND6SCK7GND8M ISO9GND10P2ISP100pFC1CapIn11In22In33In44In55In66In77GND8COM9OUT110OUT211OUT312OUT
22、413OUT514OUT615OUT716U1ULN200312345P1Header 5VCCGNDD1D2D3D4D5D6D7S3S4S5GNDGND12345678P312345678P4VCCGNDPD0PD1PD2PD3PD5PD6PD7S1SW-DPST1KR11KR21KR31KR41KR51KR61KR711附錄附錄 2 2:完整測試數據:完整測試數據表一:ADC 值與實際測量的擺桿角度(中心線為為 90):ADC5060708090100110120130140角度()463496519560575615639671704739表二:基本要求 1 平板旋轉角度誤差:測量次數1
23、2345678誤差()00200030表三:基本要求 2 硬幣偏離平板中心線距離:測量次數12345678偏移(cm)01000200表四:基本要求 3 硬幣非保持疊放狀態(tài)數量和滑落硬幣數測量次數12345678非保持疊放狀態(tài)數量02080000滑落硬幣數00080000表五:發(fā)揮部分 1 光斑離開中心線的距離:測量次數12345678距離(cm)13251201表六:發(fā)揮部分 2 斑離開中心線的距離:測量次數12345678距離(cm)NNNNNNNN12附錄附錄 3 3:源程序:源程序/*文件名:process.c*函數功能:設計要求的五種操作模式*/#include #include #
24、include #include #define DATA_NUM10unsigned char test_adcDATA_NUM=704,707,719,768,728,736,775,783,792,799;unsigned char test_jdDATA_NUM =110,119,132,174,130,149,194,206,214,224;/*基本要求一*/檢測松手/檢測低谷void check_valley()unsigned int jd;while(1)jd=adc_read();if(jd570&jd590)break;return;void basic_q1()unsig
25、ned char i;/*/for(i=0;i90)fx=0;bs=(b_jd-90)/0.3516;/步進電機 每步角度else fx=1;bs=(90-b_jd)/0.3516;moto_run(fx,bs,900);moto_close();while(1);/=基本要求3=/void basic_q3()unsigned char b_jd;/單擺角度unsigned char fx;unsigned int bs;/電機轉動步數unsigned int ad_top;/在頂端的 adc 值unsigned int temp;unsigned char i;unsigned int b
26、s_ext;/附加角度/松手即啟動_delay_ms(100);/反應延時ad_top=adc_read();b_jd=jd_cal(ad_top);if(b_jd90)fx=0;bs=(b_jd-90)/0.3516;/步進電機 每步角度else fx=1;bs=(90-b_jd)/0.3516;bs_ext=bs*0.1;14moto_run(fx,bs,900);moto_run(fx,bs_ext,2000);check_valley();if(fx=0)fx=1;else fx=0;moto_run(fx,bs_ext,2000);moto_close();while(1);/=發(fā)揮
27、部分一=/unsigned char read_key()static unsigned char key_last=0;static unsigned char ld=0;/連帶unsigned char key=0;PIND|=0b11100000;PORTD|=0b11100000;_delay_ms(10);while(PIND=0b11100000);_delay_ms(10);if(KEY_START=0)key=3;if(KEY_UP=0)key=1;if(KEY_DOWN=0)key=2;if(key=key_last)if(ld=50)return key;else retu
28、rn 0;key_last=key;ld=0;return key;void moto_adjust()unsigned int moto_b=0;unsigned char key;unsigned char adjust_ok=0;LED_PORT=0 x00;SetBit(LED_PORT,2);SetBit(LED_PORT,LED_RUN);/*lcd1602_init();lcd1602_location(0,0);lcd1602_print_string();*/校正while(1)/*lcd1602_location(1,0);lcd1602_print_string(ADC:
29、);lcd1602_print_num(adc_read(),5);*/key=read_key();switch(key)case 1:moto_run(1,1,1000);break;case 2:moto_run(0,1,1000);break;case 3:adjust_ok=1;break;if(adjust_ok)break;void advance_q1()15unsigned int adc_now,adc_1,adc_2;unsigned int jd,jd_1,jd_2;unsigned int i;unsigned int temp1,temp2,temp3;start:moto_adjust();adc_now=adc_read();if(adc_now760)jd=(int)(double)adc_now*1.1797-720.34)+8;elsejd=(int)(double)adc_now*1.1797-720
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 宜昌網絡運營管理辦法
- 2025年貴金屬首飾與寶玉石檢測員(中級)寶石物理性質考試試卷
- 能源資源采購管理辦法
- 舞蹈老師業(yè)績管理辦法
- 2025年景觀設計師(高級)職業(yè)技能鑒定景觀預算試題
- 西安墓園審批管理辦法
- 2025年美容師(高級)美容院營銷策劃與執(zhí)行考核試卷
- 2025年電梯安裝維修工(一級)電梯安全鉗原理考試試卷
- 2025年消防執(zhí)業(yè)資格考試題庫:消防技術標準規(guī)范修訂背景試題
- 工廠績效結算管理辦法
- GB/T 17145-2024廢礦物油回收與再生利用導則
- 小學數學課件和復習
- 普通高中生物學課程標準-(2024修訂版)
- 2024年山東濟南初中學業(yè)水平考試生物試卷真題(含答案解析)
- 住院患者心理需要及護理
- 空調設備吊裝與安裝方案
- 2024年寧夏中考生物真題卷及答案解析
- 公共體育場建設項目可行性研究報告
- 光纖通信系統(第3版) 課件 第1-3章 概述、光纖與光纜、光源和光發(fā)送機
- 貸款車電子合同模板
- 高空作業(yè)車外墻施工方案
評論
0/150
提交評論