www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于H橋控制的移動(dòng)機(jī)器人系統(tǒng)方案

引言

近年來隨著人工智能技術(shù)、計(jì)算機(jī)技術(shù)等相關(guān)技術(shù)的發(fā)展,對(duì)移動(dòng)機(jī)器人的研究越來越廣泛。本設(shè)計(jì)是采用OpenWrt操作系統(tǒng)的移動(dòng)機(jī)器人,它可實(shí)現(xiàn)多種不同功能,如探測險(xiǎn)情、巡視、圖像采集、定位、無線通信等。它還可以作為各種智能控制方法(包括動(dòng)態(tài)避障、路徑規(guī)劃、群體協(xié)作策略)的良好載體,開展研究。

1 系統(tǒng)方案

采用2層架構(gòu)。上層以ARM處理器S3C2440為核心,選用MINI2440開發(fā)板作為上層的主板,負(fù)責(zé)圖像采集,并將圖像通過Wi?Fi方式發(fā)送給遠(yuǎn)端的PC機(jī)。Wi?Fi無線通信是利用PC機(jī)與無線路由器搭建環(huán)境平臺(tái)共同實(shí)現(xiàn)的。

下層是以51單片機(jī)為核心的單片機(jī)控制板,由51單片機(jī)及外圍電路組成。下層主要負(fù)責(zé)機(jī)器人移動(dòng)控制,傳感器數(shù)據(jù)處理。51單片機(jī)通過I/O口輸出PWM信號(hào)控制直流電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,實(shí)現(xiàn)機(jī)器人的前進(jìn)、停止、左轉(zhuǎn)和右轉(zhuǎn)。單片機(jī)接口電路上掛接了1個(gè)超聲波測距模塊、1個(gè)人體紅外感應(yīng)模塊、1個(gè)步進(jìn)電機(jī)模塊。超聲波測距模塊用來實(shí)現(xiàn)機(jī)器人避障。在嵌入式智能的前端安裝了一個(gè)步進(jìn)電機(jī),而超聲波測距模塊安置在步進(jìn)電機(jī)的轉(zhuǎn)軸上,步進(jìn)電機(jī)不停地來回轉(zhuǎn)動(dòng),超聲波測距模塊也隨之轉(zhuǎn)動(dòng)。這樣用1個(gè)超聲波測距模塊就可實(shí)現(xiàn)多方位測距,從而減少了超聲波測距模塊的數(shù)量。

機(jī)器人主要由硬件系統(tǒng)和軟件系統(tǒng)構(gòu)成。硬件系統(tǒng)主要包括:ARM處理器、單片機(jī)、外圍接口電路、機(jī)器人底盤以及電源等。其中ARM處理器是上層的核心,51單片機(jī)是下層的核心。軟件包括:嵌入式Linux操作系統(tǒng)、外設(shè)驅(qū)動(dòng)程序、Linux應(yīng)用程序以及單片機(jī)應(yīng)用程序等。系統(tǒng)沒有選用通常的嵌入式Linux版本,而是另辟蹊徑,選用一種獨(dú)特的嵌入式Linux發(fā)行版之一OpenWrt作為操作系統(tǒng)。OpenWrt提供了一個(gè)完全可寫的文件系統(tǒng)及軟件包管理,它通過簡單易用的方式,降低了嵌入式Linux開發(fā)的門檻,提高了系統(tǒng)軟件開發(fā)的效率。

