畢業(yè)論文——發(fā)動機自動熄火的診斷分析(2).doc_第1頁
畢業(yè)論文——發(fā)動機自動熄火的診斷分析(2).doc_第2頁
畢業(yè)論文——發(fā)動機自動熄火的診斷分析(2).doc_第3頁
畢業(yè)論文——發(fā)動機自動熄火的診斷分析(2).doc_第4頁
畢業(yè)論文——發(fā)動機自動熄火的診斷分析(2).doc_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京信息科技大學 畢業(yè)設計(論文)題 目: 單片機雙直流電機控制系統(tǒng)設計與實現 學 院: 自動化學院 專 業(yè): 自動化 學生姓名: 李振宇 班級/學號 自控0804/2008010914 指導老師/督導老師: 曹榮敏 起止時間:2011年 2月20 日 至 2011年 6 月 15 日 摘 要當今,自動化控制系統(tǒng)已經在各行各業(yè)得到了廣泛的應用和發(fā)展,而直流驅動控制作為電氣傳動的主流在現代化生產中起著主要作用。長期以來,直流電動機因其轉速調節(jié)比較靈活,方法簡單,易于大范圍平滑調速,控制性能好等特點,一直在傳動領域占有統(tǒng)治地位。它廣泛應用于數控機床、工業(yè)機器人等工廠自動化設備中。隨著現代化生產規(guī)模的不斷擴大,各個行業(yè)對直流電機的需求愈益增大,并對其性能提出了更高的要求。為此,研究并制造高性能、高可靠性的直流電機控制系統(tǒng)有著十分重要的現實意義。本論文論述了單片機雙直流電機控制系統(tǒng)設計和實現方法。論文的工作主要有以下幾個方面:1.設計基于單片機的直流電機控制系統(tǒng),采用pwm控制技術,利用雙橋驅動控制直流電機的起停及調速問題。2.設計兩個直流電機的硬件電路,包括驅動電路鍵盤電路。3.設計編寫兩個直流電機的控制程序,并在硬件基礎上調試。關鍵字:pwm信號,直流電機,單片機,雙橋驅動,電機調速abstracttoday, automation control system has been in all walks of life a wide range of applications and development, and dc drive control as the mainstream of electric transmission in modern production plays a main role in. long-term since, for its speed adjustment for dc more flexible, simple, easy to big range smooth speed adjustment, the control performance is good wait for a characteristic, has been in the transmission fields hold a dominant position. it is widely used in the numerical control machine tool, industrial robot factory automation equipment. with the expansion of the modern production scale, each industry to dc motor of the transportation demand increases, and its performance put forward higher request. therefore, the research and manufacturing of high performance, high reliability of the dc motor control system has very important practical significance. this paper discusses the single-chip microcomputer double dc motor control system design and realization method.the paper work mainly in the following aspects:1. based on single chip design of dc motor control system, using pwm control technology, using double drive control dc motor of the starting and stopping and speed control problem.2. design two dc motor of the hardware circuit, drive circuit including keyboard circuit.3. design write two dc motor control program, and based on the hardware debugging.keyword: pwm signal,dc motor,microcontroller,twinbridge drive, motor speed.目錄摘 要iabstractii第一章 緒論11.1 直流電機的發(fā)展11.2 課題研究的目的及意義11.3 本論文的主要工作2第二章 系統(tǒng)方案設計32.1電機調速控制模塊:32.2 pwm調速工作方式:32.3 pwm技術32.4 pwm的參數52.5直流電機的能量轉換和特性曲線5第三章 硬件的設計83.1 引言83.2雙橋驅動器l298n83.3 l298n芯片介紹9第四章 硬件電路板的制作134.1 引言134.2確定工作層134.3定義pcb形狀及尺寸134.4加載pcb元件封裝庫134.5 元器件的布局134.6.布線134.7制板14第五章 系統(tǒng)軟硬件調試155.1 引言155.2 系統(tǒng)應用程序設計155.3直流電機轉速控制器的軟件設計155.4本章小結26第六章 總結276.1 本文的工作及總結276.2 工作展望27參考文獻29iv單片機雙直流電機控制系統(tǒng)設計與實現第一章 緒論1.1 直流電機的發(fā)展直流電機問世已有一百四十多年的歷史。在設計和制造技術上的進步,新材料、新技術的應用,整流電源的普及,促進了一般工業(yè)用直流電機的用途不斷擴大,品種繁多。從小至數瓦,大到萬余千瓦,正廣泛地用于冶金、礦山、煤炭、起重運輸、船舶、機床制造、紡織印染等各個部門中,特別是近幾年電子計算技術已廣泛應用當今,自動化控制系統(tǒng)已經在各行各業(yè)得到了廣泛的應用和發(fā)展,而直流調速控制作為電氣傳動的主流在現代化生產中起著主要作用 ,無論是在工農業(yè)生產、交通運輸、國防、航天航空、醫(yī)療衛(wèi)生、商務與辦公設備、還是在日常生活中的家用電器都大量使用著各式各樣的電氣傳動系統(tǒng),其中許多系統(tǒng)有調速的要求:如車輛、電梯、機床、造紙機械等等。為了滿足運行、生產、工藝的要求往往需要對另一類設備如風機、水泵等進行控制:為了減少運行損耗,節(jié)約電能也需要對電機進行調速。電機調速系統(tǒng)由控制部分、功率部分和電動機三大要素組成一個有機整體。各部分之間的不同組合,可構成多種多樣的電機調速系統(tǒng)。三十多年來,直流電機傳動經歷了重大的變革。首先實現了整流器的更新換代,以晶閘管整流裝置取代了習用已久的直流發(fā)電機電動機組及水銀整流裝置使直流電氣傳動完成了一次大的躍進。同時,控制電路已經實現高集成化、小型化、高可靠性及低成本。同時,控制電路已經實現高集成化、小型化、高可靠性及低成本。以上技術的應用,使直流調速系統(tǒng)的性能指標大幅提高,應用范圍不斷擴大。直流調速技術不斷發(fā)展,走向成熟化、完善化、系列化、標準化,在可逆脈寬調速、高精度的電氣傳動領域中仍然難以替代。隨著微控制器尤其是脈寬調制 pwm 專門控制芯片的飛速發(fā)展, 其對電機控制方面的應用起了很重要的作用, 為設計性能更高的直流控制系統(tǒng)提供了基礎。本文對基于pic單片機的直流電機 pwm 調速系統(tǒng)進行了較深入的研究,從直流調速系統(tǒng)原理出發(fā),逐步建立了單閉環(huán)直流 pwm調速系統(tǒng)的數學模型。用微機硬件和軟件發(fā)展的最新成果,探討一個將微機和電力拖動控制相結合的新的控制方法,研究工作在對控制對象全面回顧的基礎上,重點對控制部分展開研究,它包括對實現控制所需要的硬件和軟件的探討。在硬件方面充分利用微機外設接口豐富,運算速度快的特點,采取軟件和硬件相結合的措施,實現對轉速閉環(huán)調速系統(tǒng)的控制。在微機控制方面,討論了顯示、pwm、光電編碼盤測速的原理,并給出了軟、硬件實現方案。該方案以驅動芯片與一些外圍電路。通過實時測試,調節(jié)電動機的轉速,此調速系統(tǒng)可獲得快速、精確的調速效果。直流電氣傳動系統(tǒng)中需要有專門的可控直流電源,常用的可控直流電源有以下幾種:第一,最初的直流調速系統(tǒng)是采用恒定的直流電壓向直流電動機電樞供電,通過改變電樞回路中的電阻來實現調速。這種方法簡單易行,設備制造方便,價格低廉。但缺點是效率低、不能在較寬范圍內平滑調速,所以目前極少采用。第二,三十年代末,出現了發(fā)電機電動機(也稱為旋轉變流組),配合采用磁放大器、電機擴大機、閘流管等控制器件,可獲得優(yōu)良的調速性能,如有較寬的調速范圍(十比一至數十比一)、較小的轉速變化率和調速平滑等。特別是當電動機減速時,可以通過發(fā)電機非常容易地將電動機軸上的飛輪慣量反饋給電網,這樣,一方面可得到平滑的制動特性,另一方面又可減少能量的損耗,提高效率。但發(fā)電機電動機調速系統(tǒng)的主要缺點是需要增加兩臺與調速電動機相當的旋轉電機和一些輔助勵磁設備,因而體積設備較多、體積大、費用高、效率低、安裝需要地基、運行有噪聲、維修困難等。第三,自出現汞弧變流器后,利用汞弧變流器代替上述發(fā)電機電動機系統(tǒng),使調速性能指標又進一步提高。特別是它的系統(tǒng)快速響應性是發(fā)電機電動機系統(tǒng)不能比擬的。但是汞弧變流器仍存在一些缺點:維修還是不太方便,特別是水銀蒸汽對維護人員會造成一定的危害等。第四,1957年,世界上出現了第一只晶閘管,與其它變流元件相比,晶閘管具有許多獨特的優(yōu)越性,因而晶閘管直流調速系統(tǒng)立即顯示出強大的生命力。由于它具有體積小、響應快、工作可靠、壽命長、維修簡便等一系列優(yōu)點,采用晶閘管供電,不僅使直流調速系統(tǒng)經濟指標上和可靠性有所提高,而且在技術性能上也顯示出很大的優(yōu)越性。晶閘管變流裝置的放大倍數在10000以上,比機組(放大倍數10)高1000倍,比汞弧變流器(1000)高10倍;在快速響應性上,機組是秒級,而晶閘管變流裝置為毫秒級。因此,目前在直流調速系統(tǒng)中,除某些特大容量的設備而且供電電路容量較小的情況下,仍有采用機組供電、晶閘管勵磁系統(tǒng)以外,幾乎絕大部分都已改用晶閘管相控整流供電了。隨著微電子技術的發(fā)展,微機功能的不斷提高以及電力電子、計算機控制技術的發(fā)展,電氣傳動領域出現了以微機為核心的數字控制系統(tǒng)。計算機的發(fā)展可以使復雜的控制規(guī)律較方便的實現,以計算機為核心的數字控制技術成為自控領域的主流,也給直流電氣傳動的發(fā)展注入了新的活力,使電氣傳動進入了更新的發(fā)展階段。1.2 課題研究的目的及意義直流電機因具有良好的線性調速特性、效率高、控制簡單、調速性能好及體 積小等優(yōu)點得到了廣泛使用。常規(guī)電機調速控制方法中,電機工作不穩(wěn)定,損耗 較大,尤其在低電壓輕負荷時情況更為嚴重,且工作頻率受電源頻率的限制, 難 以滿足高精度的調速要求,不利于廣泛推廣。如何才能使電路具有成本低、控制 精度高、調試修改參數方便,且能方便和靈活地適用于大功率、可靠性高的直流電機控制系統(tǒng)中,是我們研究的目的。1.3 本論文的主要工作和論文結構本論文主要從硬件和軟件兩方面論述溫度控制系統(tǒng)的結構、組成和控制算法?;窘Y構如下:第一章 緒論。主要介紹計算機控制系統(tǒng)的基本情況和本次畢業(yè)設計的主要任務。第二章 系統(tǒng)方案設計。敘述了系統(tǒng)方案的確定和系統(tǒng)總體結構。第三章 系統(tǒng)硬件設計。敘述了系統(tǒng)硬件的基本結構和組成。第四章 硬件電路板的制作。敘述了系統(tǒng)軟件的若干主要模塊的設計,重點敘述了單片機程序設計。第五章 系統(tǒng)軟硬件調試。敘述了系統(tǒng)硬軟件的調試方法和過程。第二章 系統(tǒng)方案設計主要內容:設計基于單片機的直流電機控制系統(tǒng),采用pwm控制技術,利用雙橋驅動控制直流電機的起停及調速問題,設計兩個直流電機的硬件電路與控制程序。目標:通過鍵盤控制兩個電機的起停、調速。2.1電機調速控制模塊:方案一:采用電阻網絡或數字電位器調整電動機的分壓,從而達到調速的目的。但是電阻網絡只能實現有級調速,而數字電阻的元器件價格比較昂貴。更主要的問題在于一般電動機的電阻很小,但電流很大;分壓不僅會降低效率,而且實現很困難。方案二:采用繼電器對電動機的開或關進行控制,通過開關的切換對小車的速度進行調整。這個方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應時間慢、機械結構易損壞、壽命較短、可靠性不高。方案三:采用由達林頓管組成的h型pwm電路。用單片機控制達林頓管使之工作在占空比可調的開關狀態(tài),精確調整電動機轉速。這種電路由于工作在管子的飽和截止模式下,效率非常高;h型電路保證了可以簡單地實現轉速和方向的控制;電子開關的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的pwm調速技術。兼于方案三調速特性優(yōu)良、調整平滑、調速范圍廣、過載能力大,因此本設計采用方案三。2.2 pwm調速工作方式:方案一:雙極性工作制。雙極性工作制是在一個脈沖周期內,單片機兩控制口各輸出一個控制信號,兩信號高低電平相反,兩信號的高電平時差決定電動機的轉向和轉速。方案二:單極性工作制。單極性工作制是單片機控制口一端置低電平,另一端輸出pwm信號,兩口的輸出切換和對pwm的占空比調節(jié)決定電動機的轉向和轉速。由于單極性工作制電壓波開中的交流成分比雙極性工作制的小,其電流的最大波動也比雙極性工作制的小,所以我們采用了單極性工作制。3、pwm調脈寬方式:調脈寬的方式有三種:定頻調寬、定寬調頻和調寬調頻。我們采用了定頻調寬方式,因為采用這種方式,電動機在運轉時比較穩(wěn)定;并且在采用單片機產生pwm脈沖的軟件實現上比較方便。4、pwm軟件實現方式:方案一:采用定時器做為脈寬控制的定時方式,這一方式產生的脈沖寬度極其精確,誤差只在幾個us。方案二:采用軟件延時方式,這一方式在精度上不及方案一,特別是在引入中斷后,將有一定的誤差。但是基于不占用定時器資源,且對于直流電機,采用軟件延時所產生的定時誤差在允許范圍,故采用方案二。2.3 pwm技術pwm(pulsewidthmodulation)控制脈沖寬度調制技術,通過對一系列脈沖的寬度進行調制,來等效地獲得所需要波形(含形狀和幅值)。pwm控制技術在逆變電路中應用最廣,應用的逆變電路絕大部分是pwm型,pwm控制技術正是有賴于在逆變電路中的應用,才確定了它在電力電子技術中的重要地位。(1)理論基礎沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果基本相同。沖量指窄脈沖的面積。效果基本相同,是指環(huán)節(jié)的輸出響應波形基本相同。低頻段非常接近,僅在高頻段略有差異,如圖2.1所示。圖2.1 pwm原理面積相同形狀不同沖量spwm波形脈沖寬度按正弦規(guī)律變化而和正弦波等效的pwm波形。用一系列等幅不等寬的脈沖來代替一個正弦半波,正弦半波n等分,看成n個相連的脈沖序列,寬度相等,但幅值不等,如圖2.2所示;用矩形脈沖代替,等幅,不等寬,中點重合,面積(沖量)相等,寬度按正弦規(guī)律變化,如圖2.2所示。圖2.2 pwm信號替代2.4 pwm的參數1)占空比:輸出的pwm中,高電平保持的時間與陔pwm的時鐘周期2)分辨率:占空比最小能達到的值。如8位的pwm,理論上分辨率就是1:255(單斜率),16位的pwm分辨率就是1:65535(單斜率)。3)頻率:pwm輸出頻率為tc的時基頻率2n,rl為脈寬調制方式的位數,即8或16。4)雙斜率憚斜率。設一個pwm從0計數到80,之后又從0計數到8o這就是單斜率。設一個pwm從0計數到80,之后是從8o計數到0這是雙斜率。雙斜率的計數時間多了一倍,pwm輸出的頻率就慢了一半,分辨率卻是l:(8o4-80)一1:160,提高了一倍。假設pwm是單斜率,設定最高計數是8o,我們再設定一個比較值是lo,那么tc從0計數到l0時(此時計數器繼續(xù)在計數,直到計數達到到設定值80),單片機就會根據你的設定,控制某個io口在這個時候是輸出1還是輸出0,這就是pwm的基本原理。2.5直流電機的能量轉換和特性曲線直流電機將電能,(電流i和電壓u)轉化為機械能(速度n。和轉矩m)。其中損耗可分為摩擦損耗和熱損耗(熱損耗是由于線圈電阻r產生)。余下的轉化為機械能幾,如圖2.1所示。因此電機的功率守恒可表述為: (2.1)更詳細的敘述為: (2.2) 在這能量轉化過程中,有兩個特性參數是至關重要的,他們是速度常數。和轉矩常數。速度常數是指速度n和線圈感應電壓“樹之間的關系,是指在忽略摩擦的情況下的每個單位電壓下的速度變化。與速度是成正比的,公式如下: (2.3)轉矩常數所聯系的是機械轉矩m和電流i之間的關系,是指轉矩和有效電流之比。公式如下: (2.4)速度常數。和轉矩常數有如下關系: (2.5)如果用轉矩m和轉矩常數來表示電流,可得如下關系: (2.6)考慮到。和之間的關系,我們可將上式進一步化為: (2.7) 上式便是直流電機的轉速、轉矩、電阻、轉矩常數和速度常數之間的關系。這里轉矩單位是n.m;電流單位是a;速度單位是rpm;電壓單位是v。直流電機可以運行在額定范圍內的任何電壓下,速度一轉矩曲線表述的是在一恒定電壓u下電機的機械表現,該曲線可由兩點法給出:空載轉速n。和堵轉轉矩(空載轉速:電機在額定電壓、空載的情況下的轉速;堵轉轉矩:它是電機在堵轉條件下的轉矩值,也叫起動轉矩),如圖所示??蛰d轉速與堵轉轉矩將隨著給定電壓的改變而成線性關系。它相當于速度一轉矩曲線在特性曲線上平移,如圖2.2所示。空載轉速與電壓有如下關系: (2.8)速度一轉矩曲線走勢是由斜率來表述的,與電壓無關要,它是一項體現電機性能的重參數,如下關系: (2.9)直流電機的速度與轉矩間的關系可用下式表示: (2.10)圖2.3 轉矩轉速線性關系第三章 硬件的設計3.1 引言本系統(tǒng)在設計硬件電路時主要從以下原則出發(fā):(l)硬件電路設計與軟件設計相結合優(yōu)化硬件電路。一些由硬件實現的功能可用軟件來實現,反過來一些由軟件實現的功能也可用硬件來完成。用軟件來實現硬件的功能時,其響應時間比用硬件實現長,還要占用cpu時間。但是用軟件實現硬件的功能可以簡化硬件結構,提高硬件電路的可靠性,還可降低成本。因此在本系統(tǒng)的設計過程中,在滿足可行性和實時性的前提下盡可能地將硬件功能用軟件來實現。(2)可靠性及抗干擾設計。根據可靠性設計理論,系統(tǒng)所用芯片數量越少,系統(tǒng)的平均無故障時間越長,而且所用芯片數量越少,地址、數據總線在電路板上受干擾的可能性就越少,因此單片機基本系統(tǒng)的設計思想是在滿足功能的情況下力爭使用較少數量的芯片。(3)靈活的功能擴展。一次設計往往不能完全考慮到系統(tǒng)的各個方面,系統(tǒng)需要不斷完善,需要進行功能升級。功能擴展時系統(tǒng)應該在原有設計不需要很大改變的情況下,修改軟件和少量硬件甚至不修改硬件就能完成。功能擴展是否靈活是衡量一個系統(tǒng)優(yōu)劣的重要指標。根據系統(tǒng)要求及上面幾個硬件設計原則,系統(tǒng)以單片機pic18f458為中央處理單元,由鍵盤輸入電路,lcd顯示,放大器連接電路等組成。下面對主要的電路設計做詳細介紹。3.2雙橋驅動器l298nl298是雙電源大電流功率集成電路,直接采用ttl邏輯電平控制,可用來驅動繼電器、線圈、直流電動機、步進電動機等電感性負載。其驅動電壓可達46v,直流電流總和可達4a。其內部具有2個完全相同的pwm功率放大回路,其內部結構如圖3所示。l298n是一種常用的電機驅動芯片,一片l298n即可驅動兩個直流電機或一個步進電機。驅動兩個直流電機的連接方式,如圖4所示。設所驅動的直流電機額定電壓為12v。圖3.1 l298n內部結構圖圖3.2 單片機驅動兩個直流電機原理圖3.3 l298n芯片介紹l298n芯片的介紹l298是st公司生產的一種高電壓、大電流電機驅動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46v;輸出電流大,瞬間峰值電流可達3a,持續(xù)工作電流為2a;內含兩個h橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準ttl邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。3.1.1 l298的引腳功能l298芯片的引腳圖如下圖3.3,其引腳功能見表3.3圖3.3 l298引腳圖表3.1 l298引腳功能表引腳符號功能115sensing asensing b此兩端與地連接電流檢測電阻,并向驅動芯片反饋檢測到的信號23out 1out 2此兩腳是全橋式驅動器a的兩個輸出端,用來連接負載4vs電機驅動電源輸入端57in 1in2輸入標準的ttl邏輯電平信號,用來控制全橋式驅動器a的開關611enable aenable b使能控制端.輸入標準ttl邏輯電平信號;低電平時全橋式驅動器禁止工作。8gnd接地端,芯片本身的散熱片與8腳相通9vss邏輯控制部分的電源輸人端口1012in 3in 4輸入標準的ttl邏輯電平信號,用來控制全橋式驅動器b的開關1314out 3out 4此兩腳是全橋式驅動器b的兩個輸出端,用來連接負載l298的運行參數表3.2 l198的運行參數參數符號測試環(huán)境最小值典型值最大值單位驅動電源電壓vs持續(xù)工作時2.546v邏輯電源電壓vss4.557v輸入低電平電壓vil-0.31.5v輸入高電平電壓vih2.3vssv使能端低電平電壓ven=l-0.31.5v使能端高電平電壓ven=h2.3vssv全橋式驅動器總的電壓降(每一路)vcesat)il=1ail=2avv檢測電壓1,15腳vsen-12vl298的邏輯控制l298的邏輯控制見如下表3.3。其中c、d分別為in1、in2或in3、in4;l為低電平,h為高電平,為不管是低電平還是高電平。表3.3 l298對直流電機控制的邏輯真值表輸入輸出ven=hc=h;d=l正轉c=l;d=h反轉c=d制動ven=lc=;d=沒有輸出,電機不工作l298有mutiwatt15和powerso20兩種封裝 mw.15的1、15和powerso的2、19用法一樣,sen1、sen2分別為兩個h橋的電流反饋腳,不用時可以直接接地 (mw.15)2、3=(powerso)4、5,1y1、1y2輸出端,與對a1與1y1)同邏輯4=6,vs驅動電壓,最小值須比輸入的低電平電壓高2.5v 5、7=7、9,1a1、1a2輸入端,ttl電平兼容 6、11=8、14,1en、2en使能端,低電平禁止輸出 8=1、10、11、20,gnd地9=12,vss邏輯電源,4.5-7v 10、12=13、15,2a1、2a2 輸入端,ttl電平兼容 13、14=16、17,2y1、2y2 輸出端 -=3、18,nc,無連接圖3.4 l298n 芯片圖第四章 硬件電路板的制作4.1 引言電路設計的最終目的是制作電子產品,而電子產品的物理結構是通過印制電路板來實現的。因此在電路原理圖完成后,是印制電路板(pcb)的設計,其質量直接影響著電子產品的性能。根據前一章的硬件原理,本章以altium designer summer 09為設計工具,分析和探討pcb設計中的基本原則和制作流程。4.2確定工作層altium designer summer 09共提供32個信號層,它們是top(頂層)、bottom(底層)、mid layers(中間層130),另外還提供了32個機械層,16個內部電源層等。布線層用得越多,制作pcb的價格就越昂貴。綜合考慮電路板性能和價格因素,決定采用雙層板的形式來制作該印刷電路板。4.3定義pcb形狀及尺寸首先規(guī)劃電路板的物理邊界,一般對電路板機械定義的具體要求是由公司或制造提出的,通常包括角標、參考孔位置、外部尺寸等。我們一般在某一機械層來畫物理邊框,而在其它機械層上放置尺寸、對齊標志等。規(guī)劃完電路板的物理邊界,還要確定電路板的電氣邊界。電氣邊界是用來限定布線和元件放置的范圍,它通過keep out layer(禁止布線層)繪制邊界來實現的。由于制作中需要考慮元件大小,電氣規(guī)劃等因素,需要不斷調整元件的導線的放置,所以本次設計開始并未嚴格定義板形和尺寸,最終完成的電路板尺寸大小為100mm*85mm。4.4加載pcb元件封裝庫altium designer summer 09軟件自身帶有豐富的元件封裝庫,在繪制原理圖的時候只要選取合適的元器件,其對應的封裝一般就能符合要求。但由于元器件的種類繁多,更新換代快,所以難免有無法找到的元件封裝。這時就需要自行查找或制作元件封裝,本次設計大部分的元件封裝都為正確的自帶封裝,少部分元件封裝為手動指定。4.5 元器件的布局元件的布局是一個關鍵步驟,布線的難易以及最終產品的電氣性能在很大程度上取決于元件布局的質量。首先,要考慮與結構相關的配合裝配問題。先放置與結構有關的固定位置的元器件,如電源插座、指示燈、開關、發(fā)光管等元件,其次,再放置線路上的特殊元件和大的元器件,如發(fā)熱元件、變壓器、ic等,最后放置小器件。altium designer summer 09提供了強大的自動布局功能,在預放置元件鎖定的情況下,可用自動布局放置其他元件。自動布局較方便,但產生的板并不是最佳方案,仍需要手工調整。4.6.布線布線連接包括:連線、過孔、焊盤、弧線、填充、多邊形覆銅和電源層等。altium designer summer 09提供了手工布線和自動布線兩種。由于現在pcb板設計越來越復雜、高密度,往往對一些有特殊要求的連線,需要預先手工布放。自動布線與交互式布線相結合可以很好地提高布線成功率和效率。自動布線的結果為手工調整提供參考,如果自動布線能夠達到100%或者90%以上。說明元件的布局基本合理,手工修改調整走線也不會有太多的障礙。此外還要設置走線的規(guī)則和各網絡所連接的導線寬度。為保證信號傳輸的可靠性該電路板將電源部分導線不同程度加粗。圖4.1 元器件布局及pcb圖4.7制板最后,生成pcb文件,送廠制板。由于制板周期比較長(大約1個星期左右),這段時間內可完成元器件的購買工作。由于所選元器件并非冷偏門元器件,所以購買比較順利。元件大部分為貼片,手工焊接難度不大。由于為初次學習和制作印刷電路板,難免有不足和疏忽。第五章 系統(tǒng)軟硬件調試5.1 引言隨著現代技術的發(fā)展,利用軟件代替和簡化硬件,利用基本的硬件電路和軟件技術達到系統(tǒng)多功能集成和容易修改的要求。一個較為簡單的硬件電路,系統(tǒng)功能的主要實現是依靠軟件的設計來完成的。本系統(tǒng)的軟件采用模塊化設計,將系統(tǒng)分為若干個模塊,分別實現各項功能,這樣在系統(tǒng)軟件的調試過程中,各個模塊的獨立調試有助于問題的發(fā)現和解決,在一定程度上節(jié)約了程序的調試時間。5.2 系統(tǒng)應用程序設計微芯公司為pic18f458系列的集成與調試提供的工具包括:軟仿真器,集成開發(fā)調試軟件mplab,pic系列單片機可采用匯編語言或c語言編寫源程序代碼。mplab是一個完整的pic單片機集成開發(fā)環(huán)境,也是目前最優(yōu)秀、最流行的pic單片機開發(fā)軟件,大部分的pic系列的單片機都可以采用該軟件工具進行開發(fā)。mplab包括下列功能:集成可視化編輯界面,可直接編寫c、匯編等文件。集成代碼生成工具,包括匯編器、連接器等等?;菊{試工具,支持調試斷點工具走。系統(tǒng)的軟件設計是用pic的匯編語言在mplab集成環(huán)境下運行、調試、完成的運行。5.3直流電機轉速控制器的軟件設計直流電機轉速控制器的軟件設計和系統(tǒng)功能的開發(fā)和完善是一個循序漸進過程,本文所作的軟件開發(fā)是基于直流電機多速控制器的基本功能要求設計的該系統(tǒng)軟件有主程序、功能鍵處理程序、電機運行顯示程序、鍵盤設置參數程序測速程序、延時子程序等。該系統(tǒng)的整個軟件設計全部采用模塊化程序設計思想,由系統(tǒng)初始化模塊、案件識別模塊、lcd模塊、高優(yōu)先級和低優(yōu)先級中斷服務程序四大模塊組成。其中,系統(tǒng)初始化模塊、按鍵識別和lcd顯示模塊在主程序完成,而中斷服務完成tmr0定時溢出中斷、tmr1外部計數溢出中斷、tmr3的1s計數溢出中斷以及int0外脈沖上邊沿捕獲中斷等。keil uvision2軟件介紹keil uvision2是德國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用,而且大大的提高了工作效率和項目開發(fā)周期,他還能嵌入匯編,您可以在關鍵的位置嵌入,使程序達到接近于匯編的工作效率。keilc51標準c編譯器為8051微控制器的軟件開發(fā)提供了c語言環(huán)境,同時保留了匯編代碼高效,快速的特點。c51編譯器的功能不斷增強, 使你可以更加貼近cpu本身,及其它的衍生產品。c51已被完全集成到uvision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調試器。uvision2 ide可為它們提供單一而靈活的開發(fā)環(huán)境。圖5.1主程序框圖圖5.2高優(yōu)先級中斷服務程序框圖圖5.3低優(yōu)先級中斷服務程序框圖系統(tǒng)初始化模塊主程序的系統(tǒng)初始化模塊包括對pic單片機的cpu系統(tǒng)時鐘初始化、pic單片機的i/o方向初始化、tmr0定時/計數器的初始化、tmr3定時/計數器的初始化、ccp模塊的初始化和系統(tǒng)相關變量的初始化過程。cpu系統(tǒng)始終初始化pic18單片機內部集成了經過校正的8mhz主時鐘源,系統(tǒng)上電默認主時鐘為1mhz。通常,需要對osccon寄存器進行配置,使其工作在8mhz。若為了提高cpu的運算速度,則采用pic18單片機的內部pll的4倍頻以使cpu主時鐘達到32mhz,只需要對osctune寄存器進行設置。本系統(tǒng)采用32mhz的時鐘源,因此初始化的結果如下:osccon=0x70;/ircf2.0=111,選擇內部8mhz的主振蕩器osctune=0x40;/pllen=1,使能pll的4倍頻,從而cpu內核時鐘為f為32mhz。pic單片機i/o口方向初始化在總圖中,rd端口的rd0.7和re端口的re0.2是與lcd模塊連接,主要是從pic單片機輸出數據或指令到lcd模塊,因此可以將其全部設置為輸出方向;另外,由于re0.2上電復位默認為模擬輸入口,不是數字i/o口,因此需要對adcon1控制寄存器配置re0.2為數字i/o口。由于rb端口接有3個按鍵k1.3和int0外部中斷信號輸入,因此需要將rb端口配置成帶有上拉功能的輸入端口,可以啟用rb內部弱上拉。p1a和p1b是pwm信號的輸出,應將r1a和r1b配置成輸出引腳。具體的初始化結果如下:adcon1=0x0f;/ra和re端口全為數字io口trisd=0x00;/rd端口置輸出方向trise=0x00;/re端口置輸出方向triscbits.trisc6=0;rd6為輸出引腳triscbits.trisc7=0;rd7為輸出引腳trisdbits.trisd4=0; p1a為輸出引腳trisdbits.trisd5=0; p1b為輸出引腳tmr0定時/計數器初始化本系統(tǒng)中采用tmr0產生1s的定時,因此要將tmr0初始化工作在定時功能上,設置t0con模式寄存器的與分頻比和選擇內部時鐘源計數來完成定時,對tmr1l和tmr1h設置定時1s的初值。由于tmr0可以采用16位的方式計數,在對tmr1l和tmrh載入初值時,在16位的工作模式下,要先載入tmr1h內容,在再載入tmr1l內容。具體的初始化結果如下:t0conbits.tmr0on=0;/tmr0停止工作t0conbits.t08bit=0;/選擇16位的定時/計數器t0conbits.t0cs=0;/選擇內部clko時鐘源作為定時t0conbits.psa=0;/選擇預分頻器t0conbits.t0ps2=1;/預分頻比為1:256t0conbits.t0ps1=1;t0conbits.t0ps0=1;tmr0h=(65536-31250)/256;/先寫高字節(jié)tmr0l=(65536-31250)%256;/再寫低字節(jié)t0conbits.tmr0on=1;/開始定時工作 eccp模塊初始化在原理圖中,p1a和p1b分別接在l298的in3和in4引腳上來控制電機正反轉并實現對電機的調速。此時,必須將eccp模塊初始化在pwm模式下,并且采用周期相同。pic18f458的有四個pwm輸出口,在pwm模式下,由tmr2來產生pwm信號周期,實際上要對tmr2進行初始化,并且設置pwm的周期和占空比。具體的初始化過程如下:ccp1con=0x0f;/ccp1設置為pwm模式ccp2con=0x0f;/ccp2設置為pwm模式t2con=0x03;/tmr2的預分頻為1:16t2conbits.tmr2on=1;/tmr2開始工作pr2=249;/pwm周期為2000hz,fosc=32mhzccpr1l=0;/pwm1的占空比為0ccpr2l=0;/pwm2的占空比為0 cpu中斷系統(tǒng)初始化硬件中共用到4個中斷源,分別是tmr0定時1s溢出中斷、tmr1計數溢出中斷源、tmr3定時溢出中斷源和int0外部中斷。在這4個中斷源中,將int0和tmr0作為高優(yōu)先中斷放在高優(yōu)先級中斷服務程序中執(zhí)行,tmr1和tmr3放在低優(yōu)先中斷服務程序中執(zhí)行,因此就有中斷優(yōu)先級初始化。具體的初始化過程如下:intconbits.tmr0if=0;/tmr0溢出標志位清0intconbits.tmr0ie=1;/tmr0溢出中斷允許pir1bits.tmr1if=0;/tmr1溢出標志位清0pie1bits.tmr1ie=1;/tmr1溢出中斷允許ipr1bits.tmr1ip=0;/低優(yōu)先級 pir2bits.tmr3if=0;/tmr1溢出標志位清0pie2bits.tmr3ie=1;/tmr1溢出中斷允許ipr2bits.tmr3ip=0;/低優(yōu)先級intconbits.int0if=0;/清int0中斷標志位/intconbits.int0ie=1;/int0中斷允許intcon2bits.rbpu=0;/允許內部弱上拉intcon2bits.intedg0=1;/上邊沿觸發(fā)中斷rconbits.ipen=1;/允許中斷優(yōu)先級位intconbits.gie=1;/cpu全局中斷使能允許intconbits.peie=1;/cpu第二梯隊中斷使能允許電機運行控制模塊電機運行控制模塊包括電機的方向控制和電機的速度控制,他們由motordirection和motorpwmdata兩量變來控制pic單片機的eccp模塊產生不同的pwm信號送到l298 電機驅動器。當motordirection=0時,表示正轉;當motordirection=1時表示電機反轉。motorpwmdata是pwm模塊占空比的具體內容,由于pwm的周期是250,所以motorpwmdata的變量變化是0250之間。改變motorpwmdata的值就可以改變電機的速度。具體函數過程如下:void motor_control(unsigned char direction, unsigned char speed) if(0=direction) ccpr1l=0; ccpr2l=0; ccpr1l=speed; else ccpr2l=0; ccpr1l=0; ccpr2l=speed;按鍵識別模塊主程序中要實現對電機啟動、停止鍵識別、電機方向切換鍵識別和電機速度調節(jié)鍵識別。該模塊中沒有采用常規(guī)的按鍵識別過程。按鍵識別方法:判斷是否有鍵按下。延時去除按鍵抖動。再判斷是否真的按下。是真的按下,則執(zhí)行按鍵處理程序。等待按鍵釋放。 在第2步中一般在軟件上調用一個延時子程序來完成,實際也是一個for循環(huán)語句;在第5步中一般在軟件上是用一個while循環(huán)語句判斷等待按鍵發(fā)生變化而退出該循環(huán)。這兩步在主程序中執(zhí)行要消耗cpu很多時間,使得cpu的利用率不高。對于實時性要求比較高的情況不建議使用這種方法解決按鍵問題。為了提高cpu利用率,可以采用硬件擴展鍵盤識別專用芯片來完成,但這樣會造成成本的上升以及cpu或專用芯片的資源浪費。為了考慮提高cpu的效率和充分利用cpu的資源等因素,可將第2步和第5步的延時和等待過程用其他方式來代替。具體實現方法如下:定義一個按鍵是否成功按下標志變量keycounter;等于1表示按下成功,等于0表示不成功。定義一個軟計數器加1的整型變量keycounter。所有直接采用while循環(huán)語句或for循環(huán)語句的部分采用if語句代替。按鍵識別過程的方法步驟如下:判斷按鍵是否按下。若按下,則判斷keyflag標志是否為0。若keyflag標志為0,則keycounter軟計數器加1。判斷keycounter軟計數是否到一定的數值(這一過程實際上是按鍵去抖動處理)。若keycounter計到一定數值上,則判斷按鍵是否真的按下。若按鍵真的按下,則置keyflag為1,表示按鍵按下成功。開始進行按鍵對應功能的處理過程。判斷按鍵是否釋放。若按鍵釋放,則清keyflag為0,同時清keycounter軟計數器為0。按鍵方法程序框圖該按鍵識別過程的新方法程序框圖如圖5.4所示。在整個過程中沒有出現循環(huán)語句,從而使得主程序運行模塊的效率得提高,保證了cpu的實時性。圖5.4按鍵識別方法程序框圖本實例中,cpu對電機啟動、停止控制鍵(runstopkey)、電機方向切換鍵(dirkey)和電機速度調節(jié)鍵(pwmkey)的識別方法與5.4相同,只是在框圖中的“按鍵功能處理”不同而已。電機啟動、停止控制鍵(runstopkey)功能處理如果系統(tǒng)上電時電機處于停止狀態(tài)即(motorrunstatus=1);如果電機處于運行狀態(tài),按下runstopkey后,電機就會停下來,電機的的運行與停止狀態(tài)在這個按鍵的作用下進行就可以控制電機的啟動與停止操作。此部分的按鍵功能處理程序框圖如圖5.5所示。5.5 電機正反轉控制鍵功能處理改變電機正反轉實際上是改變驅動電機的兩路pwm信號的輸出,假如電機正轉則rc1輸出pwm信號,rc2只輸出低電平;反之rc2輸出pwm信號,rc1只輸出低電平就能使電機反轉。程序中設置motordirection變量作為電機正反轉控制變量,將該變量參數傳給motor_control()函數即可。功能處理框圖如圖5.6所示。圖5.6 電機正反轉按鍵處理框圖電機速度控制鍵功能處理程序中

溫馨提示

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

評論

0/150

提交評論