運動倒立擺實驗系統(tǒng)硬件設設計_第1頁
運動倒立擺實驗系統(tǒng)硬件設設計_第2頁
運動倒立擺實驗系統(tǒng)硬件設設計_第3頁
運動倒立擺實驗系統(tǒng)硬件設設計_第4頁
運動倒立擺實驗系統(tǒng)硬件設設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、運動倒立擺實驗系統(tǒng)硬件設計摘要倒立擺系統(tǒng)是非線性、強耦合、多變量和自然不穩(wěn)定的系統(tǒng),是機器人技術、控制理論、計算機控制等多個領域、多種技術的有機結合。在控制過程中,它能有效地反映諸如可鎮(zhèn)定性、魯棒性、隨動性以及跟蹤等許多控制中的關鍵問題,是檢驗各種控制理論的理想模型??刂破鞯脑O計是倒立擺系統(tǒng)的核心內容。目前典型的控制器設計理論有PID控制、根軌跡以及頻率響應法、狀態(tài)空間法、最優(yōu)控制理論等。本文主要介紹了運動倒立擺實驗系統(tǒng)的硬件設計方案。此方案采用ATmega328P作為核心控制器,在此基礎上增加了各種接口電路板組成整個硬件系統(tǒng),包括單片機最小系統(tǒng),姿態(tài)檢測模塊,直流驅動電機控制模塊,電源管理模

2、塊,測速編碼模塊,串口調試等模塊。本文先基本闡述了系統(tǒng)方案原理,再分別就各模塊工作原理進行詳細的介紹與分析,最終完成車模的制作和電路原理圖以及PCB板的繪制。最后根據(jù)調試情況對整個系統(tǒng)做了修改,基本達到設計要求。關 鍵 詞:倒立擺,模塊設計,Arduino,傳感器SPORTS INWERTED PENDULUM SYSTEM HARDWARE DESIGNABSTRACTInverted pendulum system is non-linear, strong coupling, multivariable and natural unstable system, robotics, con

3、trol theory, computer control and other fields, the combination of a variety of technologies. In the control process, as it can effectively reflect the calm, robustness, with the dynamic nature, and tracking control in many of the key issues is to test a variety of control theory, the ideal model. C

4、ontroller design is the core content of the inverted pendulum system. Typical current controller design theory PID control, root locus and frequency response method, the state space method, optimal control theory.This paper describes the control system hardware design of the wheel balanced car. This

5、 program uses ATmega328 as the core controller,base on this increase of various interface circuit board to building the hardware system. Peripheral circuits including the smallest single-chip system, the gesture detection module, the DC drive motor control module, power management module, velocity e

6、ncoding module and serial debugging module. This article first describes the principle of the system program,then described in detail each module how to working out, the final completion of car models produced and circuit schematics and the PCB drawing.In the end, according to debug the situation on

7、 the whole system changes, the hardware system basically reached the design requirements.KEY WORDS:Inverted pendulum,modular design,arduino,sensor目錄前 言1第1章 緒 論21.1 設計的依據(jù)與意義21.2 國內外同類設計的概況綜述31.3 設計要求與內容4第2章 總體硬件方案設計52.1 總體分析52.2 總體方案設計52.3 方案框圖6第3 章 單元模塊硬件設計83.1 姿態(tài)檢測模塊83.1.1 芯片MPU6050應用介紹83.1.2 MPU60

8、50信號輸出和引腳描述93.1.3 MPU6050系統(tǒng)結構圖103.1.4 I2C總線應用介紹103.1.5 姿態(tài)檢測模塊原理圖123.2 單片機控制單元模塊電路123.2.1 控制原理123.2.2 ATmega 328P應用介紹133.2.3 Arduino應用介紹153.3電機驅動模塊與電機163.3.1 電機驅動器163.3.2 電機驅動電路173.3.3 電機測速電路183.3.4 電機183.4電源管理模塊203.4.1 芯片GM1117應用介紹223.4.2 電源管理模塊原理圖22結論24參考文獻25致謝26附錄27前 言運動倒立擺自動平衡運作原理主要是建立在一種被稱為“動態(tài)穩(wěn)定

