版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
2015中國工程機器人大賽暨國際公開賽〔RoboWork〕機器人搬運工程技術報告參賽學校:華北電力大學隊伍名稱:沖隊參賽隊員:黃瑞托吳秋淑李夢帶隊教師:房靜二〇一五年七月關于技術報告使用授權(quán)的說明本人完全了解2015中國工程機器人大賽暨國際公開賽〔RoboWork〕關于保存、使用技術報告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人和比賽組委會共同所有,比賽組委會可以在相關主頁上收錄并公開參賽作品的設計方案、技術報告以及參賽機器人的視頻、圖像資料,并將相關內(nèi)容編纂收錄在組委會出版論文集中。參賽隊員簽名:帶隊教師簽名:日期:引言本文設計的搬運機器人以STM32單片機系統(tǒng)為核心控制單元,通過RPR220光電傳感器識別并反應賽道信息,通過兩個PARALLAX舵機以及萬能算法控制搬運機器人的運動角度、方向及轉(zhuǎn)速,通過控制鉤子的升降實現(xiàn)物料的抓取與放置。將循跡模塊、光電管模塊、取物模塊等功能模塊集于一體,算法采用比例控制思想進行編程,通過對控制器的C語言編程,能夠靈活地實現(xiàn)物料的搬運。實驗結(jié)果說明,該系統(tǒng)設計方案確實可行。關鍵字:STM32;RPR220;PARALLAX;C語言ABSTRACTInthispaperwewilldesignaHandlingrobotsystembasedonSTM32SCMsystem.Inordertorecognizeandfeedbacktheinformationofracingtrack,RPR220sensorhasbeenemployedinoursystem.Besides,controllingtheangle,directionandspeedisjusttakinggoodadvanceofthetwoPARALLAXstringenginesanduniversalalgorithm.Atthesametime,throughcontrollingtheriseandfallofthehookthatismadeofsteelwirewemanagetoconductthetaskoftheobjects’fetchandsetting.Themoduleoftracking,sensorandfetchingaresetinabody,whichhasadoptedtheideologyofproportioncontrol.Obviously,itisflexibleforoursimpledesigntorealizethecarryofobjectsviaCprogramminglanguageofthecontroller.TheexperimentalresultsindicatethatourdesignschemeoftheHandlingrobotsystemistrulyfeasible.Keywords:STM32;RPR220;PARALLAX;C目錄TOC\o"1-3"\h\u26401緒論79954INTRODUCTION8188851系統(tǒng)總體設計1051431.1系統(tǒng)概述10204521.2整體布局14289602機械系統(tǒng)設計與實現(xiàn)19247562.1萬向輪19257432.2舵機19153372.3銅柱23156243硬件系統(tǒng)設計及實現(xiàn)24215853.1硬件設計24281523.1.1RPR220傳感器24133623.1.2ALIENTEKMiniSTM3224212253.1.3開發(fā)板使用考前須知26250243.1.4MCU27303853.2電路設計方案28113083.2.1ALIENTEKMiniSTM32電路28176073.2.2RPR220光電傳感器電路30199763.2.3電源穩(wěn)壓電路30323803.2.4LCD液晶顯示屏30307604軟件系統(tǒng)設計與實現(xiàn)32232935系統(tǒng)開發(fā)及調(diào)試工具35123215.1開發(fā)工具35123465.1.1KeilARM3520625.1.2MDK5簡介35133505.2按鍵模塊3685275.3紅外遙控器在調(diào)試過程中的使用3784385.4ADC(模擬/數(shù)字轉(zhuǎn)換)38149285.4.1ADC介紹3872305.4.2ADC主要特征38183505.4.3ADC功能描述39375.4.4ADC開關控制40233265.4.5ADC時鐘40243255.4.6通道選擇41284295.4.7單次轉(zhuǎn)換模式4174685.4.8連續(xù)轉(zhuǎn)換模式4191775.4.9ADC中斷4265645.5USB串口、USB、電源4292156結(jié)論4426147參考文獻4720169致謝4820371附錄:程序源代碼49緒論機器人在搬運領域有極其重要的應用,然而研發(fā)能實際應用的機器人是有相當難度的,尤其是研發(fā)搬運領域?qū)嶋H應用的機器人。國內(nèi)外生產(chǎn)競賽用機器人的企業(yè)很多。美國Surveyor公司生產(chǎn)了一種名為SRV-1的履帶式移動機器人,該機器人自帶了數(shù)碼攝像頭和無線通訊等功能,機身小巧,可用于研究、教育等領域。目前國內(nèi)有幾十家,例如上海未來伙伴機器人成立于1996年,其競賽機器人產(chǎn)品包括:滅火機器人,足球機器人,擂臺賽機器人等。國內(nèi)很多高校近年來也開展了對于競賽機器人的研究,電子科技大學萬永倫介紹了一種競賽全自動機器人,該機器人采用步進電機作為行走機構(gòu),釣魚竿式的訪求控制系統(tǒng),主要用于參加首屆全國大學生機器人電視大賽“搶攀珠穆朗瑪峰”的比賽工程。清華大學、南開大學、天津大學等也都在搬運機器人方面有所研究。目前中國正在建立上海、昆山、天津、沈陽、哈爾濱、青島、廣州、蕪湖、常州、廈門十大機器人產(chǎn)業(yè)園,大力開展機器人產(chǎn)業(yè)。搬運機器人工程是中國機器人大賽2011年新增的比賽工程,目前沒有一個公共的硬件平臺,由于廠家生產(chǎn)的競賽機器人本錢較高,國內(nèi)對于競賽用搬運機器人的研究比擬少,因此有必要開發(fā)出一款能夠滿足比賽要求、低本錢、可擴展的機器人。本技術報告主要包括機械系統(tǒng)、硬件系統(tǒng)、軟件系統(tǒng)等,詳盡地闡述了我們的設計方案及思想,具體表達在硬件電路的創(chuàng)新設計、硬件結(jié)構(gòu)的獨特設計以及控制算法的優(yōu)化設計。我們小組的創(chuàng)新之處主要在于算法及硬件結(jié)構(gòu)。在此過程中,我們付出了很多努力,這份技術報告正是凝聚了我們的智慧、汗水,是我們團隊共同努力的成果。在準備2015中國工程機器人大賽暨國際公開賽〔RoboWork〕機器人搬運組的比賽過程中,我們小組成員涉獵到自動控制原理、單片機原理與控制、機械原理、機械設計、電子技術、模電技術、汽車機械、傳感器技術、計算機等多個學科、多種領域,幾個月的努力,培養(yǎng)了我們電路設計、機械設計、軟件編程、系統(tǒng)調(diào)試等諸多方面的能力,鍛煉了我們將知識融合貫穿、動手實踐操作的能力,讓我們深刻體會到了堅持不懈、吃苦耐勞的珍貴品質(zhì)的重要性,這對我們今后的生活、學習、工作都會起著潛移默化的作用。INTRODUCTIONWhatisknownisthatrobothasextremelyimportantapplicationintheareasoftransportation.However,itisdifficulttoinventrobotwhichcanpossesspracticalapplication,especiallyintheareasoftransportation.Obviously,domesticandforeignproductionofthecompetitionwithalotofrobotsarebecomingmoreandmore.ItissaidthatoneAmericancompanynamedSurveyorhashadproductioninasortoftrackedmobilerobotcalledSRV-1thatcomeswiththefunctionofadigitalcameraandwirelesscommunication.Thiskindofrobotscanbehavecompactbody,whichcanbeusedforresearch,educationandotherfields.Therearedozensofdomesticthatmayproductcompetitionrobotsincludingfirefightingrobot,soccerrobot,contestrobotandsoon.Forexample,ShanghaiFuturePartnerRobotCo.,Ltdwasestablishedin1996.ManycollegesanduniversitiesinChinahavealsocarriedouttheresearchonthecompetitionrobotinrecentyears.Asisknown,WanYonglunoftheUniversityofElectronicScienceandtechnologyhasintroductedakindofcompetitionrobotwhichisautomatic.Thissortofrobotcanusesteppingmotorasawalkingmechanism,whichtakesgoodadvantageofsearchforcontrolsystemoffishingrodtype,mainlyusedtoparticipateinthefirstnationalcollegerobotTVcontestprojectcalled‘grabtheMountQomolangma’.TsinghuaUniversity,NankaiUniversity,TianjinUniversityandotheruniversitieshavebeenstudiedinthehandlingrobot.Atpresent,ChinaisbuildingtenrobotindustrialparksinShanghai,Kunshan,Tianjin,Shenyang,Harbin,Qingdao,Guangzhou,Wuhu,ChangzhouandXiamen.ThereisnodoubtthatChinaisvigorouslydevelopingtheroboticsindustry.HandlingrobotprojectisthenewgameProjectintheChineserobotcompetitionin2011,whichhashadnopublichardwareplatformintherecentyears.Domesticresearchforhandlingrobotforthecompetitionismuchfewerbecauseofmanufacturerproductionofhighercostofcompetitionrobot.Inthatcase,itisnecessarytoinventavarietyofrobotthatcansatisfytherequirementsofthegame,lowcost,andbeextended.Thistechnicalreportdescribingthedesignschemeandideaofourdesignindetailmainlyincludesmechanicalsystem,hardwaresystem,softwaresystem,etc.Theuniquedesignofthehardwarecircuit,theuniquedesignofthehardwarestructure,andtheoptimaldesignofthecontrolalgorithmaredetailed.Ourteam'sinnovationliesinthealgorithmandhardwarestructure.Inthisprocess,wepayalotofeffort.Thistechnicalreportistogatherourwisdom,sweat,whichistheresultofourteamworktogether.InthecourseofpreparationforChinaengineeringrobotcompetitionandinternationalopenRoboWorkofhandlingrobotgroupin2015,ourteammembershaveavarietyofdisciplinesandfieldsofautomaticcontrolprinciple,theprincipleofsinglechipmicrocomputerandcontrol,mechanicalprinciple,mechanicaldesign,electronictechnology,electronictechnology,automotivemachinery,sensortechnologyandcomputer.Wehavetheabilityofthecircuitdesign,mechanicaldesign,softwareprogramming,systemdebuggingandsoon,andtomergetheknowledgeandthepracticeoperationafterseveralmonthsofhardwork,deeplyrealizingtheimportanceofperseveranceandhardworkofthevaluablequality,whichwillbeasubtleroleofourfuturelife,studyandwork.1系統(tǒng)總體設計1.1系統(tǒng)概述系統(tǒng)的總體概述為:搬運機器人先通過光電傳感器先采集場地信息并記錄,然后機器人開始基于STM32內(nèi)置算法分析軌跡并進行相應路線運行,機器人搬運物塊ACE到指定顏色位置完成第一環(huán)節(jié)后進行第二個環(huán)節(jié)10個物塊的搬運。搬運機器人根據(jù)光電傳感器反應的數(shù)據(jù)準確停在指定物塊位置,鉤子抓取物塊后,搬運機器人將物塊送到指定位置通過光電傳感器反應數(shù)據(jù)松開鉤子放下物塊。運送物塊過程中,搬運機器人通過尾部三個光電傳感器實現(xiàn)精確轉(zhuǎn)彎并通過PWM輸出控制機器人沿著賽道行進。運送物塊兩個環(huán)節(jié)結(jié)束后,機器人沿線返回起點位置。根據(jù)系統(tǒng)的根本要求,我們設計了系統(tǒng)結(jié)構(gòu)圖,如圖1.1.1所示。在滿足比賽要求的情況下,力求系統(tǒng)的簡單高效穩(wěn)定,因而在設計過程中盡量簡化硬件結(jié)構(gòu),同時減少因硬件而引發(fā)的問題。圖1.1.2為RPR220光電傳感器結(jié)構(gòu)圖,圖1.1.3為RPR220光電傳感器硬件分布圖,圖1.1.4為RPR220光電傳感器硬件實物圖,圖1.1.5為取物舵機結(jié)構(gòu)圖,圖1.1.6為取物舵機硬件分布圖,圖1.1.7為取物舵機硬件實物圖。RPR220傳感器RPR220傳感器信息采集、反應STM32單片機系統(tǒng)STM32單片機系統(tǒng)占空比信息 占空比信息行進舵機行進舵機取物舵機圖1.1.1系統(tǒng)結(jié)構(gòu)圖①②③④⑤⑥⑦⑧兩個前瞻三個主要巡線RPR220光電傳感器三個主要巡線RPR220光電傳感器三個轉(zhuǎn)彎及輔三個轉(zhuǎn)彎及輔助巡線圖1.1.2光電傳感器結(jié)構(gòu)圖圖1.1.3光電傳感器硬件分布圖圖1.1.4光電傳感器硬件實物圖取物舵機舵機舵機3舵機1舵機2鉤子3鉤子3鉤子4鉤子2鉤子1鉤子6鉤子6鉤子5鉤子7圖1.1.5取物舵機結(jié)構(gòu)圖鉤子鉤子1鉤子7鉤子3鉤子2鉤子5鉤子6鉤子4舵機1舵機2舵機2圖1.1.6取物舵機硬件分布圖圖1.1.7取物舵機硬件實物圖1.2整體布局本組搬運機器人整體布局有如下幾個特點:采用八個RPR220光電傳感器。如圖1.1.3,和為兩個前瞻,可以提前檢測到黑線;③④⑤⑥⑦⑧六個RPR220光電傳感器用來巡線,其中③④⑤三個RPR220光電傳感器起主要巡線的作用,⑥⑦⑧三個RPR220光電傳感器起輔助巡線的作用;⑥⑦⑧三個RPR220光電傳感器用來轉(zhuǎn)彎,其中RPR220光電傳感器⑦起主要轉(zhuǎn)彎的作用,⑥⑧兩個RPR220光電傳感器起輔助轉(zhuǎn)彎的作用。采用三個鉤子,三個鉤子包含了七個小鉤子。如圖1.1.6,鉤子1,2共用一個舵機1,鉤子3,4共用一個舵機3,鉤子5,6,7共用一個舵機2。在進行物料分揀搬運的第一個環(huán)節(jié)時,只用到了鉤子2,4;在進行物料分揀搬運的第二個環(huán)節(jié)時,鉤子1,2,3,4,5,6,7同時使用。采用三個鉤子能夠使得物料搬運過程中更加穩(wěn)定可靠,最后放置時更加接近目標區(qū)的中心。下面將詳細介紹我們小組鉤子使用情況:①如圖1.1.6,在進行物料分揀搬運的第一個環(huán)節(jié)時,需要從暗箱中放置的5種不同顏色的物料隨機抽取3種顏色物料,依次放置在場地上標示為A、C、E的位置,機器人將這三個物料分揀搬運到對應的顏色區(qū)域。在這一環(huán)節(jié),我們小組只使用了鉤子2,4。當鉤子2和鉤子4上都處于升起狀態(tài)〔即未鉤住物料)時,我們小組的搬運機器人會先使用右邊的鉤子〔即鉤子4〕將所要放置的物料鉤起,當遇到前面有障礙物〔即物料〕時,會用左邊的鉤子〔即鉤子2〕將障礙物〔即物料〕鉤起,帶著兩個物料一起行進,直到將的右邊鉤子鉤住的物料放置好才去將左邊鉤子鉤住的物料放置好;假設未遇到前方有障礙物〔即物料〕,那么直接將右邊鉤子鉤住的物料放置好。圖1.2.4是右邊的鉤子4鉤住物料時的分布圖;圖1.2.5是當右邊鉤子4鉤住物料并且遇到前方障礙物時將處于升起狀態(tài)的左邊鉤子2降下的情況分布圖;圖1.2.6是當右邊鉤子4鉤住物料并且遇到前方障礙物時采用左邊鉤子2將障礙物鉤住的情況分布圖。②如圖1.1.6,在進行物料分揀搬運的第二個環(huán)節(jié)時,需要將F〔圖〕、G兩個儲料區(qū)的共計10個物塊取出分揀搬運至對應顏色區(qū)域〔如綠色物料搬運到綠色目標區(qū),以此類推〕。在這一環(huán)節(jié),我們小組使用了所有的鉤子。我們小組的鉤子2和鉤子5同時鉤住一個物料,鉤子4和鉤子6同時鉤住一個物料,鉤子1,3,7各負責鉤住一個物料。我們可以看到,鉤子1和鉤子2是連貫的,即鉤子1或鉤子2只要有一個升起或降下,都會帶動另一個的升起或降下。鉤子2和鉤子5之所以需要同時鉤住一個物料,是因為當鉤子1升起從而放下鉤子1所鉤住的物料時,鉤子2也將隨著鉤子1的升起而升起,這樣的話,鉤子2和鉤子5共同鉤住的物料將變成由鉤子5單獨鉤住,這就做到了一次只放一個物料的目標,且放置好一個物料的同時并不影響其他物料的放置。同樣地,鉤子4和鉤子6同時鉤住一個物料的道理如上面所述。圖1.2.2是鉤子將要降下之前將五個物料集攏在一起的圖;圖1.2.3是鉤子全部落下時各個鉤子鉤住物料的分布圖。圖1.2.1F區(qū)的五個物料圖圖1.2.2鉤子將要降下之前將五個物料集攏在一起圖圖1.2.3鉤子全部落下時各個鉤子鉤住物料分布圖圖1.2.4右邊的鉤子4鉤住物料分布圖圖1.2.5當右邊鉤子4鉤住物料并且遇到前方障礙物時將處于升起狀態(tài)的左邊鉤子2降下的情況分布圖圖1.2.6當右邊鉤子4鉤住物料并且遇到前方障礙物時采用左邊鉤子2將障礙物鉤住情況分布圖圖1.2.7整體布局圖2機械系統(tǒng)設計與實現(xiàn)2.1萬向輪萬向輪就是所謂的活動腳輪。最大的優(yōu)點就是它的結(jié)構(gòu)允許水平360度旋轉(zhuǎn);同時,萬向輪的使用大大減少了摩擦。2.1萬向輪實物圖2.2舵機我們組采用了兩種舵機分別用于輪子和鉤子。輪子上所采用的舵機型號為PARALLAXContinuousRotationServo;鉤子所采用的的舵機型號為TowerProMicroServo9gSG90。以下將詳細介紹我們小組所使用的這兩種舵機。〔1〕PARALLAXContinuousRotationServo的最高轉(zhuǎn)速可達50轉(zhuǎn)每分〔電壓6伏特時〕。以下將對PARALLAXContinuousRotationServo性能及使用進行詳盡介紹。2.2.1PARALLAXContinuousRotationServo舵機電路圖2.2.2PARALLAXContinuousRotationServo舵機3Pin2.2.3PARALLAXContinuousRotationServo舵機轉(zhuǎn)動分析2.2.4PARALLAXContinuousRotationServo舵機轉(zhuǎn)速與脈沖寬度的關系圖如圖2.2.5,TowerProMicroServo9gSG90舵機有三,GND〔地線〕,CONTROL〔控制線〕。,GND為舵機的電源線,CONTROL為舵機控制信號的輸入線??刂菩盘枮榈腜WM波形〔矩形波〕,不同的脈寬〔占空比〕對應在沒有過載且控制信號持續(xù)穩(wěn)定的條件下,舵機的方位角嚴格保持不變。此控制信號適需要注意的是盡管也可以用延時函數(shù)來實現(xiàn)PWM波,但舵機運行可能PWM波的頻率偏離過大,舵時機出現(xiàn)震顫甚至會無法啟動舵機!需要說明的是,因程序脈寬調(diào)整的原理,只能得到一些特定位置,但對于普通的執(zhí)行機構(gòu),是能夠滿足要求的。需要注意的是,給舵機供電電源應提供足夠的功率,控制線的輸入是一個寬度可調(diào)的周期性方波脈沖信號,方波脈沖信號的周期為20ms〔即頻率為50Hz〕。當方波的脈沖寬度改變時,舵機的轉(zhuǎn)軸角度發(fā)生改變,角度變化與脈沖寬度的變化成正比,如圖2.2.7。圖2.2.5TowerProMicroServo9gSG90舵機三根引出線圖圖2.2.6TowerProMicroServo9gSG90舵機內(nèi)部電路圖圖2.2.7舵機輸出轉(zhuǎn)角與輸入信號脈沖寬度的關系圖2.3銅柱銅柱主要起到支撐的作用。本技術報告中之所以會提到銅柱,是因為我們小組在ALIENTEKMiniSTM32開發(fā)板的四周加了很高的銅柱之后,有效節(jié)省了結(jié)構(gòu)的使用空間,更重要的一點便是,在我們小組進行調(diào)試時,可以將小車倒置,如圖2.3,確保了ALIENTEKMiniSTM32開發(fā)板的平安,方便了我們的調(diào)試。圖2.3將搬運機器人倒置圖3硬件系統(tǒng)設計及實現(xiàn)我們主要從系統(tǒng)的穩(wěn)定性、可靠性、高效性、實用性、簡潔性、美觀性等方面來考慮硬件的整體設計。從最初的設定到最終的敲定,我們小組經(jīng)過了很長一段時間的分析討論及經(jīng)歷才有了如下的硬件設計。3.1硬件設計3.1.1RPR220傳感器本小組使用的是RPR220光電傳感器。RPR220傳感器原理:RPR220傳感器是由紅外發(fā)射管和紅外接收管構(gòu)成的,其外部包裹著黑色塑料。當搬運機器人行進時,紅外發(fā)射管會發(fā)射光,而黑線和白線反射光的強弱程度不同,白線比黑線反射能力更強,進而紅外接收管會吸收由黑線或白線反射回來的光,形成了一定的電流,如圖3.2.2,電流通過18kΩ的電阻會形成一定的電壓,我們小組經(jīng)過反復實踐檢驗,設定了一個閾值,從而將電壓數(shù)值轉(zhuǎn)變成二值數(shù)值,即當電壓值大于閾值時,我們設為值1;當電壓值小于閾值時,我們設為值0。結(jié)合RPR220傳感器的原理,我們使用了八個RPR220傳感器。如圖1.1.4,前兩個是前瞻,能夠提前檢測到黑線;中間三個是巡線用的,其間隔是略大于黑線寬度;尾部三個是轉(zhuǎn)彎用的,同時又是輔助巡線用的,這三個中中間那個傳感器⑦對轉(zhuǎn)彎起很多的作用,而左右兩個傳感器⑥和⑧是輔助轉(zhuǎn)彎用的。我們小組所設計的傳感器有如下優(yōu)點:中間三個是巡線用的,其間隔是略大于黑線寬度,其很大的優(yōu)勢便是有效防止搬運機器人走丟或誤判。因為如果用作巡線的傳感器之間的間隔小于等于黑線寬度,一旦走偏了一點點,就會檢測不到路線了,這就造成了走偏;同樣地,假設用作巡線的傳感器之間的間隔比黑線寬度大很多,就會很容易出現(xiàn)誤判,又因為它是要檢測黑白線的,所以小車在巡線過程中很有可能會歪歪扭扭前行;雖然我們小組用作巡線的傳感器之間的間隔略大于黑線寬度,但實際上在巡線過程中仍然是壓著黑線行進的,并沒有想象中的會歪歪扭扭而不穩(wěn)定的巡線。事實上,我們小組所使用的巡線傳感器一共有六個,中間的③④⑤三個RPR220光電傳感器起主要巡線的作用,尾部的⑥⑦⑧三個RPR220光電傳感器起輔助巡線的作用。這就使得我們的搬運機器人能夠穩(wěn)定地巡線,即使走偏了一點點,它也能夠及時糾正過來并繼續(xù)巡線行進。采用了三個用作轉(zhuǎn)彎的傳感器,其中位于尾部中間的傳感器⑦起主要轉(zhuǎn)彎的作用,左右兩個傳感器⑥和⑧是輔助轉(zhuǎn)彎用的。我們由一開始的用作轉(zhuǎn)彎的一個傳感器改良成了三個傳感器,這就使得我們的搬運機器人在轉(zhuǎn)彎過程中更加靈活、敏捷。而位于尾部的三個傳感器又具有輔助巡線的作用,如果在行進過程中偏了一點點,可以及時采集、反應信息并及時糾正。3.1.2ALIENTEKMiniSTM32ALIENTEKMiniSTM32V3.0具有如下幾個優(yōu)點:〔1〕小巧。整個板子尺寸為8cm*10cm*2cm〔包括液晶,但不計算銅柱的高度〕〔2〕靈活。板上除晶振外的所有的IO口全部引出,特別還有GPIOA和GPIOB的IO口是按順序引出的,可以極大的方便大家擴展及使用,另外板載獨特的一鍵下載功能,防止了頻繁設置B0、B1帶來的麻煩,直接在電腦上一鍵下載?!?〕資源豐富。板載十多種外設及接口,可以充分挖掘STM32的潛質(zhì)。〔4〕質(zhì)量過硬。沉金PCB+全新優(yōu)質(zhì)元器件+定制全銅鍍金排針/排座+電源TVS保護,堅假設磐石。〔5〕人性化設計。各個接口都有絲印標注,使用起來一目了然;接口位置設計安排合理,方便順手。資源搭配合理,物盡其用。圖3.1.2ALIENTEKMiniSTM32硬件圖ALIENTEKMiniSTM32開發(fā)板資源如下:◆CPU:STM32F103RCT6,LQFP64,F(xiàn)LASH:256K,SRAM:48K;◆1個標準的JTAG/SWD調(diào)試下載口◆1個電源指示燈〔藍色〕◆2個狀態(tài)指示燈〔DS0:紅色,DS1:綠色〕◆1個紅外接收頭,配備一款小巧的紅外遙控器◆1個IIC接口的EEPROM芯片,24C02,容量256字節(jié)◆1個SPIFLASH芯片,W25Q64,容量為8M字節(jié)〔即64Mbit〕◆1個DS18B20/DS1820溫度傳感器預留接口◆1個標準的2.4/2.8/3.5/4.3/7寸LCD接口,支持觸摸屏◆1個OLED模塊接口〔與LCD接口局部共用〕◆1個USB串口接口,可用于程序下載和代碼調(diào)試◆1個USBSLAVE接口,用于USB通信◆1個SD卡接口◆1個PS/2接口,可外接鼠標、鍵盤◆1組5V電源供給/接入口◆1組3.3V電源供給/接入口◆1個啟動模式選擇配置接口◆1個2.4G無線通信接口◆1個RTC后備電池座,并帶電池◆1個復位按鈕,可用于復位MCU和LCD◆3個功能按鈕,其中WK_UP兼具喚醒功能◆1個電源開關,控制整個板的電源◆3.3V與5V電源TVS保護,有效防止燒壞芯片?!舄殑?chuàng)的一鍵下載功能◆除晶振占用的IO口外,其余所有IO口全部引出,其中GPIOA和GPIOB按順序引3.1.3開發(fā)板使用考前須知為了讓大家更好的使用ALIENTEKMiniSTM32開發(fā)板,我們在這里總結(jié)該開發(fā)板使用的時候尤其要注意的一些問題,希望大家在使用的時候多多注意,以減少不必要的問題?!?〕開發(fā)板一般情況是由USB_232口供電,在第一次上電的時候由于CH340G在和電腦建立連接的過程中,導致DTR/RTS信號不穩(wěn)定,會引起STM32復位2~5次左右,這個現(xiàn)象是正常的,后續(xù)按復位鍵就不會出現(xiàn)這種問題了?!?〕雖說開發(fā)板有500mA自恢復保險絲,但是由于自恢復保險絲是慢動作器件,所以在給外部供電的時候,還是請大家小心一點,不要超過這個限額,以免引起不必要的問題〔3〕SPI1被多個SPI器件共用〔SD卡/無線模塊/W25Q64〕,在使用的時候,必須保證同一時刻只有1個SPI器件是被選中的〔CS為低〕,其他器件必須設置為非選中〔CS為高〕,以免互相干擾?!?〕JTAG接口有幾個信號〔JTDO/JTRST/JTDI等〕和LCD/KEY1等共用了,所以在使用的時候注意,一旦用到這些有沖突的引腳,就不能再用JTAG模式仿真/下載代碼了,必須使用SWD模式,所以我們竭力推薦使用:SWD模式?!?〕當你想使用某個IO口用作其他用處的時候,請先看看開發(fā)板的原理圖,該IO口是否有連接在開發(fā)板的某個外設上,如果有,該外設的這個信號是否會對你的使用造成干擾,先確定無干擾,再使用這個IO。比方PA0如果和1820的跳線帽連接上了,那么WK_UP按鍵就無法正常檢測了,按鍵實驗,也就沒法做了?!?〕當液晶顯示白屏的時候,請先檢查液晶模塊是否插好〔拔下來重新插試試〕,如還不行,可以通過串口看看LCDID〔按一次復位,輸出一次〕是否正常,再做進一步分析?!?〕當使用液晶模塊〔16位模式〕的時候,PB0~PB15都被占用了,可以分時復用,但是在寫程序的時候要注意,這里還有連接到觸摸屏的PC0/PC1/PC2/PC3/PC13均會存在這樣的問題,在使用的時候要格外注意,看是否會產(chǎn)生干擾。MCUALIENTEKMiniSTM32V3.0版開發(fā)板選擇的是STM32F103RCT6作為MCU,它擁有的資源包括:48KBSRAM、256KBFLASH、2個根本定時器、4個通用定時器、2個高級定時器、2個DMA控制器〔共12個通道〕、3個SPI、2個IIC、5個串口、1個USB、1個CAN、3個12位ADC、1個12位DAC、1個SDIO接口及51個通用IO口。圖3.1.4BOOT0、BOOT1啟動模式表按照圖3.1.4,一般情況下〔即標準的ISP下載步驟〕如果我們想用用串口下載代碼,那么必須先配置BOOT0為1,BOOT1為0,然后按復位鍵,最后再通過程序下載代碼,下載完以后又需要將BOOT0設置為GND,以便每次復位后都可以運行用戶代碼??梢钥吹?,這個標準的ISP步驟還是很繁瑣的,跳線帽跳來跳去,還要手動復位,所以ALIENTEK為STM32的串口下載專門設計了一鍵下載電路,通過串口的DTR和RTS信號,來自動控制RST(復位)和BOOT0,因此不需要用戶來手動切換狀態(tài),直接串口下載軟件自動控制,可以非常方便的下載代碼,這是其他開發(fā)板所不具備的。P3和P1分別用于PORTA和PORTB的IO口引出,其中P1有局部用于PORTC口的引出。PORTA和PORTB都是按順序排列的,這樣設計的目的是為了讓大家更方便地與外部設備連接。P2連接了DS18B20的數(shù)據(jù)口以及紅外傳感器的數(shù)據(jù)線,它們分別對應著PA0和PA1,只需要通過跳線帽將P2和P3連接起來就可以使用了。這里不直接連在一起的原因有二:1,防止紅外傳感器和DS18B20對這兩個IO口作為其他功能使用的時候的影響;2,DS18B20和紅外傳感器還可以用來給其他板子提供輸入,等于我們的板子為別的板子提供了紅外接口和溫度傳感器,在調(diào)試的時候,還是蠻有用的。傳感器,在調(diào)試的時候,還是蠻有用的。P4口連接了CH340G的串口輸出,對應著STM32的串口1〔PA9/PA10〕,在使用的時候,也是通過跳線帽將這兩處連接起來。這樣設計有兩個好處:1,使得PA9和PA10用作其他用途使用的時候〔比方串口1連接其他串口設備〕,不受到CH340G的影響。2,USB轉(zhuǎn)串口可以用作他用,并不僅限這個板上的STM32使用,也可以連接到其他板子上,這樣ALIENEKMiniSTM32開發(fā)板就相當于一個USB轉(zhuǎn)TTL串口。P5口是另外一組IO引出排針,將PORTC和PORTD等的剩余IO口從這里引出。在此局部原理圖中,我們還可以看到STM32F103RCT6的各個IO口與外設的連接關系,這些將在后面給大家介紹。這里STM32的VBAT采用CR1220紐扣電池和VCC3.3混合供電的方式,在有外部電源〔VCC3.3〕的時候,CR1220不給VBAT供電,而在外部電源斷開的時候,那么由CR1220給VBAT供電。這樣,VBAT總是有電的,以保證RTC的走時以及后備存放器的內(nèi)容不喪失。3.2電路設計方案3.2.1ALIENTEKMiniSTM32電路①②③圖3.2.1ALIENTEKMiniSTM32控制系統(tǒng)電路設計圖〔上述圖①②③〕3.2.2RPR220光電傳感器電路圖3.2.2傳感器電路圖3.2.3電源穩(wěn)壓電路圖3.2.3電源穩(wěn)壓電路圖3.2.4LCD液晶顯示屏TFT_LCD是一個通用的液晶模塊接口。OLED是一個給OLED顯示模塊供電的接口,它和TFT_LCD拼接在一起。當使用TFTLCD時,我們接到TFT_LCD上〔靠右插〕就可以了,而當我們使用ALIENTEK的OLED模塊時,那么接OLED排針做電源,同時會連接到TFT_LCD上〔靠左插〕的局部管腳,從而實現(xiàn)OLED與MCU的連接。ALIENTEKMiniSTM32的LCD接口兼容ALIENTEK各種尺寸的TFTLCD模塊,包括:2.4寸(320*240,電阻屏)、2.8寸〔320*240,電阻屏〕、3.5寸〔480*320,電阻屏〕、4.3寸〔800*480,電容屏〕、7寸〔800*480,電容屏〕等,同時還兼容ALIENTEK的0.96寸OLED模塊。圖3.2.4LCD液晶顯示模塊圖4軟件系統(tǒng)設計與實現(xiàn)軟件局部主要是主程序通過調(diào)用各個模塊的子程序控制機器人的整體運作,每子程序設計一個模塊的動作,其中還包括一些公共子程序。軟件局部包含了巡線模塊、轉(zhuǎn)彎模塊、后退模塊、延時模塊、停止模塊、鉤子模塊以及算法局部等。其中,巡線模塊貫穿整個程序始終,機器人搬運是以準確而穩(wěn)定的巡線完成搬運過程的,做到了不盲走、不走偏、實時糾正;轉(zhuǎn)彎模塊又包含了左轉(zhuǎn)和右轉(zhuǎn);鉤子模塊包含了鉤子升降模塊。下面將介紹我們小組搬運機器人搬運物料流程圖,如圖4.1:出發(fā)區(qū)中心中心鉤子上有無物料YN選物料判斷物料是否全搬完Y判斷物料是否全搬完N轉(zhuǎn)到物料所在位置轉(zhuǎn)到物料所在位置鉤住物料能否繼續(xù)行進放能否繼續(xù)行進放置在前方目標區(qū)放置物料Y放置物料N轉(zhuǎn)到物料所應放置位置轉(zhuǎn)到物料所應放置位置前方有無障礙前方有無障礙NY用另一個鉤子用另一個鉤子鉤住物料已完成第一環(huán)節(jié)已完成第一環(huán)節(jié)進入第二環(huán)節(jié)鉤住F區(qū)的五個物料轉(zhuǎn)到各物料對應的小圓后,將各個物料放置在對應的小圓放完五個物料后,鉤住G區(qū)的五個物料轉(zhuǎn)到各物料對應的小圓后,將各個物料放置在對應的小圓將五個小圓上放置的所有物將五個小圓上放置的所有物料分別推向?qū)哪繕藚^(qū)回到出發(fā)區(qū)已完成搬運任務圖4.1搬運機器人搬運物料流程圖5系統(tǒng)開發(fā)及調(diào)試工具5.1開發(fā)工具5.1.1KeilARMKeilARM是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境〔μVision〕將這些局部組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。KeilARM軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil的優(yōu)勢。下面詳細介紹KeilARM開發(fā)系統(tǒng)各局部功能、使用事項及優(yōu)點。1.使用獨立的Keil仿真器時,考前須知:〔1〕仿真器標配8MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。〔2〕仿真器上的復位按鈕只復位仿真芯片,不復位目標系統(tǒng)。〔3〕仿真芯片的31腳〔/EA〕已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM〔其CPU的/EA引腳接至低電平〕的目標系統(tǒng)中使用。2.優(yōu)點:〔1〕KeilARM生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢?!?〕與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。5.1.2MDK5簡介MDK源自德國的KEIL公司,是RealViewMDK的簡稱。在全球MDK被超過10萬的嵌入式開發(fā)工程師使用。目前最新版本為:MDK5.10,該版本使用uVision5IDE集成開發(fā)環(huán)境,是目前針對ARM處理器,尤其是CortexM內(nèi)核處理器的最正確開發(fā)工具。MDK5向后兼容MDK4和MDK3等,以前的工程同樣可以在MDK5上進行開發(fā)(但是頭文件方面得全部自己添加),MDK5同時加強了針對Cortex-M微控制器開發(fā)的支持,并且對傳統(tǒng)的開發(fā)模式和界面進行升級,MDK5由兩個局部組成:MDKCore和SoftwarePacks。其中,SoftwarePacks可以獨立于工具鏈進行新芯片支持和中間庫的升級。如下圖:MDK5組成從上圖可以看出,MDKCore又分成四個局部:uVisionIDEwithEditor〔編輯器〕,ARMC/C++Compiler〔編譯器〕,PackInstaller〔包安裝器〕,uVisionDebuggerwithTrace〔調(diào)試跟蹤器〕。uVisionIDE從MDK4.7版本開始就參加了代碼提示功能和語法動態(tài)檢測等實用功能,相對于以往的IDE改良很大。SoftwarePacks〔包安裝器〕又分為:Device〔芯片支持〕,CMSIS〔ARMCortex微控制器軟件接口標準〕和Mdidleware〔中間庫〕三個小局部,通過包安裝器,我們可以安裝最新的組件,從而支持新的器件、提供新的設備驅(qū)動庫以及最新例程等,加速產(chǎn)品開發(fā)進度。同以往的MDK不同,以往的MDK把所有組件到包含到了一個安裝包里面,顯得十分“笨重”,MDK5那么不一樣,MDKCore是一個獨立的安裝包,它并不包含器件支持、設備驅(qū)動、CMSIS等組件,大小不到300M,相對于MDK4.70A的500多M,瘦身明顯,MDK5安裝包可以在:://keil/demo/eval/arm.htm下載到。而器件支持、設備驅(qū)動、CMSIS等組件,那么可以點擊MDK5的BuildToolbar的最后一個圖標調(diào)出PackInstaller,來進行各種組件的安裝。也可以在://keil/dd2/pack這個地址下載,然后進行安裝。最后,我們學習STM32F103,還要安裝兩個包:ARM.CMSIS.3.20.4.pack〔用于支持ST標準庫,也就是所謂的庫函數(shù)〕和Keil.STM32F1xx_DFP.1.0.4.pack〔STM32F1的器件庫〕。5.2按鍵模塊圖5.2按鍵輸入原理圖KEY0和KEY1用作普通按鍵輸入,分別連接在PC5和PA15上,其中PA15和JTDI共用了,所以,在使用KEY0和KEY1的時候,就不能使用JTAG來調(diào)試了,但是可以用SWD調(diào)試,這點在使用的時候要注意。KEY0和KEY1還和PS/2的DAT和CLK線共用。WK_UP按鍵連接到PA0(STM32的WKUP引腳),它除了可以用作普通輸入按鍵外,還可以用作STM32的喚醒輸入。該按鍵是高電平觸發(fā)的。由于PA0還是DS18B20的輸入引腳,而18B20是有上拉電阻的,所以在使用WK_UP按鍵的時候,一定要斷開PA0和DS18B20的跳線帽!5.3紅外遙控器在調(diào)試過程中的使用我們小組在調(diào)試過程中使用了紅外遙控器。下面將會對紅外遙控技術進行詳細介紹。紅外遙控是一種無線、非接觸控制技術,具有抗干擾能力強,信息傳輸可靠,功耗低,本錢低,易實現(xiàn)等顯著優(yōu)點,被諸多電子設備特別是家用電器廣泛采用,并越來越多的應用到計算機系統(tǒng)中。由于紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對象的能力,所以,在設計紅外線遙控器時,不必要像無線電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否那么,就會隔墻控制或干擾鄰居的家用電器),所以同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會出現(xiàn)遙控信號“串門”的情況。這對于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方面。由于紅外線為不可見光,因此對環(huán)境影響很小,再由紅外光波動波長遠小于無線電波的波長,所以紅外線遙控不會影響其他家用電器,也不會影響臨近的無線電設備。紅外遙控的編碼方式目前廣泛使用的是:PWM(脈沖寬度調(diào)制)的NEC協(xié)議和PhilipsPPM(脈沖位置調(diào)制)的RC-5協(xié)議的。ALIENTEKMiniSTM32開發(fā)板配套的遙控器使用的是NEC協(xié)議,其特征如下:1、8位地址和8位指令長度;2、地址和命令2次傳輸〔確??煽啃浴?、PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”;4、載波頻率為38Khz;5、位時間為1.125ms或2.25ms;NEC碼的位定義:一個脈沖對應560us的連續(xù)載波,一個邏輯1傳輸需要2.25ms〔560us脈沖+1680us低電平〕,一個邏輯0的傳輸需要1.125ms〔560us脈沖+560us低電平〕。而遙控接收頭在收到脈沖的時候為低電平,在沒有脈沖的時候為高電平,這樣,我們在接收頭端收到的信號為:邏輯1應該是560us低+1680us高,邏輯0應該是560us低+560us高。NEC遙控指令的數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個9ms的低電平和一個4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃浴部捎糜谛r灐?。圖5.3紅外遙控接收頭與STM32的連接電路圖紅外遙控接收頭通過P2與P3,連接在STM32的PA1〔TIM5_CH2〕上。硬件上,我們只需要拿一個跳線帽把RMT和PA1短接即可〔默認已經(jīng)短接〕。然后,程序?qū)IM5_CH2設計為輸入捕獲,然后將收到的脈沖信號解碼就可以了。5.4ADC(模擬/數(shù)字轉(zhuǎn)換)5.4.1ADC介紹12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達18個通道,可測量16個外部和2個內(nèi)部信號源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)存放器中。模擬看門狗特性允許應用程序檢測輸入電壓是否超出用戶定義的高/低閥值。ADC的輸入時鐘不得超過14MHz,它是由PCLK2經(jīng)分頻產(chǎn)生。5.4.2ADC主要特征●12位分辨率●轉(zhuǎn)換結(jié)束、注入轉(zhuǎn)換結(jié)束和發(fā)生模擬看門狗事件時產(chǎn)生中斷●單次和連續(xù)轉(zhuǎn)換模式●從通道0到通道n的自動掃描模式●自校準●帶內(nèi)嵌數(shù)據(jù)一致性的數(shù)據(jù)對齊●采樣間隔可以按通道分別編程●規(guī)那么轉(zhuǎn)換和注入轉(zhuǎn)換均有外部觸發(fā)選項●間斷模式●雙重模式(帶2個或以上ADC的器件)●ADC轉(zhuǎn)換時間:STM32F103xx增強型產(chǎn)品:時鐘為56MHz時為1μs(時鐘為72MHz為1.17μs);STM32F101xx根本型產(chǎn)品:時鐘為28MHz時為1μs(時鐘為36MHz為1.55μs);STM32F102xxUSB型產(chǎn)品:時鐘為48MHz時為1.2μs;STM32F105xx和STM32F107xx產(chǎn)品:時鐘為56MHz時為1μs(時鐘為72MHz為1.17μs)●ADC供電要求:2.4V到3.6V●ADC輸入范圍:VREF-≤VIN≤VREF+●規(guī)那么通道轉(zhuǎn)換期間有DMA請求產(chǎn)生。下列圖是ADC模塊的方框圖。注意:如果有VREF-引腳(取決于封裝),必須和VSSA相連接。5.4.3ADC功能描述如圖為一個ADC模塊的框圖。圖為ADC引腳的說明。ADC3的規(guī)那么轉(zhuǎn)換和注入轉(zhuǎn)換觸發(fā)與ADC1和ADC2的不同;TIM8_CH4和TIM8_TRGO及它們的重映射位只存在于大容量產(chǎn)品中。VDDA和VSSA應該分別連接到VDD和VSS。圖5.4.3.1ADC引腳圖單個ADC框圖ADC開關控制通過設置ADC_CR2存放器的ADON位可給ADC上電。當?shù)谝淮卧O置ADON位時,它將ADC從斷電狀態(tài)下喚醒。ADC上電延遲一段時間后(tSTAB),再次設置ADON位時開始進行轉(zhuǎn)換。通過去除ADON位可以停止轉(zhuǎn)換,并將ADC置于斷電模式。在這個模式中,ADC幾乎不耗電(僅幾個μA)。5.4.5ADC時鐘由時鐘控制器提供的ADCCLK時鐘和PCLK2(APB2時鐘)同步。RCC控制器為ADC時鐘提供一個專用的可編程預分頻器。通道選擇有16個多路通道。可以把轉(zhuǎn)換組織成兩組:規(guī)那么組和注入組。在任意多個通道上以任意順序進行的一系列轉(zhuǎn)換構(gòu)成成組轉(zhuǎn)換。例如,可以如下順序完成轉(zhuǎn)換:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15?!褚?guī)那么組由多達16個轉(zhuǎn)換組成。規(guī)那么通道和它們的轉(zhuǎn)換順序在ADC_SQRx存放器中選擇。規(guī)那么組中轉(zhuǎn)換的總數(shù)應寫入ADC_SQR1存放器的L[3:0]位中。●注入組由多達4個轉(zhuǎn)換組成。注入通道和它們的轉(zhuǎn)換順序在ADC_JSQR存放器中選擇。注入組里的轉(zhuǎn)換總數(shù)目應寫入ADC_JSQR存放器的L[1:0]位中。如果ADC_SQRx或ADC_JSQR存放器在轉(zhuǎn)換期間被更改,當前的轉(zhuǎn)換被去除,一個新的啟動脈沖將發(fā)送到ADC以轉(zhuǎn)換新選擇的組。溫度傳感器/VREFINT內(nèi)部通道溫度傳感器和通道ADC1_IN16相連接,內(nèi)部參照電壓VREFINT和ADC1_IN17相連接。可以按注入或規(guī)那么通道對這兩個內(nèi)部通道進行轉(zhuǎn)換。注意:溫度傳感器和VREFINT只能出現(xiàn)在主ADC1中。單次轉(zhuǎn)換模式單次轉(zhuǎn)換模式下,ADC只執(zhí)行一次轉(zhuǎn)換。該模式既可通過設置ADC_CR2存放器的ADON位(只適用于規(guī)那么通道)啟動也可通過外部觸發(fā)啟動(適用于規(guī)那么通道或注入通道),這時CONT位為0。一旦選擇通道的轉(zhuǎn)換完成:●如果一個規(guī)那么通道被轉(zhuǎn)換:〔1〕轉(zhuǎn)換數(shù)據(jù)被儲存在16位ADC_DR存放器中;〔2〕EOC(轉(zhuǎn)換結(jié)束)標志被設置;〔3〕如果設置了EOCIE,那么產(chǎn)生中斷?!袢绻粋€注入通道被轉(zhuǎn)換:〔1〕轉(zhuǎn)換數(shù)據(jù)被儲存在16位的ADC_DRJ1存放器中;〔2〕JEOC(注入轉(zhuǎn)換結(jié)束)標志被設置;〔3〕如果設置了JEOCIE位,那么產(chǎn)生中斷。然后ADC停止。連續(xù)轉(zhuǎn)換模式在連續(xù)轉(zhuǎn)換模式中,當前面ADC轉(zhuǎn)換一結(jié)束馬上就啟動另一次轉(zhuǎn)換。此模式可通過外部觸發(fā)啟動或通過設置ADC_CR2存放器上的ADON位啟動,此時CONT位是1。每個轉(zhuǎn)換后:●如果一個規(guī)那么通道被轉(zhuǎn)換:(1)轉(zhuǎn)換數(shù)據(jù)被儲存在16位的ADC_DR存放器中;(2)EOC(轉(zhuǎn)換結(jié)束)標志被設置;(3)如果設置了EOCIE,那么產(chǎn)生中斷?!袢绻粋€注入通道被轉(zhuǎn)換:(1)轉(zhuǎn)換數(shù)據(jù)被儲存在16位的ADC_DRJ1存放器中;(2)JEOC(注入轉(zhuǎn)換結(jié)束)標志被設置;(3)如果設置了JEOCIE位,那么產(chǎn)生中斷。5.4.9ADC中斷規(guī)那么和注入組轉(zhuǎn)換結(jié)束時能產(chǎn)生中斷,當模擬看門狗狀態(tài)位被設置時也能產(chǎn)生中斷。它們都有獨立的中斷使能位。注:ADC1和ADC2的中斷映射在同一個中斷向量上,而ADC3的中斷有自己的中斷向量。ADC_SR存放器中有2個其他標志,但是它們沒有相關聯(lián)的中斷:●JSTRT(注入組通道轉(zhuǎn)換的啟動)●STRT(規(guī)那么組通道轉(zhuǎn)換的啟動)圖ADC中斷5.5USB串口、USB、電源這里三個局部一起介紹,ALIENTEKMiniSTM32開發(fā)板板載了USB串口,并且由USB提供電源,使得我們只需要一根USB線就可以使用ALIENTEKMiniSTM32開發(fā)板了,包括串口下載代碼、供電、串口通信3位一體。開發(fā)板的供電局部還引出了5V〔VOUT2〕和3.3V〔VOUT1〕的排針,可以用來為外部設備提供電源或者從外部引入電源,這在很多時候是非常有用的,有時候你突然要一個3.3V的電源,但找半天就是沒這樣的電源,而我們的板子那么可直接向外部提供3.3V電源,有了它,你就可以給外部設備提供3.3V、5V電源了。注意電流不能太大哦!開發(fā)板的USB接口〔USB〕通過獨立的MiniUSB頭引出,不和USB轉(zhuǎn)串口〔USB_232〕共用,這樣不但可以同時使用,還可以給系統(tǒng)提供更大的電流。這幾個局部的原理圖如下:圖5.5USB串口、USB、電源局部原理圖圖中的Q1和Q2外加幾個電阻和一個二極管就構(gòu)成了開發(fā)板的一鍵下載電路,此電路通過RST和DTR信號來控制BOOT0和RESET信號,從而實現(xiàn)一鍵下載的功能。很多朋友問一鍵下載的原理,這里和大家講一下,先說一個前提:DTR_N和RTS_N的輸出和DTR/RTS的設置是相反的。必須先記下這個前提。一鍵下載電路的具體實現(xiàn)過程:首先,mcuisp控制DTR輸出低電平,那么DTR_N輸出高,然后RTS置高,那么RTS_N輸出低,這樣Q2導通了,BOOT0被拉高,即實現(xiàn)設置BOOT0為1,同時Q1也會導通,STM32的復位腳被拉低,實現(xiàn)復位。然后,延時100ms后,mcuisp控制DTR為高電平,那么DTR_N輸出低電平,RTS維持高電平,那么RTS_N繼續(xù)為低電平,此時STM32的復位引腳,由于Q1不再導通,變?yōu)楦唠娖?,STM32結(jié)束復位,但是BOOT0還是維持為1,從而進入ISP模式,接著mcuisp就可以開始連接STM32,下載代碼了,從而實現(xiàn)一鍵下載。另外,此局部還有一個開關K1,用來控制整個系統(tǒng)的供電,如果斷開那么整個系統(tǒng)的3.3V局部都將斷電。而5V局部的電源還是開啟的。圖中F1為可恢復保險絲,用于保護USB。圖中的D4和D5這兩個TVS管,用于保護開發(fā)板,防止外部高壓脈沖/靜電損壞開發(fā)板上的元器件,讓大家用的更加放心。6結(jié)論我們小組在經(jīng)歷了幾個月的努力之后,終于穩(wěn)定、準確完成了搬運機器人的搬運任務。一開始是硬件的設計與制作。我們小組反復斟酌修改,最終確定了RPR220光電傳感器的個數(shù)及位置。我們一開始只是做了三個巡線以及一個轉(zhuǎn)彎用的傳感器,后來經(jīng)過反復調(diào)試和精簡程序,發(fā)現(xiàn)我們的巡線抖動得厲害,并且還會丟線,于是我們決定將巡線用的傳感器由三個增加到六個,后來新增的三個是輔助巡線用的,并且我們將轉(zhuǎn)彎用的那一個傳感器給拿掉了,繼而代之的是我們新增的那三個傳感器。換句話說,我們將所有用于我們搬運機器人上的傳感器一下子增加至八個,兩個前瞻,三個主要巡線,三個轉(zhuǎn)彎以及輔助巡線共用。因此,我們小組的搬運機器人在巡線這局部明顯比之前的效果好多了。然而,我們發(fā)現(xiàn)用作巡線的傳感器再多也不能說明巡線就越穩(wěn)定。一次次的調(diào)試讓我們發(fā)現(xiàn)我們的舵機參數(shù)根本不穩(wěn)定,并且隨著我們搬運機器人因調(diào)試次數(shù)多而溫度升高,其參數(shù)變化越明顯且難以掌握其規(guī)律,這就使我們在巡線這方面投入了大量的時間與精力,后來我們商量決定換舵機,換了性能更好穩(wěn)定性更高的舵機后,我們的巡線終于到達了穩(wěn)定,之后也沒出現(xiàn)因溫度升高而引起舵機參數(shù)改變從而巡線出錯的情況了。我們小組的鉤子一開始是容易變形的,雖然我們的鉤子局部不會出錯,但是為了使我們搬運機器人在搬運物料過程中更加穩(wěn)定平安,我們將鉤子進行了改良,鉤子的硬度以及韌度得到了進一步的提高,這就使得我們的鉤子在調(diào)試過程中不易變形,增強了其穩(wěn)固性。我們使用了液晶屏,一開始我們將程序燒進STM32的時候,液晶屏只是屏亮著,卻總是顯示不出字。我們經(jīng)過反復查找錯誤、修改,一次次的燒進單片機,最終成功地解決了液晶屏的問題。其實最重要的局部就是巡線了,我們最后的階段也是在反復調(diào)試這一局部,這一局部直接決定了搬運機器人的穩(wěn)定性。面對即將到來的大賽,在歷時幾個月的充分準備之后,我們有信心在比賽中取得優(yōu)異成績。在我們準備比賽的過程中,場地和經(jīng)費方面都得到了學校及學院的大力支持,在此特別感謝一直支持和關注中國工程機器人大賽暨國際公開賽〔RoboWork〕的學校和學院領導以及各位指導老師!感謝我們團隊的指導學長!同時也感謝比賽組委會能組織這樣一項有意義的比賽!——吳秋淑自報名參加中國工程機器人大賽暨國際公開賽的光電搬運組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東科貿(mào)職業(yè)學院《管理綜合案例》2023-2024學年第一學期期末試卷
- 廣東江門中醫(yī)藥職業(yè)學院《康復機能評定》2023-2024學年第一學期期末試卷
- 廣東技術師范大學《電路與數(shù)字邏輯實驗》2023-2024學年第一學期期末試卷
- 廣東財貿(mào)職業(yè)學院《網(wǎng)絡爬蟲技術》2023-2024學年第一學期期末試卷
- 《水和冰的結(jié)構(gòu)》課件
- 共青科技職業(yè)學院《高級商務英語2》2023-2024學年第一學期期末試卷
- 贛州職業(yè)技術學院《湘西民間打擊樂1》2023-2024學年第一學期期末試卷
- 贛南醫(yī)學院《英語聽力Ⅱ》2023-2024學年第一學期期末試卷
- 《課件課例研究》課件
- 防疫安全心理課件
- 2024-2025學年北師版八年級物理上冊期末考試綜合測試卷
- 福建省福州市2023-2024學年高一上學期期末質(zhì)量檢測英語試題 含答案
- 2023-2024學年廣東省廣州市白云區(qū)八年級(上)期末數(shù)學試卷及答案解析
- 深圳市建設工程施工圍擋圖集(試行版_下半部分).pdf
- 熱水器3c安全試驗報告及第三方檢測報告dsf65mx ts tx ws wx ys yx ms
- 南洋電工GSB1A型16錠高速編織機使用說明書
- 大管輪見習記錄簿范本匯總
- 園區(qū)保安隊長的工作職責
- 萬能中國地圖模板(可修改)
- 鋼材購銷合同
- PDT團隊KPI指標庫(完整版)
評論
0/150
提交評論