舵機(jī)角度控制電路設(shè)計(jì) 課程設(shè)計(jì)_第1頁(yè)
舵機(jī)角度控制電路設(shè)計(jì) 課程設(shè)計(jì)_第2頁(yè)
舵機(jī)角度控制電路設(shè)計(jì) 課程設(shè)計(jì)_第3頁(yè)
舵機(jī)角度控制電路設(shè)計(jì) 課程設(shè)計(jì)_第4頁(yè)
舵機(jī)角度控制電路設(shè)計(jì) 課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

課題:舵機(jī)角度控制電路設(shè)計(jì)學(xué)院:XXXXXXXXXXXXX院專業(yè):自動(dòng)化學(xué)生姓名:XXXXXXXX學(xué)號(hào):XXXXXXXXXX指導(dǎo)老師:XXXXXXXXXXXXXXXXXXXXX職稱:高級(jí)工程師題目類型:口理論研究□實(shí)驗(yàn)研究a工程設(shè)計(jì)□工程技術(shù)研究□軟件開(kāi)發(fā)2011年09月15日摘要在相當(dāng)長(zhǎng)的時(shí)間里,計(jì)算機(jī)作為科學(xué)工具,在科學(xué)技術(shù)的神圣殿堂里默默地工作,而工業(yè)現(xiàn)場(chǎng)的測(cè)控領(lǐng)域并沒(méi)有得到真正的實(shí)惠,進(jìn)入21世紀(jì)后,由于電子技術(shù)的迅猛發(fā)展,新型電子產(chǎn)品的更新?lián)Q代速度越來(lái)越快,以單片機(jī)為核心構(gòu)成的智能化產(chǎn)品具有體積小、功能強(qiáng)、應(yīng)用面廣,使用靈活、價(jià)格便宜、工作可靠等優(yōu)點(diǎn),目前正以前所未有的速度取代著傳統(tǒng)電子線路構(gòu)成的經(jīng)典系統(tǒng)。與單片機(jī)相結(jié)合,計(jì)算機(jī)才真正地走進(jìn)尋常百姓之家,成為廣大工程技術(shù)人員現(xiàn)代化技術(shù)革新、技術(shù)革命的有利武器。本文針對(duì)舵機(jī)數(shù)字化控制器的設(shè)計(jì),研究其硬件電路設(shè)計(jì)、軟件程序設(shè)計(jì)和關(guān)鍵算法。在分析舵機(jī)控制的性能要求和相關(guān)控制方法的基礎(chǔ)上,提出了基于上位機(jī)和下位機(jī)的控制結(jié)構(gòu),通過(guò)串口通信傳輸數(shù)據(jù)和指令,從而實(shí)現(xiàn)舵機(jī)控制。本設(shè)計(jì)以STC12C5A08S2單片機(jī)為核心,利用模擬舵機(jī)的機(jī)械部分,其中包括小型直流電機(jī)和一個(gè)反饋可調(diào)電位器,直流電機(jī)用H橋芯片LG9110來(lái)驅(qū)動(dòng),電位器進(jìn)行角度測(cè)量,通過(guò)單片機(jī)的內(nèi)部A/D轉(zhuǎn)換來(lái)反饋實(shí)時(shí)角度,上位機(jī)通過(guò)RS232串口與單片機(jī)進(jìn)行通信,舵機(jī)根據(jù)上位機(jī)所設(shè)定的角度,利用PWM信號(hào)驅(qū)動(dòng)LG9110控制電動(dòng)機(jī)轉(zhuǎn)動(dòng),系統(tǒng)通過(guò)上位機(jī)來(lái)設(shè)置舵機(jī)地址、波特率、給定角度。經(jīng)過(guò)實(shí)際調(diào)試驗(yàn)證,舵機(jī)角度在0度?180度范圍內(nèi)可由上位機(jī)設(shè)定,精度為正負(fù)1度,符合設(shè)計(jì)要求。關(guān)鍵詞:舵機(jī);單片機(jī);角度控制;PWM目錄TOC\o"1-5"\h\z\o"CurrentDocument"引言1\o"CurrentDocument"1舵機(jī)控制系統(tǒng)概述12STC12C5A08S2單片機(jī)概述2\o"CurrentDocument"STC12C5A08S2簡(jiǎn)介2\o"CurrentDocument"STC12C5A08S2系列主要性能3A/D轉(zhuǎn)換器3\o"CurrentDocument"脈寬調(diào)制PWM原理3\o"CurrentDocument"3串口通信5\o"CurrentDocument"串口通信的作用5\o"CurrentDocument"RS-232C接口和MAX232芯片簡(jiǎn)介5MAX232芯片引腳描述及其應(yīng)用64驅(qū)動(dòng)芯片8\o"CurrentDocument"5硬件設(shè)計(jì)思路9\o"CurrentDocument"5.1系統(tǒng)基本原理9\o"CurrentDocument"5.2系統(tǒng)硬件設(shè)計(jì)10\o"CurrentDocument"6.系統(tǒng)主程序10\o"CurrentDocument"6.1主程序設(shè)計(jì)要點(diǎn)106.2上位機(jī)117.1硬件調(diào)試117.2軟件調(diào)試12參考文獻(xiàn)12附錄13引言隨著高新技術(shù)在測(cè)控領(lǐng)域中的應(yīng)用,有力地促進(jìn)了控制的系統(tǒng)化和精確化,然而,經(jīng)典的反饋控制、現(xiàn)代控制和大系統(tǒng)理論在應(yīng)用中遇到不少難題。首先,這些控制系統(tǒng)的設(shè)計(jì)和分析都是建立在精確的系統(tǒng)數(shù)學(xué)模型的基礎(chǔ)上的,但是各個(gè)領(lǐng)域?qū)ψ詣?dòng)控制系統(tǒng)控制精度、響應(yīng)速度、系統(tǒng)穩(wěn)、定性與自適應(yīng)能力的要求越來(lái)越高,被控對(duì)象或過(guò)程的非線性、時(shí)變性、多參數(shù)點(diǎn)的強(qiáng)烈耦合、較大的隨機(jī)擾動(dòng)、各種不確定性以及現(xiàn)場(chǎng)測(cè)試手段不完善等,使難以按數(shù)學(xué)方法建立被控對(duì)象的精確模型;其次,為了提高控制的性能,整個(gè)控制系統(tǒng)變得極其復(fù)雜,增加了設(shè)備的投資,降低了系統(tǒng)的可靠性。人工智能的出現(xiàn)和發(fā)展,促進(jìn)了自動(dòng)控制向更高的層次,即智能控制發(fā)展?;趩纹瑱C(jī)的智能控制系統(tǒng),使得舵機(jī)等伺服系統(tǒng)的模塊化和數(shù)字化更容易實(shí)現(xiàn),極大的促進(jìn)了控制精度、響應(yīng)速度等控制要求的提高。舵機(jī)作為一種伺服電機(jī)屬于閉環(huán)控制系統(tǒng),和一般的直流電機(jī)、交流電機(jī)相比具有較高的控制精度,步進(jìn)電機(jī)雖然也具有一定的控制精度但仍然屬于開(kāi)環(huán)結(jié)構(gòu)。于是舵機(jī)在機(jī)器人關(guān)節(jié)控制和航模轉(zhuǎn)舵控制等需要精確控制而又沒(méi)有很高載荷的系統(tǒng)中就顯得十分經(jīng)濟(jì)實(shí)用,在航空航天儀器、雷達(dá)、導(dǎo)彈、智能自適應(yīng)儀器、各種武器電子和抗惡劣環(huán)境電子等系統(tǒng)中也得到廣泛應(yīng)用。1舵機(jī)控制系統(tǒng)概述舵機(jī)工作原理舵機(jī),又名伺服電機(jī),主要是由外殼馬達(dá)、減速齒輪和電位器構(gòu)成。舵機(jī)主要適用于那些角度不斷變化并可以保持的控制系統(tǒng),比如人形機(jī)器人的手臂和腿,車模和航模的方向控制。舵機(jī)工作原理:舵機(jī)本質(zhì)上是可定位的馬達(dá),它的內(nèi)部包括了一個(gè)小型直流馬達(dá)、一組變速齒輪組、一個(gè)反饋可調(diào)電位器和一塊電子控制板。它是一個(gè)典型閉環(huán)反饋系統(tǒng)[1],減速齒輪組由馬達(dá)驅(qū)動(dòng),其終端(輸出端)帶動(dòng)一個(gè)線性的比例電位器作位置檢測(cè),該電位器把轉(zhuǎn)角坐標(biāo)轉(zhuǎn)換為一比例電壓反饋給控制線路板,控制線路板將其與輸入的控制脈沖信號(hào)比較,產(chǎn)生調(diào)整脈沖,并驅(qū)動(dòng)馬達(dá)正向或反向地轉(zhuǎn)動(dòng),使齒輪組的輸出位置與期望值相符,令調(diào)整脈沖趨于為0,從而達(dá)到使舵機(jī)精確定位的目的。簡(jiǎn)單的說(shuō)就是發(fā)一個(gè)控制信號(hào)給舵機(jī),經(jīng)過(guò)電路板判斷轉(zhuǎn)動(dòng)方向,再驅(qū)動(dòng)馬達(dá)開(kāi)始轉(zhuǎn)動(dòng),透過(guò)減速齒輪將動(dòng)力傳至擺臂,同時(shí)由電位器檢測(cè)送回信號(hào),判斷是否已經(jīng)達(dá)到指定位置。數(shù)字舵機(jī)(DigitalServo)和模擬舵機(jī)(AnalogServo)在基本的機(jī)械結(jié)構(gòu)方面是完全一樣的,主要由馬達(dá)、減速齒輪、控制電路等組成,而數(shù)字舵機(jī)和模擬舵機(jī)的最大區(qū)別