9、”(Dynamic Stabilization)的基本原理上,也就是通過小車的運動使擺桿達到自動平衡的能力。以擺桿上裝的MPU6050傳感器來判斷擺桿所處的姿勢狀態(tài),透過精密且高速的中央微處理器計算出適當?shù)闹噶詈?,驅動馬達使小車運動使擺桿倒立達到平衡的效果。早在上世紀60年代人們就開始了對倒立擺系統(tǒng)的研究。倒立擺作為一個典型的不穩(wěn)定、嚴重非線性的例證,用來檢驗控制方法對不穩(wěn)定、非線性和快速性系統(tǒng)的控制能力。而用不同的控制方法控制不同類型的倒立擺受到世界各國許多科學家的重視,成為目前具有挑戰(zhàn)性的課題之一。倒立擺系統(tǒng)有兩個平衡點:懸垂狀態(tài)的穩(wěn)定平衡點和倒立狀態(tài)的不穩(wěn)定平衡點。對倒立擺的控制包括擺起

10、控制和穩(wěn)定控制,擺起即將擺從穩(wěn)定平衡點擺至不穩(wěn)定平衡點,穩(wěn)定控制即將倒立擺系統(tǒng)穩(wěn)定在不穩(wěn)定平衡點附近。到目前為止,已經有許多關于擺起及穩(wěn)定控制的論文發(fā)表,這些成果針對擺起和穩(wěn)定采用不同的控制思路并用統(tǒng)一的控制理論來實現(xiàn)這兩個過程。為使我們對幾年大學學習有個全面而深刻的了解,為了讓我們對所學書本知識有從抽象化到具體化的質的飛躍,為使我們能更快的適應將來的工作,在畢業(yè)之際進行了此次設計,以此來為我們的大學生涯畫上圓滿的句號。本設計利用arduino單片機,和mpu6050傳感器實時檢測擺桿在空間中的姿態(tài),并將擺桿姿態(tài)數(shù)據(jù)進行處理,發(fā)出控制信號,驅動兩個電機轉動,使小車上的倒立擺擺桿保持動態(tài)平衡。本

11、設計完成了如下工作:(1)單片機控制系統(tǒng)電路原理圖的設計;(2)控制系統(tǒng)電路印制版的繪制;(3)硬件模塊的連接。第1章 緒論1.1設計的依據(jù)與意義在控制理論發(fā)展的過程中,某一理論的正確性及實際應用中可行性需要一個按其理論設計的控制器去控制一個典型對象來驗證,倒立擺就是這樣一個被控制對象。倒立擺的典型性在于:作為一個實驗裝置,成本低廉,結構簡單,便于實現(xiàn)模擬和數(shù)字兩種不同的方式的控制;作為一個被控對象,它又相當復雜,就其本身而言,是一個高階次、不穩(wěn)定、多變量、非線性、強耦合系統(tǒng),只有采取行之有效的控制方法方能使之穩(wěn)定3。對倒立擺系統(tǒng)進行控制,其穩(wěn)定效果非常明了,可以通過擺動角度、位移和穩(wěn)定時間直

12、接度量,控制好壞一目了然。理論是工程的先導,對倒立擺的研究不僅有其深刻的理論意義,還有重要的工程背景。從日常生活中見到的任何重心在上、支點在下的控制問題,到空間飛行器和各類伺服云臺的穩(wěn)定,都和倒立擺的控制有很大的相似性,故對其的穩(wěn)定控制在實際中有很多用途,如海上鉆井平臺的穩(wěn)定控制、衛(wèi)星發(fā)射架的穩(wěn)定控制、火箭姿態(tài)控制、飛機安全著陸,化工過程控制都屬于這類問題。因此對倒立擺機理的研究具有重要的理論和實際意義,已成為控制理論中經久不衰的研究課題。此次設計的運動倒立擺采用的方法就是不斷地調整擺桿的姿態(tài)使擺桿達到動態(tài)平衡。原理如圖1-1所示:圖1-1 動態(tài)平衡原理示意圖因此在運動中需要利用傳感器檢測當前

13、的姿態(tài),將當前的姿態(tài)信息反饋到單片機,然后由單片機給出控制信號來控制電機轉動以此實現(xiàn)平衡。控制采用PID控制,核心內容是PID控制參數(shù)的整定,這部分內容需要不斷的調試和更改,根據(jù)實際的情況可以設置出最穩(wěn)定的參數(shù)。1.2 國內外同類設計的概況綜述倒立擺的控制方法在軍工、航天、機器人領域和一般工業(yè)過程中都有著廣泛的用途,如機器人行走過程中的平衡控制、火箭發(fā)射中的垂直度控制和衛(wèi)星飛行中的姿態(tài)控制等均涉及到倒置問題,因此對倒立擺系統(tǒng)的研究在理論和方法論上均有著深遠的意義。倒立擺是典型的快速、多變量、非線性、絕對不穩(wěn)定系統(tǒng)。早在20世紀50年代,麻省理工學院(MIT)的控制論專家就根據(jù)火箭發(fā)射助推器原理