嵌入式智能移動(dòng)機(jī)器人的工作流程為:傳感器模塊實(shí)時(shí)采集周圍環(huán)境信息,將此數(shù)據(jù)信息傳輸?shù)綑C(jī)器人控制系統(tǒng)中,單片機(jī)通過數(shù)據(jù)分析獲取有效數(shù)據(jù),從而獲知機(jī)器人與障礙物的相對(duì)位置,然后根據(jù)此位置信息產(chǎn)生控制信號(hào);單片機(jī)產(chǎn)生PWM信號(hào)控制直流電機(jī)來控制機(jī)器人轉(zhuǎn)向,從而達(dá)到機(jī)器人自主“行走”的目的。下層的單片機(jī)與上層的ARM處理器通過串口來通信,ARM主板可將下層單片機(jī)控制板的工作數(shù)據(jù)通過無線Wi?Fi的方式傳輸?shù)竭h(yuǎn)端的PC機(jī)。ARM主板可以不間斷地將USB攝像頭采集的清晰現(xiàn)場圖片發(fā)給遠(yuǎn)端的PC控制終端。

2 系統(tǒng)硬件設(shè)計(jì)

硬件系統(tǒng)主要包括:ARM處理器、單片機(jī)、外圍接口電路、機(jī)器人底盤以及電源等,其中ARM處理器是上層的核心,51單片機(jī)是下層的核心。硬件結(jié)構(gòu)框圖如圖1所示。

 

 

圖1 硬件結(jié)構(gòu)框圖

由圖1可以看出,系統(tǒng)主要由以下模塊構(gòu)成:圖像采集模塊、無線通信模塊、超聲波測距模塊、紅外感應(yīng)模塊、MINI2440、單片機(jī)STC89C52以及直流電機(jī)驅(qū)動(dòng)模塊等。下面重點(diǎn)介紹直流電機(jī)驅(qū)動(dòng)模塊。

直流電機(jī)驅(qū)動(dòng)模塊以L298N芯片為核心,該芯片具有帶載能力強(qiáng)的特點(diǎn)。直流電機(jī)驅(qū)動(dòng)電路如圖2所示。驅(qū)動(dòng)電路芯片的外圍電路主要是由二極管構(gòu)成的電橋電路與2組電機(jī)并聯(lián)連接,以達(dá)到控制電機(jī)按照設(shè)定運(yùn)轉(zhuǎn)的目的。

 

 

圖2 直流電機(jī)驅(qū)動(dòng)電路

移動(dòng)機(jī)器人采用H橋控制方案,整體控制方案如圖3所示。

 

 

圖3 H橋控制方案

電機(jī)共有4路PWM輸出分別作為左右輪的驅(qū)動(dòng),而通過2路PWM輸出可控制一個(gè)電機(jī),兩個(gè)電機(jī)以并聯(lián)方式連接。

當(dāng)L298N芯片使能信號(hào)ENABLE為高時(shí),輸出才隨輸入變化,否則為高阻態(tài),所以焊接時(shí),ENABLE引腳及電源引腳VS均接電源VCC.

具體驅(qū)動(dòng)過程為:通過編程由控制芯片經(jīng)PWM發(fā)出驅(qū)動(dòng)信號(hào),PWM輸出作為L298N的輸入,經(jīng)L298N轉(zhuǎn)換輸出控制信號(hào)使電機(jī)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)電動(dòng)機(jī)的驅(qū)動(dòng)。

PWM輸出信號(hào)的高低則可以控制直流電機(jī)轉(zhuǎn)速。當(dāng)占空比加大時(shí),轉(zhuǎn)速升高;占空比減小時(shí),轉(zhuǎn)速降低;當(dāng)PWM信號(hào)輸出占空比為0時(shí)可控制電機(jī)的停止。

當(dāng)左輪停止,右輪轉(zhuǎn)時(shí),小車左轉(zhuǎn);當(dāng)右輪停止,左輪轉(zhuǎn)動(dòng)時(shí),小車右轉(zhuǎn)。而2路PWM輸出的正負(fù)順序轉(zhuǎn)換則可控制電機(jī)的正反轉(zhuǎn),進(jìn)而控制小車的前進(jìn)和后退。

3 系統(tǒng)軟件設(shè)計(jì)

軟件部分是移動(dòng)機(jī)器人的智能化的體現(xiàn),它控制移動(dòng)機(jī)器人所有的運(yùn)行狀態(tài)。

