国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自動(dòng)控制小車軟硬件的實(shí)現(xiàn)*

2014-07-26 06:31:26隋美麗楊立平呂江毅劉敏杰
關(guān)鍵詞:波特率驅(qū)動(dòng)程序子程序

隋美麗,楊立平,呂江毅,劉敏杰

(北京電子科技職業(yè)學(xué)院 汽車工程學(xué)院,北京100176)

在現(xiàn)代生活中,自動(dòng)控制在生活、科研、軍事等很多領(lǐng)域發(fā)揮了重要的作用。隨著嵌入式技術(shù)和通信技術(shù)的迅猛發(fā)展,自動(dòng)控制系統(tǒng)的功能和穩(wěn)定性都得到了很大的提高。自動(dòng)控制小車的研究涉及單片機(jī)與PC機(jī)通信接口問題、小車遙控器控制、直流電機(jī)的控制方式等[1][2],本文只是對(duì)在自動(dòng)控制的情況下,線控小車控制系統(tǒng)的軟硬件實(shí)現(xiàn)進(jìn)行研究,實(shí)現(xiàn)小車前進(jìn)、后退、轉(zhuǎn)向和加減速等功能。

1 硬件設(shè)計(jì)

以STC12C5201AD單片機(jī)為核心,編寫小車驅(qū)動(dòng)程序,使其能接受線控器的控制功能,控制小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速、停止,并且在沒有控制信號(hào)輸出時(shí),小車能保持靜止?fàn)顟B(tài)[3][4]。P1.6、P3.5和P2.1、P3.7控制小車兩個(gè)后輪,舵機(jī)控制輸出口為P2.5,小車采用RS-485總線協(xié)議來接收線控器命令,并與下載功能一起使用P3.0、P3.1口。圖1為小車硬件電路圖。

2 程序流程

小車控制程序接收端串口采用RS-485模式通信,通信參數(shù)規(guī)定為:波特率規(guī)定為19200,數(shù)據(jù)位為8位,停止位為1位,無奇偶校驗(yàn),因此,線控器(發(fā)送端)也必須與接收端保持一致。線控器STC12C5202AD主控芯片也必須通過RS-485總線向小車發(fā)送命令來控制小車啟停、轉(zhuǎn)向、尾燈閃爍等。線控器與小車的通信控制協(xié)議(十六進(jìn)制)為:

一個(gè)完整的控制命令包含14個(gè)字節(jié)控制信息,而這些信息中,對(duì)于某一小車而言,只有小車左輪轉(zhuǎn)速(或小車右輪轉(zhuǎn)速)、正反轉(zhuǎn)/燈閃、舵機(jī)轉(zhuǎn)角三個(gè)字節(jié)信息有效信息,因此,可以對(duì)數(shù)據(jù)包進(jìn)行精簡(jiǎn)。但是,要想獲得一個(gè)完整的控制命令包,可以選擇接收30個(gè)字節(jié)數(shù)據(jù)(其中一定包含有一個(gè)完整的控制命令包),當(dāng)接收到30個(gè)字節(jié)命令數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行提取,找出其中的關(guān)鍵性控制命令字。由于每次取30個(gè)字節(jié),會(huì)丟失一些數(shù)據(jù),但由于系統(tǒng)的主頻較高,每秒接收大量的控制數(shù)據(jù)并處理,能夠達(dá)到對(duì)小車的實(shí)時(shí)控制。

圖1 小車電路圖