14、設計出一階倒立擺實驗設備,此后其控制方法和思路在軍工、航天、機器人領域和一般工業(yè)過程中都有著廣泛的用途,機器人行走過程中的平衡控制、火箭發(fā)射中的垂直度控制、衛(wèi)星發(fā)射架的穩(wěn)定控制、飛機安全著陸、化工過程控制以及日常生活中所見的任何重心在上、支點在下的控制問題等,均涉及到倒立擺問題。事實上,人們一直在試圖尋找不同的控制方法來實現(xiàn)對倒立擺的控制,以便檢查或說明該方法對嚴重非線性和絕對不穩(wěn)定系統(tǒng)的控制能力。倒立擺是理想的自動控制教學實驗設備,它能全方位地滿足自動控制教學的要求。許多抽象的控制概念如系統(tǒng)穩(wěn)定性、可控性、系統(tǒng)收斂速度和系統(tǒng)抗干擾能力等,都可以通過倒立擺直觀地表現(xiàn)出來。由于倒立擺系統(tǒng)的高階次

15、、嚴重不穩(wěn)定、多變量、非線性和強耦合等特性,吸引著許多學者和研究人員不斷地從倒立擺控制中發(fā)掘新的控制策略和算法,并應用于航天科技和機器人等領域2。倒立擺的種類很多,有懸掛式倒立擺、平行倒立擺、環(huán)形倒立擺、平面倒立擺等。倒立擺的級數(shù)可以是一級、二級、三級、四級、乃至多級。倒立擺的運動軌道可以是水平的,還可以是傾斜的(這對實際機器人的步行穩(wěn)定控制研究更有意義)。控制電機可以是單電機,也可以是多級電機。由于倒立擺系統(tǒng)與雙足機器人、火箭飛行控制和各類伺服云臺穩(wěn)定有很大相似性,因此對倒立擺控制機理的研究具有重要的理論和實踐意義。1.3 設計要求與內容開發(fā)一種運動倒立擺實驗系統(tǒng)的控制軟件,控制小車,使安裝

16、在車體上得倒立擺不倒。使用AVR ATMEGA 328P單片機作為控制器,使用MPU6050傳感器估計擺桿姿態(tài),設計控制算法對兩輪電機進行實時控制,使擺桿保持平衡。并能達到以下要求:1. 保持擺桿平衡,傾角范圍之間;2. 能夠通過電機編碼器檢測車體的位移和運動速度;3. 能夠保持平衡的同時前后運動;第2章 總體硬件方案設計2.1 總體分析 倒立擺系統(tǒng)的功能模塊主要包括:控制核心(MCU)模塊、電源管理模塊、電機驅動模塊、速度檢測模塊及調試輔助模塊。每個模塊都包括硬件和軟件兩部分。硬件為系統(tǒng)工作提供硬件實體,軟件為系統(tǒng)提供各種算法。設計系統(tǒng)包括:第一是運動倒立擺系統(tǒng)的機械結構設計,由四輪平衡小車

17、的機械結構搭建工作平臺、承載硬件電路。其中包括車身上支架、下平臺等;第二是硬件電路設計,涵蓋包括電源、嵌入式微控制器、傳感器、電機和控制電路、數(shù)據(jù)通信的綜合系統(tǒng);第三是平衡控制器模塊,要求數(shù)據(jù)采集、手動控制裝置等;第四是運動倒立擺系統(tǒng)的軟件設計及調試控制,按既定要求寫出控制程序,解決運動狀態(tài)下如何保持運動倒立擺系統(tǒng)平衡的問題。該系統(tǒng)主要實現(xiàn)3個部分:第一是倒立擺系統(tǒng)的硬件設計,一個好的硬件構架可以減少不必要的調試麻煩;第二是平衡信號檢測處理,要求傳感器檢測系統(tǒng)要能快速檢測到傾斜信號,保證擺桿靜止平衡和傾斜情況之后的調節(jié)能力;第三是單片機通過對檢測到的信號進行分析處理,通過相應的C語言程序來實現(xiàn)

