《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM-Linux的電子控制油門設(shè)計(jì)
基于ARM-Linux的電子控制油門設(shè)計(jì)
單片機(jī)與嵌入式系統(tǒng)
位門,潘明,趙斌潔
摘要: 傳統(tǒng)的油門通過(guò)右腳進(jìn)行機(jī)械控制,并且剎車也用右腳控制。在緊急情況時(shí),剎車踏在油門的事故時(shí)有發(fā)生。傳統(tǒng)油門通過(guò)機(jī)械傳導(dǎo),結(jié)構(gòu)較為復(fù)雜,增加成本。電子油門控制系統(tǒng)通過(guò)指令控制執(zhí)行部分——舵機(jī)來(lái)控制油門的開度,實(shí)現(xiàn)發(fā)動(dòng)機(jī)油門開度的精確控制。與此同時(shí),通過(guò)節(jié)氣門開度傳感器,此設(shè)計(jì)可以從顯示部分得知油門的實(shí)際開度,并有利于新駕駛員駕駛,避免半途熄火的危險(xiǎn)駕駛。汽車可按選定的速度穩(wěn)定行駛,無(wú)需駕駛員反復(fù)調(diào)節(jié)節(jié)
Abstract:
Key words :

引言
巡航控制系統(tǒng)(CCS)是20世紀(jì)60年代發(fā)展起來(lái)的,又稱為恒速行駛系統(tǒng)。巡航控制系統(tǒng)工作時(shí),ECU根據(jù)各種傳感器輸送來(lái)的信號(hào)判斷汽車的運(yùn)行狀況,通過(guò)執(zhí)行元件自動(dòng)調(diào)節(jié)節(jié)氣門的開度使汽車的行駛速度與設(shè)定的車速保持一致。汽車在良好路面上長(zhǎng)時(shí)間行駛時(shí),駕駛員啟動(dòng)巡航控制系統(tǒng)并設(shè)定行駛速度,不需駕駛員操縱加速踏板,通過(guò)巡航控制系統(tǒng)即可自動(dòng)保持既定的行駛速度,不僅減輕了駕駛員的勞動(dòng)強(qiáng)度,同時(shí)利用先進(jìn)的電子控制技術(shù)控制節(jié)氣門的開度,比駕駛員操縱節(jié)氣門更精確,汽車燃料經(jīng)濟(jì)性、排放污染性也可得到改善。

1 系統(tǒng)原理
1.1 電控油門原理
工作時(shí),由駕駛員發(fā)出轉(zhuǎn)速的控制指令,由節(jié)氣門開度傳感器采集發(fā)動(dòng)機(jī)的轉(zhuǎn)速參數(shù),并把信號(hào)輸入電控單元;電控單元將控制信號(hào)和反饋的節(jié)氣門位置信號(hào)進(jìn)行比較,根據(jù)比較的結(jié)果來(lái)驅(qū)動(dòng)執(zhí)行器改變節(jié)氣門的開度,使實(shí)際的開度與控制開度達(dá)到一致,從而實(shí)現(xiàn)車速的自動(dòng)控制。
1.2 舵機(jī)控制原理
舵機(jī)是一種位置(角度)伺服驅(qū)動(dòng)器,適用于那些角度需要不斷變化并可以保持的系統(tǒng)。S3003型舵機(jī)有3個(gè)引腳,分別為電源Vcc、地GND和控制線Signal。控制信號(hào)由Signal通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它的內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20 ms、寬度為1.5 ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片以決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。
控制線的輸入是一個(gè)寬度可調(diào)的周期性方波脈沖信號(hào),方波脈沖信號(hào)的周期為20 ms(即頻率為50 Hz)。當(dāng)方波的脈沖寬度改變時(shí),舵機(jī)的角度發(fā)生改變,角度變化與脈沖寬度成正比。其輸出軸轉(zhuǎn)角與輸入脈沖寬度關(guān)系如圖1所示。

a.jpg