則體現(xiàn)在控制電路上,數(shù)字舵機(jī)的控制電路比模擬舵機(jī)的多了微處理器和晶振。相對(duì)于模擬舵機(jī),數(shù)字舵機(jī)有如下優(yōu)點(diǎn):首先,驅(qū)動(dòng)馬達(dá)的動(dòng)力,可以由微處理器的程序調(diào)整,以應(yīng)用于不同的應(yīng)用場(chǎng)合,并優(yōu)化舵機(jī)性能。其次,舵機(jī)馬達(dá)能以更高的頻率響應(yīng)控制信號(hào),而且“死區(qū)”(無(wú)響應(yīng)區(qū))變小;反應(yīng)變得更快;加速和減速時(shí)也更迅速、更柔和;運(yùn)轉(zhuǎn)精度以及舵機(jī)鎖位能力也更強(qiáng)。本設(shè)計(jì)就是利用模擬舵機(jī)的機(jī)械部分,運(yùn)用單片機(jī)和電位器的閉環(huán)系統(tǒng)進(jìn)行角度控制,采用電位器進(jìn)行角度檢測(cè),由單片機(jī)對(duì)其進(jìn)行處理,輸出PWM脈沖信號(hào)控制舵機(jī)轉(zhuǎn)動(dòng)到所設(shè)定的角度。即將模擬舵機(jī)改裝成數(shù)字舵機(jī),實(shí)現(xiàn)了舵機(jī)的數(shù)字化控制。2STC12C5A08S2單片機(jī)概述2.1STC12C5A08S2簡(jiǎn)介新一代宏晶芯片具有1個(gè)時(shí)鐘/機(jī)器周期,高速、高可靠,2路PWM,8路10位高速A/D轉(zhuǎn)換,25萬(wàn)次/秒1T8051帶總線,無(wú)法解密,管腳直接兼容傳統(tǒng)89C52,有全球唯一ID號(hào)可省復(fù)位電路,36-44個(gè)I/O內(nèi)部R/C時(shí)鐘的新一代宏晶芯片加密性強(qiáng),解密難度高。2.2STC12C5A08S2系列主要性能?高速:1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快8?12倍?寬電壓:5.5?3.3V,2.2?3.6V(STC12LE5A60S2系列)?增加第二復(fù)位功能腳(高可靠復(fù)位,可調(diào)整復(fù)位門檻電壓,頻率<12MHz時(shí),無(wú)需此功能)?增加外部掉電檢測(cè)電路,可在掉電時(shí),及時(shí)將數(shù)據(jù)保存進(jìn)EEPROM,正常工作時(shí)無(wú)需操作EEP?低功耗設(shè)計(jì):空閑模式,HOLTEK芯片解密,(可由任意一個(gè)中斷喚醒)?低功耗設(shè)計(jì):掉電模式(可由外部中斷喚醒),可支持下降沿/上升沿和遠(yuǎn)程喚醒?工作頻率:0?35MHz,相當(dāng)于普通8051:0?420MHz?時(shí)鐘:外部晶體或內(nèi)部RC振蕩器可選,在ISP下載編程用戶程序時(shí)設(shè)置?8/16/20/32/40/48/52/56/60/62K字節(jié)片內(nèi)Flash程序存儲(chǔ)器,擦寫次數(shù)10萬(wàn)次以上?1280字節(jié)片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器?芯片內(nèi)EEPROM功能,擦寫次數(shù)10萬(wàn)次以上?ISP/IAP,在系統(tǒng)可編程/在應(yīng)用可編程,無(wú)需編程器/仿真器?8通道,10位高速ADC,速度可達(dá)25萬(wàn)次/秒,2路PWM還可當(dāng)2路D/A使用?2通道捕獲/比較單元(PWM/PCA/CCP),---也可用來(lái)再實(shí)現(xiàn)2個(gè)定時(shí)器或2個(gè)外部中斷(支持上升沿/下降沿中斷)?4個(gè)16位定時(shí)器,兼容普通8051的定時(shí)器T0/T1,2路PCA實(shí)現(xiàn)2個(gè)定時(shí)器?可編程時(shí)鐘輸出功能,T0在P3.4輸出時(shí)鐘,T1在P3.5輸出時(shí)鐘,BRT在P1.0輸出時(shí)鐘?硬件看門狗(WDT)