18、。功能模塊包括:傳感器部分,mpu6050。為電機控制提供準確的速度方向反饋。電源部分,可靠的電源管理模塊??刂芃CU部分,最小系統(tǒng)模塊和PWM電機驅動模塊。使用單片機AVR ATMEGA 328P,完成采集信號的處理和控制信號的輸出。調試部分,方便進行速度方向數(shù)據(jù)修正。根據(jù)預設要求,設計車??刂葡到y(tǒng)的電路時,首先需要分析系統(tǒng)的輸入、輸出信號,然后由事先選定的核心控制嵌入式計算機(單片機)AVR ATMEGA 328P,逐步設計各個電路子模塊,最后形成完整的控制電路。2.2 總體方案設計經過以上的分析,系統(tǒng)的輸入輸出包括: (1) AD轉換接口(至少4路) MPU6050:一路,測量加速度Z

19、軸輸出電壓。 輔助調試:(備用)1 到3 路,用于車模調試、設置作用。 (2) PWM 接口(4 路),控制左右兩個電極雙方向運行,需要四路PWM 接口。 (3) 定時器接口(2 路),測量兩個電機轉速,需要兩個定時器脈沖輸入端口。 (4) 通訊接口(備用) SCI (UART):一路,用于程序下載和調試接口; I2C :(備用)如果選擇飛思卡爾公司的數(shù)字加速度計,可以通過 I2C 接口直接讀取加速度值。 (5) IO 接口(備用),4 到8 路輸入輸出,應用車模運行狀態(tài)顯示,功能設置等。 由I/O接口分布可將控制電路分為以下子模塊:(1) 單片機最小系統(tǒng):包括單片機,程序下載調試接口等; (

20、2) MPU6050:包括姿態(tài)傳感器信號放大濾波電路; (3) 電機驅動:驅動兩個電機運行電路; (4) 電源:電源電壓轉換、穩(wěn)壓、濾波電路; (5) 設置與調試:顯示系統(tǒng)運行狀態(tài)、速度設定、程序下載與監(jiān)控。根據(jù)查詢資料確定本次設計的方案為:姿態(tài)檢測模塊:采用MPU6050傳感器來獲取擺桿的姿態(tài)。控制核心模塊:arduino單片機最小系統(tǒng),采用8位AVR單片機ATMEGA 328P。電機驅動模塊:兩片F(xiàn)reescale MC33886電機驅動芯片,分別驅動兩個電機,2342編碼器兩個。電源管理模塊:采用16V鋰電池直接驅動電機,、一片GM1117電平轉換芯片輸出一路5.0V電壓驅動單片機和姿態(tài)

21、檢測芯片。2.3 方案框圖根據(jù)分析,繪制出總體方案框圖如圖2-1:圖2-1 總體方案框圖 第3章 單元模塊設計3.1 姿態(tài)檢測模塊姿態(tài)檢測模塊負責將擺桿的姿態(tài)信息反饋至單片機,是整個硬件設計的核心內容。為了能夠準確獲取擺桿當前的姿態(tài)信息,姿態(tài)檢測模塊采用了MPU6050傳感器對擺桿姿態(tài)就行實時監(jiān)測。3.1.1 芯片MPU6050應用介紹MPU-6050是全球首例9軸運動處理傳感器。它集成了3軸 MEMS 陀螺儀3軸MEMS加速度計,以及一個可擴展的數(shù)字運動處理器 DMP(Digital Motion Processor),可用 I2C接口連接一個第三方的數(shù)字傳感器,比如磁力計。擴展之后就可以通

22、過其 I2C 或 SPI 接口 輸出一個 9 軸的信號。MPU-6050 也可以通過其 I2C 接口 連接非慣性的數(shù)字傳感器,比如壓力傳感器。MPU-6050對陀螺儀和加速度計分別用了三個16 位的 ADC,將其測量的模擬量轉化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的 , 陀螺儀可測范圍為 250, 500, 1000, 2000 /秒(dps),加速度計可測范圍為 2, 4 , 8 , 16g。一個片上 1024 字節(jié)的 FIFO,有助于降低系統(tǒng)功耗。 和所有設備寄存器之間的通信采用 400kHz 的 I2C 接口。對于需要高速傳輸?shù)膽?,對寄存器的讀取

23、和中斷可用 20MHz 的 SPI。 另外,片上還內嵌了一個溫度傳感器和在工作環(huán)境下僅有 1%變動的振蕩器。芯片尺寸 4 4 0 .9mm,采用 QFN 封裝(無引線方形封裝),可承受最大 10000g 的沖 擊,并有可編程的低通濾波器。關于電源,MPU-6050可支持VDD范圍2 .5V 5%,3 .0V 5%,或3 .3V 5%。另外MPU-6050還有一個VLOGIC引腳,用來為I2C輸出提供邏輯電平。VLOGIC電壓可取1 .8 5%或者VDD。以數(shù)字輸出 6 軸或 9 軸的旋轉矩陣、四元數(shù)(quaternion)、歐拉角格式(Euler Angle forma)的融合演算數(shù)據(jù)。具有1

