新聞中心

        EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于CH340的遙控器與PC機(jī)接口設(shè)計(jì)

        基于CH340的遙控器與PC機(jī)接口設(shè)計(jì)

        作者:李大雨 劉新文 肖大海 防空兵指揮學(xué)院 時(shí)間:2011-02-22 來源:電子產(chǎn)品世界 收藏

          1.2 信號(hào)調(diào)理電路

        本文引用地址:http://www.104case.com/article/117115.htm

          PPM格式的指令編碼信號(hào)由遙控器的教練口輸出,由于信號(hào)的電平幅度與單片機(jī)不匹配,所以要經(jīng)過信號(hào)調(diào)理電路對(duì)電平幅度進(jìn)行變換,然后送給控制單片機(jī)進(jìn)行指令譯碼。

          1.3 控制單片機(jī)

          控制單片機(jī)的作用是對(duì)脈沖信號(hào)進(jìn)行譯碼,并把譯碼以后的結(jié)果輸出。由于PPM編碼輸出的是一系列脈沖信號(hào),故單片機(jī)的譯碼可以采用外部中斷的方式,測(cè)量脈沖間隔(即每個(gè)通道的脈寬信號(hào)),然后以串行信號(hào)的格式送給接口模塊。

          1.4 接口模塊

          接口模塊采用的是芯片 ,它是一個(gè)USB 總線的轉(zhuǎn)接芯片,可以實(shí)現(xiàn)USB 轉(zhuǎn)串口、USB 轉(zhuǎn)IrDA 紅外或者USB 轉(zhuǎn)打印口。

          采用設(shè)計(jì)USB接口電路,不需要了解任何USB協(xié)議和編寫任何固件程序,可以實(shí)現(xiàn)USB 與串口的轉(zhuǎn)換(原理圖如圖4所示),并且可以使用現(xiàn)有的驅(qū)動(dòng)程序,易于迅速開發(fā)使用。本系統(tǒng)設(shè)計(jì)中所采用的是將USB轉(zhuǎn)3線制RS232 串口,應(yīng)用于單片機(jī)與PC機(jī)之間的數(shù)據(jù)通信,這樣一來,就會(huì)在計(jì)算機(jī)上產(chǎn)生一個(gè)虛擬的COM口,用戶只需按照通用串行口一樣使用USB口即可。這樣不僅能使單片機(jī)具備USB通信的諸多優(yōu)點(diǎn),簡(jiǎn)化了USB編程,同時(shí)還可以利用USB對(duì)控制單片機(jī)提供5V的工作電源(500mA以下)。

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

          軟件設(shè)計(jì)的重點(diǎn)是遙控指令信號(hào)的讀取以及單片機(jī)與PC機(jī)之間的通訊。

          2.1 遙控指令信號(hào)的讀取

          遙控指令信號(hào)的讀取是由控制單片機(jī)利用外部中斷的方式來實(shí)現(xiàn)的,每個(gè)脈沖到來時(shí)進(jìn)入中斷一次,然后讀取脈沖寬度并判斷是否是同步脈沖。正常的脈寬信號(hào)標(biāo)準(zhǔn)在1ms到2ms之間,同步脈沖信號(hào)的脈寬大于2ms。如果讀到的脈寬大于2ms,就表示下一個(gè)脈沖串開始了,需要更新每個(gè)通道的脈寬值;如果讀到的脈寬不大于2ms,表示這仍然是某個(gè)通道的脈寬,把它送到相應(yīng)的數(shù)組中儲(chǔ)存起來,接著讀取下一個(gè)通道的脈寬,直至同步脈沖的到來。

          2.2 單片機(jī)與PC機(jī)之間的串行通訊

          串行通訊主要實(shí)現(xiàn)單片機(jī)譯碼結(jié)果(即通道脈寬值)的發(fā)送,把讀取的指令脈寬信號(hào)利用串行中斷,經(jīng)串口發(fā)出,再經(jīng)過USB接口電路發(fā)送到上位機(jī),由計(jì)算機(jī)完成對(duì)操縱指令的讀取和識(shí)別,從而獲取遙控器操縱舵量的方向和大小。

          正常情況下,每一串信號(hào)都有固定的脈沖個(gè)數(shù),如果計(jì)算機(jī)讀到的信號(hào)個(gè)數(shù)發(fā)生了變化,說明在信號(hào)傳輸過程中遇到了干擾。為了預(yù)防干擾造成的飛機(jī)在飛行中出現(xiàn)誤動(dòng)作,軟件在脈沖數(shù)判斷方面采取了一些抗干擾措施。當(dāng)發(fā)現(xiàn)信號(hào)個(gè)數(shù)發(fā)生變化時(shí)有幾種處理方法:一是保持上次正確的數(shù)值不變;二是取各個(gè)通道的中間值;三是取某一預(yù)先設(shè)定的固定值。本系統(tǒng)設(shè)計(jì)中采用的是第一種方法,即把當(dāng)前讀到的一串脈寬數(shù)丟掉,保持上次脈寬數(shù)值不變。

        紅外遙控器相關(guān)文章:紅外遙控器原理
        脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


        關(guān)鍵詞: 無人機(jī) USB CH340

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 伊川县| 甘肃省| 浮山县| 内丘县| 赤壁市| 龙胜| 怀柔区| 上蔡县| 大田县| 定陶县| 湘潭市| 樟树市| 青浦区| 襄樊市| 许昌县| 云安县| 吉林市| 唐海县| 台东县| 惠东县| 察隅县| 天峨县| 嘉荫县| 图们市| 巍山| 永州市| 长武县| 南昌县| 香格里拉县| 湟源县| 枣阳市| 永修县| 达孜县| 广宗县| 屯门区| 榆树市| 南平市| 常德市| 惠安县| 永安市| 塘沽区|