?高速SPI串行通信端口?全雙工異步串行口(UART),兼容普通8051的串口?先進(jìn)的指令集結(jié)構(gòu),兼容普通8051指令集,有硬件乘法/除法指令?通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開(kāi)漏每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不得超過(guò)100mA2.3A/D轉(zhuǎn)換器特點(diǎn):⑴10位精度⑵0.5LSB的非線性度⑶土2LSB的絕對(duì)精度⑷13-260期的轉(zhuǎn)換時(shí)間⑸最高分辨率時(shí)采樣率高達(dá)15kSPS⑹6路復(fù)用的單端輸入通道⑺2路附加復(fù)用的單端輸入通道(TQFP與MLF封裝)⑻可選的左對(duì)齊ADC讀數(shù)⑼0-VCC的ADC輸入電壓范圍⑽可選的2.56VADC參考電壓(11)連續(xù)轉(zhuǎn)換或單次轉(zhuǎn)換模式(12)ADC轉(zhuǎn)換結(jié)束中斷2.4脈寬調(diào)制PWM原理本系統(tǒng)采用內(nèi)部16位定時(shí)器T1來(lái)產(chǎn)生兩路PWM信號(hào)。16位的T/C可以實(shí)現(xiàn)精確的程序定時(shí)(事件管理)、波形產(chǎn)生和信號(hào)測(cè)量。其主要特點(diǎn)如下:⑴真正的16位設(shè)計(jì)(即允許16位的PWM)⑵2個(gè)獨(dú)立的輸出比較單元⑶雙緩沖的輸出比較寄存器⑷一個(gè)輸入捕捉單元⑸輸入捕捉噪聲抑制器⑹比較匹配發(fā)生時(shí)清除寄存器(自動(dòng)重載)⑺無(wú)干擾脈沖,相位正確的PWM⑻可變的PWM周期⑼頻率發(fā)生器;外部事件計(jì)數(shù)器⑽4個(gè)獨(dú)立的中斷源(TOV1、OCF1A、OCF1B與ICF1)寄存器:定時(shí)器/計(jì)數(shù)器TCNT1、輸出比較寄存器OCR1A/B與輸入捕捉寄存器ICR1均為16位寄存器。訪問(wèn)16位寄存器必須通過(guò)特殊的步驟,T/C控制寄存器TCCR1A/B為8位寄存器,沒(méi)有CPU訪問(wèn)的限制。雙緩沖輸出比較寄存器OCR1A/B一直與T/C的值做比較。波形發(fā)生器用比較結(jié)果產(chǎn)生PWM或在輸出比較引腳OC1A/B輸出可變頻率的信號(hào)。比較匹配結(jié)果還可置位比較匹配標(biāo)志OCF1A/B,用來(lái)產(chǎn)生輸出比較中斷請(qǐng)求。在PWM模式下用OCR1A作為TOP值時(shí),OCR1A寄存器不能用作PWM輸出。但此時(shí)OCR1A是雙向緩沖的,TOP值可在運(yùn)行中得到改變。當(dāng)需要一個(gè)固定的TOP值時(shí)可以使用ICR1寄存器,從而釋放OCR1A來(lái)用作PWM輸出。工作模式:工作模式-T/C和輸出比較引腳的行為-由波形發(fā)生模式(WGM13:0)及比較輸出模式(COM1x1:0)的控制位決定。比較輸出模式對(duì)計(jì)數(shù)序列沒(méi)有影響,而波形產(chǎn)生模式對(duì)計(jì)數(shù)序列則有影響。COM1x1:0控制PWM輸出是否為反極性。非PWM模式時(shí)COM1X1:0控制輸出是否應(yīng)該在比較匹配發(fā)生時(shí)置位、清零,或電平取反。本設(shè)計(jì)采用相位修正PWM模式。相位修正PWM模式(WGM13:0=1、2、3、10或11)為用戶提供了一個(gè)獲得高精度的、相位準(zhǔn)確的PWM波形的方法。與相位和頻率修正模式類似,此模式基于雙斜坡操作。計(jì)時(shí)器重復(fù)地從BOTTOM計(jì)到TOP,然后又從TOP倒退回到BOTTOM。在一般的比較輸出模式下,當(dāng)計(jì)時(shí)器往TOP計(jì)數(shù)時(shí)若TCNT1與OCR1x匹配,OC1x將清零為低電平;而在計(jì)時(shí)器往BOTTOM計(jì)數(shù)時(shí)若TCNT1與OCR1x匹配,OC1x將置位為高電平。工作于反向比較輸出時(shí)則正好相反。與單斜坡操作相比,雙斜坡操作可獲得的最大頻率要小。但其對(duì)稱特性十分適合于電機(jī)控制。相位修正PWM模式的PWM分辨率固定為8、9或10位,或由ICR1或OCR1A定義。最小分辨率為2比特(ICR1或OCR1A設(shè)為0x0003),最大分辨率為16位(ICR1或OCR1A設(shè)為MAX)。PWM分辨率位數(shù)可用下式計(jì)算:工作于相位修正PWM模式時(shí),計(jì)數(shù)器的數(shù)值一直累加到固定值0x00FF、0x01FF、0x03FF(WGM13:0=1、2或3)、ICR1(WGM13:0=10)或OCR1A(WGM13:0=11),然后改變計(jì)數(shù)方向。在一個(gè)定時(shí)器時(shí)鐘里TCNT1值等于TOP值。具體的時(shí)序圖為圖2.2。圖中給出了當(dāng)使用OCR1A或ICR1來(lái)定義TOP值時(shí)的相位修正PWM模式。圖中柱狀的TCNT1表示這是雙邊斜坡操作。方框圖同時(shí)包含了普通的PWM輸出以及反向PWM輸出。TCNT1斜坡上的短水平線表示OCR1x和TCNT1的匹配比較。比較匹配后OC1x中斷標(biāo)志置位。