24、31 LSBs/sec敏感度與全格感測范圍為 250、 500 1000 與 2000/sec的3軸角速度感測器(陀螺儀)??沙淌娇刂疲页淌娇刂品秶鸀?2g、 4g、 8g 和 16g 的 3 軸加速器。 移除加速器與陀螺儀軸間敏感度,降低設定給予的影響與感測器的飄移。 數(shù)字運動處理(DMP: Digital Motion Processing)引擎可減少復雜的融合演算數(shù)據(jù)、感測器同步化、姿勢感應等的負荷。運動處理數(shù)據(jù)庫支持 Android、Linux 與 Windows 內建之運作時間偏差與磁力感測器校正演算技術,免除了客戶須另外進行校正的需求。 3.1.2 MPU6050引腳輸出和信號描

25、述引腳編號MPU-6050引腳名稱描述1YCLKIN可選的外部時鐘輸入,如果不用則連到 GND6YAUX_DAI2C 主串行數(shù)據(jù),用于外接傳感器7YAUX_CLI2C 主串行時鐘,用于外接傳感器8YVLOGIC數(shù)字 I/O 供電電壓9YAD0I2C Slave 地址 LSB(AD0)10YREGOUT校準濾波電容連線11YFSYNC幀同步數(shù)字輸入12YINT中斷數(shù)字輸出(推挽或開漏)13YVDD電源電壓及數(shù)字 I/O 供電電壓18YGND電源地19, 21, 22YRESV預留,不接20YCPOUT電荷泵電容連線23YSCLI2C 串行時鐘(SCL)24YSDAI2C 串行數(shù)據(jù)(SDA)2,

26、3, 4, 5, 14,YNC不接15, 16, 173.1.3MPU6050系統(tǒng)結構圖 3.1.4 I2C總線應用介紹MPU6050需要通過I2C總線連接至單片機。I2C(InterIntegrated Circuit)總線是由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優(yōu)點。I2C 總線支持任何IC 生產過程(NMOS CMOS、雙極性)。兩線串行數(shù)據(jù)(SDA)和串行時鐘 (SCL)線在連接到總線的器件間傳遞信息。每個器件都有一個唯一的

27、地址識別(無論是微控制器、LCD 驅動器、存儲器或鍵盤接口),而且都可以作為一個發(fā)送器或接收器(由器件的功能決定)。很明顯,LCD 驅動器只是一個接收器,而存儲器則既可以接收又可以發(fā)送數(shù)據(jù)。除了發(fā)送器和接收器外器件在執(zhí)行數(shù) 據(jù)傳輸時也可以被看作是主機或從機。主機是初始化總線的數(shù)據(jù)傳輸并產生允許傳輸?shù)臅r鐘信號 的器件。此時,任何被尋址的器件都被認為是從機。I2C總線特征:1、只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL;2、每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址,主機可以作為主機發(fā)送器或主機接收器;3、它是一個真正的多主機總線,如果

28、兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞;4、串行的8 位雙向數(shù)據(jù)傳輸位速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s;5、連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制。由于連接到I2C 總線的器件有不同種類的工藝(CMOS、NMOS、PMOS、雙極性),邏輯0(低)和邏輯1(高)的電平不是固定的,它由電源VCC的相關電平決定,每傳輸一個數(shù)據(jù)位就產生一個時鐘脈沖。在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL 線的時鐘信號是低電平時才能改變

29、。圖3-3 I2C為傳輸數(shù)據(jù)有效性SCL 線是高電平時,SDA 線從高電平向低電平切換,這個情況表示起始條件;SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。起始和停止條件一般由主機產生,總線在起始條件后被認為處于忙的狀態(tài),在停止條件的某段時間后總線被認為再次處于空閑狀態(tài)。如果產生重復起始條件而不產生停止條件,總線會一直處于忙的狀態(tài),此時的起始條件(S)和重復起始條件(Sr) 在功能上是一樣的。圖3-4起始和停止條件3.1.5 姿態(tài)檢測模塊圖將MPU6050通過I2C總線連接至單片機,模塊完整原理如圖3-5: 圖3-5 姿態(tài)檢測模塊原理圖3.2 單片機控制單元模塊電

