版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE本科專業(yè)職業(yè)生涯設(shè)計2011屆分類號:單位代碼: 本科專業(yè)職業(yè)生涯設(shè)計我的工程師之夢——單片機控制智能尋跡小車的設(shè)計姓名學(xué)號年級2007級專業(yè)機械設(shè)計制造及其自動化系(院)工學(xué)院指導(dǎo)教師2011年3月10日本科專業(yè)職業(yè)生涯設(shè)計PAGEPAGE38本科專業(yè)職業(yè)生涯設(shè)計PAGE目錄第一部分 1我的工程師之夢 1一機械行業(yè)及機械專業(yè) 1二自我評估 1三自我要求 2四確立目標 3五制定行動計劃和內(nèi)容 3六結(jié)束語 3第二部分 5單片機控制智能尋跡小車的設(shè)計 51智能車機械結(jié)構(gòu)設(shè)計 71.1模型車照片 71.2模型車的主要技術(shù)參數(shù) 71.3車模機械改裝 81.3.1前輪定位參數(shù)的調(diào)整 81.3.2后輪距及后輪差速的調(diào)整 81.3.3底盤剛度的調(diào)整 82智能車的系統(tǒng)設(shè)計 92.1電機的驅(qū)動和控制 92.2電源供電模塊 102.3傳感器的設(shè)計與安裝 112.3.1紅外傳感器的設(shè)計與安裝 112.3.2霍爾傳感器的設(shè)計與安裝 133軟件算法分析及設(shè)計 153.1概述 153.1.1智能車工作原理 153.1.2系統(tǒng)軟件流程圖 163.1.3編譯及調(diào)試平臺 163.1.4MC9S12DG128B模塊及端口使用 163.2控制算法的選取 173.2.1各種控制算法分析 173.2.2模糊控制算法的優(yōu)點 173.3行駛策略 173.3.1賽道分析 173.3.2舵機轉(zhuǎn)角控制 183.3.3電機速度控制 193.4信號采樣、濾波與處理 193.5小結(jié) 204開發(fā)工具制作安裝及參數(shù)測試 214.1軟件仿真 214.2路徑識別傳感器的性能測試 214.3轉(zhuǎn)向性能測試方案 214.3.1測量舵機與轉(zhuǎn)角關(guān)系 214.3.2測量轉(zhuǎn)向延時 214.4調(diào)試與結(jié)果 225總結(jié) 24參考文獻 25附錄源程序代碼 26謝辭 40本科專業(yè)職業(yè)生涯設(shè)計本科專業(yè)職業(yè)生涯設(shè)計PAGE39第一部分我的工程師之夢一機械行業(yè)及機械專業(yè)未來10年將是中國機械行業(yè)發(fā)展的最佳、最快時期——承接世界制造業(yè)的轉(zhuǎn)移,中國正在逐步成為世界工廠。美國、德國、日本、韓國等國家已經(jīng)進入工業(yè)化發(fā)展的高技術(shù)密集時代與微電子時代,鋼鐵、機械、化工等重工業(yè)正逐漸向發(fā)展中國家轉(zhuǎn)移。我國目前經(jīng)濟發(fā)展已經(jīng)過了發(fā)展初期,正處于重化工業(yè)發(fā)展中期。美國、德國的重化工業(yè)發(fā)展期延續(xù)了18年以上,美國、德國、日本、韓國四國重化工業(yè)發(fā)展期平均延續(xù)了12年,由此來看,中國的重化工業(yè)發(fā)展期將至少延續(xù)10年。因此,在未來10年內(nèi),國產(chǎn)機械產(chǎn)品的國際競爭力將不斷增強,逐步替代進口,并加速出口。目前,中國機械行業(yè)中的一些子行業(yè),如,船舶、鐵路、集裝箱及集裝箱起重機制造等已經(jīng)受益于國際間的產(chǎn)業(yè)轉(zhuǎn)移,并將持續(xù)受益;電站設(shè)備、工程機械、機床等將受益于產(chǎn)業(yè)轉(zhuǎn)移,加快出口進程。在工科院校的各個院系中,機械系學(xué)生的隊伍頗為龐大。這是因為機械專業(yè)學(xué)科方向比較多,機械類專業(yè)下設(shè)有機械設(shè)計制造及其自動化、材料成型及控制工程、工業(yè)設(shè)計、過程裝備與控制工程、機械工程及自動化、車輛工程、機械電子工程、汽車服務(wù)工程、制造自動化與測控技術(shù)、微機電系統(tǒng)工程、制造工程等專業(yè),列“家族譜系”的話會是長長的一串?!皺C械工程”是教育部劃定的一級學(xué)科,它的基本定義是這樣的:機械工程的主要研究領(lǐng)域包括機械的基本理論,各類機械產(chǎn)品及系統(tǒng)的統(tǒng)計方法、制造技術(shù)檢測與控制、自動化及性能分析與實驗研究等。機械類專業(yè)日新月異的變化,這個定義沒有涵蓋。由于應(yīng)用行業(yè)不同,實際上的研究方法也會有很大差別。有些院校以汽車研究見長,有的則在航空航天領(lǐng)域有著不可撼動的地位,還有的院校在機器人制造方面實力超群。機械類專業(yè)學(xué)生在本科階段主要接觸以下課程:機械制圖、理論力學(xué)、材料力學(xué)、機械原理、機械設(shè)計、機械振動、工程材料、制造技術(shù)基礎(chǔ)、電工學(xué)、電子學(xué)、計算機硬件技術(shù)、機械控制技術(shù)等。由于機械類專業(yè)的實用性和可操作性很強,在學(xué)習(xí)過程中各校都會很重視培養(yǎng)學(xué)生的動手能力,大家需要參加課程試驗設(shè)計、金工實習(xí),包括機械基礎(chǔ)實驗、電工電路設(shè)計、機械原理課程設(shè)計、機械設(shè)計課程設(shè)計等。二自我評估我最大的缺點就是意志力薄弱,易隨波逐流,沒有當機立斷的勇氣,進入大學(xué)我已成人,我想我已認識到缺點,就會時刻在意它。不會讓它肆意發(fā)展,克服缺點需要戰(zhàn)勝自己,只要咬牙堅持就會挺過來,事實上,真正實施時會很痛苦和困難,但我相信自己已成人,相信大學(xué)會把自己鍛煉成才,凡事我不會氣餒,以高標準要求自己,如果發(fā)現(xiàn)自己泄氣想隨大流,要立馬找原因并及時解決。既然自己的心黑暗了20年,就給外面的陽光一次機會,打開心窗,重新認識自己,挑戰(zhàn)自己。我會主動參加各項社團活動。大膽展示自己動人的一面,我會主動與別人談話,交流。同時不放松學(xué)業(yè),畢竟我仍是一名學(xué)生。以學(xué)業(yè)為主,其它為輔。我會多關(guān)注有關(guān)交流和演講的書,多方面訓(xùn)練自己的說話方式和技巧。我有一顆善良且體察入微的心,我會善意幫助別人,誠實了解別人,關(guān)心別人。我有一顆容忍的心,凡事以退一步海闊天空為標準。我細心洞察秋毫,所以我會發(fā)揚自己的優(yōu)點。我會非常認真扮演自己的角色。我會從別人的角度思考問題,甚至委屈自己。所以我相信努力的付出,汗水的價值。我會從一點一滴中改善自己,我相信別人說過的一句話:大河里有小魚,小河里有大魚.我會珍惜每一次上機機會.所謂江山易改,本性難移。內(nèi)向并非全是缺點,使我少一份張揚,多一點內(nèi)斂,但可相應(yīng)加強與他人的交流溝通,積極參加各種場合各項有益的活動,使自己多一份自信、激揚,少一份沉默、怯場。充分利用一直關(guān)心支持我的龐大的親友團的優(yōu)勢,真心向同學(xué)、老師、朋友請教,及時指出自身存在的各種不足并制定出相應(yīng)計劃加以針對改正。我是一個不甘平凡的男生,心中總有一種不服輸?shù)男拍?,我想每天都會是一個嶄新的開始,面對新的希望,我沒有理由去逃避。當朝霞生起的時候,我會放飛我新一天的希望,晚霞落下的時候,我會收獲一天的幸福和快樂.因此,面對未來,我信心十足,不管人生道路何等艱辛,我都會勇敢走下去,直至成功。人的能力如同地下的煤,需要去發(fā)現(xiàn)它并開發(fā)出來,這樣它才有機會發(fā)光發(fā)熱,造福人類社會。世界上沒有十全十美的人,每個人都有自己的缺點,我會在成長的過程中克服自己的缺點,作一個樂觀、開朗、自信、寬容、真誠的人,有了這些朋友,在通向理想的道路上我在再大的困難面前也會信心百倍的。三自我要求從事機械領(lǐng)域,我應(yīng)做到以下基本要求和技能:1、掌握高等數(shù)學(xué),大學(xué)英語等基礎(chǔ)知識,公共英語應(yīng)通過高校英語應(yīng)用能力四級,具有較好的人文社會科學(xué)和管理科學(xué)基礎(chǔ)與較強的外語、計算機應(yīng)用能力。2、掌握本專業(yè)的技術(shù)理論基礎(chǔ)知識,包括力學(xué),機械制造,液壓與氣動,電工與電子,電氣控制與PLC、CAD/CAM、計算機網(wǎng)絡(luò)、數(shù)控機床加工與編程以及車間生產(chǎn)管理等基礎(chǔ)知識。3、具備較強的自學(xué)能力、創(chuàng)新意識和較高的綜合素質(zhì)?,F(xiàn)已是大四時期,很快就面臨畢業(yè)就業(yè)了,要充分利用好現(xiàn)在的學(xué)習(xí)時間,樹立個人的職業(yè)目標,以勤奮的態(tài)度完成學(xué)業(yè),雖已通過pro/e和cad高級資格考證,但英語能力要繼續(xù)加強,以自身所具備的優(yōu)勢,扎實的專業(yè)基礎(chǔ)在本地公司謀職做一名專業(yè)的技術(shù)人員。四確立目標我學(xué)的是機械設(shè)計制造及其自動化專業(yè),通過大學(xué)四年的專業(yè)學(xué)習(xí),我對本專業(yè)有了一定的了解,我最大的志向就是從基層干起,慢慢積累經(jīng)驗,不斷充實自己,努力成為一名機械工程師。五制定行動計劃和內(nèi)容在校期間,多學(xué)習(xí)PLC,弱電電器的控制,伺服系統(tǒng)及交流伺服電機的使用,普通強電電路的設(shè)計,這些在當前設(shè)備及生產(chǎn)線中廣泛運用,并且對人才的需求量比較大。熟悉金屬材料,金屬熱處理,及制造工藝,機械設(shè)計基礎(chǔ),熟悉autocad,精一門三維設(shè)計軟件,UG,PRO/E,這些軟件在大型機械行業(yè)中,包括飛機,汽車等行業(yè)中運用非常普遍。實習(xí)及工作期間,應(yīng)端正職業(yè)態(tài)度。眼下正值求職潮期,像我們大四學(xué)生特別迷茫,也特別地忙碌,忙的重心是盡快找到一份好工作。在簡歷撰寫、形象包裝、求職技巧等方面,我們花了很多時間和不算少的金錢,以精益求精來增加自己的競爭力,但心里依然沒有底。我們希望得到一些求職建議,尤其是技巧方面的??墒切枰⒁獾氖牵谇舐氈懈匾氖锹殬I(yè)心態(tài)。成也心態(tài)敗也心態(tài)。求職前要有一個良好的求職心態(tài),克服大學(xué)生普遍具有的“高不成,低不就”的現(xiàn)況。一切從基層干起,要不斷地充實自己,明確自己的職業(yè)目標。更好的實現(xiàn)自己的人生價值。六結(jié)束語作為一名大學(xué)生,我所擁有的是年輕和知識。年輕也許意味著欠缺經(jīng)驗,但是年輕也意味著熱情和活力,我自信能憑自己的能力和學(xué)識在畢業(yè)以后的工作和生活中克服各種困難,不斷實現(xiàn)自己的人生價值和追求的目標。任何目標,只說不做到頭來都會是一場空。然而,現(xiàn)實是未知多變的,定出的目標計劃隨時都可能遭遇問題,要求有清醒的頭腦。一個人,若要獲得成功,必須拿出勇氣,付出努力,拼搏,奮斗。成功,不相信眼淚,未來,要靠自己去拼打!實現(xiàn)目標的歷程需要付出艱辛的汗水和不屑的追求,不要因為挫折而畏縮,不要因為失敗而一蹶不振,要有屢敗屢戰(zhàn)的精神,要有越挫越勇的氣魄,成功最終會屬于你的,每天要對自己說:“我一定能成功,我一定按照目標的規(guī)劃行動,堅持直到勝利的那一天。”既然選擇了認準了是正確的,就要一直走下去。在這里,這份職業(yè)生涯規(guī)劃也差不多落入尾聲了,然而,我的正真行動才僅僅開始?,F(xiàn)在我要做的是,邁出艱難的一步,朝著這個規(guī)劃的目標前進,要以滿腔的熱情去獲取最后的勝利。第二部分單片機控制智能尋跡小車的設(shè)計摘要本課題來源于“飛思卡爾”杯山東省第一屆大學(xué)生智能車競賽,采用飛思卡爾16位微控制器MC9S12DG128B作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計,包括傳感器信號采集處理、控制算法及執(zhí)行、動力電機驅(qū)動、轉(zhuǎn)向舵機控制等,完成智能車的工程制作及調(diào)試。最終完成后的智能車能夠自主識別黑色導(dǎo)引線,巡線高速平穩(wěn)行駛,即使用紅外傳感器來采集路面信息,得到的數(shù)據(jù)送到單片機進行A/D轉(zhuǎn)換,單片機根據(jù)轉(zhuǎn)換后的數(shù)據(jù),通過PWM波控制舵機的轉(zhuǎn)動,通過MC33886控制電機的轉(zhuǎn)動,以達到控制車速的目的。傳感器對賽道的信息進行采樣后,以電壓的形式送給單片機,單片機經(jīng)過A/D轉(zhuǎn)換后通過對電壓進行比較,識別出黑線的位置,以控制舵機的轉(zhuǎn)動,從而達到循跡的目的。該賽車的制作涵蓋了控制、模式識別、傳感、電子、計算機和機械等多個學(xué)科。本次設(shè)計就是為了把理論與實際相結(jié)合,達到學(xué)以致用。關(guān)鍵詞:單片機;智能車;傳感器;飛思卡爾;C語言ABSTRACTThistopicisderivedfrom"Freescale"cupshandong1stnationaluniversityintelligentcarrace.UsingFreescale16-bitmicrocontrollerMC9S12DG128Basthecorecontrolunit,conceivethecontrolschemeandsystemindependently.Includingsensorsignalacquisitionandprocessing,controlalgorithmandexecution,powersteeringmotordrive,steeringgearcontroletc,toaccomplishtheintelligentvehicleengineeringcapabilitiesanddebugging.Thefinalcarwillrunalongtheblackguidelinewhichcanberecognizedbythecarsmoothlyandfast.Theprinciple:DatadetectedbyinfraredsensorfromtheroadwillbesenttomicrocontrollerforA/Dconversion.Accordingtotheconverteddata,SCMissuePWMwavecontrollingsteeringgearturnstocontrolthecarspeedbyMC33886;Atthesametime,thecollectedinformationwillbesenttoSCMintheformofvoltage.AfterA/Dconversionandcomparisontheguidelinecanbedistinguished,thenthetrackofthecarwillbesettled.Insummary,thisracingcarcoversmultipledisciplinessuchascontrol,patternrecognition,sensors,electronics,computersandmachinery.Throughthisdesign,IcanapplywhatIacquiredincollegetopractice,Ibenefitedalotfromit.Keywords:Microcontroller;intelligentvehicle;sensor;Freescale;Clanguage1智能車機械結(jié)構(gòu)設(shè)計1.1模型車照片圖1-1模型車照片模型車的主要技術(shù)參數(shù)項目參數(shù)路徑檢測方法(賽題組)光電組車模幾何尺寸(長、寬、高)(毫米)380/231/90車模軸距/輪距(毫米)198/137車模平均電流(勻速行駛)(毫安)1200電路電容總量(微法)傳感器種類及個數(shù)14個紅外傳感器1個霍爾器件新增加伺服電機個數(shù)0個賽道信息檢測空間精度(毫米)19賽道信息檢測頻率(次/秒)250主要集成電路種類/數(shù)量MC33886,LM2596,MAX632,SN74LS373DW車模重量(帶有電池)(千克)車模機械改裝為了使模型車在直線行駛時穩(wěn)定,轉(zhuǎn)向輕便、靈敏,轉(zhuǎn)向后能自動回正,并減少輪胎磨損,對其前輪定位,后輪距,后輪差速,底盤剛度進行了調(diào)整。1.3.1前輪定位參數(shù)的調(diào)整前輪定位參數(shù)包括:主銷后傾、主銷內(nèi)傾、前輪外傾和前束。主銷后傾:可以通過改變橫臂軸上的4個墊片位置來調(diào)整主銷后傾角。設(shè)置主銷后傾角可以使模型車在車輪偏轉(zhuǎn)后,產(chǎn)生一回正力矩,糾正車輪的偏轉(zhuǎn),速度越高回正力越大。墊片設(shè)置為前一后三,即2°~3°。主銷內(nèi)傾:主銷內(nèi)傾角也會使車輪具有自動回正的作用,在轉(zhuǎn)向時輪胎會被抬高,通過重力的作用使其自動回正。主銷內(nèi)傾角設(shè)置為0°。前輪外傾和前束:前輪外傾角可以減小轉(zhuǎn)向的阻力,使模型車轉(zhuǎn)向輕便,還可以減少軸承以及鎖緊螺母的負荷。在這里前輪外傾角設(shè)置為1°。前束是一個與前輪外傾角相對應(yīng)的參數(shù)。通過調(diào)整前輪前束可以減小由于前輪外傾帶來的轉(zhuǎn)向輪的磨損。在這里前輪前束設(shè)置為一個很小的值。1.3.2后輪距及后輪差速的調(diào)整大的后輪距可以使模型車行駛更加平穩(wěn),不易發(fā)生側(cè)滑。因此在這里通過更換調(diào)節(jié)塊而增大了模型車的后輪距。后輪差速對模型車的轉(zhuǎn)彎影響較大。差速的作用是在車模轉(zhuǎn)彎的時候,降低后輪與地面之間的滑動;并且還可以保證在輪胎抱死的情況下不會損害到電機。通過不斷的實驗與觀察,最終將后輪差速調(diào)整到較為合適的值,使其在行駛中不易發(fā)生側(cè)滑現(xiàn)象,轉(zhuǎn)彎靈活,直道不易擺動。1.3.3底盤剛度的調(diào)整通過在后懸掛縱向減震彈簧處增加墊片而增大了彈簧的預(yù)緊力,同時還增加了后懸掛橫向減震彈簧,從而提高了底盤橫向、縱向的剛度,使模型車行駛更加平穩(wěn)。在調(diào)試中還發(fā)現(xiàn)在行駛一段時間后,舵機會有少許松動,此后模型車的轉(zhuǎn)向會變得不靈活。因此在這里對舵機進行了加固,避免了因舵機松動而造成的轉(zhuǎn)向延遲。同時還對霍爾器件進行了加固,避免了因霍爾器件抖動而造成的測速不準確。2智能車的系統(tǒng)設(shè)計整個系統(tǒng)由主控制模塊、電機的驅(qū)動和控制模塊、電源供電模塊、傳感器感測模塊和舵機控制模塊這五個部分構(gòu)成,系統(tǒng)框圖如圖所示MCUMCU舵機紅外傳感器電機霍爾傳感器LM2596MC33886直流電源IRF530BDMPC機后輪系統(tǒng)由主控制模塊、電機的驅(qū)動和控制模塊、電源供電模塊、傳感器感測模塊和舵機控制模塊這五個部分構(gòu)成,系統(tǒng)框圖如圖所示后輪前輪圖2-1系統(tǒng)框圖2.1電機的驅(qū)動和控制電機是小車前行的直接動力源,電機的控制效果直接影響小車的速度以及前行的穩(wěn)定性。直流電機的控制由單片機的PWM信號來完成,驅(qū)動芯片采用飛思卡爾半導(dǎo)體公司的半橋式驅(qū)動器MC33886。如圖2.1-1所示。該芯片內(nèi)部具有過流保護電路,剎車效果好,驅(qū)動能力強,接口簡單易用等特點。其工作電壓為5-40V,導(dǎo)通電阻為120mΩ,輸入信號為TTL/CMOS,PWM頻率小于10KHz。半橋式驅(qū)動器MC33886接線圖驅(qū)動電路由兩片MC33886組成,如圖2.1-2所示。這樣做首先是為了得到更大的驅(qū)動能力,其次是減小單片MC33886的發(fā)熱量。起初采用一片MC33886驅(qū)動電機,發(fā)現(xiàn)調(diào)速時MC33886發(fā)熱量很大,在這里用兩片MC33886來為同一個電機供能,可以有效地減小單片MC33886的功耗,發(fā)熱現(xiàn)象也可以得到部分緩解。在設(shè)計PCB時還要為MC33886添加散熱盤,降低其工作時的溫度。驅(qū)動電路2.2電源供電模塊在設(shè)計中除了電池通過給定的MC33886來為電機供電之外,還選擇了LM2596來為單片機、傳感器供電,從LM2596輸出的5V電壓直接加到單片機和舵機上,而在接傳感器電路板的時候,通過MOS管IRF530來使傳感器的電源可關(guān)斷,同樣是為了降低功耗。LM2596是150KHz、3A的穩(wěn)壓芯片,我們使用的是其中的LM2596-5.0。其輸入電壓7V≤VIN≤≤ILOAD≤3A,輸出電壓為5V,極限狀態(tài)為VMIN=4.800,VMAX=5.200。LM2596的功率利用率如圖2.2-1所示。可以看出,在輸入電壓VIN=7.2V,輸出電流ILOAD=3A時,利用率為77%左右。LM2596的功率利用率2.3傳感器的設(shè)計與安裝在模型車上我們使用了兩種傳感器,紅外傳感器和霍爾傳感器?;魻杺鞲衅餮b在后輪上,對智能車的當前速度進行采樣讀取。紅外傳感器位于智能車的最前方,起到預(yù)先判斷路徑的作用,我們采用的是反射式紅外傳感器。2.3.1紅外傳感器的設(shè)計與安裝本模型車采用了14對發(fā)射/接收管,傳感器固定的距離距車模頭部約150mm,同時傳感器的電路板有一定的角度,增加了車模的前瞻距離。每對發(fā)射/接收管都通過圖所示的電路接到單片機的AD口上。需要事先對紅外傳感器進行選擇和測試,選擇最佳的紅外傳感器以及最佳的感測距離。我們最終選擇的傳感器的最佳感應(yīng)距離為40~80mm,白色感應(yīng)電壓大于4V,黑色感應(yīng)電壓小于0.5V,通過A/D轉(zhuǎn)換后,可以通過PC機很清楚的讀出數(shù)據(jù),來進行判斷,能很好的識別到賽道的變化,具有較高的穩(wěn)定性。根據(jù)圖的電路,畫出原理圖,然后需要設(shè)計好紅外傳感器的擺放位置,我們采用了直線型的擺法,相鄰兩個紅外傳感器之間距離為19mm,這樣由12對發(fā)射/接收管組成的電路板總長度為230mm,不會超過車寬要求。把發(fā)射/接收管焊接到電路板上之后,我們自制了一個鋁條將PCB板固定在模型車前部。通過調(diào)節(jié)鋁條,可以對發(fā)射/接收管的角度以及距地面高度進行調(diào)整。2.3.2霍爾傳感器的設(shè)計與安裝霍爾傳感器的外形圖和與磁場的作用關(guān)系霍爾傳感器的外形圖和與磁場的作用關(guān)系如圖所示。磁鋼用來提供霍爾能感應(yīng)的磁場,當霍爾元件以切割磁力線的方式相對磁鋼運動時,在霍爾輸出端口就會有電壓輸出,所以霍爾傳感器和磁鋼需要配對使用?;魻杺鞲衅鳈z測轉(zhuǎn)速示意圖霍爾傳感器檢測轉(zhuǎn)速示意圖如圖所示。在非磁材料的圓盤邊上粘貼一塊磁鋼,霍爾傳感器固定在圓盤外緣附近。圓盤每轉(zhuǎn)動一圈,霍爾傳感器便輸出一個脈沖。通過單片機測量產(chǎn)生脈沖的頻率,就可以得出圓盤的轉(zhuǎn)速。同樣道理,根據(jù)圓盤(車輪)的轉(zhuǎn)速,再結(jié)合圓盤的周長就是計算出物體的位移。如果要增加測量位移的精度,可以在圓盤(車輪)上多增加幾個磁鋼。霍爾傳感器測速電路圖霍爾傳感器測速電路圖如圖所示。我們采用了開關(guān)型霍爾傳感器,霍爾器件的響應(yīng)速度大約在us量級,對于我們系統(tǒng)中用來測量速度是足夠的。車輪的周長約為15cm,添加多個磁鋼能夠更好的反映速度的變化,根據(jù)車模的結(jié)構(gòu),我們選用了12個磁鋼,可以對速度做出很精確地判斷。我們安裝的時候霍爾傳感器與磁鋼的距離為5mm左右,在測試時,傳感器的輸出高電平為5V,低電平為0.02V,效果很好。3軟件算法分析及設(shè)計在軟件調(diào)試方面,我們使用的是CodeWarrior,使用Windows下的超級終端軟件實現(xiàn)PC機與開發(fā)板的通信,通過RS-232串行電纜往單片機燒寫程序。部分程序源代碼見附錄A。智能車控制算法,是影響智能車運動的重要因素之一,在輸入信號有限的條件下,運用一種行之有效的算法,對于提高智能車的運動性能,有著重要的作用。3.1概述3.1.1智能車工作原理在每個運算周期內(nèi),控制器即時地得到智能車車速以及傳感器采樣來的信號,經(jīng)過控制算法的計算后,控制單元輸出相應(yīng)的前輪控制轉(zhuǎn)角以及電機占空比的值,其輸出值再經(jīng)過函數(shù)映射關(guān)系轉(zhuǎn)換為PWM脈寬信號傳至前輪舵機以及驅(qū)動電機,從而實現(xiàn)一個周期的控制。由于賽車采用一字型光電傳感器傳感,輸入信號簡單明確,信號抗干擾能力強,但賽車對于未來的道路,是未知的,即前瞻性有限。根據(jù)賽車下的黑線,可以判斷賽車在道路中的位置。通過對傳感器的采樣,可以分析出智能車相對于黑線的水平偏移量(如圖2.1所示)。通過將賽車平滑地控制在黑線(黑點)上(水平偏移量為0),從而達到良好的控制效果。由此,我們可以抽象出系統(tǒng)的數(shù)學(xué)模型,如圖3.1所示:圖3.通過調(diào)整賽車的轉(zhuǎn)向角,可以調(diào)整賽車的水平偏移量。轉(zhuǎn)向角越大,水平偏移速度越大。所以,調(diào)整賽車轉(zhuǎn)向角可以看成是調(diào)整賽車水平偏移量與水平偏移速度的映射。3.1.2系統(tǒng)軟件流程圖3.1.3編譯及調(diào)試平臺(1)編譯軟件:Metrowerks,CodeWarrior4.5。(2)調(diào)試工具:RS-232串行電纜。(3)調(diào)試系統(tǒng):P42.4GHz,1GRAM,WindowsXP超級終端。MC9S12DG128B模塊及端口使用(1)時鐘模塊:產(chǎn)生實時中斷。(2)定時器模塊:使用3個輸入捕捉通道。1個用于測速,2個用于光電傳感器檢測路線。(3)PWM模塊:使用3個通道。一個16位輸出由于舵機控制,2個8位用于電動機控制。(4)A端口及B端口:撥盤開關(guān)與LED顯示的數(shù)據(jù)。(5)串口模塊:在調(diào)試中使用,用于向電腦傳送記錄的信息。3.2控制算法的選取3.2.1各種控制算法分析目前,人們所采用的自動控制方法大致分為三種:經(jīng)典控制、現(xiàn)代控制和智能控制。經(jīng)典控制是人們常用的控制方法,但是這種控制方法只能解決線性定常系統(tǒng)的控制問題。經(jīng)典控制方法是以傳遞函數(shù)為基礎(chǔ)實現(xiàn)的。一般的工業(yè)生產(chǎn)過程較多屬于線性定常系統(tǒng)。故可以用經(jīng)典控制方法來控制,經(jīng)典控制方法最典型的就是PID控制方法。其調(diào)節(jié)品質(zhì)取決于PID控制器各個參數(shù)的整定?,F(xiàn)代控制理論可以解決時變系統(tǒng)的控制問題,在時變系統(tǒng)中,輸入量和輸出量的關(guān)系隨時間的變化而變化?,F(xiàn)代控制方法是以狀態(tài)方程為基礎(chǔ)實現(xiàn)。智能控制是制動控制發(fā)展的高級階段,是人工智能控制論、系統(tǒng)論和信息論的多種學(xué)科的高度綜合與集成,是一門新的交叉前沿學(xué)科。智能控制算一類無需人的干預(yù)就能夠獨立的驅(qū)動智能機器實現(xiàn)其目標的智能控制。3.2.2模糊控制算法的優(yōu)點不管是經(jīng)典控制還是現(xiàn)代控制方法,都要求建立一套精確的數(shù)學(xué)模型才能執(zhí)行控制,如果沒有數(shù)學(xué)模型,它們對系統(tǒng)就無能為力了。然而在實際中,有些復(fù)雜過程是難以求取數(shù)學(xué)模型或根本無法求取其數(shù)學(xué)模型的。智能控制方法是利用人的經(jīng)驗來控制復(fù)雜的過程的一種方法,目前還在不斷完善和發(fā)展之中。智能控制方法中的一種模糊控制就比較適合智能車的控制。它有如下幾個優(yōu)點:(1)無需預(yù)先知道被控對象的精確數(shù)學(xué)模型。(2)由于控制規(guī)則是以人的經(jīng)驗總結(jié)出來條件語句表示的,容易掌握。(3)對被控對象的參數(shù)變化有較強的魯棒性。(4)由于表示控制知識是以人的語言形式,故有利于人機對話和系統(tǒng)的知識處理,從而有利于系統(tǒng)處理的靈活性和機動性。3.3行駛策略3.3.1賽道分析經(jīng)分析,賽道大致分以下①、②、③1賽道分析要使車沿黑線行駛,最主要的是保證車的穩(wěn)定。此要保證兩個方面:舵機的靈敏度和車的速度控制的穩(wěn)定。在小車基本在線上運動時以高速行駛,車偏離線時,減速以調(diào)整車的方向。經(jīng)分析,要求的是:(1)當黑線位于車中間時,即中間2個傳感器探測到黑線時,以高速行駛。(2)在拐彎時有強減速。防止沖出賽道,減速后能夠迅速拐彎。(3)在連續(xù)彎路線上能夠減速以保證速度穩(wěn)定。此時黑線位置在傳感器探頭移動的特點是左右大幅度擺動,根據(jù)這一特點可以判斷連續(xù)彎的情況并采取相應(yīng)的多彎運行策略使小車能穩(wěn)定跟蹤黑線運行。3.3.2舵機轉(zhuǎn)角控制針對賽道的不同情況,分別采用以下三種不同的舵機轉(zhuǎn)角策略。第一種是對應(yīng)比例控制。概述:在舵機轉(zhuǎn)角范圍內(nèi)(從左四十度到右四十度)劃分出23個轉(zhuǎn)角值,并根據(jù)14個光電傳感器的接收信號(同樣分為23種情況)進行一對一的賦值。其中為了避免小車入直道,以及在直道內(nèi)的抖動,我們對于中間的五個轉(zhuǎn)角值進行了處理,但總體而言這類的控制方式的基本思想便是,舵機總是跟著黑線走。優(yōu)點:簡單,不易出錯;在小車低速行駛時能很好的沿著賽道行駛。缺點:一旦小車的速度提升到一定的程度后,在高速入彎的情況下容易沖出賽道。適用范圍:用于記憶賽道的低速圈;連續(xù)的低速彎角(如:小S彎)。第二種是差分趨勢控制。概述:在對應(yīng)比例控制的基礎(chǔ)上,根據(jù)最近三次光電傳感器測到的黑線位置,推算出黑線的運動趨勢。通過改變舵機的轉(zhuǎn)角,使得黑線的變化趨勢減小并且黑線的位置總處于小車的正前方。優(yōu)點:前瞻性強,在小車高速行駛時能從容地應(yīng)付急彎、大S彎等多種彎角。缺點:直道的直線性不強;在高速入小S彎的情況下仍舊容易損失速度甚至沖出賽道。適用范圍:配合記憶算法使用。第三種是小轉(zhuǎn)角控制。概述:在對應(yīng)比例控制的基礎(chǔ)上,相應(yīng)減小舵機的轉(zhuǎn)角值,從而應(yīng)對小S彎內(nèi)的速度損失問題。優(yōu)點:能高速穩(wěn)定地過小S彎。缺點:應(yīng)激性不強。適用范圍:僅適用于直道入小S彎這一種情況,需配合記憶算法使用。3.3.3電機速度控制根據(jù)黑線在傳感器上的位置,我們由中間向兩側(cè)分為了直線區(qū)、小偏區(qū)、中偏區(qū)和大偏區(qū)。在直線區(qū):小車高檔加速,并且清空所用的剎車寄存器。在運用記憶的情況下,因為能提前預(yù)知直道長度,小車會使用滿檔加速。在小偏區(qū):小車高檔加速。但如果是由直道區(qū)進入小偏區(qū),那么便會進行跳變剎車。在中偏區(qū):小車高檔加速。但如果是由直道區(qū)進入小偏區(qū),那么便會進行跳變剎車。此外,根據(jù)進入中偏區(qū)的車速不同,入彎剎車寄存器內(nèi)會被賦上不同的值,但不會進行剎車。在大偏區(qū):小車先根據(jù)入彎剎車寄存器內(nèi)的值進行入彎剎車,而后高檔加速。特殊情況:如果小車檢測到的黑線在光電傳感器上出現(xiàn)跳變,那么便會進行跳變剎車。如果小車車速超過極限速度,那么就會減速。如果小車長時間處于彎角或速度偏低,便會自動屏蔽所有剎車開始加速。3.4信號采樣、濾波與處理在調(diào)試的過程中發(fā)現(xiàn),車子不明原因的沖出賽道,A/D采樣出現(xiàn)了一定概率的錯誤,根據(jù)分析,采用軟件濾波的方法,使用限幅濾波技術(shù)使得的系統(tǒng)具有糾錯能力。定義一個16位的整數(shù),保存?zhèn)鞲衅鞑蓸拥慕Y(jié)果,1表示黑線,0表示白線。限幅濾波技術(shù),即在相鄰兩次傳感器信號之間,限定一個范圍。如果下一次的采樣信號超過了規(guī)定的范圍,則表示有干擾,過濾掉。具體方法是,通過上次的傳感器的值,制作一個過濾層,如:上次傳感器的值是000001000000,根據(jù)多次數(shù)據(jù)表明,經(jīng)過4ms后,黑線不會跳躍N傳感器的距離。設(shè)000111110000是過濾層,1就表示下一刻信號可能出現(xiàn)在這些位置,0就表示黑線在下一刻不可能出現(xiàn)的位置。再用過濾層和信號采樣結(jié)果進行與運算,得到另一個16位的整數(shù)??紤]到一個最壞情況,即干擾信號沒有被排除掉,比如出現(xiàn)了如000101000000這樣的信號。所以,在濾波后,還要對過濾后的信號進行排錯,如果是錯誤信號,則本次采樣不成功,沿用上一個4ms時的采樣值。由于模糊控制單元是對賽車的偏移量進行控制,所以傳感器信號要處理成水平偏移量的值X0。由于的“一”3.5小結(jié)智能車的軟件設(shè)計的核心思想是簡潔有效。首先,由于直接通過電路將黑白路面情況轉(zhuǎn)換為高低電平值,因此采用中斷響應(yīng)的方式處理探測賽道位置,其優(yōu)點為,一、有利于節(jié)省處理器的時間,也不存在處理器定時查詢路面信息要考慮的檢測頻率的問題;二,信號處理簡便,只要判斷高低電平即可知道黑線的位置,省去了AD轉(zhuǎn)換與處理的時間。同時,由于這種方式比較簡單,路面檢測精度有限,在軟件設(shè)計上也結(jié)合了一些其它的方式,比如通過定時器檢測中斷響應(yīng)的間隔可一定程度上反映黑線的移動速度等等。這樣就能得到更多的路面信息情況,有利于控制效果的提升。在方向與車速的控制上,不再是簡單的通過黑線的位置線性地或是乘以某一權(quán)值后再給定舵機轉(zhuǎn)角與車速,而是在位置式的基礎(chǔ)上將其它檢測信號通過相應(yīng)的公式綜合起來最終得到合適的給定信號。另外,參數(shù)給定的公式也不是一成不變的,小車也會根據(jù)傳感器的信號對路面進行判斷,區(qū)分直道,彎道,連續(xù)彎等情況,不同的賽道情況采用的公式也是不同的。這樣,就大大提高了賽車的適應(yīng)性,在各種賽道上均能很好達到要求,且使車速得到優(yōu)化。4開發(fā)工具制作安裝及參數(shù)測試4.1軟件仿真采用Plastid系統(tǒng)仿真軟件,主要做了控制算法的仿真實驗,驗證并改進控制算法。由于應(yīng)用程序采用C語言編寫,為方便移植,采用了Plastid提供的C結(jié)點仿真方案。將用C編寫好的應(yīng)用程序進行適當?shù)男薷模赩isualStudioIDE將其編譯為dll文件。加載賽道與賽車文件,Plastid仿真時自動調(diào)用該dll,即時地輸入變量(傳感器的值、車速),經(jīng)dll運算得出控制量并輸送給Plastid仿真循環(huán)。經(jīng)過分析仿真的結(jié)果,優(yōu)化了控制算法。4.2路徑識別傳感器的性能測試為測試傳感器的性能,設(shè)計了AD采樣電路。將各接收管的輸出端接到單片機的AD模塊輸入腳,測量其電壓值。每次測量時,循環(huán)讀取各AD數(shù)據(jù)寄存器的值,重復(fù)讀四次,得到每個接收管的四個電壓值,使用平均值濾波法計算均值,作為本次測量接收管的電壓值。每兩次測量間隔約50ms,每次試驗采集1000組數(shù)據(jù)。將采用的數(shù)據(jù)通過串口傳給PC機,使用Excel軟件進行分析和繪圖。4.3轉(zhuǎn)向性能測試方案4.3.1測量舵機與轉(zhuǎn)角關(guān)系因為不同的舵機對應(yīng)相同的PWM占空比參數(shù)得到的車輪轉(zhuǎn)角是不同的,所以設(shè)計了這個測量舵機與轉(zhuǎn)角關(guān)系的實驗。具體方案如下:在設(shè)定好PWM參數(shù)后,僅調(diào)整PWM的占空比,其他參數(shù)保持不變。按一定間隔變化修改占空比,看前輪轉(zhuǎn)角變化,將測量數(shù)據(jù)記錄后進行回歸分析和繪圖。輪胎的轉(zhuǎn)向測量分為2種情況:(1)輪胎順時針轉(zhuǎn)動而且轉(zhuǎn)動角度變化的方向一致; (2)輪胎逆時針轉(zhuǎn)動而且轉(zhuǎn)動角度變化的方向一致。實驗發(fā)現(xiàn)在周期為50HZPWM信號控制下,舵機在空載情況下,舵機的轉(zhuǎn)角和PWM信號的占空比基本呈線形關(guān)系。在分別測試兩輪的情況下,發(fā)現(xiàn)兩輪的角度分布情況并不完全對稱。4.3.2測量轉(zhuǎn)向延時由于舵機在接受命令后還需要一段反應(yīng)時間才可以到達要求得角度,而舵機的延時將限制程序執(zhí)行的周期,所以設(shè)計了這個實驗測試舵機的轉(zhuǎn)向延時。讓前輪在0——x度之間來回轉(zhuǎn)(x代表給定角度),開始給定一個稍小的頻率,再加快頻率測試。發(fā)現(xiàn)頻率約為1Hz的時候,前輪可以轉(zhuǎn)到預(yù)期角度;然后加快頻率,直到前輪開始不能轉(zhuǎn)到預(yù)期角度,記下轉(zhuǎn)角x和此時頻率f。測試多組數(shù)據(jù),然后分析結(jié)果。實驗結(jié)論:舵機反應(yīng)延時時間為角度變化×5ms。4.4調(diào)試與結(jié)果為了軟硬件的調(diào)試以及對智能小車系統(tǒng)的性能進行測試,我們自行制作了用于調(diào)試的賽道,如圖4.4-1所示,賽道包括四種基本賽道特點:直道、彎道、連續(xù)彎道、十字交叉路口。實驗光照為白天室內(nèi)的正常光照情況,溫度在左右。跑道以KT板作為白色底板,25mm黑色紙帶作為的黑色軌跡。通過對系統(tǒng)硬件與軟件的優(yōu)化與調(diào)試,小車能夠按照理想的航線與速度在軌道上行駛。小車在軌道上行駛時,速度的變化曲線如下圖4.4-2所示:曲線1為速度的給定值,曲線2為傳統(tǒng)模糊控制曲線圖,曲線3為參數(shù)自整定的模糊控制曲線圖。速度的量綱為一定時間內(nèi)采集到的磁鋼脈沖個數(shù),時間的量綱為調(diào)節(jié)所需的采樣周期的個數(shù)。由速度控制曲線可知,采用參數(shù)自整定的模糊控制器對速度進行調(diào)節(jié),其響應(yīng)時間短,幅值振蕩小,控制效果明顯。在小車的制作過程中,進行了多方面的調(diào)試,內(nèi)容與過程比較復(fù)雜,下面僅舉出個別最基本與重要的調(diào)試過程。速度控制調(diào)試:小車速度的提高應(yīng)該要能使在直道速度更高,但彎道又要不能沖出賽道。因此我們在程序設(shè)計上也采取了多種措施,對不同路面情況也有不同的處理方式。其中一個比較重要的情況就是直道入彎道時的減速處理。這里對該情況下的調(diào)試進行簡要介紹。實驗方法:小車以較高速度通過米長的直道后入彎,在設(shè)定不同參數(shù)值的情況下記錄小車偏離的最大距離以及小車整個運行過程的時間,綜合比較小車的快速性與穩(wěn)定性進行參數(shù)選擇。經(jīng)過調(diào)試,小車性能上逐步得到提高。目前在我們制作的賽道上,小車運行情況較穩(wěn)定且能夠達到較快的速度。但仍然有很多不足與上升空間。比如小車給舵機的控制信號雖然作了調(diào)正,但仍然不是連續(xù)的,因此使得小車在彎道運行過程運動仍不夠平滑順暢;小車對于賽道提前預(yù)測的能力有限,限制了速度的提升,且對于彎道一般只能是沿外道運行等等。另外,由于條件的限制,調(diào)試的賽道等方面還比較單一,還有很多地方考慮不夠周全。這些問題都有待在今后的設(shè)計與調(diào)試過程中進一步解決。5總結(jié)本智能模型車系統(tǒng)以MC9S12DG128芯片為核心,由電源模塊、傳感器模塊、電機驅(qū)動模塊、路徑識別模塊、通訊調(diào)試模塊和單片機模塊組成。為了使智能車能夠快速行駛,單片機必須把路徑的迅速判斷、相應(yīng)的轉(zhuǎn)向伺服電機控制以及直流驅(qū)動電機的控制緊密地結(jié)合起來。本設(shè)計將討論傳感器的種類、數(shù)量及安裝,研究傳感器的數(shù)據(jù)融合算法,并致力于提高轉(zhuǎn)向伺服電機及直流驅(qū)動電機的控制能力。同時,單片機系統(tǒng)需要在接收路徑識別電路信號和車速傳感器信號后,采用某種路徑搜索算法進行尋跡判斷,進而控制轉(zhuǎn)向伺服電機和直流驅(qū)動電機的,工作在本設(shè)計中,僅是提供了一種方案,因此本設(shè)計還可討論其軟件控制方案,研究高性能的控制算法。參考文獻[1]邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].北京:清華大學(xué)出版社,2004[2]楊國田,白焰.摩托羅拉68HC12系列微控制器原理、應(yīng)用與開發(fā)技術(shù)[M].北京:中國電力出版社,2003[M].北京:高等教育出版社,2001[M].北京:高等教育出版社,1998[5]張宇河,董寧.計算機控制系統(tǒng)[M].北京:北京理工大學(xué)出版社,2002[6]陶永華,尹怡欣,葛蘆生.新型PID控制及其應(yīng)用[M].北京:機械工業(yè)出版社,1998[7]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2001[8]侯國屏,王坤,葉齊鑫.[M].北京:清華大學(xué)出版社,2005[9]HCS12SerialCommunicationInterface(SCI)BlockGuide[M].[10]Metrowerks.IDEHelpforCodeWarriorPlug-inforMotorola[M].MetrowerksSemiconductor,Inc.,2005[11]朱衛(wèi)華.一種微機與單片機無線串行通信的設(shè)計方法.[D]南華大學(xué),2002年8月.[12]周斌,李立國,黃開勝.智能車光電傳感器布局對路徑識別的影響研究[J].電子產(chǎn)品世界,[13]卓晴,黃開勝,邵貝貝.學(xué)做智能車[M].北京:北京航天航空出版社,2007[14]張幽彤,陳寶江.汽車電子技術(shù)原理及應(yīng)用[M].北京:北京理工大學(xué)出版社,2006[15]張偉等.ProtelDXP高級應(yīng)用[M].北京.人民郵電出版社.2002[16]FreescaleSemiconductor,Inc.MC9S12DG128DeviceUserGuide.[17]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京.高等教育出版社.2000[19]張葵葵,吳義虎.汽車急轉(zhuǎn)側(cè)滑的預(yù)防控制原理[J].現(xiàn)代制造工程.2006[20]楊啟梁.汽車制動過程中方向穩(wěn)定性仿真分析[J].拖拉機與農(nóng)用運輸車.2007[21]魏道高,李克強等.汽車前束值算法研究[J].農(nóng)業(yè)機械學(xué)報.2006.附錄源程序代碼#include<hidef.h>/*commondefinesandmacros*/#include<mc9s12dg128.h>/*derivativeinformation*/#include"crg.h"#include"pid.h"#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"#defineDC_Limit450//450#defineMID3770//4200//#defineMAXTURN554//#defineAD_LEVEL170//判斷黑白#defineSPEED55//yuan55//170,97168,96160,95#defineDEG11160/13//950/13//使用雙擺角度volatileunsignedintstop_flag=0;volatileunsignedinttimer_overflow=0;volatileintNowSpeed;volatileunsignedintIC0Counter=0; //2.083msoneintvolatileunsignedintIC0Counter_1=0; //volatileunsignedintGearWidth[2]={0};volatileunsignedintGearIndex=0;unsignedlongGearWidthSum;unsignedlongAveGearWidth;unsignedlongAveSpeed;unsignedintpulse_counter=0;//計數(shù)intSensor;sCaiXinBoPIDSpdPID;intDCDuty;intObject_Speed=SPEED; //100cm/sinttime_up=0;//調(diào)速unsignedcharboma=0;//撥碼開關(guān)intzdao_speed=0;//直到速度intswang_speed=0;//S形彎道速度intzwang_speed=0;//直角彎道速度intcchu_speed=0;//沖出速度intAD_LEVEL[14]={130,130,130,130,130,130,130,130,130,130,130,130,130,115};//紅外對管標定{130,185,186,165,163,130,171,180,110,150,182,110,176,115}intatd_value[14];//量化為0-9的數(shù)組//黑1白0unsignedintAD_Value[14];voidATD_Init(void){ATD0CTL2=0xc0;//不開中斷2;////上電,標志位快速清零 ... ATD隊列轉(zhuǎn)換完成中斷使能ATD0CTL3=0x00;//sequencelength:80; //轉(zhuǎn)換隊列長度8,非FIFO存儲模式,ATD0CTL4=0x85;//8位精度,AD時鐘為bus_clk/(2*(5+1))//ATD0CTL5=0x91;//右對齊,無符號數(shù),單次轉(zhuǎn)換隊列模式,ch1begin,6channels;多通道8路,從通道0開始ATD1CTL2=0xc0;//ADPU,fastflagclearATD1CTL3=0x30;//sequencelength:6,notfifomode,ATD1CTL4=0x85;//8bitdecision,ATDclock:bus_clk/(2*(5+1))}//***************Servo_Init()***************voidServo_Init(void)//舵機16位PWM控制{PWME_PWME1=0;//disablePWM1servoPWMPRCLK|=0x03;//CLKA:8分頻PWMCLK=0x00;//這就是默認值//通道1用clockA時鐘源//24MHZ/8=3MPWMPOL_PPOL1=1;//先高電平PWMCAE=0X00; //對齊方式默認左對齊PWMCTL_CON01=1;//通道1:16BIT連接PWMPER01=60000;//60000:20ms;;;20000//舵機的頻率是150Hz 1/3M*x=1/150Hz//1ms脈沖到2ms脈沖PWMDTY01=4721;//4500:1.5ms; //控制3500左極限5500右極限4500正中央PWMCNT01=0; //寫計數(shù)寄存器,會使PWMDTYx,PWMPERx進入鎖存器,同時使能通道時會從此值PWME_PWME1=1;//PWM通道1輸出}//***************RTIinitiation***************voidRTI_Init(void){/*setupoftheRTIinterruptfrequency*//*adjustedtoget1millisecond(1.024ms)with16MHzoscillator*/RTICTL=0x1f;//5*2^16:48.8hz//0x1f//setRTIprescaler::晶振16384分頻;(低四位+1)*(2^(高三位+9))CRGINT=0x80;//enableRTIinterrupts;//低四位:1-7,不可為零,否則分頻器不工作}//***************Forward_Init()***************voidForward_Init(void)//假定前進方向,初始化函數(shù){ //PWM3:IN1//PWM5:IN2 =1//PWM7:EN//DDRP=0xff;//控制輸出PWME_PWME3=0;PWME_PWME5=0;PWMPRCLK|=0x20;//clockb總線頻率的4分頻 //通道3用clockB時鐘源//24MHZ/4=6MPWMPOL_PPOL3=0;//lowelectricallevelfirst,,highelectricallevelfirst,buthighlevelmakesmc33886disabled //對齊方式默認左對齊PWMCAEPWMCTL_CON23=1;//16BIT連接PWMPER23=750;//電機頻率8kHz 1/1.5M*x=1/2KHz PWMDTY23=500; //占空比精度1/750PWMCNT23=0; //啟動PWMPWME_PWME3=1;//PWM通道3輸出}//***************ECT_Init()***************voidECT_Init(void)//ECT初始化,使用輸入捕捉功能{TSCR1_TFFCA=1;//automaticallyclearflagTSCR2=0x87;//TimerOverflowinterruptopen,TCNTprescaler:24MHZ/128=187.5kHz計數(shù)頻率TIOS_IOS0=0;//Thecorrespondingchannelactsasaninputcapture//ONCH0PT0;TCTL4_EDG0A=1;//captureonrisingedgeonlyonchannel0TCTL4_EDG0B=0;TIE_C0I=1;//EnableCh1InterruptsTSCR1_TEN=1;//ENABLETIMER}//一圈32個黑白,32次輸入捕捉中斷,上升沿輸入捕捉中斷,主定時器里的值送到輸入捕捉寄存器中//voidPORT_Init(void){DDRK|=0x80;//PK7output,driveled,?//DDRP=0xff;//PWMchanneloutput,don'tneedconfigit,whencorrespondingchannel'sPWMenabled//DDRT=0x00;//IC/OCchannel,seemsneednotconfigit}voidmain(void){/*putyourowncodehere*///inti;SET_PLL(); SpdPID.ProportionalGainScale=13;//0.76的系數(shù)(0-1):GainScale=14//(0-2):gainscale=13 //(0-4)0-80-160-320-640-1280-256.. //.0-32768--不能取最后的那個數(shù),可以有小數(shù),隨著數(shù)的增大,小數(shù)數(shù)減少,從15位到0位//精度1/327681 SpdPID.IntegralGain=20480;SpdPID.IntegralGainScale=14;//0.625的系數(shù) SpdPID.DerivativeGain=20000;//0SpdPID.DerivativeGainScale=14;SpdPID.PositivePIDLimit=DC_Limit;SpdPID.NegativePIDLimit=0;SpdPID.IntegralPortionK_1=0;//=0SpdPID.InputErrorK_1=0;//=0/*durubomakaiguan*/DDRA=0xff;///速度調(diào)整值DDRM=0xff;//輸出DDRT=0x00;//輸入boma=PTIT;boma>>=4;boma&=0b00001111;zdao_speed=100+7*boma;//此處參數(shù)需要調(diào)整216111181+7*bomaswang_speed=80+5*boma;//111+5*boma178103120+5*bomazwang_speed=70+4*boma;//103+4*boma133103103+4*bomacchu_speed=60+boma;//速度設(shè)定撥碼//921079290+bomaPTM=~boma;PORT_Init();ATD_Init();RTI_Init();Servo_Init();ECT_Init();Forward_Init();EnableInterrupts;for(;;){if(time_up==1){time_up=0;DCDuty=DC_Limit-CaiXinBoPIDController(Object_Speed,(int)AveSpeed,&SpdPID);if(DCDuty<1)DCDuty=0;if(DCDuty>DC_Limit)DCDuty=DC_Limit;/////////////////////////////////////////////////速度限制PWMDTY23=DCDuty;//changeMotorPWMduty;}///**/}/*waitforever*/}voidinterrupt16TIMER_OVERFLOW(void)//187.5khzcounterfreq.349.5msoverflowonce{inti;i=TCNT;//cleartheintflag//inIC0_int,clearthestop_flag, //ifthelaststop_flag==1,theninanoverflowintervaltheIC0didn'tinterrupt//350ms*32:oneround,mustbestopped/*停止指示燈ds1*//*if(stop_flag==1) //blinkwhenstoppedPORTK_BIT7=~PORTK_BIT7;elsePORTK_BIT7=1;*/if(stop_flag==1){PWMDTY23=DC_Limit;}stop_flag=1;//inIC0_int,clearingit}voidinterrupt8IC0_ISR(void) //whenspeedis2.4m/s,15roundspersec,15*32=480intpersec{staticintled_lit=0;IC0Counter=TC0;//獲得當前IC0的計數(shù)值,clearingC0Fflagpulse_counter=IC0Counter-IC0Counter_1;//bydefault,timercannotgooneround:350ms//withoutoneIC0int//oncein350ms,there'snoIC0int,programuncontrollableIC0Counter_1=IC0Counter;GearWidth[GearIndex]=pulse_counter;//?GearIndex++;if(GearIndex>=1) //>=2.083*4ms反饋一次速度,預(yù)備在RTI_int中運算,和轉(zhuǎn)彎一起運算{for(GearIndex=0;GearIndex<1;GearIndex++){GearWidthSum=GearWidthSum+(unsignedlong)GearWidth[GearIndex];}AveGearWidth=GearWidthSum;//?AveSpeed=93750L/AveGearWidth;//oneIC0int'saveragepulse_counter//getthespeed:0.5cm/(pulse_counter/187.5khz)NowSpeed=(int)AveSpeed;GearWidthSum=0;GearIndex=0;}stop_flag=0;if(led_lit==0){PORTK_BIT7=0;led_lit=1;} else { led_lit=0; PORTK_BIT7=1; }}voidinterrupt7RTI_int(){staticintrti_cnt=0,rti_cnt2=0;inti;staticinttotal_weight=0;staticintave_weight=0;staticintwhite_cnt=0;staticintlast_turn=0;CRGFLG|=0x80; //忘了清實時中斷標志rti_cnt++;rti_cnt2++;if(rti_cnt2>=2) //調(diào)速{rti_cnt2=0;time_up=1;//調(diào)速標志}if(rti_cnt>=1)//2s{rti_cnt=0;//forgotclearingit;ATD0CTL5=0x90;//啟動一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 集裝箱交易合同案例
- 法定節(jié)假日有哪些
- 六年級道德與法治上冊 第三單元 我們的國家機構(gòu) 5《國家機構(gòu)有哪些》教案2 新人教版
- 高中化學(xué)《離子反應(yīng)》教學(xué)設(shè)計
- 2024年春八年級物理下冊 第九章 第1節(jié) 壓強教案 (新版)新人教版
- 2024-2025學(xué)年高中生物 第二章 細胞的化學(xué)組成 2.2 細胞中的脂質(zhì)教案 蘇教版必修1
- 安徽省長豐縣八年級生物上冊 6.1.1 嘗試對生物進行分類教案 (新版)新人教版
- 2024-2025學(xué)年高中化學(xué) 第4章 第3節(jié) 蛋白質(zhì)和核酸教案 新人教版選修5
- 汽車試驗技術(shù) 課件 項目1 汽車試驗概述
- 綜合能源托管合同(2篇)
- NS2000變電站綜合自動化系統(tǒng)輔助裝置技術(shù)使用說明書(2006-5-25)
- 局組會議議題提報單模板
- 檢驗科標本拒收記錄
- 地下水池施工方案
- 世界氣溫和降水的分布
- 申請一年或多年多次往返申根簽證信
- 實踐與認識的關(guān)系PPT課件
- 新人教版八年級英語上冊第六單元.ppt
- 工程部維修工考核表
- 村級后備干部基本情況登記表
- 村鎮(zhèn)銀行組織結(jié)構(gòu)及職能
評論
0/150
提交評論