Period圖2.2相位修正PWM模式時(shí)序圖Period串口通信3.1串口通信的作用系統(tǒng)需要接收上位機(jī)設(shè)置的角度的數(shù)據(jù),并把下位機(jī)的數(shù)據(jù)傳到上位機(jī)。因此串口模塊的作用就是把單片機(jī)需要傳送到上位機(jī)的數(shù)據(jù)轉(zhuǎn)換成電腦的RS-232標(biāo)準(zhǔn)串口數(shù)據(jù),以便把數(shù)據(jù)發(fā)送到上位機(jī)。3.2RS-232C接口和MAX232芯片簡(jiǎn)介本系統(tǒng)串口通信模塊設(shè)計(jì)采用的是MAX232芯片把單片機(jī)傳來(lái)的數(shù)據(jù)轉(zhuǎn)換成RS-232標(biāo)準(zhǔn)串口數(shù)據(jù)。以下對(duì)RS-232C接口和MAX232芯片做簡(jiǎn)要的介紹。RS-232C的全稱是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”,適合于短距離通信或帶調(diào)制解調(diào)器的通信應(yīng)用場(chǎng)合.PC機(jī)上一般都會(huì)有RS-232C接口,MAX232芯片是專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的一款兼容RS232標(biāo)準(zhǔn)的芯片,其結(jié)構(gòu)圖如圖3.1所示。該器件包含2個(gè)驅(qū)動(dòng)器2個(gè)接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-VTTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成

