版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)校代碼: 10128學(xué) 號:010202064本科畢業(yè)設(shè)計說明書題目:分揀機器人單片機控制系統(tǒng)設(shè)計學(xué)生姓名: 學(xué)院: 系別:專業(yè):班級:指導(dǎo)教師:二o 一七年五月摘要一般的分揀機器人由于其操作方式較復(fù)雜,分揀的效率較差,人機交互系統(tǒng) 的不太完善,機械性能欠佳等已經(jīng)很難滿足當(dāng)今社會的生產(chǎn)實踐需要。伴隨著社 會的飛速發(fā)展,人們對性能優(yōu)良智能分揀人的需求也與日俱增。設(shè)計一款基于單 片機的分揀機器人有很大的實踐需要和社會功能。根據(jù)控制系統(tǒng)的要求,決定采 用美國INTEL公司MCS-51系列單片機基本產(chǎn)品89C52,作為分揀機器人的主控 制芯片。它具有運行速度快,功耗低,抗干擾能力強等優(yōu)點,能夠完全我
2、的設(shè)計 要求。本系統(tǒng)包括硬件和軟件兩個部分。硬件系統(tǒng)主要包括電壓轉(zhuǎn)換電路的設(shè)計、 單片機連接PC機串口電路的設(shè)計,單片機系統(tǒng)的設(shè)計,驅(qū)動電路的設(shè)計,顯示 電路的設(shè)計等。在電路圖板上完成各模塊的設(shè)計與連接。分析易得,此系統(tǒng)可以 完全滿足設(shè)計需要。通過光耦等器件克服電機驅(qū)動部分與單片機部分的相互干擾。關(guān)鍵詞:單片機;硬件設(shè)計;軟件編程;89C52AbstractThe general sorting robot is more complicated due to its operation sorting is less efficient, human-computer interaction
3、 system is not perfect, poor mechanical performance has been difficult to meet the needs of today,s social production practice. Accompanied by the rapid development of society, the demand for smart sorters is also growing。 The design of a sorting robot based on a single chip has a great practical ne
4、ed and social function.According to the requirements of the control system, Decided to adopt the United States INTEL MCS-51 series of basic products 89C52, as the main control chip for the sorting robot, It has the advantages of fast running speed, low power consumption and strong anti-interference
5、ability, can be completely my design requirementso The system includes both hardware and softwareo The hardware system mainly includes the design of voltage conversion circuit, design of serial circuit of PC computer connected by single chip microcomputer, design of Single Chip Microcomputer System,
6、 design of the drive circuit, display circuit design, etc。 In the circuit board to complete the design and connection of the moduleo Analysis easy to get, This system can fully meet the design needs。 Through the optocoupler and other devices to overcome the motor drive part and the microcontroller p
7、art of the mutual interference。Keywords:Single chip, hardware design, software programming, 89C52目錄第一章前言11.1 本論文的背景和意義11.2 研究現(xiàn)狀11.3 本論文的主要方法與研究進展21.4 本論文的工作原理框圖21.5 本論文的主要內(nèi)容3第二章系統(tǒng)方案設(shè)計42.1 單片機型號的論證與選擇42.2 數(shù)據(jù)顯示模塊的論證與選擇52.3 驅(qū)動器模塊的論證與選擇62.4 電磁閥的論證與選擇72.5 總體的方案比較與選擇7第三章系統(tǒng)硬件電路設(shè)計83.1 STC89C52RC單片機模塊83.1.1
8、中央處理單元CPU的介紹83.1.2 STC89C52RC單片機的特點93.2 復(fù)位電路模塊103.3 振蕩電路模塊103.4 LCD12864液晶顯示器模塊113.5 繼電器驅(qū)動電路113.6 8255電機驅(qū)動123.7 外部定時器123.8 下載電路14第四章軟件系統(tǒng)設(shè)計154.1 程序流程圖154.2 塊初始化函數(shù)154.2.1 定時器初始化和pwm的模擬154.1.2 12864液晶的初始化204.2 按鍵檢測程序254.3 電機運行狀態(tài)控制程序274.3.1 電機控制方法簡介274.3.2 電機速度控制策略274.4 機械爪控制程序314.5 鎖存器74LS573控制程序32第五章設(shè)
9、計總結(jié)及技術(shù)展望33致謝34參考文獻35附錄1系統(tǒng)設(shè)計電路總圖36第一章前言1.1 本論文的背景和意義隨著人類社會的進步,人類的聰明才智使得工具越來越先進。工具一直是為 人類服務(wù)而被生產(chǎn)和改進。工具的進步使人類勞動更加方便,能夠在更困難的環(huán) 境中工作。機器人的誕生是通過解放人類的雙手和大腦,從社會生產(chǎn)力的枯竭和 生產(chǎn)更方便的工具。自恩格爾伯格先生的發(fā)明1,機器人已經(jīng)在過去的100年里發(fā)生了很大的 變化。目前,機器人已廣泛應(yīng)用于人類生產(chǎn)活動的各個領(lǐng)域。在現(xiàn)代工廠中,白 天不懂夜的黑,輸送搬運物品,危險完成排爆排爆機器人代替人類工作,甚至坐 在宇宙飛船探索宇宙去探索人類未知的世界。與人類相比,機器
10、人有許多優(yōu)點。 機器人不怕累,怕臟,不怕苦。在危險的情況下,機器人的功能突出。而且,機 器人工作的準(zhǔn)確性比較高,人們不會受到同樣情緒波動的影響。機器人的運動方 式主要是機械運動,電機驅(qū)動2是其主要控制方式。單片機控制電機驅(qū)動3在當(dāng)今社會很普遍。隨著單片機理論和硬件系統(tǒng)的 更替,單片機控制技術(shù)在國民經(jīng)濟發(fā)展中起著重要的作用。自20世紀(jì)70年代單 片機誕生以來,先后經(jīng)歷了單片機、單片機和SOC三個發(fā)展階段。目前,供應(yīng)鏈 管理正朝著高性能、多品種方向發(fā)展。未來的趨勢將是CMOS,低功耗,小體積, 高性能,低價格,外圍電路。目前,如功率表、示波器等智能儀表,在工業(yè)控制、 家用電器、各種大型電器等的模塊
11、化應(yīng)用中,都有單片機的使用。單片機滲透到 我們工作的各個領(lǐng)域。1.2 研究現(xiàn)狀國外分揀系統(tǒng)起步較早,目前普遍采用自動化的分揀系統(tǒng),在我國分揀系統(tǒng) 起步較晚,目前主要采用人工分揀方式。智能分揀系統(tǒng)發(fā)展依賴于機械設(shè)計水平 的不斷提高,在自動分揀系統(tǒng)中4,機械手爪設(shè)計科學(xué)性影響系統(tǒng)的正常工作。 自動分揀系統(tǒng)是二戰(zhàn)后,發(fā)達(dá)國家為了提升運送物品效率提出的一種作業(yè)方式, 廣泛應(yīng)用于大型商場、快遞行業(yè)。分揀系統(tǒng)適用于大批量的分揀貨物,降低了出 錯概率。此系統(tǒng)的出現(xiàn)極大的減少了人員使用。隨著技術(shù)的發(fā)展,國外的分揀系 統(tǒng)呈現(xiàn)出自動化程度越來越高5,精確度越來越高。但是系統(tǒng)一次性投入較大, 資本回收較慢,系統(tǒng)結(jié)構(gòu)
12、復(fù)雜,同時對商品外觀要求較高,因此國內(nèi)發(fā)展較慢。 而機械機械手在國外發(fā)展也較快,由于國外起步較早,其機床加工水平相對較高, 機械手爪的生產(chǎn)主要使用自動化機械生產(chǎn),產(chǎn)品工藝水平高,同時機械手臂自由 度公式的出現(xiàn),加快了工業(yè)水平的提升,通過理論計算可以得到機械手臂的尺寸 以及需要多少相關(guān)的模塊678。在進行設(shè)計之前可以進行仿真分析每個部 件受到的力度,優(yōu)化各部分尺寸的設(shè)計。在國內(nèi)分揀系統(tǒng)起步較晚,目前還是主要采用人工分揀方式。我國的分揀系 統(tǒng)集約化程度低。企業(yè)投資一般集中在貨架以及傳送帶等設(shè)備上面。物流體系整 體運轉(zhuǎn)較低,技術(shù)設(shè)備相對落后。隨著技術(shù)的發(fā)展,我國自動分揀系統(tǒng)也在不斷 發(fā)展,我國可以自
13、主生產(chǎn)多種自動分揀機,如托盤式翻板式與交叉帶式分揀機等, 主要應(yīng)用于配送中心、郵政、機場等部門。但精度還需要提高。同時我國的機械 加工水平不斷提升,我國機械加工起步較晚,但隨著車床等技術(shù)的引進,發(fā)展較 快。1.3 本論文的主要方法與研究進展本畢業(yè)設(shè)計論文以生產(chǎn)實踐中所出現(xiàn)的問題為出發(fā)點,為了滿足市場化需要,提升我國的自動化水平,本文擬研究一款基于單片機的分揀機器人。 該系統(tǒng)采用傳送結(jié)構(gòu)實現(xiàn),傳送帶負(fù)責(zé)將物件傳送等待分揀,紅外檢測到 物品到達(dá)時,單片機控制伺服電機抓取物品,放置在對應(yīng)的物品箱。1.4 本論文的工作原理框圖本設(shè)計采用以單片機為控制核心,實現(xiàn)抓物的基本動作功能,基于紅 外技術(shù)的收發(fā)系
14、統(tǒng)實時檢測機器抓物的設(shè)計與實現(xiàn)的工作原理框圖如圖 1.4所示。圖1.4工作原理框圖1.5 本論文的主要內(nèi)容研究伺服電機與步進電機區(qū)別,伺服電機的工作原理,單片機控制器使用驅(qū) 動器高精度控制伺服電機的運動9,可以實現(xiàn)水平、垂直兩個軸的定位控制和 機械手爪的開合控制;(1)手爪運行速度可達(dá)3m/s,定位精度不小于0.5mm;(2)要具有較好的人機接口和安全性措施;(3)控制系統(tǒng)具有與其它計算機通訊功能。第二章系統(tǒng)方案設(shè)計2.1單片機型號的論證與選擇方案一:51單片機優(yōu)點:STC89C52RC是51單片機,它的成本低性能高而且支持ISP和IAP技 術(shù)。用戶可以在系統(tǒng)板上燒錄自己的程序,修改調(diào)試非常簡
15、單方便。IAP技術(shù)能 將內(nèi)部部分EEPROM可以用專用Flash代替使用,保證停電后能保證數(shù)據(jù)不丟失, 擦寫次數(shù)可以達(dá)到100000多次,不用外接EEPROM。而且與傳統(tǒng)8051單片機程 序兼容,硬件無需改動。缺點:作為8位的單片機,運行速度相對來說比較慢。而且普通的非加強版 51單片機并不帶內(nèi)部時鐘電路,如果不外接振蕩電路就無法工作,5v的工作環(huán) 境相對來說比較耗電。方案二:MSP430單片機優(yōu)點:使用MSP430系列單片機。MSP430系列單片機是美國德州儀器公 司生產(chǎn)的一種16位微處理器,使用的是精簡指令集。MSP430單片機最顯著 特點就是超低功耗。微小的電量就能使單片機正常工作,中央
16、處理器可的 工作電壓在1.8V3.3V之間10。缺點:超低功耗使得單片機只需要3.3v就能工作,但是這也使得很多需要 5v才能工作的硬件電路需要外加驅(qū)動才能工作,使得硬件設(shè)計復(fù)雜化。而且430 單片機不帶片內(nèi)EEPROM,這就使得430單片機不能執(zhí)行一些特殊指令。430單片 機作為16位單片機雖然運行速度快了一些但是價格卻高了很多,在產(chǎn)品設(shè)計中 無疑會增加產(chǎn)品的成本。方案三:STM32單片機優(yōu)點:STM32F1系列屬于32位ARM微控制器中的中低端產(chǎn)品,由意法半導(dǎo) 體公司生產(chǎn),Cortex-M3內(nèi)核??捎蒄lash的大小可分為小容量、中容量、大 容量。芯片集成定時器,CAN, ADC, SPI
17、, I2C, USB, UART,等多種功能11。 所以STM32單片機基本具備51和430單片機的所有優(yōu)點,而且隨著STM32的普 及,部分STM32的低端產(chǎn)品甚至比430還要便宜。缺點:基于ARM內(nèi)核的STM32單片機的價格也是單片機中價格最高的,而且 程序編寫復(fù)雜,初學(xué)者不容易看懂。綜上所述,STM32單片機雖然最強,但是由于其出色的性能與高昂的價格, 使得它并不適用于小型的電子產(chǎn)品的應(yīng)用,430單片機可以說除了低功耗基本沒 有任何優(yōu)點。至于51單片機,作為年代最早的單片機,它使用的方式簡單,基 本能滿足多種小型電子產(chǎn)品設(shè)計的需求,而且它使用和學(xué)習(xí)都十分簡單,比較能 被更多人接收。通過對
18、比使用STC89C52RC單片機。2.2 數(shù)據(jù)顯示模塊的論證與選擇方案一:數(shù)碼管優(yōu)點:數(shù)碼管是由半導(dǎo)體發(fā)光器件組成,主要是由八個發(fā)光二極管工作。而 且數(shù)碼管擁有兩種驅(qū)動方式,靜態(tài)顯示驅(qū)動和動態(tài)驅(qū)動,但是無論是動態(tài)驅(qū)動還 是靜態(tài)驅(qū)動,數(shù)碼管都有高亮度和低功耗的優(yōu)點。而且數(shù)碼管的使用相當(dāng)?shù)暮唵?且價格低廉。缺點:不同位數(shù)的數(shù)碼管的管腳數(shù)不同,位數(shù)越多管腳越多。所有的數(shù)碼管 都需要外接驅(qū)動電路,焊接比較復(fù)雜而且能顯示的內(nèi)容相當(dāng)有限。方案二:LCD1602優(yōu)點:LCD1602為平面薄型顯示設(shè)備,LCD1602能夠顯示字母、符號和 數(shù)字,能夠顯示16*2個字符,能夠顯示較多信息。而且 LCD1602價格
19、低, 體積小,功耗低等優(yōu)點,被廣泛的用作各種儀器的顯示器。缺點:1602除了程序上要求復(fù)雜一點基本沒有缺點。方案三:LCD12864優(yōu)點:12864液晶顯示模塊分為有字庫和無字庫兩種,都是由 128*64 個點陣構(gòu)成,該模塊可以較多的各種文字?jǐn)?shù)字字符圖案等信息。而且使用 較為方便。缺點:該模塊的價格較高,有字庫的12864在編程是容易出現(xiàn)字符亂 碼的現(xiàn)象,處理起來較為麻煩。綜上所述,LCD1602具有很大的優(yōu)勢,但是考慮到實際的需求,雖然數(shù) 碼管的使用硬件設(shè)計比較復(fù)雜,但是很多情況下可以直接使用驅(qū)動芯片來 代替驅(qū)動電路,而且在大部分電子產(chǎn)品中液晶 LCD1602的使用并不是很普 及,比如它顯示
20、的字符特別小,且不可改變,大部分電子產(chǎn)品中使用的都 是筆段式液晶,其原理和用法和數(shù)碼管一樣,但是成本卻比數(shù)碼管要高得 多,但是這兩種模塊都只能十分局限的顯示數(shù)字字母等信息,無法符合本 次設(shè)計的要求,以本次設(shè)計選擇了無字庫的 LCD12864。2.3 驅(qū)動器模塊的論證與選擇方案一:繼電器優(yōu)點:繼電器是在電氣輸出電路中使用的電氣控制裝置,使用較為廣泛,用 法簡單。而且根據(jù)不同的要求還分為不同的繼電器,普通的繼電器價格也十分的 低。缺點:繼電器的使用需要外接驅(qū)動電路,而且不同的功率的繼電器所需要的 驅(qū)動的電壓也不同,所以使用繼電器時要考慮到電源的要求。方案二:可控硅優(yōu)點:使用簡單,無論多大功率的可控
21、硅都只需要高低電平就能驅(qū)動,不需要考 慮控制端電源的要求。缺點:只適用于交流電。綜上所述:本次設(shè)計不需要使用大功率電機,所以普通的繼電器就能工作, 所以選擇繼電器。2.4 電磁閥的論證與選擇方案一:直動式電磁閥在通電時電磁力會將關(guān)閉閥門的開關(guān)提起,閥門就打開了,斷電的時候電磁 力消失開關(guān)又開始工作閥門就會關(guān)閉12。優(yōu)點:能在各種環(huán)境下工作。缺點:孔徑太小,用處很局限。方案二:先導(dǎo)式電磁閥在通電的時候電磁力會先把導(dǎo)孔打開,這樣會使上腔的壓力下降,在關(guān)閉開 關(guān)周圍形成壓差,流體產(chǎn)生的壓力毀推動開關(guān)向上移動,閥門開啟。同樣斷電, 閥門關(guān)閉13。優(yōu)點:可以通過定制隨意安裝。缺點:工作時有流體壓差的限制
22、。綜上所述,作為機械手,需要滿足任意性,有力度限制,所以選擇先導(dǎo)式電 磁閥。2.5 總體的方案比較與選擇該設(shè)計運動主要利用直流電機實現(xiàn)在平面上運動,數(shù)字金屬舵機構(gòu)成機械手 抓取物體。利用按鍵控制裝置到達(dá)指定位置,再由機械手抓取物體,再將物體送 往指定位置,從而實現(xiàn)物體的分揀。13主控芯片選擇較多,有常見的AVR、STC、ARDUINO等。根據(jù)之前學(xué)過的課 程,我們決定采用stc系列的STC89c5A60S2增強型單片機作為主控芯片。之所 以不選89C52等芯片,不是因為他們的運算速度不夠,主要原因是它們的片上 flash太小,難以滿足需求,其次是因為自己有閑置的STC89C5A60S2,片上內(nèi)
23、存 大,運算速度1T,即充分利用資源節(jié)省成本,又可以實現(xiàn)所需要的功能需求。最后就是附屬配件usb轉(zhuǎn)ttl串口的stc下載線。選擇采用cp2102作為usb轉(zhuǎn)串口芯片方案,下載STC單片機完勝PL2303 方案,最高下載速度可達(dá)115200波特率。第三章系統(tǒng)硬件電路設(shè)計3.1 STC89C52RC單片機模塊3.1.1 中央處理單元CPU的介紹STC89C52RC單片機是宏晶科技推出一款超低功耗、抗干擾、高速的單 片機。STC89C52RC單片機選用8051核的ISP在系統(tǒng)可編程芯片。它具有結(jié) 構(gòu)簡單,易于開發(fā)和價格便宜等特點。STC89C52RC單片機有兩種工作電壓,一種是 2.0V-3.8V,
24、即3V電壓單 片機,另一種是3.4V-5.5V,即5V電壓單片機,本設(shè)計選用5V電壓單片機。STC89C52RC單片機具有很寬廣的工作溫度范圍,工業(yè)級的單片機能夠 工作在-40 至85 的環(huán)境里,商業(yè)級的單片機能夠工作在0 至75 的環(huán) 境里。STC89C52RC單片機的工作頻率最大能夠達(dá)到 48MHz,這樣它就能夠以 飛快的速度去處理相關(guān)數(shù)據(jù)。STC89C52RC單片機內(nèi)部擁有專用復(fù)位電路,當(dāng)外部晶體頻率在20MHz以下時,可以省去外部的復(fù)位電路。STC89C52RC單片機是一種低功耗、抗干擾性強、速度快的單片機。 STC89C52RC單片機在系統(tǒng)可編程芯片上使用8051核isp。其特點是結(jié)
25、構(gòu)簡 單,開發(fā)簡單,價格低廉。STC89C52RC微控制器有兩種工作電壓,一種是 2.0 V到3.8 V,即三V 電壓單片微機,另一種是3.4 V到3.4 V,5 V電壓單芯片微機,這種設(shè)計 選擇5伏電壓單片機。STC89C52RC單片機具有廣泛的工作溫度范圍,工業(yè)級 MCU可在40到 85的環(huán)境中工作,在0到75的環(huán)境中,單片微型計算機的商業(yè)水平可以工 作。STC89C52RC單片機的工作效率最高為48MHz,因此它可以以快速的速 度處理相關(guān)數(shù)據(jù)。STC89C52RC單片機有一個專用的復(fù)位電路,當(dāng)外部的晶體頻率低于 20MHz時,它可以保存外部復(fù)位電路 3.1.2 STC89C52RC單片機
26、的特點1.512字節(jié)的RAM;2 .eepm 功能;3 .兩個16位的定時器/計數(shù)器;4 .看門狗;5 .有一個程序系列的UART通道;6 .六個中斷;7 .低功耗模式;8 .有三個級別的加密內(nèi)存+5V31Pl 0Pl 1Pl 2Pl 340pn Q*FV.VPO I pfb I3S1A打1I V.d.品Pl 4DA 1R>V. J35Pl 5Pl 6pn j1ITW-BA S34-ftopi 7P06P0 79RST32A* 1LU1P3 0RXDEA VppJI121 fPS I TXDP3,亦TQALE PROGPSENJv-P3 3'INTlP271413P3 4 TOP
27、3 5 TIPI 6P2 5z/261 cL0>P2417P簿EP2314 <?Lavt at tpi 119XTAL1Pl 1in in11 I,vGNDP2Q-1 189C52圖3.1.2 STC89C52RC的管腳圖3.2復(fù)位電路模塊當(dāng)系統(tǒng)接入5V電源時時,STC89C52RC單片機開始復(fù)位,如圖3.3所示復(fù)位 電路模塊電路原理圖。圖3.2復(fù)位電路模塊電路原理圖3.3振蕩電路模塊此次設(shè)計選用的是11.0592MHz的晶振和30pF的電容,那么STC89C52RC 單片機的工作周期是11.0592MHz X (1/11.0592MHz)=1us。如圖3.3所示的 最小時鐘振蕩電
28、路原理圖。1ST11911 0592M20C730一GND圖3.3振蕩電路模塊P3. /KD XT.AL2 XTAL1 GND3.4 LCD12864液晶顯示器模塊本設(shè)計使用LCD2864液晶顯示作為觀察正在執(zhí)行的功能。如圖3.4所示為LCD12864液晶顯示器電路原理圖。6LCD12S6JIU 二n r 序徭2式瑞黑眼罌鎮(zhèn)隆AK圖3.4LCD12864液晶顯示器模塊電路原理圖3.5 繼電器驅(qū)動電路當(dāng)認(rèn)為按下啟動按鍵時,單片機開始工作,給繼電器發(fā)送指令。因為 STC89C52RC單片機端口輸出的電流比較低,所以加一個三極管以增大功率, 驅(qū)動繼電器正常工作。如圖3.5所示的繼電器電路原理圖。圖3
29、.5繼電器驅(qū)動模塊電路原理圖3.68255電機驅(qū)動DRV8255可以驅(qū)動一個二項四線步進電機,也可以驅(qū)動兩個直流電機,與 8-45v輸入電壓,最大電流為1.7a,經(jīng)得起2.5a的瞬時電壓通過PWM輸入驅(qū)動。 可以avref / bvref調(diào)整電機繞組電流的電阻,電流應(yīng)大小的電機額定電流;通 過模型/模型/模式,三角配置細(xì)分驅(qū)動模式,您可以配置2 / 4 / 8 / 16 / 32 細(xì)分。nhome腳,從電源,電機轉(zhuǎn)了 45度的位置,nhome引腳會輸出一個低電平。 如圖3.6.5-<DOnistBIMEKHIr繇刖ai£ekra昭陽仲FBr-H/陽 mptkpcpckkpc-Z
30、AJC肘A2A3煽相恥 pppppppp圖3.68255連接電路3.7外部定時器此次8253作為定時器執(zhí)行復(fù)雜的電機控制器。1 .數(shù)據(jù)母線緩沖器這個三態(tài)、雙向和八位的緩沖器用于將8253與系統(tǒng)數(shù)據(jù)總 線連接起來。CPU執(zhí)行輸入/輸出指令時緩沖器就發(fā)送或接收數(shù)據(jù)。數(shù)據(jù)總線緩 沖器有三個基本功能: 通過編程確定8253的工作方式; 向計數(shù)寄存器裝入數(shù)據(jù); 讀出計數(shù)值。2. 讀/寫邏輯讀/寫邏輯接受來自系統(tǒng)總線的輸入,然后產(chǎn)生控制整個器件 工作的控制信號。由CS信號來允許或禁止讀寫邏輯的工作,因此除非該器件被 系統(tǒng)邏輯選中,否則不會發(fā)生改變其功能的操作。3. RD (讀)這個輸入端上的低電平信號告知
31、8253, CPU正在輸入計數(shù)值。4. WR (寫)這個輸入端上的低電平信號告訴8253, CPU正在輸出工作方式 信息或向計數(shù)器裝入數(shù)據(jù)。5. A0A1這兩個輸入端通常連接到地址總線上。其作用是選擇三個計數(shù)器中 的一個以及選擇控制字寄存器以便選擇工作方式。6. CS (選片)這個輸入端上的低電平信號將啟用8253。除非器件被選中, 否則不會發(fā)生讀或?qū)懖僮?。CS輸入信號對計數(shù)器的實際操作沒有影響8253內(nèi)部 擁有三個獨立但是結(jié)構(gòu)和功能全部相同的定時器。本次設(shè)計使用到了兩個8253, 連接方式如圖3.7。圖3.78253連接圖3.8下載電路本次設(shè)計使用到了 CH340芯片下載,因為現(xiàn)在的筆記本電
32、腦都沒有了并口通 信接口,而用了 CH340就可以實現(xiàn)USB轉(zhuǎn)串口,電腦上裝上驅(qū)動后就可以下載數(shù) 據(jù),接線方式如圖3.8圖所示.圖3.8CH340下載電路第四章 軟件系統(tǒng)設(shè)計4.1 程序流程圖程序采用了順序結(jié)構(gòu),流程圖如下:4.2 塊初始化函數(shù)4.2.1 定時器初始化和pwm的模擬本方案中定時器采用的是8253定時器,該定時器有六種工作方式,我們需 要定時功能。8253的片選端是用來控制定時器工作方式的端口。該端口連接至 單片機io 口。只需要設(shè)置對應(yīng)端口的電平就可以設(shè)置定時器的工作方式。定時 器的作用是用來控制電機的轉(zhuǎn)動時間。由于存在著電機這種設(shè)備,所以需要使用pwm進行調(diào)速。但是51單片機
33、并 不能直接輸出pwm,所以本設(shè)計中通過軟件模擬的方法產(chǎn)生pwm。軟件模擬主要 利用定時器的定時中斷功能。本設(shè)計采用的是51單片機,51單片機內(nèi)部有兩個 定時器,分別是T0和T1,T0和T1是兩個完全一樣的16位定時器。定時器的作 用主要就是定時,在51單片機中定時器的工作方式是以中斷的方式進行的。設(shè) 定一個定時時間當(dāng)定時器定時達(dá)到定時時間后,就會進入定時器中斷。在中斷中 可以處理相關(guān)的事件。在本設(shè)計中定時器中斷的作用是用來模擬產(chǎn)生pwm的。由于51單片機內(nèi)部 不帶硬件pwm,所以需要模擬。模擬的思路是通過定時器設(shè)定時間來控制脈沖的 寬度,其控制思路如下圖所示:上述流程圖是定時器模擬產(chǎn)生pwm
34、的步驟,定時器設(shè)定的定時時間為1ms, 也就是說,定時時間到了 1ms定時器就會進入中斷,在初始化時,要首先設(shè)置好 單片機的工作方式,設(shè)置單片機的工作方式為方式1,定時時間設(shè)為1ms,通過 往寄存器TH和TL中裝入初始值實現(xiàn)計時時間的調(diào)節(jié)。定時時間到1ms時,程序 會自動進入中斷。在中斷服務(wù)程序中可以執(zhí)行相關(guān)的任務(wù)代碼。也就是說程序會 每隔1ms就會進入一次中斷,就會有一個較為準(zhǔn)確的周期性。在中斷中主要進行的是按鍵的處理和pwm的模擬,按鍵的處理將在后續(xù)章 節(jié)中介紹。PWM如下圖所示:tT圖 4.2.1 PWM 圖在上圖中,可以看到pwm是一個方波。占空比是t/T,要讓單片機的管腳輸 出這個占
35、空比,只有通過定時器來實現(xiàn)。首先假設(shè)要輸出的pwm頻率為100hz, 也就是周期T為10ms。在上面已經(jīng)提到設(shè)置單片機的定時時間為1ms,也就是每 個1ms會執(zhí)行一次中斷服務(wù)程序。在中斷服務(wù)程序里設(shè)一個變量flag,每進一 次中斷這個變量就會自增一次,那么變量自增的次數(shù)就可以用來表示時間,每加 一次就是過來1ms。利用這個時間變量就可以設(shè)置單片機輸出的PWM 了。假設(shè)現(xiàn) 在要設(shè)置的占空比是百分之30.那么就是說整個周期中,高電平時間占整個周期 的百分之30.也就是3ms。在程序中是通過判斷定時變量實現(xiàn)的,在第一次進入 中斷時,設(shè)置單片機的一個io 口輸出低電平。當(dāng)?shù)谄叽芜M入中斷時,此時正好 是
36、7ms??刂七@個單片機的io 口輸出電平翻轉(zhuǎn),輸出高電平。當(dāng)?shù)谑芜M入中 斷的時候,此時是第10ms,控制這個io 口再次輸出低電平,如此反復(fù),就可以 模擬出占空比為百分之30的pwm 了。程序代碼如下:void timer0( ) interrupt 1 定時器 0 工作方式 1TH0=0xff; 重裝計數(shù)初值TL0=0x38;重裝計數(shù)初值b+; get_key();按鍵查詢if(p10=0) ( delay(10);延時消抖,按鍵消抖if(p10=0) ( p00=0;p02=p01=p03=1;前進list_write_HZ_Str(6,20,“qianjin");) ) if
37、(p11=0) ( delay(10); if(p11=0) (p01=0;p02=p00=p03=1; list_write_HZ_Str(6,20,“houtui ");后退 ) ) if(p12=0) ( delay(10); if(p12=0) ( p02=0;p00=p01=p03=1;list_write_HZ_Str(6,20,"zuo "); 左邊if(p13=0)(delay(10);if(p13=0)(p03=0;p00=p01=p02=1;右邊運動list_write_HZ_Str(6,20,"you ");)if(p14
38、=0)(delay(10);if(p14=0)(p00=p02=p01=p03=1;list_write_HZ_Str(6,20,“停止 ");)if (key_up=1)if(X!=15)判斷是否計數(shù)到9999加一X=X+1;key_up=0;if (key_down=1) (if(X!=2)判斷是否計數(shù)到0( X=X-1;減一key_down=0; ) ) )4.1.2 12864液晶的初始化12864是一個帶字符庫的液晶,可以顯示128*64個點。12864液晶需要通過 軟件寫入命令和數(shù)據(jù)才可以顯示出字符。在初始化時首先需要寫入命令,讓 12864液晶進入顯示狀態(tài)。設(shè)定顯示地址
39、。指令是根據(jù)12864液晶的數(shù)據(jù)手冊編 寫的。12864液晶的初始化流程如下:程序代碼如下: * 寫指令代碼 * void wcode(uchar cd) 寫指令代碼(chkbusy();寫等待P2=0xff;使能 LCDRW=0;讀禁止RS=0;輸出設(shè)置P2=cd;寫數(shù)據(jù)代碼E=1;以下兩句產(chǎn)生下降沿E=0;)* 把顯示數(shù)據(jù)寫到內(nèi)存單元中 *void wdata(uchar dat)(chkbusy();P2=0xff;RW=0;RS=1;P2=dat 八0xFF;E=1;E=0;寫顯示數(shù)據(jù)寫等待使能LCD讀禁止輸出設(shè)置寫數(shù)據(jù)代碼以下兩句產(chǎn)生下降沿*顯示 LCD 程序*void disrow
40、(uchar page,uchar col,uchar *temp) (uchar i;if(col<64) /左半平面(L=1;R=0;wcode(LCDPAGE+page);/ 寫指令頁wcode(LCDLINE+col); 寫指令行if(col+16)<64)如果字在左半平面顯示不了,轉(zhuǎn)到右半平面去(for(i=0;i<16;i+)wdata(*(temp+i);)else右半平面/寫字for(i=0;i<64-col;i+)/減去左邊數(shù),從右半平面第一位開始顯示wdata(*(temp+i); 寫字顯示L=0;R=1;wcode(LCDPAGE+page);wc
41、ode(LCDLINE); 寫指令行for(i=64-col;i<16;i+) wdata(*(temp+i);)else(L=0;R=1;wcode(LCDPAGE+page);wcode(LCDLINE+col-64);for(i=0;i<16;i+)wdata(*(temp+i);右半平面/寫指令頁寫字右半平面/寫指令頁寫指令行/寫字)/* 供調(diào)用 * 子程序 */ void display( int page, int col,uchar *temp)(disrow( page, col, temp); 顯示上半字disrow( page+1, col, temp+16);
42、顯示下半字)void disrow_ascii(uchar page,uchar col,uchar *temp) (uchar i;if(col<64) /左半平面 (L=1;R=0;wcode(LCDPAGE+page);/ 寫指令頁wcode(LCDLINE+col);寫指令行if(col+8)<64)如果字在左半平面顯示不了,轉(zhuǎn)到右半平面去(for(i=0;i<8;i+) 寫字 wdata(*(temp+i);)else右半平面(for(i=0;i<64-col;i+)減去左邊數(shù),從右半平面第一位開始顯示wdata(*(temp+i); 寫字顯示L=0;R=1;
43、右半平面wcode(LCDPAGE+page);/ 寫指令頁wcode(LCDLINE);寫指令行for(i=64-col;i<8;i+)寫字右半平面wdata(*(temp+i);) else (L=0;R=1;wcode(LCDPAGE+page);/ 寫指令頁wcode(LCDLINE+col-64); 寫指令行 for(i=0;i<8;i+)寫字wdata(*(temp+i); )void display_ascII( int page, int col,uchar *temp) (disrow_ascii( page, col, temp); /顯示上半字disrow_a
44、scii( page+1, col, temp+8);/顯示下半字)*lcd 初始化 * /void iniLCD(void)初始化(L=1;R=1;wcode(0x38);wcode(0x0f); 開顯示設(shè)置wcode(0xc0); 設(shè)置顯示啟動為第一行wcode(0x01); 清屏wcode(0x06); 畫面不動,光標(biāo)右移。list_write_HZ_Str(0,18,電子科技“);list_write_HZ_Str(3,18,“前進”);list_write_HZ_Str(6,20,“停止”);4.2 按鍵檢測程序按鍵檢測程序是整個系統(tǒng)中人機交模塊的重要組成部分。按鍵起著輸入?yún)?shù) 的作
45、用。按鍵檢測的原理是掃描法。當(dāng)按鍵被按下時,按鍵連接著單片機的IO 口就會被拉到地,此時,單片機io電平就會由高電平變成低電平。程序就是掃 描這個電平的變化來檢測按鍵的狀態(tài)的。一旦檢測到某個引腳被拉低,就會進行 相應(yīng)的按鍵處理。在按鍵處理過程中需要有一些問題需要注意。其中最重要的就 是按鍵的消抖問題。按鍵的消抖是按鍵處理過程中不可避免的一環(huán),按鍵的抖動,就是按鍵在按下 過程中,按鍵的觸點之間的接觸并不是理想的直接接觸的,而是有一個抖動的過 程。在松開按鍵的過程中,也會有一個抖動的過程,具體如下圖所示:在上圖中,理想的按鍵檢測波形,是一個沒有任何毛刺的波形,按鍵一按下 就會接觸,一松開就會立馬分
46、離。但是在實際中,按鍵是由機械結(jié)構(gòu)制作的,都 會有一定的彈性。所以觸點在分合時都會有圖中的抖動現(xiàn)象。根據(jù)一般經(jīng)驗,人 手按下按鍵的時間大約在20ms。按下時的抖動時間大約在5ms,松手時抖動也是 5ms。如果不消除這段抖動,那么程序就會檢測到按鍵按下了多次。實際上并沒 有按下多次,只是按下了一次。按鍵的消抖方法主要由硬件法和軟件法兩種。硬件消抖的方法主要是用濾波電路 實現(xiàn)。在本設(shè)計中使用的是軟甲消抖的方法。軟件消抖使用的是延時的策略,由 于按鍵按下時,抖動的時間只有5ms,只要能夠在這段時間內(nèi)不檢測按鍵的狀態(tài), 只在按鍵穩(wěn)定接觸的那段時間內(nèi)檢測,就可以消除抖動的影響。所以只要檢測到 按鍵按下,
47、就立馬進行延時,延時時間為5ms。再檢測按鍵的狀態(tài),就可以保證 檢測到的是穩(wěn)定的狀態(tài)。在檢測到按鍵按下時,需要等待按鍵松手,此就使用 while函數(shù)來實現(xiàn),當(dāng)按鍵的端口一直是低電平時,就一直循環(huán),等待松手,松 手時按鍵是從低電平跳變到高電平。然后執(zhí)行相關(guān)按鍵的處理任務(wù)。由于在松手 時,按鍵也會有一個抖動,如果不對這個按鍵抖動進行處理,那程序也會多次檢 測到按鍵按下。這個時刻的按鍵處理也是使用延時的方法實現(xiàn)的。按鍵檢測的流 程圖如下:檢測到按鍵按下延時5ms#*等待松手時間處理,*延時5ms.按鍵控制程序如下:if (key_up=1)(if(X!=15)判斷是否計數(shù)到9999(X=X+1;加一
48、key_up=0;)if (key_down=1)(if(X!=2)判斷是否計數(shù)到0(X=X-1;減一key_down=0;) )4.3 電機運行狀態(tài)控制程序4.3.1 電機控制方法簡介電機控制采用的是電機驅(qū)動控制。單片機對電機的控制采用的是使能和pwm 法。電機驅(qū)動每個通道有一個使能端。兩個使能端如果給的是相同狀態(tài)的電平, 那么電機就不會轉(zhuǎn)動。如果兩個使能端電平狀態(tài)不同電機就會轉(zhuǎn)動,轉(zhuǎn)動的方向 和兩個電平的狀態(tài)有關(guān)??刂苾蓚€電機的運動方向就是通過控制每個電機的使能 端來實現(xiàn)的。電機運行速度的判定采用的是pwm的方法。使能端的信號以pwm 的方式輸入進去。就可以調(diào)節(jié)電機的轉(zhuǎn)速。4.3.2 電機
49、速度控制策略由于要使電機能夠穩(wěn)定的在3m/s的狀態(tài)下運行,所以需要對電機的運行狀態(tài)進 行測速。電機的測速是通過測量電機的脈沖數(shù)進行的。電機采用的是光耦測速。 每轉(zhuǎn)一圈光耦輸出兩個脈沖數(shù)。在設(shè)計中采用的電機是傳送帶傳輸?shù)姆绞?,電機 主動傳動飛輪采用的是直徑為20cm的圓盤。要想保證機械手每秒運行3m,即相 當(dāng)于電機每秒要轉(zhuǎn)4.77圈。也就是電機每秒輸出的脈沖數(shù)至少要有9.55個脈沖。 由于不存在9.55個脈沖數(shù)的情況,所以要求電機測速機構(gòu)每秒中要輸出10個脈 沖。所以程序里需要對電機的速度進控制。電機各傳動機構(gòu)速度之間的對應(yīng)關(guān)系 如下表:電機輸出脈沖數(shù)(HZ)電機轉(zhuǎn)速(R/S)機械手移動速度(M
50、/S)210.628表1電機各傳動機構(gòu)速度之間的對應(yīng)關(guān)系表在上表中可以發(fā)現(xiàn)電機每秒輸出1個脈沖,機械手移動速度是0.314m/s。要想機械手移動速度在3m/s以上,就需要電機每秒輸出10個脈沖數(shù)以上。所以在程序中要實時監(jiān)控電機的 轉(zhuǎn)速。由于所采用的51單片機內(nèi)部沒有輸入捕獲模塊,需要通過軟件來計算輸 入的脈沖頻率。脈沖頻率的獲取方法是依靠定時器和單片機的外部中斷實現(xiàn)的,51單片機 的外部中斷引腳只要輸入一個跳變的波形,就會觸發(fā)一個中斷。觸發(fā)中斷后會進 入中斷服務(wù)函數(shù),在中斷服務(wù)函數(shù)里開啟定時器,連續(xù)計數(shù)到10個脈沖,說明 電機轉(zhuǎn)了 5圈,記到第五圈時就停止定時器定時。此時將10個脈沖除以這段時
51、 間內(nèi)的時間就是頻率。因為電機轉(zhuǎn)一圈輸出的是兩個脈沖。所以再將這個頻率除 以2就是得到了電機的轉(zhuǎn)速。檢測到電機的實時速度后,需要換算成機械手的移動速度,在上標(biāo)中,已經(jīng) 提到了電機轉(zhuǎn)速和機械手移動速度之間的關(guān)系根據(jù)表格的關(guān)系,至少要保證電機 每秒輸出的脈沖數(shù)在10個以上。當(dāng)檢測到電機轉(zhuǎn)速低于是個脈沖每秒的時候, 就增大占空比,提高電機轉(zhuǎn)速。速度控制的流程圖如下:本次使用的是8253外部定時器驅(qū)動8255驅(qū)動,首先進行外部定時器初始化, init8253();(A 1=1; 寫狀態(tài)字A 0=1;P0=0XB4; 設(shè)定計數(shù)器2工作方式2A 1=1;A 0=0;P0=0X FF; 裝載計數(shù)器2初值P0
52、=0X FF;A 0=1;A 1=1;P0=0X30; 設(shè)定計數(shù)器0工作方式0A 1=0;A 0=0;P0=0XFF; 裝載計數(shù)器0初值P0=0XFF;)主程序中調(diào)用8253進行初始化。下面是電機驅(qū)動程序:if(p10=0)(delay(10);延時消抖,按鍵消抖 51if(p10=0)(p00=0;p02=p01=p03=1;前進list_write_HZ_Str(6,20,“qianjin");)if(p11=0)(delay(10);if(p11=0)(p01=0;p02=p00=p03=1;list_write_HZ_Str(6,20,“houtui ");后退)i
53、f(p12=0)(delay(10);if(p12=0)(p02=0;p00=p01=p03=1;list_write_HZ_Str(6,20,“zuo)if(p13=0)(delay(10);if(p13=0)(p03=0;p00=p01=p02=1;list_write_HZ_Str(6,20,“you)if(p14=0)(delay(10);if(p14=0)(p00=p02=p01=p03=1;list_write_HZ_Str(6,20,“停止 )4.4機械爪控制程序);左邊右邊運動););機械爪是用來控制抓取物體的一個機構(gòu),機械爪是由繼電器和電磁閥機構(gòu)以 及機械傳動機構(gòu)構(gòu)成的一個幾
54、點結(jié)合的設(shè)備??刂茩C械爪的抓取和放開主要是控 制電磁閥的吸合和關(guān)閉的。電磁閥和是由繼電器驅(qū)動的。繼電器模塊由于采用的 是三極管驅(qū)動,三極管只要基極給一個低電平,三極管就會導(dǎo)通,繼電器就會吸 合。否則繼電器斷開,所以要控制繼電器吸合只需要給三極管的基極一個電平就 可以。三極管的基極接到的是單片機的引腳,所以只需要控制引腳輸出低電平就 可以控制繼電器吸合,反之,如果要繼電器斷開,只需要控制這個引腳輸出高電 平就可以控制繼電器斷開。繼電器的吸合與斷開控制的又是電磁閥的吸合與斷開。 所以控制電磁閥吸合還是斷開只需要控制單片機io 口輸出高電平還是低電平即 可??刂瞥绦虼a如下:while(1)(If(zhua) Dianci=0; Else If(fang) Dianci=1; )4.5鎖存器74LS573 控制程序由于單片機端口的資源有限,為了能夠驅(qū)動更多的外設(shè),使用了鎖存器 74LS573來擴展io 口,鎖存器具有數(shù)據(jù)鎖存的作用,當(dāng)器件的輸入端信號消失 時輸入的的信號還會保存,擴展IO 口時,只需要將需要送入端口的數(shù)據(jù)送入鎖 存器,然后將選通對應(yīng)的鎖存器就可以
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《組織績效診斷》課件
- 《利瑪竇在肇慶》課件
- 廣東碧桂園職業(yè)學(xué)院《大學(xué)體育II》2023-2024學(xué)年第一學(xué)期期末試卷
- 《百日咳患者的護理》課件
- 贛西科技職業(yè)學(xué)院《食品衛(wèi)生學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《核物理基礎(chǔ)》課件
- 七年級語文上冊第五單元寫作如何突出中心新人教版
- 三年級品德與社會下冊第四單元第四課馬路不是游戲場教案新人教版
- 三年級科學(xué)上冊第四單元人與水10用水量的調(diào)查教案首師大版
- 《貨好不用廣告》課件
- 射頻消融治療腰椎間盤突出
- SHT 3005-2016 石油化工自動化儀表選型設(shè)計規(guī)范
- 中藥學(xué)專業(yè)畢業(yè)設(shè)計
- (正式版)SHT 3551-2024 石油化工儀表工程施工及驗收規(guī)范
- (完整)六年級數(shù)學(xué)上冊寒假每天10道計算題5道應(yīng)用題
- 鐵路工程綠色設(shè)計標(biāo)準(zhǔn)
- 數(shù)字政府建設(shè)簡介演示
- 車膜品牌推廣方案
- 消化道出血的PBL教學(xué)查房
- 2024年小學(xué)四年級數(shù)學(xué)上冊常考易錯題綜合測評卷
- 小學(xué)數(shù)學(xué)五年級下冊通分練習(xí)100題附答案
評論
0/150
提交評論