2 系統(tǒng)設(shè)計(jì)
本系統(tǒng)采用三星公司的S3C2410和Futaba公司的S3003型舵機(jī)分別作為控制器和執(zhí)行器,使用Linux操作系統(tǒng),實(shí)驗(yàn)平臺(tái)為濟(jì)南恒信有限公司的發(fā)動(dòng)機(jī)實(shí)驗(yàn)平臺(tái)。

2.1 系統(tǒng)設(shè)計(jì)流程
系統(tǒng)流程如圖2所示。控制器S3C2410完成各項(xiàng)初始化工作,接收來(lái)自操作人員的cmd指令,根據(jù)cmd的值來(lái)進(jìn)行一系列的處理,包括停止執(zhí)行器、旋轉(zhuǎn)多少角度等。然后通過(guò)節(jié)氣門開度傳感器和轉(zhuǎn)速傳感器計(jì)算出等效的cmd值,并與cmd進(jìn)行比較以決定是進(jìn)行下一次cmd的判斷,還是涮整執(zhí)行器的角度。

b.jpg


2.2 設(shè)置Linux系統(tǒng)時(shí)鐘頻率
為了降低電磁干擾和降低板間布線要求,芯片外接的晶振頻率通常很低,通過(guò)時(shí)鐘控制邏輯的PLL提高系統(tǒng)時(shí)鐘。在三星公司的S3C2 410A手冊(cè)中列出了推薦的幾種時(shí)鐘頻率,這里我們選用輸出時(shí)鐘頻率FCLK=202.80 MHz的配置,即PLL控制寄存器中的:MDIV=161(0xa1)、PDIV=3、SDIV=1。
在U-Boot的board/smdk2410/smdk2410.c中進(jìn)行設(shè)置:
c.jpg
d.jpg
由以上程序可知FCLK=202.80 MHz,HCLK=101.40 MHz,PCLK=50.70 MHz,而S3C2410的PWM模塊使用的時(shí)鐘是PCLK,所以PWM的輸入時(shí)鐘為50.7MHz。