TIA/EIA-232-F電平。3.3MAX232芯片引腳描述及其應(yīng)用MAX232芯片引腳圖如圖3.1所示:116]215]314]413]512]6111710]87C1+gC1一C2+CSVs-T2OUTR2INGNDT1OUTR1INR1OUTtunT2INR2OUT圖3.1MAX232芯片引腳圖本系統(tǒng)數(shù)據(jù)的接收和發(fā)送引腳選用的是T21N,R21N,R2OUT,T2OUT四個(gè)引腳,其中T21N、R2OUT與標(biāo)準(zhǔn)的RS-232C接口相連。負(fù)責(zé)數(shù)據(jù)把轉(zhuǎn)化好的數(shù)據(jù)傳送到上位機(jī);T2OUT、R21N與單片機(jī)相連,負(fù)責(zé)接收從單片機(jī)送來(lái)的數(shù)據(jù)。3.3.1MAX232應(yīng)用電路介紹MAX232外圍需要4個(gè)電解電容C1、C2、C3、C4,是內(nèi)部電源轉(zhuǎn)換所需電容。其取值均為1UF/25V。宜選用鉭電容并且應(yīng)盡量靠近芯片°C5為0.1UF的去耦電容。如圖3.2所示。但本設(shè)計(jì)均采用104電容。<161卜「■■二1|.卜FromCMOSofTILToCMOSorHL15CND塵1iiFJ-?-~*kR5V+二偵—EIWTIA-232O?put—EIAJTIAJ12Output13——EIATA-232Input&—EIATAJJ?Input圖<161卜「■■二1|.卜FromCMOSofTILToCMOSorHL15CND塵1iiFJ-?-~*kR5V+二偵—EIWTIA-232O?put—EIAJTIAJ12Output13——EIATA-232Input&—EIATAJJ?Input圖3.2MAX232應(yīng)用接口電路JUR11LED7DB99IS470:C2一―VCCVCCGND104U521613不SSL3□4VDDCL+VCCC1-T1OUTT1INK1QNT2INT2QUTK1QUTR2IWR2OUTVEEC2+GNDC2-HIK232CP1T"TT1012y-礦T"214104JillCOM2GNDC2L51043.3.2串口模塊原理圖設(shè)計(jì)單片機(jī)要通過(guò)與MAX232芯片與上位機(jī)的串口相連才能與上位機(jī)通訊。單片機(jī)與上位機(jī)連接電路圖如圖3.3所示。本系統(tǒng)是通過(guò)單片機(jī)的控制通過(guò)串口與PC通信來(lái)實(shí)現(xiàn)的,首先,串口的2,3腳與232芯片的任一路接收端和發(fā)送端相連;然后再通過(guò)對(duì)應(yīng)路的發(fā)送端和接收端與單片機(jī)的對(duì)應(yīng)RXD和TXD相連,再串口中斷打開(kāi)后發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)串口異步通信。在異步傳送方式中,字符是按幀格式進(jìn)行發(fā)送的。異步通信的幀格式如表3.1所示。表3.1異步通信的幀格式n-1第N個(gè)字符(一串行幀)n+1P10D0D1D2D3D4D5D6D7P10D0起始位數(shù)據(jù)位校驗(yàn)位停止位