系統(tǒng)主要依靠軟件來完成控制命令的接收,數(shù)據(jù)的分離與提取、控制命令的執(zhí)行??刂泼钣纱谪?fù)責(zé)接收,將系統(tǒng)晶振定為22.1184MHz,用定時(shí)器T1作為串口波特率發(fā)生器,為了提高傳輸?shù)男剩覀儼巡ㄌ芈识?19200bps,而不是常用的9600bps低速傳輸。如果小車端在接收串口命令時(shí)采用查詢方式,經(jīng)常會(huì)丟失數(shù)據(jù),導(dǎo)致控制實(shí)時(shí)性較差,因此,本系統(tǒng)采用中斷方式,一旦有控制命令傳來,系統(tǒng)會(huì)立刻響應(yīng)。對(duì)于舵機(jī)操作,由于要精確輸出周期為20ms的PWM,其高電平范圍在0.5ms~2.5ms之間,也必須采用精確定時(shí)來完成,在這里我們選用定時(shí)器中斷方式來完成,否則會(huì)產(chǎn)生舵機(jī)控制抖動(dòng)情況。而對(duì)于直流電機(jī)的速度控制,則采用了CPU等待延時(shí)方式,不使用定時(shí)器資源。串口控制命令接收流程如圖2所示,小車驅(qū)動(dòng)程序流程如圖3所示。

圖2 串口控制命令接收流程圖

圖3 小車驅(qū)動(dòng)程序流程圖

3 軟件設(shè)計(jì)

小車驅(qū)動(dòng)程序包含延時(shí)子程序、串口初始化子程序、串口接收子程序(中斷方式)、小車后輪正反轉(zhuǎn)子程序、定時(shí)器初始化子程序、舵機(jī)控制子程序和主函數(shù)等[5]。其實(shí)現(xiàn)代碼如下所示:

4 結(jié)束語

在小車驅(qū)動(dòng)的軟件設(shè)計(jì)中,采用了模塊化的設(shè)計(jì)思想,各模塊間相互獨(dú)立,實(shí)現(xiàn)功能時(shí)又能做到分工合作,經(jīng)過實(shí)際測(cè)試,達(dá)到了預(yù)期設(shè)計(jì)指標(biāo),滿足了線控要求,并且穩(wěn)定性和抗干擾能力強(qiáng),精度高,誤差低,適用于車模競(jìng)賽、兒童玩具等各種應(yīng)用場(chǎng)合,具有一定的推廣應(yīng)用價(jià)值。

[1] 王建飛.基于單片機(jī)控制的自動(dòng)往返小汽車的新設(shè)計(jì)[J].現(xiàn)代與電子技術(shù),2006,234(19):127-129.

[2] 郭立芝.一種自動(dòng)往返小車設(shè)計(jì)與制作[J].河南機(jī)電高等??茖W(xué)校學(xué)報(bào),2010,(3):10-13.

[3] 王強(qiáng).遙控小車控制系統(tǒng)設(shè)計(jì)[D].青島理工大學(xué),2011.

[4] 王艷.基于51單片機(jī)的紅外遙控小車設(shè)計(jì)和制作[J].北京:電子制作,2010,(06).

[5] 張洪潤(rùn),孫悅,張亞凡.單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2010.

猜你喜歡
波特率驅(qū)動(dòng)程序子程序
CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
智能制造(2020年5期)2020-07-03 06:24:00
基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
淺談子程序在數(shù)控車編程中的應(yīng)用
子程序在數(shù)控車加工槽中的應(yīng)用探索
西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
C*Core芯片SCI串口波特率容限優(yōu)化
簡(jiǎn)化編程與子程序嵌套的應(yīng)用
科技傳播(2011年24期)2011-08-29 05:39:46
計(jì)算機(jī)多設(shè)備接口波特率不匹配的研究
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
左权县| 甘洛县| 乡宁县| 怀柔区| 宝兴县| 永春县| 北川| 大埔县| 铁力市| 江津市| 迁安市| 丹东市| 临泉县| 乐业县| 中宁县| 陵水| 萝北县| 红安县| 南安市| 广东省| 新郑市| 上杭县| 武义县| 都江堰市| 永昌县| 自治县| 九江市| 陇南市| 宣威市| 通城县| 九龙城区| 三原县| 南通市| 册亨县| 集贤县| 陆丰市| 仁布县| 简阳市| 贵港市| 新郑市| 双鸭山市|