王臨銘,吳曉蕊
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 機(jī)電工程學(xué)院,河南 鄭州 451100)
基于單片機(jī)的智能類人機(jī)器人設(shè)計(jì)
王臨銘,吳曉蕊
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 機(jī)電工程學(xué)院,河南 鄭州 451100)
該設(shè)計(jì)以AT89C51單片機(jī)為控制核心。將機(jī)器人的機(jī)身關(guān)節(jié)用舵機(jī)代替,運(yùn)用新型的PVC構(gòu)架相連接。該設(shè)計(jì)分別從硬件和軟件部分對機(jī)器人的控制系統(tǒng)進(jìn)行分析,機(jī)器人的硬件部分包括存儲模塊、舵機(jī)的驅(qū)動控制模塊和防碰撞模塊等。軟件部分采用分時復(fù)用法,運(yùn)用PWM信號驅(qū)動器,對電路進(jìn)行有機(jī)控制,進(jìn)而完成對類人機(jī)器人系統(tǒng)的整體設(shè)計(jì),最終制作出符合要求的類人機(jī)器人。經(jīng)實(shí)驗(yàn)驗(yàn)證,該系統(tǒng)達(dá)到預(yù)期的目標(biāo)。
單片機(jī);控制系統(tǒng);類人機(jī)器人
在傳統(tǒng)的教育領(lǐng)域、娛樂休閑行業(yè),機(jī)器人尚未普及,因此對類人機(jī)器人控制系統(tǒng)的設(shè)計(jì)進(jìn)行深入分析和研究,具有較大的社會現(xiàn)實(shí)意義。開拓更為豐富的教育模式、豐富人類日常娛樂方式,使其自身更加具有多元化、時代化、科技化和人類智能化,這是該設(shè)計(jì)對智能類人機(jī)器人研究的最終目的。在當(dāng)下數(shù)字時代的發(fā)展中,類人機(jī)器人不僅可以將與人類行為動作相似的一系列數(shù)字進(jìn)行邏輯和代碼記憶,實(shí)現(xiàn)文化的有效交流,同時可以滿足不同層次人們的需求,進(jìn)而引起人們的高度重視,激發(fā)人們的創(chuàng)造力。[1]
類人機(jī)器人所特有的屬性是具有較為科學(xué)合理和人性化的可行性操作運(yùn)行系統(tǒng)。該類機(jī)器人不僅需要硬件部分來實(shí)現(xiàn)最終功能,同時離不開軟件部分。特定的機(jī)械和控制要求與類人功能的有機(jī)融合,是設(shè)計(jì)的重點(diǎn)內(nèi)容。控制系統(tǒng)如同人類的大腦,對于實(shí)現(xiàn)類人機(jī)器人的性能具有決定性意義。[2]在該設(shè)計(jì)的控制系統(tǒng)中,硬件部分由六大部分構(gòu)成,其控制系統(tǒng)的硬件框圖如圖1所示。
圖1 控制系統(tǒng)硬件框圖
這六大部分不僅僅包含電源模塊、單片機(jī)及外圍接口電路模塊和存儲模塊,同時包含串行通信模塊、電機(jī)驅(qū)動控制模塊及防碰撞模塊。
2.1 存儲模塊
該設(shè)計(jì)在編輯類人動作時,把它與執(zhí)行部分有機(jī)分開,這是設(shè)計(jì)類人機(jī)器人控制系統(tǒng)的內(nèi)在要求。設(shè)計(jì)過程中,需要把機(jī)器人模仿人類的行為方式進(jìn)行存儲,同時轉(zhuǎn)換到單片機(jī)芯片中,這是因?yàn)閱纹瑱C(jī)是發(fā)出執(zhí)行動作的指令單元,類人動作得以執(zhí)行的主要元件就是單片機(jī),而PC機(jī)的功能是實(shí)現(xiàn)對類人動作的詳細(xì)編輯和整理。該設(shè)計(jì)在對類人機(jī)器人動作的存儲單元進(jìn)行選擇時,采用AT24C16芯片。I2C總線是該元件進(jìn)行通信的常用格式,所需通信線數(shù)量極少,為2根,同時應(yīng)對單片機(jī)具有的輸入和輸出口引腳進(jìn)行高效合理利用。[3]
2.2 舵機(jī)的驅(qū)動控制模塊
在本系統(tǒng)的設(shè)計(jì)過程中,應(yīng)使得18個舵機(jī)的相關(guān)功能得以有效驅(qū)動,這是因?yàn)闄C(jī)器人的硬件部分包含了這些舵機(jī)。脈寬調(diào)制在達(dá)到20ms時呈現(xiàn)的信號,是舵機(jī)的控制信號,同時脈沖寬度變化為2ms,最低為0.5ms,最高為2.5ms,與之相對應(yīng)舵盤是在0~180°之間進(jìn)行變換,同時呈現(xiàn)出線性相關(guān)的變化趨勢。若要使得輸出的角度轉(zhuǎn)變到新的位置上,在提供一定脈寬的基礎(chǔ)上,使輸出軸穩(wěn)定在一個相應(yīng)的角度,另外對其增加一個不同寬度的脈沖信號。[4]該設(shè)計(jì)采用CPLD和AT89C51單片機(jī)有機(jī)結(jié)合,實(shí)現(xiàn)對舵機(jī)進(jìn)行高效地控制,在控制過程中,采用上、下位機(jī)和串口有機(jī)結(jié)合的方式,這三者缺一不可。對機(jī)器人的關(guān)節(jié)位置和近似速度進(jìn)行宏觀把控,這些上位機(jī)控制軟件的最終目的含以下兩個方面:一是規(guī)劃和合理調(diào)節(jié)機(jī)器人事先預(yù)定的動作,以及對其中不合適的空間位置進(jìn)行有效插補(bǔ)。二是下位機(jī)可以根據(jù)其反饋的問題遵循一定的時間間隔與順序進(jìn)行調(diào)整。下位機(jī)的首要任務(wù)是使機(jī)器人可以順利按照預(yù)先設(shè)定的任務(wù)進(jìn)行無誤操作,這些都需要及時高效地接收上位機(jī)發(fā)出的不同數(shù)字信號,進(jìn)而從實(shí)際出發(fā),根據(jù)要求產(chǎn)生PWM波形,實(shí)現(xiàn)對該機(jī)器人不同關(guān)節(jié)舵機(jī)的實(shí)時控制,以此完成類人動作。[5]對下位機(jī)進(jìn)行一系列分析后發(fā)現(xiàn),其主要由三大部分構(gòu)成,首先是串口通信,其次是調(diào)節(jié)和整理數(shù)據(jù),最后是18個舵機(jī)驅(qū)動模塊。CPLD的18路舵機(jī)驅(qū)動原理框圖如圖2所示。
圖2 CPLD的18路舵機(jī)驅(qū)動原理框圖
CPLD在數(shù)據(jù)存儲區(qū)內(nèi)完成對驅(qū)動的18個舵機(jī)的PWM信號數(shù)據(jù)的存儲,前提是需要一定的數(shù)據(jù)通道,這就需要將自身中的一個接口與AT89C51單片機(jī)有機(jī)融合完成彼此的信息傳遞,進(jìn)而采用數(shù)字PWM生成器驅(qū)動18個舵機(jī)將其旋轉(zhuǎn)至所需的角度,若想對所需的角度進(jìn)行不斷更新,只需對上述過程進(jìn)行循環(huán)操作。
2.3 防碰撞模塊
該設(shè)計(jì)通過AT89C51的外部中斷來進(jìn)一步設(shè)置機(jī)器人的防碰撞功能。在設(shè)計(jì)防碰撞模塊時,把壓力傳感器和邏輯電路有機(jī)地融入到其中,目的是當(dāng)類人機(jī)器人發(fā)生碰撞時,其自身可以根據(jù)壓力傳感器提供的信號,對應(yīng)生成一定的邏輯信號,一旦承受的外在物理壓力對其自身的內(nèi)部電路造成一定損害時,機(jī)器人便可利用防碰撞模塊對該信號進(jìn)行及時處理,解決面臨的問題。此時,AT89C51單片機(jī)作為外部中斷信號輸入端,對壓力傳感器提供的信號做出反應(yīng),進(jìn)行一些邏輯處理,進(jìn)而使所有舵機(jī)停止工作,最后完成對發(fā)生碰撞或卡死情況的處理工作。[6]
采用單片機(jī)的軟件設(shè)計(jì),進(jìn)行類人機(jī)器人的控制系統(tǒng)設(shè)計(jì)。主程序和對應(yīng)的中斷子程序是單片機(jī)上控制程序包含的內(nèi)容,[7]程序控制總流程圖如圖3所示。
圖3 程序控制總流程圖
該設(shè)計(jì)在分析機(jī)器人是否工作時是通過遙控開關(guān)判斷的,該遙控開關(guān)用引腳表示為P0.4,當(dāng)P0.4=1時,機(jī)器人開始動作,反之,保持原狀。串行口的開關(guān)控制用引腳P0.5表示,當(dāng)顯示的功能狀態(tài)為1時,直觀地顯示將執(zhí)行下一步程序,反之,單片機(jī)在此處于等待狀態(tài),沒有動作指令,進(jìn)而使得單片機(jī)與PC之間的數(shù)據(jù)進(jìn)行合理交換。對堆棧指針和中斷向量進(jìn)行設(shè)置,這是主程序的主要特點(diǎn)。同時,在設(shè)計(jì)主程序的過程中,對有可能用到的特殊寄存器進(jìn)行初始化,以及類人動作的初始化設(shè)置。另外,對定時器中斷、串口中斷和串口通信波特率及開/關(guān)中斷和P0.4的狀態(tài)控制無線遙控器啟動機(jī)器人進(jìn)行一系列設(shè)置,進(jìn)而對子程序進(jìn)行不斷調(diào)試。[8]
本設(shè)計(jì)的測試需要從硬件、軟件兩方面進(jìn)行測試。硬件測試:在不通電的情況下對主控板線路進(jìn)行測試,檢測線路是否導(dǎo)通,與所設(shè)計(jì)電路是否有區(qū)別,檢測接線是否牢固,接線是否正確;對芯片及元器件進(jìn)行測試,檢測芯片是否能正常工作,檢測元器件的參數(shù)標(biāo)號與電路原理圖中的參數(shù)是否一致。通電情況下測試電源的輸出電壓是否為5V;觀察指示燈顯示電路是否正常顯示,及按鍵控制是否能正常切換。這種檢測其實(shí)是驗(yàn)證程序邏輯與硬件顯示是否相對應(yīng),[9]如圖4是對機(jī)器人進(jìn)行硬件測試。
圖4 機(jī)器人進(jìn)行硬件測試
軟件測試:將設(shè)計(jì)的類人機(jī)器人連接電腦,運(yùn)行程序,看機(jī)器人是否有異響或卡死的情況發(fā)生,如圖5是軟件測試界面。
圖5 軟件測試界面
該設(shè)計(jì)在多次測試并經(jīng)歷多次失敗之后,最終成功地設(shè)計(jì)出能夠正常體現(xiàn)設(shè)計(jì)者的設(shè)計(jì)理念的類人機(jī)器人;測試現(xiàn)象以及測試結(jié)果表明:當(dāng)類人機(jī)器人舵機(jī)過熱或發(fā)生碰撞,且達(dá)到對類人機(jī)器人內(nèi)部電路有損時,產(chǎn)生邏輯信號,類人機(jī)器人控制系統(tǒng)中的防碰撞模塊對該信號進(jìn)行處理,作為外部中斷信號輸入AT89C51單片機(jī),讓所有電機(jī)都停止工作。[10]
該設(shè)計(jì)介紹了一個以C語言為主要控制語言的智能類人機(jī)器人,完成了系統(tǒng)的硬件和軟件設(shè)計(jì)。運(yùn)用行業(yè)內(nèi)流行的PVC結(jié)構(gòu),通過設(shè)計(jì)舵機(jī)來高度模仿人類的身體關(guān)節(jié),完整實(shí)現(xiàn)了機(jī)器人的仿人無誤動操作。經(jīng)實(shí)驗(yàn)驗(yàn)證,該設(shè)計(jì)基本達(dá)到設(shè)計(jì)目的,能夠滿足要求。
[1]解侖,王志良,李華俊.雙足步行機(jī)器人制作技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.
[2]王耀南.機(jī)器人智能控制工程[M].北京:科學(xué)出版社,2004.
[3]萬光毅,嚴(yán)義,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程(一)[M].北京:北京航空航天大學(xué)出版社,2006.
[5](美)斯柯茲. 發(fā)明者電子設(shè)計(jì)寶典[M].福州:福建科學(xué)技術(shù)出版社,2006.
[6]張松林.單片機(jī)按鍵防抖方法的淺析.北京:科學(xué)創(chuàng)新導(dǎo)報[J].2010(1):532-533.
[7]沈林成.移動機(jī)器人自主控制理論與技術(shù)[M].北京:科學(xué)出版社,2011.
[8]陳石勝.單片機(jī)技術(shù)“做中學(xué)”實(shí)例教程[M].北京:國防工業(yè)出版社,2010.
[9]劉 剛.Pritel DXP 2004 SP2原理圖與PCB設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[10]譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2010.
Class No.:TP242.6 Document Mark:A
(責(zé)任編輯:宋瑞斌)
Design of Intelligent Humanoid Robot Based on Single Chip Microcomputer
Wang Linming, Wu Xiaorui
(School of mechanical and electrical engineering, Zhengzhou University of Industrial Technology, Zhengzhou, He’nan 451100,China)
This design uses AT89C51 microcontroller as the control core,with the steering gearre placed fusing elage joint,using the new type of PVC frame connected.This design analies the hardware part and software part of robot control system . The robot's hardware part includes storage module, servo drive control module and collision module, etc. Software part time-sharing multiplexing method is used with PWM drive signal to control the organic circuit, completing robot system overall design. By experiment, it is verified that the system has achieve the desired objectives.
microcontroller;control system;humanoid robots
王臨銘,碩士,鄭州工業(yè)應(yīng)用技術(shù)學(xué)院機(jī)電工程學(xué)院。 吳曉蕊,碩士,鄭州工業(yè)應(yīng)用技術(shù)學(xué)院。
1672-6758(2017)04-0066-4
TP242.6
A