驅(qū)動(dòng)芯片電機(jī)驅(qū)動(dòng)芯片LG9110⑴低靜態(tài)工作電流;⑵寬電源電壓范圍:2.5V-12V;⑶每通道具有800mA連續(xù)電流輸出能力;⑷較低的飽和壓降;⑸TTL/CMOS輸出電平兼容,可直接連CPU;⑹輸出內(nèi)置鉗位二極管,適用于感性負(fù)載;⑺控制和驅(qū)動(dòng)集成于單片IC之中;⑻具備管腳高壓保護(hù)功能;⑼工作溫度:0°C-80°C。LG9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本降低,整機(jī)可靠性提高。該芯片有兩個(gè)TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反向運(yùn)動(dòng),它具有較大的電流驅(qū)動(dòng)能力,每通道能通過(guò)750?800mA的持續(xù)電流,峰值電流能力可達(dá)1.5?2.0A;同時(shí)它具有較低的輸出飽和壓降;內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動(dòng)繼電器、直流電機(jī)、步進(jìn)電機(jī)或開(kāi)關(guān)功率管的使用上安全可靠。管腳定義如表4.1所示。表4.1LG9110管腳定義序號(hào)符號(hào)功能1OAA路輸出管卿2VCC電源電壓3VCC電源電壓4OBB路輸出管卵SGND地線6[AA路輸入管腳7IBB路輸入管邱8GND地線怕入A日iiAHHllIIA■hiIB

圖4.1LG9110管腳波形圖直流電機(jī)圖4.2應(yīng)用電路硬件設(shè)計(jì)思路5.1系統(tǒng)基本原理直流電機(jī)圖4.2應(yīng)用電路本文以STC12C5A80S2為核心,利用模擬舵機(jī)的機(jī)械部分,其中包括小型直流電機(jī)和一個(gè)反饋可調(diào)電位器,來(lái)組成一個(gè)閉環(huán)的舵機(jī)控制系統(tǒng),直流電機(jī)用H橋芯片LG9110來(lái)驅(qū)動(dòng),電位器進(jìn)行角度測(cè)量,通過(guò)單片機(jī)的內(nèi)部A/D轉(zhuǎn)換來(lái)反饋實(shí)時(shí)角度,上位機(jī)通過(guò)RS232串口與單片機(jī)進(jìn)行通信,將所設(shè)定的角度送到單片機(jī),單片機(jī)通過(guò)編程產(chǎn)生PWM信號(hào),經(jīng)由LG9110驅(qū)動(dòng),控制電機(jī)的正反轉(zhuǎn)。整體電路原理框圖如圖5.1所示圖5.1整體電路原理框圖控制流程如下:

⑴上位機(jī)設(shè)定-90°到+90°之間的角度,通過(guò)串口發(fā)送到單片機(jī);⑵單片機(jī)讀取角度v并將其轉(zhuǎn)換成10位二進(jìn)制數(shù)r;⑶電位器測(cè)量當(dāng)前角度,并將結(jié)果送到單片機(jī)的A/D轉(zhuǎn)換通道進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)果為10為二進(jìn)制數(shù)y;5.2系統(tǒng)硬件設(shè)計(jì)CLi-VI-QHDgJI-Oai-iC3-h-dVJl-1k-a141U-O~I~~|~~~~~I~-II=,==iM-4__\-□□a,U1JLFt1.1PiiT—L—f'Ei:cxifjII~~|eorMCLi-VI-QHDgJI-Oai-iC3-h-dVJl-1k-a141U-O~I~~|~~~~~I~-II=,==iM-4__\-□□a,U1JLFt1.1PiiT—L—f'Ei:cxifjII~~|eorMH'V的血B)M1ijKDL;iPOJiADJ)時(shí)血MS)H.+iACt)5|KCTijPflJfADi)蹄皿JEK,^rAiE.-Jld&|P£BHFkTAl?)GtnsgI~~~~hd"-Wm3LDA.IM]DILTJU]dWDJLW5DJLUJ4EDMFmrE5Ji(-ZTEli更i貯WLJEM-tD)XI心R-S;A1S)FJ.*:£!::lP!i;M.L)lPJl(AP)10州U)7DLTIL7:,,-n-5圖5.1系統(tǒng)原理圖6.系統(tǒng)主程序系統(tǒng)硬件電路設(shè)計(jì)方案確定以后,主要功能將依賴于系統(tǒng)軟件編程來(lái)實(shí)現(xiàn)??刂葡到y(tǒng)能否正常可靠地工作,除了硬件設(shè)計(jì)合理外,功能完善的軟件設(shè)計(jì)是非常關(guān)鍵的。這一部分將詳細(xì)闡述本設(shè)計(jì)方案所需實(shí)現(xiàn)的功能、系統(tǒng)軟件資源分配,上位機(jī)的設(shè)計(jì)方案及具體實(shí)現(xiàn)方法。6.1主程序設(shè)計(jì)要點(diǎn)在論述具體的軟件程序設(shè)計(jì)之前,先對(duì)軟件設(shè)計(jì)的原則、方法等軟件設(shè)計(jì)要點(diǎn)作簡(jiǎn)要的闡述,這是進(jìn)行軟件程序設(shè)計(jì)的依據(jù)和手段。應(yīng)用程序的主要設(shè)計(jì)原則是:⑴軟件設(shè)計(jì)與硬件電路設(shè)計(jì)需綜合考慮。⑵軟件設(shè)計(jì)必須保證系統(tǒng)的各個(gè)硬件功能模塊能夠協(xié)調(diào)工作,完成指定的系統(tǒng)功能。⑶各項(xiàng)功能程序設(shè)計(jì)實(shí)現(xiàn)模塊化。⑷合理規(guī)劃程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū),為功能的擴(kuò)展預(yù)留空間,方便今后系統(tǒng)的功能完善和軟件升級(jí)。⑸采取軟件抗干擾措施,保證系統(tǒng)更可靠的運(yùn)行。6.2上位機(jī)目前,在許多單片機(jī)應(yīng)用系統(tǒng)中,上、下位機(jī)分工明確,作為下位機(jī)核心器件的單片機(jī)往往只負(fù)責(zé)數(shù)據(jù)采集和通信,而上位機(jī)通常以基于圖形界面的Windows核心為操作平臺(tái),為便于查詢和保存數(shù)據(jù),還需要數(shù)據(jù)庫(kù)的支持,這種應(yīng)用的核心是數(shù)據(jù)通信,它包括單片機(jī)和上位機(jī)之間、客戶端和服務(wù)器之間以及客戶端和客戶端之間的通信,而單片機(jī)和上位機(jī)之間數(shù)據(jù)通信則是整個(gè)系統(tǒng)的基礎(chǔ)。單片機(jī)和PC的通信是通過(guò)單片機(jī)和PC串口之間的硬件連接實(shí)現(xiàn)的。7.系統(tǒng)調(diào)試7.1硬件調(diào)試由于本設(shè)計(jì)硬件比較簡(jiǎn)單,分兩個(gè)模塊:?jiǎn)纹瑱C(jī)模塊和電平轉(zhuǎn)換模塊,所以硬件調(diào)試主要是單片機(jī)模塊。在電路制作完成后,不要急于上電測(cè)試,而首先必須做好以下調(diào)試前的檢查工作。檢查連線情況:⑴經(jīng)常碰到的有錯(cuò)接(即連線的一端正確,而另一端誤接)、少接(指安裝時(shí)漏接的線)及多接(指在電路上完全是多余的連線),等連線錯(cuò)誤。檢查連線可以直接對(duì)照電路原理圖進(jìn)行,但若電路中布線較多,則可以以元器件(如運(yùn)放、三極管)為中心,依次檢察查其引腳的有關(guān)連線,這樣不僅可以查出錯(cuò)接或少接的線,而且也較易發(fā)現(xiàn)多余的線。⑵為確保連線的可靠,在查線的同時(shí),還可以用萬(wàn)用表電阻檔對(duì)接線作連通檢查,而且最好在器件外引線處測(cè)量,這樣有可能查出某些“虛焊”的隱患。⑶檢查元器件焊接情況:元器件的檢查,重點(diǎn)要查有極性的元件有否接錯(cuò),以及外引線間有否短路,同時(shí)還須檢查元器件焊接處是否可靠。這里需要指出,在焊接前,必須對(duì)元器件進(jìn)行檢測(cè),確保元器件能正常工作,以免給調(diào)試帶來(lái)不必要的麻煩。⑷檢查電源輸入端與公共接地端間有否短路在通電前,還需用萬(wàn)用表檢查電源輸入端與地之間是否存短路,若有則須進(jìn)一步檢查其原因。⑸在完成了以上各項(xiàng)檢查并確認(rèn)無(wú)誤后,才可通電調(diào)試,但此時(shí)應(yīng)注意電源的正、負(fù)極性不能接反??紤]到本設(shè)計(jì)只是一次學(xué)習(xí)過(guò)程,對(duì)性能要求不是很高,所以采用下載線的5VVCC供電這樣的方法,電路也盡可能的精簡(jiǎn)。在檢查驅(qū)動(dòng)電路時(shí),在未加單片機(jī)使能控制的情況下,通電待系統(tǒng)工作后,用萬(wàn)用表測(cè)量LG9110的1腳和4腳是否有輸出。若輸出電壓大小不符合要求,則說(shuō)明驅(qū)動(dòng)芯片有問(wèn)題。若確定驅(qū)動(dòng)電路無(wú)誤,則對(duì)單片機(jī)使能,下載調(diào)試好的程序到單片機(jī),使系統(tǒng)運(yùn)行。用萬(wàn)用表檢查單片機(jī)的各個(gè)引腳,尤其是PB1、PB2的PWM輸出引腳的電壓大小是否接近理論值,若不是或者沒(méi)有輸出,則直接給定該端口賦固定的位變量值,觀察輸出情況,符合要求,則說(shuō)明是軟件問(wèn)題。具體調(diào)試見(jiàn)軟件調(diào)試。單片機(jī)輸出符合要求后,連接上舵機(jī),觀察舵機(jī)是否在指定位置停住轉(zhuǎn)動(dòng),若在指定位置左右來(lái)回轉(zhuǎn)動(dòng),說(shuō)明PD參數(shù)沒(méi)調(diào)好;若舵機(jī)一直轉(zhuǎn)到盡頭停不下來(lái)則說(shuō)明舵機(jī)反饋端斷開(kāi),或者單片機(jī)讀不到正確的A/D轉(zhuǎn)換值。綜合調(diào)試過(guò)程中的各種問(wèn)題后,在老師的指導(dǎo)下,最終得出期望的結(jié)果,調(diào)試成功。7.2軟件調(diào)試把調(diào)試好的程序下載到單片機(jī)中,接上電源,檢驗(yàn)程序是否如自己所設(shè)計(jì)的那樣可以實(shí)現(xiàn)所要求的功能。如果電路板上的結(jié)果和設(shè)想的不同,由于在硬件檢查部分已經(jīng)確定了硬件沒(méi)問(wèn)題。則應(yīng)該是軟件部分即程序方面的問(wèn)題。需要檢查程序。首先檢外接收中斷部分,接收到的數(shù)據(jù)是否能夠正確讀取,并轉(zhuǎn)換成設(shè)定的角度值。接收部分沒(méi)問(wèn)題再檢查T1定時(shí)器的設(shè)置,選用的頻率、工作模式,PB1、PB2端口是否設(shè)置為輸出。因?yàn)榍懊嬉呀?jīng)確定硬件沒(méi)有問(wèn)題了,所以,在軟件調(diào)試的時(shí)候可以結(jié)合硬件來(lái)在線調(diào)試,這樣很直觀,而且發(fā)現(xiàn)問(wèn)題也很容易,觀察舵機(jī)是否還在所指定角度來(lái)回轉(zhuǎn)動(dòng),耐心的調(diào)試,直到舵機(jī)準(zhǔn)確的達(dá)到指定的角度并停止轉(zhuǎn)動(dòng)。調(diào)試是整個(gè)設(shè)計(jì)的關(guān)鍵部分,調(diào)試的成功與否關(guān)系到系統(tǒng)運(yùn)行的成功與否,所以在調(diào)試時(shí)要格外的細(xì)心和有耐心,在自己的努力和老師的指導(dǎo)下最終調(diào)試成功。參考文獻(xiàn):童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.先鋒工作室.單片機(jī)程序設(shè)計(jì)實(shí)例[M].北京:清華大學(xué)出版社,2003.馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù)[M].北京:電子工業(yè)出版社,2007.金春林,邱慧芳,張皆喜.AVR系列單片機(jī)C語(yǔ)言編程與應(yīng)用實(shí)例[M].北京清華大學(xué)出版社,2003.李江全,朱東芹.VisualBasic數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn)[M].北京:人民郵電出版社,2010.#include<stc12c5a.h>〃頭文件#defineucharunsignedchar#defineuintunsignedintuncharsig=0,count,s1num,miao,shi,fen;floatflag=0,init=0,miao1=0,shi1=0,fen1=0,AD=0;sbitrs=P3A2;〃定義1602液晶RS端sbitrw=P2A6;sbitlcden=P3A3;//定義1602液晶LCDEN端sbits1=P2A3;〃定義按鍵--功能鍵sbits2=P2A2;//定義按鍵--增加鍵sbits3=P2A1;〃定義按鍵--減小鍵sbits4=P2A0;〃確定鍵ucharcodetable[]="trueangle:";//定義初始上電時(shí)液晶默認(rèn)顯示狀態(tài)ucharcodetable1[]="angle:";voiddelay(uintz)//延時(shí)函數(shù)(uintx,y;for(x=z;x>0;x--)for(y=120;y>0;y--);}voidPWM_init(void){CMOD=0x80;〃設(shè)置PCA定時(shí)器CCON=0x00;CL=0x00;CH=0x00;CCAPM0=0x42;//PWM0設(shè)置PCA工作方式為PWM方式(01000010)CCAP0L=0x00;〃設(shè)置PWM0初始值與CCAP0H相同CCAP0H=0x00;//PWM0初始時(shí)為0CCAPM1=0x42;//PWM1設(shè)置PCA工作方式為PWM方式(使用時(shí)刪除//)CCAP1L=0x00;〃設(shè)置PWM1初始值與CCAP0H相同CCAP1H=0x00;//PWM1初始時(shí)為0CR=1;//啟動(dòng)PCA定時(shí)器}voidPWM0_set(unsignedchara,unsignedcharb){CCAP0L=a;〃設(shè)置值直接寫入CCAP0LCCAP0H=a;〃設(shè)置值直接寫入CCAP0HCCAP1L=b;〃設(shè)置值直接寫入CCAP0LCCAP1H=b;〃設(shè)置值直接寫入CCAP0H}voidad_init()//AD初始化函數(shù){ADC_CONTRI=0x80;//開(kāi)A/D電源delay(100);〃必要的延時(shí)P1ASF=0x01;//P1.0作為模擬量輸入口delay(100);//必要的延時(shí)ADC_CONTR=0xc0;//開(kāi)A/D電源