2.3 舵機(jī)驅(qū)動(dòng)程序編寫
2.3.1 使用udev來(lái)動(dòng)態(tài)建立設(shè)備節(jié)點(diǎn)
Linux 2.6系列的內(nèi)核使用udevr來(lái)管理/dev目錄下的設(shè)備節(jié)點(diǎn)。同時(shí)它也用來(lái)接替devfs及hotplug的功能,這意味著它要在添加/刪除硬件時(shí)處理/dev目錄以及所有用戶空間的行為,包括加載firmware時(shí)。udev依賴于sysfs輸出到用戶空間的所有設(shè)備信息,以及當(dāng)設(shè)備添加或者刪除時(shí)/sbin/hotplug對(duì)它的通知。
為了udevr能夠正常工作,一個(gè)設(shè)備驅(qū)動(dòng)程序要做的事情是通過(guò)sysfs將驅(qū)動(dòng)程序所控制設(shè)備的主設(shè)備號(hào)和次沒(méi)備號(hào)導(dǎo)出到用戶空間。ud ev在sysfs中的/class/目錄樹中搜索名為dev的文件,這樣內(nèi)核通過(guò)/sbin/hotplug接口調(diào)用它的時(shí)候,就能獲得分配給特定設(shè)備的主設(shè)備號(hào)和次設(shè)備號(hào)。一個(gè)設(shè)備驅(qū)動(dòng)程序只需要使用class_create接口為它所控制的每個(gè)設(shè)備創(chuàng)建該文件。
使用class_create函數(shù)創(chuàng)建class結(jié)構(gòu),這段代碼在sysfs中的/sys/class下創(chuàng)建一個(gè)目錄,目錄中創(chuàng)建一個(gè)新的“pwm”的class類以容納通過(guò)sysfs輸出的驅(qū)動(dòng)程序的所有屬性。其中的一個(gè)屬性是dev文件條目,它由class_device_create()創(chuàng)建——它觸發(fā)了用戶空間udev守護(hù)進(jìn)程創(chuàng)建/dev/pwm設(shè)備節(jié)點(diǎn)。代碼如下所示:
e.jpg
當(dāng)驅(qū)動(dòng)程序發(fā)現(xiàn)一個(gè)設(shè)備并且已經(jīng)分配了一個(gè)次設(shè)備號(hào)時(shí),驅(qū)動(dòng)程序?qū)⒄{(diào)用class_device_create函數(shù):
class_device_create(pwm_class,NULL,MKDEV(devicemajor,0),NULL,“pwm”);
這段代碼在/sys/class/pwm下創(chuàng)建一個(gè)子目錄pwmN,這里N是設(shè)備的次設(shè)備號(hào)。在這個(gè)目錄中創(chuàng)建一個(gè)文件dev,有了這個(gè)udev就可以在/dev目錄下為該設(shè)備創(chuàng)建一個(gè)設(shè)備節(jié)點(diǎn)。
當(dāng)設(shè)備與驅(qū)動(dòng)程序脫離時(shí),它也與分配的次設(shè)備號(hào)脫離,此時(shí)需要調(diào)用class_device_destroy(struct class*cls,dev_t devt)函數(shù)刪除該設(shè)備在sysfs中的入口項(xiàng):
class_device_destroy(pwm_class,MKDEV(device_major,0))。
2.3.2 配置PWM的輸出頻率
先使用Linux系統(tǒng)提供的系統(tǒng)函數(shù)來(lái)獲取時(shí)鐘pclk:
elk_p=clk_get(NULL“pclk”);
pclk=clk_get_rate(clk_p);
由S3C2410數(shù)據(jù)手冊(cè)可知,經(jīng)過(guò)預(yù)分頻器和時(shí)鐘分頻器之后,計(jì)算定時(shí)器0的輸入時(shí)鐘頻率為clkin=(pclk/{prescaler0+1}/divider value);再通過(guò)16位的定時(shí)器0計(jì)數(shù)寄存器TCNTB0、和定時(shí)器0比較計(jì)數(shù)器TCMPB0(它們的值分別用tcnt和tcmp表示)分頻,這樣就可以從引腳Tout0處得到合適的PWM波形信號(hào)了,其周期為T=tcnt/clkin,高電平周期為Th=tcmp/clkin。
已知pclk=50.7 MHz,令
MAX=(prescale0+1)×(divider value)  (1)
則有clkin=pclk/MAX;可以取tcnt=pclk/date;又因?yàn)閠cnt為16位,所以tcnt≤65 535,這樣可以直接消去pclk中的507;而系統(tǒng)需要T=20 ms的周期,先提取出系數(shù)50,即:
tcnt=pclk/(date×50)=1 014 000/date   (2)
得出MAX=date≥1 6,prescaler0的取值范圍為0~255,divider value的可取值為1、2、4、16。
要求的PWM波形周期為20 ms,正電平寬度為0.5~2.5 ms,20 ms/0.5 ms=40,所以:
tcmp=tcnt/40+(cmd-1)×tcnt/(40×N)(3)
其中temp和tcnt均為整數(shù);N即為細(xì)分系數(shù),它表示cmd加1時(shí)舵機(jī)將旋轉(zhuǎn)(45/N)°;cmd是要輸入的控制參數(shù),用它來(lái)控制舵機(jī)的角度。
由式(1)~(3),以及tcmp和tcnt盡量取整數(shù)以減小誤差的原則,MAX=date=可取16、20、25。

3 實(shí)驗(yàn)結(jié)果分析
理論上,細(xì)分系數(shù)N取值越大、執(zhí)行器的動(dòng)作越精確越好,但過(guò)大的細(xì)分系數(shù)會(huì)導(dǎo)致執(zhí)行器的命令對(duì)cmd的響應(yīng)變慢。因此,N的取值應(yīng)該根據(jù)執(zhí)行器到節(jié)氣門閥的距離來(lái)綜合考慮,取細(xì)分系數(shù)N=5即使用公式:tcmp=tent(cmd+4)/200,最小角度為(45/5)=9,足以滿足實(shí)驗(yàn)的需要。
采用實(shí)驗(yàn)的方法,對(duì)MAX=date=16、20、25分別進(jìn)行實(shí)驗(yàn),并使用示波器進(jìn)行觀察根據(jù)寄存器的取整特性來(lái)對(duì)MAX=date的值進(jìn)行綜合的考量。結(jié)果如表1~表3所列。其中cmd為輸入指令.err為誤差,Wh為高電平寬度,~Wh為實(shí)際的高電平寬度。