30、路3.2.1 控制原理本次設計是以單片機為核心進行設計的。在整個單片機姿態(tài)檢測系統(tǒng)中,CPU既是運算處理中心,又是控制中心,是姿態(tài)檢測系統(tǒng)中的關鍵器件。本系統(tǒng)中選用avr單片機ATMEGA328,ATMEGA可構成真正的單片機最小應用系統(tǒng),縮小系統(tǒng)體積,提高系統(tǒng)可靠性,降低系統(tǒng)成本,原理如圖3-6。圖3-6 控制模塊原理圖3.2.2 ATmega 328P應用介紹AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。AVR的單片機可以廣泛應用于計算機外部設備、工業(yè)實時控制、儀器儀表、通

31、訊設備、家用電器等各個領域。AVR單片機的推出,徹底打破這種舊設計格局,廢除了機器周期,拋棄復雜指令計算機(CISC)追求指令完備的做法;采用精簡指令集,以字作為指令長度單位,將內容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短,又可預取指令,實現(xiàn)流水作業(yè),故可高速執(zhí)行指令。當然這種速度上的升躍,是以高可靠性為其后盾的。ATmega328P就是ATMEL公司推出的低功耗CMOS 8位微處理器,擁有增強的AVR RISC架構。通過在一個時鐘周期執(zhí)行功能強大的指令,具備1MIPS / MHz的高速運行處理能力;圖3-7 ATMEL 328P模塊圖特點:高性能

32、,低功耗Atmel的AVR8位微控制器先進的RISC結構- 131條指令 - 大多數(shù)為單時鐘周期執(zhí)行 - 328通用工作寄存器 - 全靜態(tài)工作 - 工作在20MHz時高達20 MIPS的吞吐量高耐久的非易失性內存 -32Kbytes可編程Flash程序存儲器 -1Kbytes內部SRAM -可寫/擦除次數(shù):Flash 10000次,EEPROM 次 -數(shù)據(jù)保存:在85C可保存20年,在25C可保存100年 -具有獨立鎖定為的可選Boot代碼段 -真正的同時讀-寫操作外設特點 - 兩個8位定時器/計數(shù)器具有獨立預分頻器和比較模式 - 一個16位定時器/計數(shù)器具有獨立預分頻器,比較模式,捕捉模式

33、- 具有獨立振蕩器的實時計數(shù)器 - 6個PWM通道 - 8通道10位ADC - 6通道10位ADC - 可編程串行USART - 主/從SPI串行接口 - 面向字節(jié)的2線串行接口(飛利浦I2C兼容) - 具有獨立片內振蕩器的可編程看門狗定時器 - 片內模擬比較器 - 中斷和喚醒引腳電平變化單片機的特殊功能 - 上電復位和可編程欠壓檢測 - 內部校準振蕩器 - 外部和內部中斷源 - 6種睡眠模式:空閑模式,ADC降噪,省電,省電,待機,并延長待機。3.2.3 Arduino應用介紹本系統(tǒng)軟件開發(fā)是在Arduino開發(fā)板上進行。Arduino,是一塊基于開放源代碼的USB接口Simple i/o接