delay(100);}voidcon_init(void){SCON=0x5a;PCON=0X80;TMOD=0x20;TH1=TL1=-13;TR1=1;}voidSendData(chardat){TI=0;SBUF=dat;while(!TI);}RecData(void){intdat;while(!RI);RI=0;dat=SBUF;returndat;}voidwrite_com(ucharcom)//液晶寫命令函數(shù){rw=0;rs=0;//8bitdata//8bitdata,noparitybit//T1as8-bitautoreload//SetUartbaudrate//ClearTIflag//Waitforthepreviousdataissen//Waitforthepreviousdataissen//ClearTIflag//SendcurrentdataP0=com;delay(5);lcden=1;delay(5);lcden=0;}voidwrite_date(uchardate)//液晶寫數(shù)據(jù)函數(shù){rw=0;rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}voidwrite_sfm(ucharadd,uchardate)//寫時(shí)分秒函數(shù){ucharge;ge=date;write_com(0x80+0x40+add);//設(shè)置顯示位置write_date(0x30+ge);//送去液晶顯示個(gè)位}voidlcdinit()//初始化函數(shù)(ucharnum;lcden=0;rw=0;fen=0;//初始化種變量值miao=0;shi=0;count=0;s1num=0;write_com(0x38);//初始化1602液晶write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);//設(shè)置顯示初始坐標(biāo)for(num=0;num<11;num++)//顯示年月日星期(write_date(table[num]);delay(5);}write_com(0xc0);//設(shè)置顯示初始坐標(biāo)for(num=0;num<11;num++)//顯示年月日星期(write_date(table1[num]);delay(5);}write_sfm(14,miao);//分別送去液晶顯示write_sfm(13,fen);write_sfm(12,shi);}voidkeyscan()//按鍵掃描函數(shù){if(s1==0){delay(5);if(s1==0)//確認(rèn)功能鍵被按下{s1num++;//功能鍵按下次數(shù)記錄while(!s1);//釋放確認(rèn)if(s1num==1)//第一次被按下時(shí){write_com(0x80+0x40+14);//光標(biāo)定位到秒位置write_com(0x0f);//光標(biāo)開(kāi)始閃爍}if(s1num==2)//第二次按下光標(biāo)閃爍定位到分鐘位置{write_com(0x80+0x40+13);}if(s1num==3)//第三次按下光標(biāo)閃爍定位到小時(shí)位置{write_com(0x80+0x40+12);}if(s1num==4)//第四次按下{s1num=0;//記錄按鍵數(shù)清零write_com(0x0c);//取消光標(biāo)閃爍}}}if(s1num!=0)//只有功能鍵被按下后,增加和減小鍵才有效{if(s2==0){delay(5);if(s2==0)//增加鍵確認(rèn)被按下{while(!s2);//按鍵釋放if(s1num==1)//若功能鍵第一次按下{miao++;〃則調(diào)整秒加1if(miao==10)//若滿60后將清零miao=0;write_sfm(14,miao);//每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+14);//顯示位置重新回到調(diào)節(jié)處}if(s1num==2)//若功能鍵第二次按下{fen++;//則調(diào)整分鐘加1if(fen==10)//若滿60后將清零fen=0;write_sfm(13,fen);//每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+13);//顯示位置重新回到調(diào)節(jié)處}if(s1num==3)//若功能鍵第三次按下{shi++;//則調(diào)整小時(shí)加1if(shi==2)//若滿24后將清零shi=0;write_sfm(12,shi)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論