懸掛運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)
懸掛運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì),懸掛,吊掛,運(yùn)動(dòng),控制系統(tǒng),設(shè)計(jì)
47- -目 錄第1章 緒論11.1 課題來源11.2 課題目的11.3 課題意義21.4 應(yīng)解決的主要問題21.5 技術(shù)要求2第2章 方案論證42.1 可行性研究42.1.1 經(jīng)濟(jì)可行性研究42.1.2 技術(shù)可行性研究42.1.3 方案提出52.1.4 方案分析52.1.3 方案確定72.2 需求分析7第3章 過程論述83.1 概要設(shè)計(jì)83.1.1 系統(tǒng)功能設(shè)計(jì)83.1.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)83.2 詳細(xì)設(shè)計(jì)93.2.1 硬件設(shè)計(jì)93.2.2 軟件設(shè)計(jì)19第4章 系統(tǒng)測試284.1 硬件測試284.2 軟件測試284.2.1 單元測試284.2.2 功能測試304.2.3 集成測試314.2.4 測試結(jié)果31結(jié) 論32后 記33參考文獻(xiàn)34附 錄35第1章 緒論1.1 課題來源本畢業(yè)設(shè)計(jì)課題是屬于教師擬定性課題,主要是研究基于單片機(jī)的對步進(jìn)電機(jī)的有效控制。步進(jìn)電機(jī)是一種能將數(shù)字輸入脈沖轉(zhuǎn)換成旋轉(zhuǎn)或直線增量運(yùn)動(dòng)的電磁執(zhí)行元件,每輸入一個(gè)脈沖電機(jī)轉(zhuǎn)軸步進(jìn)一個(gè)步距角增量。電機(jī)總的回轉(zhuǎn)角與輸入脈沖數(shù)成正比例,相應(yīng)的轉(zhuǎn)速取決于輸入脈沖頻率。步進(jìn)電機(jī)是機(jī)電一體化產(chǎn)品中關(guān)鍵部件之一,通常被用作定位控制和定速控制。步進(jìn)電機(jī)慣量低、定位精度高、無累積誤差、控制簡單等特點(diǎn)。廣泛應(yīng)用于機(jī)電一體化產(chǎn)品中,如:數(shù)控機(jī)床、包裝機(jī)械、計(jì)算機(jī)外圍設(shè)備、復(fù)印機(jī)、傳真機(jī)等。選擇步進(jìn)電機(jī)時(shí),首先要保證步進(jìn)電機(jī)的輸出功率大于負(fù)載所需的功率。而在選用功率步進(jìn)電機(jī)時(shí),首先要計(jì)算機(jī)械系統(tǒng)的負(fù)載轉(zhuǎn)矩,電機(jī)的矩頻特性能滿足機(jī)械負(fù)載并有一定的余量保證其運(yùn)行可靠。在實(shí)際工作過程中,各種頻率下的負(fù)載力矩必須在矩頻特性曲線的范圍內(nèi)。一般地說最大靜力矩Mjmax大的電機(jī),負(fù)載力矩大1 。選擇步進(jìn)電機(jī)時(shí),應(yīng)使步距角和機(jī)械系統(tǒng)匹配,這樣可以得到機(jī)床所需的脈沖當(dāng)量。在機(jī)械傳動(dòng)過程中為了使得有更小的脈沖當(dāng)量,一是可以改變絲桿的導(dǎo)程,二是可以通過步進(jìn)電機(jī)的細(xì)分驅(qū)動(dòng)來完成。但細(xì)分只能改變其分辨率,不改變其精度。精度是由電機(jī)的固有特性所決定。選擇功率步進(jìn)電機(jī)時(shí),應(yīng)當(dāng)估算機(jī)械負(fù)載的負(fù)載慣量和機(jī)床要求的啟動(dòng)頻率,使之與步進(jìn)電機(jī)的慣性頻率特性相匹配還有一定的余量,使之最高速連續(xù)工作頻率能滿足機(jī)床快速移動(dòng)的需要?;趩纹瑱C(jī)的懸掛運(yùn)動(dòng)控制系統(tǒng),具有硬件電路結(jié)構(gòu)簡單,精確度高,抗干擾性強(qiáng)等優(yōu)點(diǎn)。1.2 課題目的培養(yǎng)綜合運(yùn)用四年大學(xué)所學(xué)知識(shí)去分析問題和解決實(shí)際問題的能力。在實(shí)踐中檢驗(yàn)所學(xué)知識(shí),從而加強(qiáng)理論與實(shí)踐的相結(jié)合。 體驗(yàn)一個(gè)科研項(xiàng)目開發(fā)的全過程,學(xué)會(huì)單片機(jī)開發(fā)應(yīng)用方法,鍛煉應(yīng)用能力,動(dòng)手能力。本課題設(shè)計(jì)是具有一定難度的基于單片機(jī)的應(yīng)用系統(tǒng)開發(fā)項(xiàng)目,培養(yǎng)學(xué)生創(chuàng)新精神和創(chuàng)新能力。通過這次畢業(yè)論文及設(shè)計(jì),檢驗(yàn)的綜合素質(zhì)和專業(yè)教育的培養(yǎng)效果,并且使學(xué)會(huì)閱讀、利用英文文獻(xiàn)資料,閱讀并翻譯外文資料的能力,學(xué)會(huì)設(shè)計(jì)報(bào)告和論文。1.3 課題意義隨著社會(huì)的發(fā)展、科技的進(jìn)步以及人們生活水平的逐步提高,各種方便于生活的自動(dòng)控制系統(tǒng)開始進(jìn)入了人們的生活,以單片機(jī)為核心的自動(dòng)門系統(tǒng)就是其中之一。同時(shí)也標(biāo)志了自動(dòng)控制領(lǐng)域成為了數(shù)字化時(shí)代的一員 3。它實(shí)用性強(qiáng),功能齊全,技術(shù)先進(jìn),使人們相信這是科技進(jìn)步的成果。它更讓人類懂得,數(shù)字時(shí)代的發(fā)展將改變?nèi)祟惖纳?,將加快科學(xué)技術(shù)的發(fā)展。通過對“微機(jī)控制自動(dòng)門系統(tǒng)”的研究和設(shè)計(jì),精心撰寫了微機(jī)控制自動(dòng)門系統(tǒng)論文。本論文著重闡述了以單片機(jī)為主體,LED點(diǎn)陣顯示芯片及步進(jìn)電機(jī)為核心的系統(tǒng)。本設(shè)計(jì)主要應(yīng)用SST89E58作為控制核心,LED點(diǎn)陣顯示芯片、步進(jìn)電機(jī)、壓力傳感器、電位器相結(jié)合的系統(tǒng)。充分發(fā)揮了單片機(jī)的性能。其優(yōu)點(diǎn)硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等特點(diǎn),具有一定的使用和參考價(jià)值。1.4 應(yīng)解決的主要問題在基于單片機(jī)的懸掛運(yùn)動(dòng)控制系統(tǒng)中,主要分三個(gè)部分設(shè)計(jì),一個(gè)是輸入和鍵盤顯示模塊;另一個(gè)是步進(jìn)電機(jī)驅(qū)動(dòng)模塊;第三個(gè)是最小系統(tǒng)和輸出模塊設(shè)計(jì)。主要解決的問題是:1. 單片機(jī)最小系統(tǒng)硬件設(shè)計(jì);2. 步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì);3. 輸出部分的軟硬件設(shè)計(jì);4. 主程序設(shè)計(jì);5. 繪圖板的設(shè)計(jì)。1.5 技術(shù)要求設(shè)計(jì)一電機(jī)控制系統(tǒng),控制物體在傾斜(仰角100度)的板上運(yùn)動(dòng)。在一白色底板上固定兩個(gè)滑輪,兩只電機(jī)(固定在板上)通過穿過滑輪的吊繩控制一物體在板上運(yùn)動(dòng),運(yùn)動(dòng)范圍為80cm100cm。物體的形狀不限,質(zhì)量大于100克。物體上固定有淺色畫筆,以便運(yùn)動(dòng)時(shí)能在板上畫出運(yùn)動(dòng)軌跡。板上標(biāo)有間距為1cm的淺色坐標(biāo)線(不同于畫筆顏色),左下角為直角坐標(biāo)原點(diǎn), 示意圖如下。第2章 方案論證2.1 可行性研究2.1.1 經(jīng)濟(jì)可行性研究開發(fā)一個(gè)基于計(jì)算機(jī)的系統(tǒng)主要是為了獲取較好的經(jīng)濟(jì)效益和社會(huì)益。因此對待開發(fā)系統(tǒng)的經(jīng)濟(jì)可行性的論證就成為可行性研究的重要內(nèi)容。1. 成本估算(1) 購置并安裝軟硬件及有關(guān)設(shè)備費(fèi)用。懸掛運(yùn)動(dòng)控制系統(tǒng)主要由核心模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、輸入模塊、顯示模塊、通訊模塊等組成。核心模塊由SST98E58和啟動(dòng)單片機(jī)所用到的電容、電阻和晶振組成。步進(jìn)電機(jī)驅(qū)動(dòng)模塊由1K4、330歐的電阻,5610、5609、2N3055、MJ2955三極管,1N4007二極管等組成。輸出模塊由一塊1602液晶顯示器構(gòu)成。輸入模塊主要由16個(gè)OMRON按鈕組成。通訊模塊由單片機(jī)的串行口和MAX232芯片組成。以上元件共需大約489元。(2) 系統(tǒng)開發(fā)費(fèi)用懸掛運(yùn)動(dòng)系統(tǒng)主要是的硬件和軟件主要是由我一個(gè)人完成,從設(shè)計(jì)到實(shí)現(xiàn)一共用了大約2個(gè)月的時(shí)間。費(fèi)用約為800元。(3) 系統(tǒng)安裝、運(yùn)行和維護(hù)費(fèi)用。本系統(tǒng)完全實(shí)現(xiàn)后由單片機(jī)控制步進(jìn)電機(jī)帶動(dòng)重物繪圖。單片機(jī)需要5V的電源。維護(hù)的費(fèi)用主要是在測試時(shí)出現(xiàn)的錯(cuò)誤需要更正時(shí),替換的元器件大概10元左右。(4) 人員培訓(xùn)費(fèi)用懸掛運(yùn)動(dòng)系統(tǒng)主要由專業(yè)人員操作,而且操作非常簡單,費(fèi)用幾乎沒有。2. 成本-效益分析社會(huì)效益:懸掛運(yùn)動(dòng)系統(tǒng)是大學(xué)生電子競賽中的一個(gè)題目。本次畢業(yè)設(shè)計(jì),對本系統(tǒng)的功能進(jìn)行了進(jìn)一步的完善,特別是對步進(jìn)電機(jī)的驅(qū)動(dòng),從硬件到軟件都比較穩(wěn)定,如果在將來的的實(shí)驗(yàn)或競賽中還要用到單片機(jī)對步進(jìn)電機(jī)的控制,可以將本系統(tǒng)的硬件和軟件直接應(yīng)用或作為參考,所以,本系統(tǒng)對學(xué)校的教學(xué)和科研開發(fā)都有著深遠(yuǎn)的意義。2.1.2 技術(shù)可行性研究1. 風(fēng)險(xiǎn)分析:懸掛運(yùn)動(dòng)控制系統(tǒng)要完成的功能為設(shè)計(jì)一電機(jī)控制系統(tǒng),控制物體在傾斜(仰角100度)的板上運(yùn)動(dòng)。在一白色底板上固定兩個(gè)滑輪,兩只電機(jī)(固定在板上)通過穿過滑輪的吊繩控制一物體在板上運(yùn)動(dòng),運(yùn)動(dòng)范圍為80cm100cm。物體的形狀不限,質(zhì)量大于100克。物體上固定有淺色畫筆,以便運(yùn)動(dòng)時(shí)能在板上畫出運(yùn)動(dòng)軌跡。板上標(biāo)有間距為1cm的淺色坐標(biāo)線(不同于畫筆顏色),左下角為直角坐標(biāo)原點(diǎn)。懸掛運(yùn)動(dòng)控制系統(tǒng)硬件系統(tǒng)的路已經(jīng)設(shè)計(jì)好,并且可能很快的實(shí)現(xiàn)。相應(yīng)的軟件設(shè)計(jì)已經(jīng)有了三種備選方案。2. 資源分析:所需的硬件器件可以很快購齊。編程語言(C51)已經(jīng)熟練掌握。3. 技術(shù)分析:電機(jī)主要分為步進(jìn)電機(jī)和直流電機(jī),如果需要對電機(jī)進(jìn)行有效的精確的控制,選用步進(jìn)電機(jī)更為合理。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角2。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。單片機(jī)是微型機(jī)的主要分支,在結(jié)構(gòu)上的最大特點(diǎn)是把CPU、存儲(chǔ)器和定時(shí)器、多種輸入、輸出接口電路集成電路芯片上,將來的控制系統(tǒng)中,對于芯片的集成度要求更高。就其組成和功能而言,一塊單片機(jī)芯片就是一臺(tái)計(jì)算機(jī)。本次設(shè)計(jì)主要分硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件系統(tǒng)包括開發(fā)平臺(tái)SST89E58單片機(jī)實(shí)驗(yàn)與開發(fā)集成系統(tǒng),將其作為硬件系統(tǒng)的檢測方式之一。硬件系統(tǒng)主要是由自己搭建電路,以此為基本方式來制作此項(xiàng)設(shè)計(jì)。單片機(jī)芯片采用SST89E58系列單片機(jī)中的。軟件系統(tǒng)中主要是采用C51語言來進(jìn)行軟件方面的編程。具體的環(huán)境是應(yīng)用KeilC開發(fā)平臺(tái),以此來進(jìn)行程序的編譯、通訊以及程序的調(diào)試。SST89E58單片機(jī)實(shí)驗(yàn)與開發(fā)集成系統(tǒng)軟件直觀且易于掌握。現(xiàn)在比較普遍的單片機(jī)編程語言主要有兩種匯編和C51編程語言,匯編語言的可讀性、可移植性差,沒有通用性,而C51更接近人類語言、直觀、更易于描述復(fù)雜算法,所以選用的是C51語言。經(jīng)過以上分析,本系統(tǒng)可以按時(shí)完成任務(wù)。2.1.3 方案提出對本系統(tǒng)的軟件設(shè)計(jì)已經(jīng)準(zhǔn)備了閉環(huán)數(shù)字控制方式和開環(huán)數(shù)字控制方式兩套方案。2.1.4 方案分析方案1: 閉環(huán)數(shù)字控制方式閉環(huán)數(shù)字控制方式,主要利用光電傳感器檢測法,結(jié)構(gòu)圖如圖2.1所示。首先單片機(jī)根據(jù)輸入的數(shù)據(jù)來計(jì)算物體要移動(dòng)的距離并控制物體往坐標(biāo)的大概方向運(yùn)動(dòng),紅外發(fā)射接收器來探測懸掛物體移動(dòng)了多少個(gè)1*1cm的小方格,并經(jīng)過A/D送給單片機(jī),單片機(jī)通過特定的算法計(jì)算出物體的坐標(biāo),并控制電機(jī)的轉(zhuǎn)動(dòng)來控制物體往坐標(biāo)進(jìn)發(fā),在此過程中單片機(jī)不斷計(jì)算,不斷調(diào)整電機(jī)的轉(zhuǎn)速和方向使懸掛物體做一定路線的移動(dòng)。但其缺點(diǎn)是,電路復(fù)雜,不但要求要有A/D電路,光電探測電路,還要其電路要做得十分精確。任何一個(gè)電路設(shè)計(jì)得不好,也會(huì)使物體運(yùn)動(dòng)產(chǎn)生很大的偏差5。 微機(jī)單片機(jī)電機(jī)驅(qū)動(dòng)電機(jī)D/A光電傳感器圖2.1 閉環(huán)數(shù)字控制方案2: 開環(huán)數(shù)字控制方式開環(huán)數(shù)字程序控制方式,即沒有反饋系統(tǒng),開環(huán)數(shù)字控制的結(jié)構(gòu)圖如圖2.2所示。由圖可看出,此種控制方式與上面的控制方式少了反饋電路6。單片機(jī)由輸入的數(shù)據(jù)來計(jì)算物體要移動(dòng)的距離,直接發(fā)出控制脈沖來控制電機(jī)的轉(zhuǎn)動(dòng),進(jìn)而控制物體的運(yùn)動(dòng)方向。由于少了反饋電路,系統(tǒng)的精度只與單片機(jī)所采用的算法準(zhǔn)確性有關(guān),此種方式電路結(jié)構(gòu)簡單,成本低且易于調(diào)整和維護(hù),是一種較理想的方式。單片機(jī)電機(jī)驅(qū)動(dòng)電機(jī)微機(jī) 圖2.2 開環(huán)數(shù)字控制方式2.1.3 方案確定 綜合上面所述,考慮時(shí)間和調(diào)試的復(fù)雜性,本設(shè)計(jì)采用方案2。2.2 需求分析 當(dāng)今時(shí)代,是一個(gè)新技術(shù)層出不窮的時(shí)代。在電子領(lǐng)域,尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng)正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。大部分的高等工科學(xué)校都已開設(shè)了單片機(jī)課程。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。過去習(xí)慣于傳統(tǒng)電子領(lǐng)域的工程師、技術(shù)員正面臨著全新的挑戰(zhàn),如不能在較短時(shí)間內(nèi)學(xué)會(huì)單片機(jī),勢必會(huì)被時(shí)代所遺棄,只有勇敢地面對現(xiàn)實(shí),挑戰(zhàn)自我,加強(qiáng)學(xué)習(xí),爭取在較短的時(shí)間內(nèi)將單片機(jī)技術(shù)融會(huì)貫通,才能跟上時(shí)代的步伐。步進(jìn)電機(jī)是一種離散運(yùn)動(dòng)的裝置4,它和現(xiàn)代數(shù)字控制技術(shù)有著緊密的本質(zhì)的聯(lián)系。步進(jìn)電機(jī)亦是一種將電脈沖轉(zhuǎn)化為角位移或直線位移的執(zhí)行機(jī)構(gòu),當(dāng)步進(jìn)電機(jī)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(又稱之為步進(jìn)角),為此可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過脈沖頻率來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度和加速度,從而達(dá)到調(diào)速的目的。這里給出懸掛運(yùn)動(dòng)控制系統(tǒng)的要求:基本要求:1. 控制系統(tǒng)能夠通過鍵盤或其他方式任意設(shè)定坐標(biāo)點(diǎn)參數(shù);2. 控制物體在80cm100cm的范圍內(nèi)作自行設(shè)定的運(yùn)動(dòng),運(yùn)動(dòng)軌跡長度不小于100cm,物體在運(yùn)動(dòng)時(shí)能夠在板上畫出運(yùn)動(dòng)軌跡,限300秒內(nèi)完成;3. 控制物體作圓心可任意設(shè)定、直徑為50cm的圓周運(yùn)動(dòng),限300秒內(nèi)完成;4. 物體從左下角坐標(biāo)原點(diǎn)出發(fā),在150秒內(nèi)到達(dá)設(shè)定的一個(gè)坐標(biāo)點(diǎn)(兩點(diǎn)間直線距離不小于40cm)。第3章 過程論述3.1 概要設(shè)計(jì)3.1.1 系統(tǒng)功能設(shè)計(jì)1. 硬件設(shè)計(jì)總體結(jié)構(gòu)由AT89C52系列單片機(jī)等芯片構(gòu)成,大致分為以下幾個(gè)部分。首先是最小系統(tǒng)部分。這個(gè)部分是以單片機(jī)為核心的一個(gè)單片機(jī)最小系統(tǒng)。根據(jù)設(shè)計(jì)之前對設(shè)計(jì)題目的分析,可大致的了解到系統(tǒng)所要求程序和所要存儲(chǔ)數(shù)據(jù)單元的大小,這里采用的單片機(jī)為SST系列單片機(jī)中的SST89E58。其次是信號(hào)的采集部分和鍵盤輸入顯示部分設(shè)計(jì)。然后是信號(hào)的輸出部分。根據(jù)鍵盤的輸入,選定一個(gè)工作模試,選定進(jìn)行繪制的圖形,再根據(jù)輸入的參數(shù),繪制出具體的圖形。最后本設(shè)計(jì)是要實(shí)現(xiàn)電機(jī)的驅(qū)動(dòng)部份,因?yàn)?,電機(jī)的驅(qū)動(dòng)是用四項(xiàng)模擬信號(hào)輸入來控制的,所以要設(shè)計(jì)一個(gè)電機(jī)驅(qū)動(dòng)電路,把單片機(jī)輸出的數(shù)字信號(hào),轉(zhuǎn)換成電機(jī)能夠使用的模擬信號(hào)。2. 軟件設(shè)計(jì)在設(shè)計(jì)中,需要對鍵盤的輸入數(shù)據(jù)進(jìn)行采集,并將采集來的數(shù)據(jù)顯示在屏幕上,然后將輸入的數(shù)據(jù)傳給上位機(jī),并根據(jù)輸入的數(shù)據(jù)執(zhí)行相應(yīng)的操作,控制步進(jìn)電機(jī)繪制出所需的圖形。3.1.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)單片機(jī)本身具備比較強(qiáng)大的功能,但往往不能滿足一個(gè)實(shí)際應(yīng)用系統(tǒng)的功能要求,有些單片機(jī)本身就缺少一些功能部分需要擴(kuò)展至應(yīng)用系統(tǒng)所要求的規(guī)模。單片機(jī)無法直接與微型計(jì)算機(jī)進(jìn)行通信,如果想讓單片與微機(jī)通信必須將max232芯片與單片機(jī)串口相聯(lián)7。懸掛控制系統(tǒng)由鍵盤,MSC1602液晶顯示器,SST89E58單片機(jī),42BYG205電機(jī)等組成。功能框圖如圖3.1。鍵盤采用44矩陣鍵盤通過程序設(shè)計(jì)完成鍵盤掃描。LCD顯示器通過P2口接收數(shù)據(jù)。單片機(jī)收到命令后,按照相應(yīng)的算法,經(jīng)過計(jì)算后發(fā)出控制信號(hào)傳給電機(jī)。電機(jī)根據(jù)信號(hào)實(shí)現(xiàn)相應(yīng)的動(dòng)作。鍵盤控制部分SST89C52單片機(jī)控制部分LCD顯示部分電機(jī)控制部分微機(jī)圖3.1 功能框圖原理總框圖:單片機(jī)接收串行通訊PC機(jī)顯示圖3.2 串行通信原理圖3.2 詳細(xì)設(shè)計(jì)3.2.1 硬件設(shè)計(jì)1. 整體設(shè)計(jì)懸掛運(yùn)動(dòng)控制系統(tǒng)主要由核心模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、輸入模塊、顯示模塊、通訊模塊等組成。如圖3.3所示。本系統(tǒng)能夠完成以下功能:由鍵盤輸入工作模式和坐標(biāo)數(shù)據(jù),其中工作模式包括:模式1:畫直線,輸入起點(diǎn)和終點(diǎn)的坐標(biāo)后,電機(jī)將帶動(dòng)重物運(yùn)動(dòng)出一條直線的軌跡。模式2:畫圓,輸入圓心和半徑的數(shù)據(jù)后,電機(jī)將帶動(dòng)重物運(yùn)動(dòng)出一圓形軌跡。模式3:3邊圖形,輸入3個(gè)點(diǎn)的坐標(biāo)后,電機(jī)將帶動(dòng)重物運(yùn)動(dòng)出一個(gè)三角形的軌跡。模式4:4邊圖形,輸入4個(gè)點(diǎn)的坐標(biāo)后,電機(jī)將帶動(dòng)重物運(yùn)動(dòng)出一個(gè)四邊形的軌跡。然后顯示模塊會(huì)將工作的狀態(tài)顯示在LCD上,反映輸入的數(shù)據(jù)是否正確,和電機(jī)當(dāng)前的運(yùn)行狀態(tài)。步進(jìn)電機(jī)驅(qū)動(dòng)模塊,將單機(jī)輸出的5V信號(hào)轉(zhuǎn)換成步進(jìn)電機(jī)所需要的12V信號(hào),提供步進(jìn)電機(jī)所需要的驅(qū)動(dòng)電流。通訊模塊是能max232芯片,使用一定的協(xié)議,使單片機(jī)能與微機(jī)之間進(jìn)行通訊,實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的相互控制。各個(gè)模塊的具體工作原理,將在下面作出詳細(xì)說明。2. 主要功能模塊設(shè)計(jì)懸掛運(yùn)動(dòng)控制系統(tǒng)主要由最小系統(tǒng)模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、輸入模塊、顯示模塊等組成。通過鍵盤輸入數(shù)據(jù),可以完成以下功能:將工作的狀態(tài)顯示在LCD上,控制步進(jìn)電機(jī)將重物移至指定位置,控制步進(jìn)電機(jī)帶動(dòng)重物畫出指定的圖形,包括圓形、直線、多邊形等。(1) 核心模塊 核心模塊是整個(gè)懸掛運(yùn)動(dòng)系統(tǒng)的最基本的部分。主要由SST89E58單片機(jī)和支持單片工作的一些器件,如晶振、電源和相關(guān)的電阻、電容組成,見圖3.4。SST98E58內(nèi)部具有三總路線和32K的存儲(chǔ)器,所以不用擴(kuò)展總線和外部存儲(chǔ)8。各IO口分部如下:P0口作為鍵盤接口,P1口作為電機(jī)驅(qū)動(dòng)接口,P2口作為LCD的數(shù)據(jù)接口,P3.3、P3.4、P3.5作為LCD的控制線接口。(2) 步進(jìn)電機(jī)驅(qū)動(dòng)模塊步進(jìn)電機(jī)的驅(qū)動(dòng)模塊是完成對步進(jìn)電機(jī)的驅(qū)動(dòng),步電機(jī)是由+12V電壓驅(qū)動(dòng)的,這個(gè)驅(qū)動(dòng)電路的主要功能是將+5V的電壓轉(zhuǎn)換為+12V電壓9。見附錄圖 1。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。感應(yīng)子式步步進(jìn)電機(jī)大體分為兩種: 反應(yīng)式步進(jìn)電機(jī),感應(yīng)子式步進(jìn)電機(jī)。我們使用的是兩相的感應(yīng)子式步進(jìn)電機(jī),當(dāng)電機(jī)繞組通電時(shí)序?yàn)闀r(shí)為正轉(zhuǎn),通電時(shí)序?yàn)闀r(shí)為反轉(zhuǎn)。我們的對步進(jìn)電機(jī)驅(qū)動(dòng)是將輸出4個(gè)的+5V和0V信號(hào)經(jīng)過集成運(yùn)放LM324變換成兩個(gè)+5V的信號(hào)9,再經(jīng)過步進(jìn)電機(jī)的驅(qū)動(dòng)電路形成步進(jìn)電機(jī)所需的兩個(gè)+12V的信號(hào),分別對應(yīng)步進(jìn)電機(jī)的兩相AB,按照上述順序變換,實(shí)現(xiàn)對步進(jìn)電機(jī)的驅(qū)動(dòng)。圖3.3 整體設(shè)計(jì)框圖圖3.4 核心結(jié)構(gòu)框圖(3) 輸入模塊輸入模塊是由自行焊接的4x4矩陣的鍵盤實(shí)現(xiàn)的10,在這16個(gè)按鍵中,包括09的數(shù)字鍵,一個(gè)確定鍵,一個(gè)光標(biāo)控制鍵,一個(gè)標(biāo)志鍵,兩個(gè)電機(jī)驅(qū)動(dòng)鍵,一個(gè)模式選擇鍵。見圖 3.5。將鍵盤的8根線,接到單片機(jī)P0口上,前4根為行線,后4根為列線,采用行列掃描的方法,對鍵盤監(jiān)測:首先給所有的行線為高電平,列線順序給某一根線低電平11。當(dāng)某一鍵按下,并且列線掃描到該鍵所在的列時(shí),會(huì)使該鍵所在的行線接口鉗制到低電平,這時(shí)就可以確定是那一個(gè)鍵按下了。(4) 顯示模塊顯示模塊是由一塊1602LCD構(gòu)成,在單片機(jī)中編寫程序控制其顯示內(nèi)容。見圖3.6。 1602是一塊(16個(gè)字符2行的)液晶顯示器。有8根數(shù)據(jù)線(D0D7)和三根控制線(RS、R/W、E)與單片機(jī)相聯(lián)RS:數(shù)據(jù)/命令選擇端,R/W:讀寫選擇端,E:使能信號(hào)??梢酝ㄟ^程序設(shè)計(jì)完成對1602的初始化和輸出控制。圖3.5 輸入模塊框圖(5) 通訊模塊 本懸掛運(yùn)動(dòng)控制系統(tǒng)利用單片機(jī)自帶的串行口,通過max232與微型計(jì)算機(jī)相聯(lián),實(shí)現(xiàn)相互控制。Max232又叫做雙通道RS232線性驅(qū)動(dòng)/接收器12。該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。串行異步通信最廣泛使用的總路線接口標(biāo)準(zhǔn)RS-232C。232C接口標(biāo)準(zhǔn)采用EIA電平。它規(guī)定:高電平為+3V15V,低電平為+3V+15V。實(shí)際應(yīng)用常采用12V或15V。 基本約定:I、波特率:9600II、一位啟始位,8位數(shù)據(jù),一位停止位,無奇偶校驗(yàn)位。 傳送順序:第一個(gè)字符,表示圖形標(biāo)志,根據(jù)標(biāo)志位,決定數(shù)據(jù)位的字符個(gè)數(shù)。所畫的五個(gè)圖形分別用1、2、3、4、5表示。其中1表示直線,2表示圓形,3表示三角形,4表示四邊形,5表示五邊形。直線:連續(xù)8字節(jié)數(shù)據(jù)(直線的兩個(gè)點(diǎn)),最后組裝成4個(gè)無符號(hào)字符型數(shù)據(jù)。圓形:連續(xù)6字節(jié)數(shù)據(jù),前4個(gè)為圓心坐標(biāo),后2個(gè)為半徑。三角形:連續(xù)12字節(jié)數(shù)據(jù)(三個(gè)點(diǎn)的坐標(biāo)),最后組裝成6個(gè)無符號(hào)字符型數(shù)據(jù)。四邊形:連續(xù)16字節(jié)數(shù)據(jù)(四個(gè)點(diǎn)的坐標(biāo)),最后組裝成8個(gè)無符號(hào)字符型數(shù)據(jù)。五邊形:連續(xù)20字節(jié)數(shù)據(jù)(五個(gè)點(diǎn)的坐標(biāo)),最后組裝成10個(gè)無符號(hào)字符型數(shù)。圖3.6 顯示模塊框圖(6) 系統(tǒng)組成原理圖系統(tǒng)的總體框圖如圖 3.7圖3.7 系統(tǒng)控制硬件總框圖3. 主要元器件功能與選用(1) 步進(jìn)電機(jī)介紹步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。目前,生產(chǎn)步進(jìn)電機(jī)的廠家的確不少,但具有專業(yè)技術(shù)人員,能夠自行開發(fā),研制的廠家卻非常少,大部分的廠家只一、二十人,連最基本的設(shè)備都沒有。僅僅處于一種盲目的仿制階段。這就給用戶在產(chǎn)品選型、使用中造成許多麻煩。簽于上述情況,我們決定以廣泛的感應(yīng)子式步進(jìn)電機(jī)為例。敘述其基本工作原理。望能對廣大用戶在選型、使用、及整機(jī)改進(jìn)時(shí)有所幫助。(2) 步進(jìn)電機(jī)控制原理步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)可分為反應(yīng)式步進(jìn)電機(jī)(簡稱VR)、永磁式步進(jìn)電機(jī)(簡稱PM)和混合式步進(jìn)電機(jī)(簡稱HB)。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是,它是通過輸入脈沖信號(hào)來進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。步進(jìn)電機(jī)的驅(qū)動(dòng)電路根據(jù)控制信號(hào)工作,控制信號(hào)由單片機(jī)產(chǎn)生。其基本原理作用如下:控制換相順序通電換相這一過程稱為脈沖分配。例如:三相步進(jìn)電機(jī)的三拍工作方式,其各相通電順序?yàn)锳-B-CD,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,B,C,D相的通斷??刂撇竭M(jìn)電機(jī)的轉(zhuǎn)向如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)??刂撇竭M(jìn)電機(jī)的速度如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。(3) 電機(jī)選擇方案1:直流電機(jī)。直流電機(jī)又分為直流無刷電機(jī)和直流有刷電機(jī),是最早實(shí)現(xiàn)調(diào)速的電動(dòng)機(jī),其優(yōu)點(diǎn)是有良好的線性調(diào)速特性,簡單的控制性能,高的效率,但其數(shù)字控制方面較難把握。方案2:步進(jìn)電機(jī)。步進(jìn)電機(jī)是多種機(jī)電設(shè)備中被廣泛應(yīng)用的一種電機(jī),它主要由定子和轉(zhuǎn)子構(gòu)成。定子的主要結(jié)構(gòu)是繞組。三相、四相、五相步進(jìn)電機(jī)分別有三個(gè)、四個(gè)、五個(gè)繞組,其它以此類推。繞組按一定的通電順序工作著,這個(gè)通電順序我們稱為步進(jìn)電機(jī)的“相序”。轉(zhuǎn)子的主要結(jié)構(gòu)是磁性轉(zhuǎn)軸,當(dāng)定子中的繞組在相序信號(hào)作用下,有規(guī)律的通電、斷電工作時(shí),轉(zhuǎn)子周圍就會(huì)有一個(gè)按此規(guī)律變化的電磁場,因此一個(gè)按規(guī)律變化的電磁力就會(huì)作用在因此轉(zhuǎn)子上,使轉(zhuǎn)子發(fā)生轉(zhuǎn)動(dòng)。它將電脈沖信號(hào)轉(zhuǎn)換成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。另外步進(jìn)電機(jī)還有動(dòng)態(tài)響應(yīng)快易于起停,易于正反速及變速等優(yōu)點(diǎn)。綜合上面所述,為易于單片機(jī)控制,本設(shè)計(jì)采用方案2。(4) 驅(qū)動(dòng)方式的選擇我們知道步進(jìn)電動(dòng)機(jī)使用脈沖電源工作。開關(guān)管是按照控制脈沖的規(guī)律“開”和“關(guān)”,使直流電源以脈沖方式向繞組L供電,這一過程我們稱它為步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)。單電壓驅(qū)動(dòng) 單電壓驅(qū)動(dòng)是指電動(dòng)機(jī)繞組在工作時(shí),只用一個(gè)電壓電源對繞組供電。它的特點(diǎn)是電路簡單,一般只用于小功率步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)。雙電壓驅(qū)動(dòng) 雙電壓驅(qū)動(dòng)是用提高電壓的方法使繞組中的電流上升波形變陡。它的基本思路是在低頻段使用較低的電壓驅(qū)動(dòng),在高頻段使用較高的電壓驅(qū)動(dòng)。這種驅(qū)動(dòng)方法在低頻段具有單電壓驅(qū)動(dòng)的特點(diǎn),在高頻段具有良好的高頻性能。本設(shè)計(jì)考慮到變壓器,因采用了單電壓驅(qū)動(dòng).(5) SST89E58單片機(jī)SST89E58是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含32k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。該器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。由于片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的SST89E58單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 (6) 對于本系統(tǒng)開發(fā)來說存在下列很明顯的優(yōu)點(diǎn)內(nèi)部含F(xiàn)LASH存儲(chǔ)器。因此在系統(tǒng)開發(fā)過程中可以十分容易進(jìn)行程序的修改,這就大大縮短了系統(tǒng)的開發(fā)周期。同時(shí),在系統(tǒng)工作過程中,能有效的保存一些數(shù)據(jù)信息,即使外界電源損壞也不影響到信息的保存。和80C51插座兼容。SST89E58單片機(jī)的引腳是和80C51一樣的,所以,當(dāng)用SST89E58單片機(jī)取代80C52時(shí),可以直接進(jìn)行代換。時(shí)鐘方式。SST89E58單片機(jī)采用靜態(tài)時(shí)鐘方式,所以可以節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。編程亦無廢品產(chǎn)生。一般的OTP產(chǎn)品,一旦錯(cuò)誤編程就成了廢品。而89C51單片機(jī)內(nèi)部采用了Flash存儲(chǔ)器,所以,錯(cuò)誤編程之后仍可以重新編程直到正確為止,故不存在廢品。可以進(jìn)行反復(fù)系統(tǒng)試驗(yàn)。用SST89E58單片機(jī)設(shè)計(jì)的系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗(yàn),每次試驗(yàn)可以編入不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計(jì)達(dá)到最優(yōu)。而且隨的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)能不斷追隨新的要求。SST89E58是用靜態(tài)邏輯來設(shè)計(jì)的,其工作頻率可下降到0HZ,并提供兩種可用軟件來選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)間被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。(7) LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖1所示的符號(hào)來表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同。由于LM324四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中。(8) 主要應(yīng)用反相交流放大器此放大器可代替晶體管進(jìn)行交流放大,可用于擴(kuò)音機(jī)前置放大等。電路無需調(diào)試。放大器采用單電源供電,由R1、R2組成1/2V+偏置,C1是消振電容。放大器電壓放大倍數(shù)Av僅由外接電阻Ri、Rf決定:Av=-Rf/Ri。負(fù)號(hào)表示輸出信號(hào)與輸入信號(hào)相位相反。按圖中所給數(shù)值,Av=-10。此電路輸入電阻為Ri。一般情況下先取Ri與信號(hào)源內(nèi)阻相等,然后根據(jù)要求的放大倍數(shù)在選定Rf。Co和Ci為耦合電容。 同相交流放大器同相交流放大器的特點(diǎn)是輸入阻抗高。其中的R1、R2組成1/2V+分壓電路,通過R3對運(yùn)放進(jìn)行偏置。 電路的電壓放大倍數(shù)Av也僅由外接電阻決定:Av=1+Rf/R4,電路輸入電阻為R3。R4的阻值范圍為幾千歐姆到幾十千歐姆。 交流信號(hào)三分配放大器此電路可將輸入交流信號(hào)分成三路輸出,三路信號(hào)可分別用作指示、控制、分析等用途。而對信號(hào)源的影響極小。因運(yùn)放Ai輸入電阻高,運(yùn)放A1-A4均把輸出端直接接到負(fù)輸入端,信號(hào)輸入至正輸入端,相當(dāng)于同相放大狀態(tài)時(shí)Rf=0的情況,故各放大器電壓放大倍數(shù)均為1,與分立元件組成的射極跟隨器作用相同R1、R2組成1/2V+偏置,靜態(tài)時(shí)A1輸出端電壓為1/2V+,故運(yùn)放A2-A4輸出端亦為1/2V+通過輸入輸出電容的隔直作用,取出交流信號(hào)。有源帶通濾波器許多音響裝置的頻譜分析器均使用此電路作為帶通濾波器,以選出各個(gè)不同頻段的信號(hào),在顯示上利用發(fā)光二極管點(diǎn)亮的多少來指示出信號(hào)幅度的大小。這種有源帶通濾波器的中心頻率 ,在中心頻率fo處的電壓增益Ao=B3/2B1,品質(zhì)因數(shù) ,3dB帶寬B=1/(*R3*C)也可根據(jù)設(shè)計(jì)確定的Q、fo、Ao值,去求出帶通濾波器的各元件參數(shù)值。R1=Q/(2foAoC),R2=Q/(2Q2-Ao)*2foC),R3=2Q/(2foC)。上式中,當(dāng)fo=1KHz時(shí),C取0.01Uf。此電路亦可用于一般的選頻放大。此電路亦可使用單電源,只需將運(yùn)放正輸入端偏置在1/2V+并將電阻R2下端接到運(yùn)放正輸入端既可。 比較器當(dāng)去掉運(yùn)放的反饋電阻時(shí),或者說反饋電阻趨于無窮大時(shí)(即開環(huán)狀態(tài)),理論上認(rèn)為運(yùn)放的開環(huán)放大倍數(shù)也為無窮大(實(shí)際上是很大,如LM324運(yùn)放開環(huán)放大倍數(shù)為100dB,既10萬倍)。此時(shí)運(yùn)放便形成一個(gè)電壓比較器,其輸出如不是高電平(V+),就是低電平(V-或接地)。當(dāng)正輸入端電壓高于負(fù)輸入端電壓時(shí),運(yùn)放輸出低電平。 圖中使用兩個(gè)運(yùn)放組成一個(gè)電壓上下限比較器,電阻R1、R1組成分壓電路,為運(yùn)放A1設(shè)定比較電平U1;電阻R2、R2組成分壓電路,為運(yùn)放A2設(shè)定比較電平U2。輸入電壓U1同時(shí)加到A1的正輸入端和A2的負(fù)輸入端之間,當(dāng)Ui U1時(shí),運(yùn)放A1輸出高電平;當(dāng)Ui U2,則當(dāng)輸入電壓Ui越出U2,U1區(qū)間范圍時(shí),LED點(diǎn)亮,這便是一個(gè)電壓雙限指示器。 若選擇U2 U1,則當(dāng)輸入電壓在U2,U1區(qū)間范圍時(shí),LED點(diǎn)亮,這是一個(gè)“窗口”電壓指示器。 此電路與各類傳感器配合使用,稍加變通,便可用于各種物理量的雙限檢測、短路、斷路報(bào)警等。 單穩(wěn)態(tài)觸發(fā)器此電路可用在一些自動(dòng)控制系統(tǒng)中。電阻R1、R2組成分壓電路,為運(yùn)放A1負(fù)輸入端提供偏置電壓U1,作為比較電壓基準(zhǔn)。靜態(tài)時(shí),電容C1充電完畢,運(yùn)放A1正輸入端電壓U2等于電源電壓V+,故A1輸出高電平。當(dāng)輸入電壓Ui變?yōu)榈碗娖綍r(shí),二極管D1導(dǎo)通,電容C1通過D1迅速放電,使U2突然降至地電平,此時(shí)因?yàn)閁1U2,故運(yùn)放A1輸出低電平。當(dāng)輸入電壓變高時(shí),二極管D1截止,電源電壓R3給電容C1充電,當(dāng)C1上充電電壓大于U1時(shí),既U2U1,A1輸出又變?yōu)楦唠娖?,從而結(jié)束了一次單穩(wěn)觸發(fā)。顯然,提高U1或增大R2、C1的數(shù)值,都會(huì)使單穩(wěn)延時(shí)時(shí)間增長,反之則縮短。如果將二極管D1去掉,則此電路具有加電延時(shí)功能。剛加電時(shí),U1U2,運(yùn)放A1輸出低電平,隨著電容C1不斷充電,U2不斷升高,當(dāng)U2U1時(shí),A1輸出才變?yōu)楦唠娖健?.2.2 軟件設(shè)計(jì)1. 主程序總流程圖在設(shè)計(jì)系統(tǒng)的總流程中.比較簡單. 但在子程序相當(dāng)復(fù)雜.程序總圖如圖3.8所示:2. 主程序設(shè)計(jì)以往,人們研制單片機(jī)應(yīng)用系統(tǒng),幾乎都是使用匯編語言編寫應(yīng)用程序。經(jīng)管匯編語言具有能夠直接操作硬件、指令執(zhí)行速度快等優(yōu)點(diǎn),但匯編語言不是結(jié)構(gòu)化的程序設(shè)計(jì)語言,用它編寫的程序可讀性差,不便于資料的交流和移植,調(diào)試也比較麻煩;而C語言恰好克服了匯編語言的缺點(diǎn),而且又具有匯編語言的優(yōu)點(diǎn)。故本系統(tǒng)采用KEIL 51軟件用C語言進(jìn)行的程序設(shè)計(jì)13。系統(tǒng)上電后,對設(shè)備進(jìn)行初始化,之后便進(jìn)入判斷測試狀態(tài)還是運(yùn)行狀態(tài),如果是運(yùn)行狀態(tài)便進(jìn)行波特率設(shè)置,如果是測試狀態(tài),便顯示當(dāng)前波特率,如果改變波特率,則進(jìn)行發(fā)送數(shù)據(jù),重新判斷是運(yùn)行還是測試狀態(tài)。如果運(yùn)行的是波特率設(shè)置,則之后進(jìn)行鍵盤設(shè)置,可以對通道進(jìn)行選擇,選擇后邊進(jìn)行A/D轉(zhuǎn)換狀態(tài),之后發(fā)送數(shù)據(jù),系統(tǒng)在進(jìn)行判斷是測試狀態(tài)還是運(yùn)行狀態(tài)。如果鍵盤處理的是定時(shí)器,則改變定時(shí)常數(shù),然后進(jìn)行A/D數(shù)據(jù)轉(zhuǎn)換,之后發(fā)送數(shù)據(jù),又進(jìn)行判斷是測試狀態(tài)還是運(yùn)行狀態(tài)14。圖3.8 主程序流程圖對與一個(gè)開環(huán)控制系統(tǒng)來說,最重要的就是它的算法的選擇,然后就是針對算法的編程.(1) 控制算法的論證方案1: 逐點(diǎn)比較直線插補(bǔ)算法17逐點(diǎn)比較法是數(shù)控機(jī)床中廣泛采用的一種軟件插補(bǔ)算法,該方法普遍用于二坐標(biāo)數(shù)控加工系統(tǒng).所謂逐點(diǎn)比較法就是在繪圖過程中,繪圖筆每移動(dòng)一步都要與理想線路進(jìn)行比較,然后決定下一步的移動(dòng)方向用步步修正的方法畫出所期望的線段. 逐點(diǎn)比較法的基本原理是斜率比較法即線段的起點(diǎn)與筆當(dāng)前的位置構(gòu)成的直線斜率與要繪線段斜率進(jìn)行比較當(dāng)前者斜率小于后者斜率時(shí),筆應(yīng)該向方向走一步當(dāng)前者斜率大于后者斜率時(shí),筆應(yīng)該向方向走一步如圖3.9所示,為欲畫的路線,為畫筆開始所在的位置,當(dāng)?shù)男甭市∮嬀€段的斜率時(shí),向方向移動(dòng)一步,到達(dá)點(diǎn)然后再用線段的斜率與的斜率進(jìn)行比較,當(dāng)?shù)男甭蚀笥嬀€段斜率時(shí),向方向移動(dòng)一步。圖3.9 逐點(diǎn)比較直線插補(bǔ)算法方案2:逐點(diǎn)比較圓弧插補(bǔ)算法18 圓弧軌跡插補(bǔ)不同于直線,一段圓弧可能跨越幾個(gè)象限。每當(dāng)一段圓弧跨過象限后,原來的偏差計(jì)算、坐標(biāo)計(jì)算式必須進(jìn)行修改。在插補(bǔ)過程中每走一步必須檢查是否會(huì)跨越象限,一旦查到跨越象限,就要根據(jù)順圓或逆圓改進(jìn)進(jìn)入該象限的一套計(jì)算方法。傳統(tǒng)的過象限處理是采用查表的方法,即用舊的標(biāo)志字通過查表取得新標(biāo)志字,替換舊標(biāo)志字,當(dāng)再次進(jìn)行插補(bǔ)時(shí),根據(jù)新的標(biāo)志字進(jìn)行插補(bǔ)和進(jìn)給。查表法處理起來相當(dāng)麻煩。符號(hào)判別法是根據(jù)動(dòng)點(diǎn)坐標(biāo)本身位置的變化自動(dòng)轉(zhuǎn)換運(yùn)算和判別,自動(dòng)轉(zhuǎn)入其他象限,改變偏差計(jì)算、坐標(biāo)計(jì)算式。方案3:數(shù)學(xué)建模法21。數(shù)學(xué)建模法是指用數(shù)學(xué)方法,運(yùn)用幾何知識(shí)(極坐標(biāo))把圓上的點(diǎn)和兩個(gè)電機(jī)所在的位置聯(lián)系起來,通過相關(guān)計(jì)算把圓上的點(diǎn)的坐標(biāo)用數(shù)學(xué)表達(dá)式表示出來,并轉(zhuǎn)換成電機(jī)所要轉(zhuǎn)動(dòng)的偏移量,最后把偏移量轉(zhuǎn)化為電機(jī)所要轉(zhuǎn)的速度。此方法,計(jì)算復(fù)雜,但所得數(shù)據(jù)較為準(zhǔn)確,只要編程正確,用電機(jī)所畫出來的線就不會(huì)編差大。上述幾種方法我們都嘗試編程,但在調(diào)試過程中,前兩種方法的誤差比較大.達(dá)不到比賽的要求,最后我們只能采用方案3。采用方案3的算法相當(dāng)復(fù)雜, 而且要經(jīng)過了無數(shù)次調(diào)試.(2) 直線的計(jì)算和編程從圖3.10我們可以看到假設(shè)原點(diǎn)坐標(biāo)X0,Y0,要達(dá)到的坐標(biāo)點(diǎn)X1,Y1圖3.10 數(shù)學(xué)建模算法那么到坐標(biāo)點(diǎn)的距離L我們沒有采用Y=KX+B的直線方程,而是把L的長度分為COUNT_L等分我們計(jì)算出每一個(gè)增量INC_X,INC_Y我們假設(shè)一個(gè)變量i,i的范圍從1-COUNT_L所以每走一步的坐標(biāo)值畫直線函數(shù)的流程圖如圖3.11圖3.11 直線函數(shù)的流程圖部分程序如下:void draw_line(float x0,float y0,float x1,float y1) for(i=1; i=0 ?0.5:-0.5) ; count_r=inc_Lr/step_r+(inc_Lr=0 ?0.5:-0.5) ; drive_motor(count_l,count_r) ;L_r0=L_r ;我們可以看到畫直線的程序的復(fù)雜性.(3) 圓的的計(jì)算和編程20在圓弧的編程中,它的算法比直線的算法更復(fù)雜.從圖我們可以看到假設(shè)圓心坐標(biāo)X0,Y0,半徑為R圓上的一點(diǎn)坐標(biāo)為XQ,YQXQ=X0+RYQ=Y0而我們把圓分成360度,即設(shè)一個(gè)變量,的范圍從1到360,每走一小步的坐標(biāo)值XX,YY那么它的力臂LL,LRLL=LR=而原點(diǎn)坐標(biāo)的力臂LL0,LR0LL0=LR0=因此力臂的增量為LL,LRLL= LL- LL0LR= LR- LR0因我們的步進(jìn)不同,所以它的增量分別為0.026,0.026,最后才計(jì)算出要給的脈沖數(shù)COUNT_L,COUNT_R畫圓函數(shù)的流程圖如圖3.12所示圖3.12 畫圓函數(shù)的流程圖部分程序程序如下:/*畫圓*/void draw_circularity(float rr,float x0,float y0) for(i=1;icount_l 期望結(jié)果:直線完成,電機(jī)停止轉(zhuǎn)動(dòng)。以上是對畫直線過程的測試,其它過程用同種方法進(jìn)行測試,測試結(jié)果均為正常。4.2.2 功能測試功能測試采用黑盒測試方法:黑盒測試主要是測試軟件是否滿足功能需求。黑盒測試主要測試的錯(cuò)誤類型有:1. 不正確或遺漏的功能。2. 接口錯(cuò)誤。3. 性能錯(cuò)誤。4. 數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問錯(cuò)誤。5. 初始化或終止條件錯(cuò)誤等。黑盒測試主要包括等價(jià)類的劃分、邊界值分析、錯(cuò)誤推測、組合數(shù)據(jù)測試等幾種設(shè)計(jì)測試用例的方法。對懸掛運(yùn)系統(tǒng)采用等價(jià)類劃分方法進(jìn)行測試,以下是用等價(jià)類劃分法設(shè)計(jì)測試用例,來測試程序畫圓過程,測試過程如下:(1) 劃分等價(jià)類并編號(hào)。等價(jià)類劃分的結(jié)果如表4.1所示,即劃分成3個(gè)有效等價(jià)類和5個(gè)元效等價(jià)類。表4.1 輸入坐標(biāo)值的等價(jià)類劃分輸入有效等價(jià)類有效等價(jià)類無效等價(jià)類坐標(biāo)輸入類型及長度整數(shù)部分為兩位的浮點(diǎn)整數(shù)部分超出兩位的數(shù)X軸坐標(biāo)取值范圍在080之間小于0大于80Y軸坐標(biāo)取值范圍在099之間小于0大于100(2) 設(shè)計(jì)測試用例,以便覆蓋所有的有效等價(jià)類。在表4-1中列出3個(gè)有效等價(jià)類;覆蓋的編號(hào)分別為,設(shè)計(jì)的測試用例如下: 測試數(shù)據(jù) 期望結(jié)果 覆蓋的有效等價(jià)類50 輸入有效 c. 為每一個(gè)無效等價(jià)類設(shè)計(jì)一個(gè)測試用例,設(shè)計(jì)結(jié)果如下: 測試數(shù)據(jù) 期望結(jié)果 覆蓋的無效等價(jià)類423輸入無效 -1 輸入無效 95 輸入無效 -3 輸入無效 110輸入無效 4.2.3 集成測試為了確定系統(tǒng)與題目要求的符合程度,我們對系統(tǒng)中的關(guān)鍵部分進(jìn)行了測試。位置測試如下:表4.1 直線測試表原點(diǎn)坐標(biāo)(X,Y)輸入坐標(biāo)(X,Y)實(shí)際測量距離值誤差值運(yùn)行時(shí)間(10cm,10cm)(40cm, 50cm)39cm,492cm)08cm-2cm20S(19cm,24cm)(34cm,35cm)(33cm,345cm)1cm-2-cm2S表4.2 圓弧測試表圓點(diǎn)坐標(biāo)(X,Y)實(shí)際測量半徑值誤差值運(yùn)行時(shí)間(40cm,50cm)2327cm+-2cm150S4.2.4 測試結(jié)果經(jīng)過以上測試后,各模塊都能正常工作,輸入模塊可以正確的輸入數(shù)據(jù),顯示模塊可以正確的顯示信息,驅(qū)動(dòng)模塊可以正確的驅(qū)動(dòng)電機(jī)??梢酝ㄟ^鍵盤輸入,使單片機(jī)帶動(dòng)重物,繪制出規(guī)定的圖形。結(jié) 論本文介紹的懸掛運(yùn)動(dòng)控制系統(tǒng)是基于單片機(jī)的控制系統(tǒng),集輸入、顯示、對電機(jī)的驅(qū)動(dòng)于一身,另外還增加了與上位機(jī)的通信。顯示出了方便操作,功能完善、高集成度等特點(diǎn)。本系統(tǒng)另一大特點(diǎn)的大部分功能由程序?qū)崿F(xiàn),節(jié)省了很多硬件,雖然算法和程序都非常復(fù)雜,但它省了很多硬件電路.因?yàn)楝F(xiàn)在提倡”硬件變?yōu)檐浖睂ξ覀兊木幊棠芰τ泻艽蟮拇龠M(jìn)。在本系統(tǒng)設(shè)計(jì)中,我們完成了全部基本要求,并完成了發(fā)揮部分的第一條。經(jīng)過詳細(xì)的測試,各模塊都能正常工作,輸入模塊可以正確的輸入數(shù)據(jù),顯示模塊可以正確的顯示信息,驅(qū)動(dòng)模塊可以正確的驅(qū)動(dòng)電機(jī)??梢酝ㄟ^鍵盤輸入,使單片機(jī)帶動(dòng)重物,繪制出規(guī)定的圖形。最終完成的系統(tǒng)的運(yùn)行情況,反映出了本系統(tǒng)方案正確、實(shí)現(xiàn)方法可行,運(yùn)行效果好。后 記短短二個(gè)月的畢業(yè)設(shè)計(jì)已經(jīng)結(jié)束了,回顧這段時(shí)光,我身有感觸,它不僅是我所學(xué)知識(shí)的一次全面的考查而且也是從理論知識(shí)到實(shí)踐操作的一次大的深化。大學(xué)三年多的時(shí)間都是在學(xué)習(xí)基礎(chǔ)知識(shí),并未真正系統(tǒng)地去應(yīng)用和實(shí)踐。但是經(jīng)過這次畢業(yè)設(shè)計(jì),我接觸到了更多平時(shí)沒有接觸到的儀器設(shè)備、元器件,及時(shí)地彌補(bǔ)了這方面知識(shí)的不足,深刻體會(huì)到了所學(xué)理論知識(shí)的重要性。知識(shí)掌握得越多,設(shè)計(jì)得就更全面、更順利、更好。在此我要感謝四年來教過我的所有老師,沒有你們的精心教導(dǎo),就沒有今天將要畢業(yè)的我。在畢業(yè)設(shè)計(jì)中,老師不僅使我養(yǎng)成了嚴(yán)肅認(rèn)真和實(shí)事求是的科學(xué)態(tài)度,同時(shí)也培養(yǎng)了我吃苦耐勞的精神以及相互合作的團(tuán)隊(duì)精神,同學(xué)之間的友誼也充分的在畢業(yè)設(shè)計(jì)當(dāng)中更加深厚了。我不僅學(xué)到了很多的與本專業(yè)相關(guān)知識(shí),而且加深了所學(xué)課程知識(shí),深刻感受到了知識(shí)的偉大和工作的快樂。在具體的設(shè)計(jì)中,我遇到了一些困難,通過上網(wǎng)和圖書館查到了許多相關(guān)的知識(shí),經(jīng)過自己的仔細(xì)分析和小組成員一起討論研究,并向?qū)熣埥?,最終不只解決了所遇到的困難,而且學(xué)到了很多的知識(shí),擴(kuò)大了知識(shí)面。從最初的茫然,到現(xiàn)在小有成果;從最初的無從下手,到現(xiàn)在的信心百倍;離不開導(dǎo)師耐心的指導(dǎo)和小組成員的共同努力。畢業(yè)設(shè)計(jì)到了尾聲,無論是知識(shí)的收獲,還是同學(xué)友誼和師生情誼的加深,使我更加有信心面對以后的工作。在這里我個(gè)人非常感謝孫海老師給予我和小組成員的精心指導(dǎo)和幫助。參考文獻(xiàn)1 吳秀清.微型計(jì)算機(jī)原理與接口技術(shù)M.北京:中國科學(xué)技術(shù)大學(xué)出版社,2002.7. 160.2 孫永浩.MCS-51 單片機(jī)開發(fā)與應(yīng)用指南M. 哈爾濱:黑龍江科學(xué)技術(shù)出版社,1989.1. 2380. 3 宋文緒.自動(dòng)檢測技術(shù)M.北京: 冶金工業(yè)出版社,2000.2. 112135.4 孫和平.單片微機(jī)原理與接口技術(shù)M.北京:冶金工出版社,2003.6. 138200.5 李建忠.單片機(jī)原理及應(yīng)用M.西安:西安電子科技大學(xué)出版社,2001.9. 37-79.6 求實(shí)科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航M.北京:人民郵電出版社,2004.3 4467.7 裘雪紅.微型計(jì)算機(jī)原理及接口技術(shù)M.西安:西安電子科技
收藏