34、口板(包括12通道數(shù)字GPIO(pin2pin13),4通道PWM輸出(pin3、pin5、pin6、pin9、pin10、pin11),6-8通道10bit ADC輸入通道(A0-A5),并且具有使用類似Java,C語言的IDE集成開發(fā)環(huán)境。 可以快速使用Arduino語言與Flash或Processing等軟件,做出互動作品。 Arduino可以使用開發(fā)完成的電子元件例如Switch或sensors或其他控制器、LED、步進馬達或其他輸出裝置。Arduino也可以獨立運作成為一個可以跟軟件溝通的接口,例如說:flash、processing、Max/MSP、VVVV 或其他互動軟件。Ard

35、uino開發(fā)IDE接口基于開放源代碼原,可以讓您免費下載使用開發(fā)出更多令人驚艷的互動作品。 特色: 1、開放源代碼的電路圖設計,程序開發(fā)接口免費下載,也可依需求自己修改。 2、使用低價格的微處理控制器(ATMEGA128或ATmega328)。可以采用USB接口供電,不需外接電源。也可以使用外部9VDC輸入 3、Arduino支持ISP在線燒,可以將新的“bootloader”固件燒入ATmega128或ATmega328芯片。有了bootloader之后,可以通過串口或者USB to Rs232線更新固件。 4、可依據(jù)官方提供的Eagle格式PCB和SCH電路圖,簡化Arduino模組,完成

36、獨立運作的微處理控制。 可簡單地與傳感器,各式各樣的電子元件連接(EX:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達,等) 5、支持多種互動程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等 6、應用方面,利用Arduino,突破以往只能使用鼠標,鍵盤,CCD等輸入的裝置的互動內容,可以更簡單地達成單人或多人游戲互動。3.3 電機驅動模塊與電機電機驅動模塊主要負責驅動電機的轉動,另外還需加入測速模塊幫助單片機進行調速控制。3.3.1 電機驅動器控制器產生電機的控制信號,但是控制器的輸出功率有限不能直接驅動電機,因此需要一個功率放大器將控制信號放大后再來控制電機,在

37、本設計中選用MC33886直流電機驅動器,MC33886直流電機驅動器是一款帶隔開的雙路大電流電機驅動板,驅動芯片為飛思卡爾的 MC33886 ,驅動板可同時驅動兩個電機,輸出電流最大可以達到 5A ,可以實現(xiàn)電機 PWM 調速,正反轉,制動等實時控制功能。并具有過流,欠壓和溫度過高自動保護 , 以及故障狀態(tài)提示功能。采用光電耦合隔離設計,具有非常強的抗干擾能力。圖2.31) 輸入電壓:單一電源供電, 6.5V40V,分開供電( +5V 與電機電源分開) 5V40V;2) 溫度范圍 : -40 125 ;3) PWM 波頻率: 10KHZ;4) 輸入控制與電機運行狀態(tài)( 1 表示高電平, 0

38、表示低電平 ,X 表示任意狀態(tài));5) 真值表如下(以一號電機為例);輸入 F1 D1 P1 電機運行狀態(tài) 1 1 1 正轉1 1 0 停止1 1 PWM 正轉調速1 0 1 反轉1 0 0 停止1 0 PWM 反轉調速0 X X 剎車 3.3.2 電機驅動電路由于小車具有兩個驅動電機,因此需要兩組電機驅動橋電路。需要兩篇電機驅動專用芯片組成電機驅動電路。同時為了提高電源的應用效率,驅動電機的 PWM 波形采用了單極性的驅動方式。也就是在一個PWM 周期內,施加在電機上的電壓為一種電壓,如圖3-8,3-9所示。圖3-8 單極性PWM 圖3-9 雙極性PWM因此每一路電機為了能夠實現(xiàn)正反轉,都需

39、要兩個PWM 信號。兩個電機總共需要4 路PWM 信號。結合實際應用,選擇了Freescale的MC33886電機驅動芯片,作為一個單片電路H-橋,是理想的功率分流直流馬達和雙向推力電磁鐵控制器。他的集成電路內部邏輯控制,電荷泵,門控驅動,及低讀選通金屬-氧化物半導體場效應晶體管輸出電路。MC33886能夠控制連續(xù)感應直流負載上升到5.0A輸出負載脈寬調制的頻率可達10KHz,一個故障狀態(tài)輸出可以報告欠壓,短路,過熱的情況。兩路獨立輸入控制兩個半橋的推拉輸出電路的輸出。兩個無效輸入使H橋產生三態(tài)輸出(呈現(xiàn)高阻態(tài))。具體的驅動電路如圖3-10所示。圖3-10 電機驅動模塊圖3.3.3 電機測速電

40、路為了使單片機進行調速控制,需要對電機進行測速,需要使用編碼器。編碼器是一種將旋轉位移轉換成一串數(shù)字脈沖信號的旋轉式傳感器,先將位移轉換成周期性的電信號,編碼器產生電信號后由數(shù)控制置、控制系統(tǒng)等來處理,轉變成計數(shù)脈沖,這些脈沖能用來控制角位移。編碼器以轉動時輸出脈沖,通過計數(shù)設備來知道其位置,當編碼器不動或停電時,依靠計數(shù)設備的內部記憶來記住位置。這樣,當不供電時,編碼器不能有任何的移動,當來電工作時,編碼器輸出脈沖過程中,也不能有干擾而丟失脈沖,會造成零點偏移。解決的方法是增加參考點,編碼器每經過參考點,將參考位置修正進計數(shù)設備的記憶位置。這樣的編碼器是由碼盤的機械位置決定的,它不受停電、干