f.jpg


由以上數(shù)據(jù)可以看出取MAX=date=20時(shí),誤差最小。由式(4)可知,prescale0+1=20、10、5對(duì)應(yīng)的dividervalue=1、2、4。

結(jié)語(yǔ)
利用ARM鎖相環(huán)所產(chǎn)生的高頻率可以獲得更精細(xì)的PWM波,從而對(duì)舵機(jī)實(shí)現(xiàn)更精確的控制來(lái)達(dá)到油門精確控制的目的。本文從理論和實(shí)踐兩方面實(shí)現(xiàn)了舵機(jī)角度為9的控制,要想獲得更細(xì)分的角度,只需將N的值取大。如N=15,可獲得的最小控制角度為(45/15)=3;N=45,可獲得的最小控制角度為(45/45)=1。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线视频一区二区| 香蕉成人伊视频在线观看| 国产精品一区久久| 欧美伦理91| 欧美aaaaaaaa牛牛影院| 久久精品国内一区二区三区| 亚洲综合好骚| 一区二区高清在线| 亚洲人成啪啪网站| 久久精品av麻豆的观看方式| 亚洲欧美三级在线| 中文日韩电影网站| 一区二区三区.www| 亚洲人成网在线播放| 在线观看成人av电影| 狠狠色狠色综合曰曰| 国产午夜精品理论片a级大结局 | 欧美国产精品一区| 男女精品视频| 欧美成人午夜影院| 久久一区免费| 美乳少妇欧美精品| 欧美成va人片在线观看| 欧美成人高清| 欧美精品自拍偷拍动漫精品| 欧美日韩成人综合| 欧美午夜美女看片| 国产精品日日做人人爱| 国产女人18毛片水18精品| 国产亚洲欧美一区二区| 国产一区二区观看| 伊人久久大香线蕉综合热线| 亚洲国产高潮在线观看| 亚洲毛片av| 亚洲一区二区三区四区五区午夜 | 欧美日韩亚洲高清一区二区| 欧美日韩国产精品一区二区亚洲| 欧美日韩另类字幕中文| 欧美体内she精视频| 国产精品美女久久久久久久| 国产欧美视频一区二区| 国内精品嫩模av私拍在线观看| 伊人激情综合| 91久久夜色精品国产网站| 亚洲理论在线观看| 亚洲一区免费在线观看| 欧美一站二站| 亚洲三级色网| 亚洲一区二区三区精品视频| 亚洲欧美一区在线| 久久综合给合| 欧美日韩在线视频一区| 国产精品揄拍500视频| 精品成人免费| 日韩午夜激情| 午夜在线视频一区二区区别| 亚洲国产精品va在看黑人| 一区二区高清视频| 西西裸体人体做爰大胆久久久| 久久久夜色精品亚洲| 欧美激情视频一区二区三区在线播放 | 久久综合九色综合欧美就去吻| 欧美高清在线播放| 国产精品草莓在线免费观看| 国产一级揄自揄精品视频| 亚洲国产婷婷香蕉久久久久久99| 在线亚洲一区| 亚洲成人在线视频播放| 99综合视频| 久久国产精品一区二区三区| 欧美精品一区二区三| 国产丝袜一区二区| 亚洲精品日韩欧美| 欧美中文在线观看国产| 一区二区欧美国产| 久久夜色精品国产欧美乱| 欧美日韩在线视频观看| 精品1区2区| 亚洲一区二区少妇| 亚洲精品在线看| 久久精品国产视频| 欧美天天综合网| 尤物精品在线| 亚洲欧美中文字幕| 一区二区三区国产精华| 老司机aⅴ在线精品导航| 国产精品久久久久久久久免费桃花 | 欧美图区在线视频| 亚洲成人在线网| 午夜宅男欧美| 亚洲在线成人精品| 欧美激情一区二区三区在线视频 | 国产精品啊啊啊| 亚洲韩国一区二区三区| 欧美亚洲色图校园春色| 亚洲少妇自拍| 久久亚洲综合色一区二区三区| 国产精品久久久久三级| 亚洲美女在线看| 亚洲精品乱码久久久久久久久| 久久国产精品色婷婷| 国产精品乱码人人做人人爱| 亚洲精品一区二区三区在线观看| 亚洲国产天堂久久综合网| 欧美在线不卡视频| 国产精品久久久久久户外露出| 亚洲精品日韩精品| 91久久精品视频| 久久视频在线看| 国产午夜精品视频| 香蕉精品999视频一区二区| 亚洲男女自偷自拍| 欧美午夜精品久久久久免费视| 亚洲精品无人区| aa级大片欧美三级| 欧美电影在线观看| 亚洲国产第一| 亚洲精品乱码| 欧美成人a视频| 1204国产成人精品视频| 亚洲国产精品一区二区第一页| 久久久亚洲国产美女国产盗摄| 国产一区二区三区的电影| 小黄鸭精品aⅴ导航网站入口 | 欧美国产精品人人做人人爱| 亚洲丁香婷深爱综合| 亚洲国产欧美一区| 女主播福利一区| 亚洲夫妻自拍| 日韩视频在线观看一区二区| 欧美成人亚洲成人日韩成人| 亚洲国产综合在线看不卡| 日韩视频免费| 欧美日韩成人在线视频| 99精品国产在热久久下载| 中文国产亚洲喷潮| 欧美午夜精品| 亚洲专区欧美专区| 久久精品1区| 韩国一区电影| 亚洲精品午夜| 欧美日本高清视频| 在线亚洲美日韩| 欧美影院在线| 狠狠色丁香婷婷综合| 亚洲黄色av| 欧美日韩免费观看一区=区三区| 一区二区三区日韩欧美精品| 欧美一级成年大片在线观看| 国产一区日韩二区欧美三区| 亚洲国产小视频| 欧美日韩不卡合集视频| 99v久久综合狠狠综合久久| 亚洲欧美中文字幕| 国产亚洲亚洲| 91久久精品国产91性色tv| 欧美日韩国产三级| 亚洲欧美激情四射在线日 | 久久久久久高潮国产精品视| 在线看片日韩| 一本一本久久| 国产欧美日韩91| 亚洲国产一区二区三区青草影视 | 黑人操亚洲美女惩罚| 日韩亚洲一区在线播放| 欧美午夜一区二区三区免费大片 | 亚洲天堂黄色| 国产毛片一区二区| 亚洲国产精品va在线观看黑人| 欧美久久久久中文字幕| 99精品视频一区| 久久不射电影网| 亚洲国产精品一区制服丝袜| 国产精品99久久久久久久vr| 国产日韩欧美制服另类| 亚洲人成精品久久久久| 国产精品爱久久久久久久| 欧美中文字幕在线观看| 欧美日韩精品免费观看| 欧美亚洲综合在线| 欧美日韩国产三区| 欧美亚洲一区| 欧美日韩亚洲视频| 欧美专区亚洲专区| 欧美日韩一区成人| 久久精品国产99| 国产精品第十页| 亚洲国产欧洲综合997久久| 国产精品成人av性教育| 亚洲狠狠婷婷| 国产日产亚洲精品| 艳女tv在线观看国产一区| 国产日韩欧美综合| 中文一区二区| 黄色日韩网站| 欧美影院成年免费版| 亚洲精品美女久久7777777| 久久夜色精品国产噜噜av| 亚洲性线免费观看视频成熟| 欧美成人免费大片|