操作系統(tǒng)采用了OpenWrt操作系統(tǒng),該系統(tǒng)簡化了Linux內(nèi)核的定制過程,而且允許開發(fā)者使用軟件包的概念來定制嵌入式設(shè)備,從而簡化了嵌入軟件開發(fā)的流程。

程序在Kubuntu CodeBlock IDE集成開發(fā)環(huán)境中進(jìn)行編寫,用Openwrt編譯出來的ARM eabi交叉編譯工具編譯,再經(jīng)過終端SercurtCRT通過串行口向移動(dòng)終端燒入交叉編譯后的程序以及系統(tǒng)。

應(yīng)用軟件控制小車的避障、攝像、發(fā)送視頻等行為。通信方面通過在主機(jī)端用vsftp軟件架設(shè)FTP服務(wù)器,并通過IEEE 802.11g(RTL8187)無線網(wǎng)卡建立無線局域網(wǎng)。這樣,移動(dòng)終端就可以接收上位機(jī)的控制命令到達(dá)指定地點(diǎn)拍照并發(fā)送圖片,而PC機(jī)終端就可以接收通過Wi?Fi傳送過來的圖片。

系統(tǒng)軟件結(jié)構(gòu)如圖4所示。

 

 

圖4 系統(tǒng)軟件結(jié)構(gòu)

系統(tǒng)驅(qū)動(dòng)程序利用MINI2440開發(fā)板提供的例程進(jìn)行改寫,并編譯進(jìn)內(nèi)核。

攝像頭控制軟件mjpgstreamer由Openwrt以軟件包形式提供,通過端口8080輸出為MJPEG格式的圖像。無線通信部分內(nèi)容為Linux下socket編程,為客戶端提供遠(yuǎn)程控制支持。無線通信的部分代碼如下:[!--empirenews.page--]

int sendstring(char *addr,int port,char *sendchar){

struct sockaddr_in s_addr;//定義sockaddr_in結(jié)構(gòu)體類型保存socket信息

int sock;

int addr_len;

int len,i;

if ((sock=socket(AF_INET, SOCK_DGRAM, 0))==-1) {//創(chuàng)建socket

perror(“no socket”);

exit(errno);

}

else

printf(“create socket.nr”);

s_addr.sin_family=AF_INET;//TCP/IP地址族

if (port)

s_addr.sin_port=htons(port);//設(shè)置端口號(hào)

else

s_addr.sin_port=htons(10001);

if (*addr)

s_addr.sin_addr.s_addr=inet_addr(addr);//設(shè)置IP

else {

printf(“Send a message must have a receiver!n”);

exit(0);

}

addr_len=sizeof(s_addr);//IP地址長度

len=-1;//判是否發(fā)送成功標(biāo)志

for (i=0;i<4;i++) {//發(fā)送

if(len<0)len=sendto(sock,sendchar, strlen(sendchar), 0,(struct sockaddr *) &s_addr, addr_len);

else {printf(“send success!”);return 0;}

}

printf(“send error!”);

return 0;

}

系統(tǒng)通過MINI2440驅(qū)動(dòng)并控制攝像頭,通過串口控制底層的單片機(jī),驅(qū)動(dòng)無線網(wǎng)卡并連接,運(yùn)行服務(wù)端,提供UI界面。編譯完成后的Openwrt效果圖如圖5所示。

 

 

圖5 編譯完成的OpenWrt效果圖

結(jié)語

本系統(tǒng)選用的OpenWrt操作系統(tǒng),該系統(tǒng)適合移動(dòng)機(jī)器人的設(shè)計(jì)要求,系統(tǒng)提供的軟件包簡化了系統(tǒng)開發(fā)流程,提高了開發(fā)效率。經(jīng)過實(shí)際調(diào)試運(yùn)行,系統(tǒng)完全可以達(dá)到設(shè)計(jì)要求,可以用于探測險(xiǎn)情、圖像采集、目標(biāo)定位、無線通信等領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