41、擾的影響。通過篩選選擇電機配套的2342型編碼器,光電編碼器的碼盤直接安裝在電機的后軸端上。當電機旋轉時,低慣量碼盤上的齒槽將導通和遮斷由光電二極管發(fā)出的紅外線這樣一來,編碼器將產生帶90相差的兩路輸出脈沖信號,從而進行測速。模塊接線圖如圖3-11所示。圖3-11 電機測速模塊圖3.3.4電機兩動力車輪需要分別用兩個直流電機驅動,本設計中直流電機選用的是德國馮哈勃Faulhaber編碼器空心杯減速電機2342L012C R,電機上自帶有增量式光電編碼器,可用來測量電機的轉速,方向和位移。電機參數(shù)如下:圖2.2工作電壓: 12V空載轉速:8100RPM(轉每分鐘)減速后速:120RPM(轉每分鐘

42、)直徑:30mm電機長度:42mm總共長度:85mm出軸直徑:6mm出軸長度:35mm輸出功率:17W扭矩:最大扭矩( 1.72Nm)空載電流:75mA堵轉扭矩:50Kgcm( 5Nm )連續(xù)扭矩:10kgcm( 1Nm )堵轉電流:1400mA減速箱:全金屬精密行星減速箱減速比:64:1編碼器:光電式輸出路數(shù):雙路輸出每圈脈沖:12CPR3.4 電源管理模塊電源管理單元是系統(tǒng)硬件設計中的一個重要組成單元。根據(jù)系統(tǒng)各部分正常工作的需要,本系統(tǒng)輸出電壓值分為5伏和9伏兩個檔。根據(jù)各部分正常工作的需要,系統(tǒng)電源管理單元選用16V 2200mAh 的鋰電池進行電壓調節(jié)。其主要用于以下兩個方面: 1.

43、 采用穩(wěn)壓芯片GM1117-5.0將電源電壓穩(wěn)壓到5V后,給單片機系統(tǒng)電路,電機轉速檢測的旋轉編碼器電路和驅動芯片供電。2. 16V直接給電機驅動芯片MC33886供電可直接驅動電機,無需在給電機連接電源。3.4.1 芯片GM1117介紹 正極可調和固定輸出的穩(wěn)壓器GM1117在設計上滿足1.0A輸出,低壓差的性能。片上微調電壓最小參數(shù)可到參考電壓的1%,可用做處理器電源,達到低壓工作和快速瞬態(tài)響應要求。引腳兼容LT1086穩(wěn)壓器系列,GM1117是在表面貼裝的SOT-223和TO-252封裝。圖3-14 GM1117模塊圖3.4.2 電源管理模塊原理圖圖3-15 電源管理模塊圖 結論本文以A

44、TMEL公司的8位微處理器Atmega 328P為控制核心,設計了能夠實現(xiàn)自平衡的運動倒立擺的硬件系統(tǒng)。根據(jù)設計目的,系統(tǒng)需要實時知道擺桿角度以及時調整電機轉速來使擺桿的傾角維持在一定范圍內,從而達到動態(tài)平衡的效果。因此系統(tǒng)的設計關鍵是如何精確獲取擺桿的姿態(tài),以及如何控制電機轉速使小車隨著擺桿的傾斜而運動。這部分內容主要涉及軟件部分,但這一切都建立在硬件平臺的基礎上。硬件部分采用模塊化設計,主要由單片機最小系統(tǒng),姿態(tài)檢測模塊,直流驅動電機控制模塊,電源管理模塊,測速編碼模塊,等幾部分組成。 為使開發(fā)快速簡潔,控制核心采用了Arduino最小系統(tǒng)版,可參考大量源代碼程序。這大大減小了軟件開發(fā)的難度,軟件開發(fā)過程中能夠避免很多不必要的困難。姿態(tài)檢測部分采用mpu6050傳感器它了移除加速器與陀螺儀軸間敏感度降低了設定給予的影響與感測器的飄移。將其測量的模擬量轉化為可輸出的數(shù)字量方便了對數(shù)據(jù)進行實時的監(jiān)控。電機采用了德國馮哈勃Faulhaber編碼器空心杯減速電機2342L012C R,電機驅動部分選用成熟的MC33886方案,輸出電流最大可以達到5A,可以實現(xiàn)電機PWM調速,正反轉,制動等實時控制功能。測速部分采用了與電機配套的光電編碼器,使測速更精確更穩(wěn)定。由于時間和個人水平的限制,仍有許多地方需要完善。如考慮采用MOS管驅動電機獲得更好的加速性能;電機驅動芯

溫馨提示

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

評論

0/150

提交評論