喜歡這套資料就充值下載吧。。。資源目錄里展示的都可在線預(yù)覽哦。。。下載后都有,,請(qǐng)放心下載,,文件全都包含在內(nèi),,【有疑問(wèn)咨詢(xún)QQ:414951605 或 1304139763】
==========================================喜歡這套資料就充值下載吧。。。資源目錄里展示的都可在線預(yù)覽哦。。。下載后都有,,請(qǐng)放心下載,,文件全都包含在內(nèi),,【有疑問(wèn)咨詢(xún)QQ:414951605 或 1304139763】
==========================================
本科學(xué)生畢業(yè)設(shè)計(jì)
電動(dòng)記憶座椅設(shè)計(jì)
院系名稱(chēng): 汽車(chē)與交通工程學(xué)院
專(zhuān)業(yè)班級(jí): 車(chē)輛工程07-11班
學(xué)生姓名: 張雪輝
指導(dǎo)教師: 楊兆
職 稱(chēng): 講師
黑 龍 江 工 程 學(xué) 院
二○一一年六月
The Graduation Design for Bachelor's Degree
Electtric Memory Seat Design
Candidate: Zhang Xue hui
Specialty:Vehicle Engineering
Class:07—11
Supervisor:Yang Zhao
Heilongjiang Institute of Technology
2011-06·Harbin
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì)
摘 要
汽車(chē)座椅的設(shè)計(jì)主要以安全性和舒適性為主,并且隨著汽車(chē)工業(yè)和電子技術(shù)的飛速發(fā)展,汽車(chē)座椅越來(lái)越舒適功能越來(lái)越齊全。本設(shè)計(jì)主要是將電動(dòng)座椅與車(chē)載電腦結(jié)合在一起,可增加座椅的記憶功能,對(duì)座椅給中信息參數(shù)實(shí)現(xiàn)智能化管理。全電動(dòng)調(diào)節(jié)的,前后,高低,靠背角度,前后傾斜,某些型號(hào)甚至有左右傾斜調(diào)整,都是依靠座椅中電動(dòng)機(jī)控制,你只要撥動(dòng)幾個(gè)開(kāi)關(guān)就能調(diào)節(jié)在這種電動(dòng)座椅中加一個(gè)記憶芯片,當(dāng)調(diào)節(jié)到一個(gè)最舒適的位置時(shí),這個(gè)位置就可以被記住了,當(dāng)車(chē)被別人開(kāi)過(guò)時(shí),座椅被重新調(diào)過(guò),只要上車(chē)后,座椅自動(dòng)回到你當(dāng)時(shí)設(shè)置的角度。
汽車(chē)電動(dòng)座椅自動(dòng)控制系統(tǒng)的設(shè)計(jì)方法。系統(tǒng)以單片機(jī)為核心, 通過(guò)控制直流電動(dòng)機(jī),經(jīng)蝸輪蝸桿傳動(dòng)機(jī)構(gòu)牽引座椅移動(dòng),使汽車(chē)座椅具有自動(dòng)測(cè)量極限位置、手動(dòng)調(diào)節(jié)、位置記憶以及自動(dòng)恢復(fù)功能。該系統(tǒng)使汽車(chē)座椅便于安裝, 位置調(diào)節(jié)方便、快捷。
關(guān)鍵詞: 座椅;設(shè)計(jì);記憶;控制
7
ABSTRACT
Seat design mainly safety and comfortable give priority to, and along with the auto industry and electronic technology rapid development, car seats more comfortable function more and more complete. This design is mainly will electric seat and vehicle-mounted computer together, can increase the seat of the memory function, to realize information in seat intellectualized control parameters. All electric adjustment, height, back of a chair, back and forth, back and forth, some tilt Angle of about even tilt adjustment type, all depend on seat, so long as you are in motor control switch can adjust turn several in the electric chair, add a memory chip when you adjust to a most comfortable position, press memory button, the position is to remember, if the car was, seat is open others had to reset, then you just get on, press recall button, the seat of the automatic back to you when setting Angle.
The electric memory seat of the automatic control system design method. System based on singlechip, through the control dc motivation, the worm gear and worm drive institutions traction, car seat seat move with automatic measurement limit position, manual adjustment, position memory and resume automatic function. This system makes car seats for easy installation, the position convenient adjustment, quickly.
Key words: Seat; Design; Memory; Control;
目 錄
摘要 I
Abstract II
第1章 緒論 1
1.1 設(shè)計(jì)主要內(nèi)容及發(fā)展 1
1.2 電動(dòng)座椅主要部件及在世界發(fā)展趨勢(shì) 3
1.2.1 汽車(chē)座椅電機(jī) 3
1.2.2 座椅滑軌 3
1.2.3 記憶裝置 5
1.2.4 座椅驅(qū)動(dòng)器 5
1.2.5 座椅控制系統(tǒng) 5
1.3 設(shè)計(jì)主要技術(shù)指標(biāo) 6
第2章 設(shè)計(jì)方案的確定 8
2.1 水平控制系統(tǒng)直流伺服電機(jī)的選擇計(jì)算 8
2.2 垂直控制系統(tǒng)直流伺服電機(jī)的選擇計(jì)算 10
2.3 電動(dòng)座椅靠背系統(tǒng)的研究及直流伺服電機(jī)的選擇計(jì)算 12
2.4 本章小結(jié) 14
第3章 電路系統(tǒng)設(shè)計(jì) 15
3.1 基本工作電路 15
3.2 廣州本田雅閣轎車(chē)的駕駛座椅控制電路 16
3.3 本章小結(jié) 18
第4章 座椅硬件虛擬構(gòu)建建立 19
4.1 電動(dòng)座椅構(gòu)造 19
4.2 傳動(dòng)部分設(shè)計(jì) 19
4.3 靠背調(diào)節(jié)機(jī)構(gòu) 21
4.4 本章小結(jié) 23
第5章 軟件系統(tǒng)設(shè)計(jì) 24
5.1 概述 24
5.2 系統(tǒng)主程序流程圖及注意事項(xiàng) 25
5.3 系統(tǒng)主程序設(shè)計(jì)及子程序 27
5.3.1 定義按鍵程序 33
5.3.2 單片機(jī)運(yùn)行程序 34
5.3.3 設(shè)置電機(jī)運(yùn)行程序 41
5.4 本章小結(jié) 42
結(jié)論 43
參考文獻(xiàn) 44
致謝 45
第1章 緒 論
1.1 設(shè)計(jì)主要內(nèi)容及發(fā)展
隨著汽車(chē)工業(yè)與電子工業(yè)的不斷發(fā)展,在現(xiàn)代汽車(chē)上,電子技術(shù)的應(yīng)用越來(lái)越廣泛,汽車(chē)已逐步進(jìn)入了電腦控制的時(shí)代。國(guó)外專(zhuān)家預(yù)測(cè)未來(lái)3到5年內(nèi)汽車(chē)上裝用的電子裝置成本將占汽車(chē)整車(chē)成本的40%以上,汽車(chē)將由單純的機(jī)械產(chǎn)品向高級(jí)的機(jī)電一體化方向發(fā)展,成為所謂的“電子汽車(chē)”。
汽車(chē)座椅是與人接觸最密切的部件,人們主要通過(guò)對(duì)座椅的感受來(lái)評(píng)價(jià)轎車(chē)的平順性。因此,座椅是直接影響轎車(chē)質(zhì)量的關(guān)鍵部件之一。一般電動(dòng)座椅可按運(yùn)動(dòng)方向分類(lèi),只能做前后移動(dòng)的為2方向移動(dòng)座椅;還可以升降的為4方向移動(dòng)座椅;座椅前部和后部還能分別升降的為6方向移動(dòng)座椅。隨著科學(xué)的發(fā)展,現(xiàn)在汽車(chē)座椅的功能越來(lái)越多,如在上面布置可調(diào)節(jié)的腰部支撐、按摩裝置、記憶機(jī)構(gòu)、座椅高度與傾斜度調(diào)解裝置、自定位頭枕、內(nèi)裝飾安全帶和安全氣囊等。隨著人們生活水平的提高,對(duì)汽車(chē)座椅的舒適性要求也越來(lái)越高,要求對(duì)汽車(chē)座椅的調(diào)節(jié)能夠更加簡(jiǎn)單、方便、快捷。目前,汽車(chē)座椅位置的調(diào)節(jié)多采用基于手動(dòng)調(diào)節(jié)方式的機(jī)械和電動(dòng)控制兩種方式。汽車(chē)座椅位置的調(diào)節(jié)主要有三個(gè)方向,即高度調(diào)節(jié)、水平位置調(diào)節(jié)以及座椅靠背傾角的調(diào)節(jié)。
對(duì)于家庭使用的汽車(chē),往往由多個(gè)成員駕駛同一輛汽車(chē);當(dāng)不同的駕駛者坐在同一個(gè)座椅時(shí),由于個(gè)人的身體差異,所需要的汽車(chē)座椅的位置各不相同,需經(jīng)常調(diào)節(jié)座椅位置;而目前的大部分汽車(chē)座椅沒(méi)有記憶功能,使同一個(gè)人在不同的時(shí)間駕駛汽車(chē)時(shí),汽車(chē)座椅的位置可能被其他成員改變,而需重新調(diào)節(jié)座椅各個(gè)方向位置,比較繁瑣。座椅在汽車(chē)內(nèi)安裝時(shí),由于不同汽車(chē)的內(nèi)部空間不相同,座椅在各方向所能移動(dòng)的位置極限也不同;汽車(chē)電動(dòng)座椅在電動(dòng)機(jī)牽引下移動(dòng),而目前汽車(chē)電動(dòng)座椅不能自動(dòng)測(cè)量安裝的極限位置,座椅很容易在到達(dá)極限位置時(shí)仍繼續(xù)運(yùn)行,容易使電動(dòng)機(jī)因長(zhǎng)時(shí)間工作因堵轉(zhuǎn)狀態(tài)而燒毀。
圖1.1 座椅主要組成及內(nèi)部結(jié)構(gòu)
現(xiàn)代汽車(chē)電子化程度的越來(lái)越高,汽車(chē)電子控制技術(shù)逐步成為了汽車(chē)工業(yè)發(fā)展的重點(diǎn),也是各個(gè)汽車(chē)企業(yè)競(jìng)爭(zhēng)的焦點(diǎn)。傳統(tǒng)的汽車(chē)機(jī)械控制相比于電子控制無(wú)論是在控制精度還是響應(yīng)速度上都存在明顯的劣勢(shì),電子技術(shù)在汽車(chē)上的使用甚至已經(jīng)成為汽車(chē)設(shè)計(jì)研究部門(mén)考慮汽車(chē)結(jié)構(gòu)更新的重要手段。同時(shí)汽車(chē)及其零部件作為產(chǎn)品,其可用性及方便使用的性能需要提高,所以在汽車(chē)及其零部件的設(shè)計(jì)與開(kāi)發(fā)中需要貫徹以客戶的使用方便性為中心展開(kāi)。電動(dòng)記憶座椅的優(yōu)勢(shì)在于:每當(dāng)裝有普通座椅的汽車(chē)替換駕駛員時(shí)需重新調(diào)整座椅的位置,這為駕駛員的操作帶來(lái)極大的不便。需要在動(dòng)的基礎(chǔ)上增加位置存儲(chǔ)和恢復(fù)功能,以使駕駛員操作更為方便。
本文研究了一種記憶存儲(chǔ)式座椅控制器,駕駛員可以根據(jù)自身特點(diǎn)和駕駛習(xí)慣來(lái)調(diào)整座椅的位置,然后進(jìn)行記憶存儲(chǔ),在位置改變后,駕駛員可以使用恢復(fù)展趨勢(shì)。一般的轎車(chē)都配備有電動(dòng)調(diào)整的座椅,駕駛員可以通過(guò)電動(dòng)控制系節(jié)座椅的位置,以獲得良好的視野和座椅的最佳舒適性。然而一輛汽車(chē)往往會(huì)被若干個(gè)駕駛使用,每個(gè)駕駛員都需功能進(jìn)行方便的位。乘用車(chē)座椅關(guān)鍵核心部件有座椅電機(jī)、滑軌、調(diào)角器、記憶裝置等。這些核心技術(shù)尚掌握在博澤、佛吉亞、江森、愷博等外資和合資企業(yè)手中。中國(guó)作為第一大汽車(chē)生產(chǎn)國(guó)與消費(fèi)國(guó),也迫切需要掌握這些核心技術(shù),但與外資企業(yè)有一定的差距,國(guó)內(nèi)企業(yè)正努力迎頭趕上。
1.2 電動(dòng)座椅主要部件及在世界上的發(fā)展趨勢(shì)
1.2.1 汽座椅電機(jī)
汽車(chē)座椅電機(jī)是汽車(chē)電動(dòng)座椅的動(dòng)力源,屬于中高檔乘用車(chē)配備裝置。座椅電機(jī)主要是永磁直流式電機(jī)。如果按照磁極數(shù)劃分可分為兩極電機(jī)和多極(主要是四極)電機(jī);如果按照磁極材料劃分可分為鐵氧體電機(jī)和稀土電機(jī)。目前汽車(chē)座椅位置的調(diào)節(jié)多采用基于手動(dòng)調(diào)節(jié)方式的機(jī)械和電動(dòng)控制兩種方式。座椅電機(jī)配合機(jī)械驅(qū)動(dòng)機(jī)構(gòu)可實(shí)現(xiàn)座椅在水平抬高和傾斜位置的調(diào)節(jié)。?
隨著上級(jí)供應(yīng)商對(duì)電機(jī)要求的不斷提高,座椅電機(jī)要求在更小的體積下實(shí)現(xiàn)更大的輸出功率,而且還要具有更高的抗噪聲和抗振動(dòng)質(zhì)量水平。國(guó)外諸如博世等企業(yè)很早就進(jìn)入了汽車(chē)微電機(jī)行業(yè),積累了非常豐富的設(shè)計(jì)和制造經(jīng)驗(yàn)。其產(chǎn)品質(zhì)量在得到認(rèn)可的同時(shí),他們的研究方向也引領(lǐng)著汽車(chē)微電機(jī)行業(yè)的發(fā)展方向。可以推測(cè),未來(lái)汽車(chē)座椅電機(jī)的發(fā)展趨勢(shì)是朝著體積小巧、輸出功率大、噪聲低、振動(dòng)小以及安裝簡(jiǎn)易和快速的方向發(fā)展。?
我國(guó)在汽車(chē)微、小型電機(jī)方面的研究起步較晚,大多數(shù)是根據(jù)國(guó)外大電機(jī)的研究資料再展開(kāi)微小電機(jī)的研究工作,這就不可避免產(chǎn)生很多的錯(cuò)誤計(jì)算。同時(shí),國(guó)內(nèi)在汽車(chē)及其零部件的噪聲和振動(dòng)方面的控制與研究也比較薄弱,限制了產(chǎn)品進(jìn)入高端的市場(chǎng)。?
1.2.2 座椅滑軌
座椅滑軌是座椅總成中最為重要的一個(gè)零部件,具有非常高的技術(shù)含量和專(zhuān)利保護(hù),其不僅僅是一個(gè)重要的功能件,也屬于汽車(chē)安全件之一。座椅滑軌配合手動(dòng)鎖裝置可實(shí)現(xiàn)座椅在水平位置的手動(dòng)調(diào)節(jié),配合電機(jī)和驅(qū)動(dòng)機(jī)構(gòu)可實(shí)現(xiàn)座椅在水平位置的自動(dòng)調(diào)節(jié),市場(chǎng)應(yīng)用非常廣闊。在座椅安全性能指標(biāo)中,座椅滑軌需要承受24kN以上的靜拉力,而且要保證滑軌在受到正壓及側(cè)拉等各個(gè)方向的力時(shí)要受力均衡,不能產(chǎn)生功能失效。這就對(duì)滑軌截面形狀的設(shè)計(jì)和滑軌原材料本身提出了非常高的要求,需要科學(xué)合理的設(shè)計(jì)滑軌截面,特別是滑軌原材料本身需要抗拉強(qiáng)度達(dá)到600MPa以上,而國(guó)內(nèi)企業(yè)的鋼材還不能滿足原材料如此高的抗拉強(qiáng)度。?
??? 座椅滑軌的另外一個(gè)技術(shù)難點(diǎn)在于滑軌制造技術(shù),其要求生產(chǎn)企業(yè)具備非常高的大型精密模具和沖床,而國(guó)內(nèi)在這方面的研究也相對(duì)落后于國(guó)外技術(shù),不能滿足產(chǎn)品的設(shè)計(jì)要求。?
??? 在國(guó)外,座椅滑軌的主要市場(chǎng)被博澤和佛吉亞等企業(yè)所控制,是許多整車(chē)廠的指定供應(yīng)商,其產(chǎn)品技術(shù)具有結(jié)構(gòu)緊湊和抗拉強(qiáng)度高等優(yōu)點(diǎn)。未來(lái)座椅滑軌將朝著質(zhì)量輕、強(qiáng)度高、集成化和平臺(tái)化的方向發(fā)展。?
國(guó)內(nèi)生產(chǎn)座椅滑軌廠家主要有上海明芳汽車(chē)部件有限公司、湖北中航精機(jī)科技股份有限公司等,面對(duì)的市場(chǎng)是低端汽車(chē),且其技術(shù)都不能滿足中高端汽車(chē)所需的安全和性能等規(guī)范。寧波雙林汽車(chē)部件股份有限公司正在研發(fā)通用型座椅滑軌,并實(shí)現(xiàn)了手、電動(dòng)滑軌平臺(tái)的統(tǒng)一,已經(jīng)申請(qǐng)了專(zhuān)利。其設(shè)計(jì)與國(guó)外座椅滑軌廠家如博澤和佛吉亞等相比較,正在縮短差距。?
1.2.3 記憶裝置
座椅記憶器在汽車(chē)領(lǐng)域中有著非常廣闊的市場(chǎng),汽車(chē)座椅是衡量汽車(chē)性能的重要標(biāo)注之一,在追求汽車(chē)舒適、便捷的當(dāng)前,駕車(chē)人對(duì)座椅的舒適便捷性要求也越來(lái)越高,電動(dòng)座椅,尤其是帶記憶的電動(dòng)座椅越來(lái)越受到汽車(chē)消費(fèi)者的青睞。在國(guó)外,很多品牌的高檔車(chē)都已安置了座椅記憶器;在國(guó)內(nèi),價(jià)格合適、功能齊全的座椅記憶器更受青睞,而且由高檔車(chē)向中、低檔車(chē)拓展的趨勢(shì)。?
目前市場(chǎng)上的座椅記憶器一般是采用兩種方式來(lái)獲取座椅電機(jī)轉(zhuǎn)動(dòng)數(shù)據(jù)(即汽車(chē)座椅的位置數(shù)據(jù))。一種是利用電位器,這一方案可以記憶較為準(zhǔn)確的座椅位置數(shù)據(jù),但電位器畢竟是有觸點(diǎn)器件,隨著觸點(diǎn)和電阻圖形的磨損會(huì)導(dǎo)致控制失靈,因此存在檢測(cè)精度低與工作壽命短的不足,另外還需要一套與之相配的減速裝置。因此,電位器、減速裝置都為該方案增加了成本。另外一種是利用霍爾傳感器獲取座椅電機(jī)轉(zhuǎn)動(dòng)數(shù)據(jù),它彌補(bǔ)了前一種方案在成本和壽命上的問(wèn)題。?
座椅記憶器不僅可以調(diào)節(jié)、記憶座椅位置,還可以調(diào)節(jié)、記憶汽車(chē)的左、右后視鏡,以及內(nèi)后視鏡的位置,可實(shí)現(xiàn)一鍵將座椅、后視鏡恢復(fù)到駕駛的最佳位置。此外,座椅記憶器的各模塊之間采用LAN總線技術(shù)進(jìn)行數(shù)據(jù)傳輸,這樣可大大降低汽車(chē)線束的使用量。?
座椅記憶器一般配置在豪華車(chē)型上,摩托羅拉、西門(mén)子等國(guó)際知名公司生產(chǎn)的記憶器在市場(chǎng)上占有很大份額,幾乎壟斷著座椅記憶器市場(chǎng),其價(jià)格亦高居不下。
1.2.4 座椅驅(qū)動(dòng)器
早期的汽車(chē)座椅多采用人工手動(dòng)方式來(lái)調(diào)節(jié)座椅的前后位置,操作十分不便。座椅驅(qū)動(dòng)器的出現(xiàn),可以實(shí)現(xiàn)座椅位置的自動(dòng)調(diào)節(jié)。座椅驅(qū)動(dòng)器的技術(shù)原來(lái)為德國(guó)IMS公司壟斷。
國(guó)內(nèi)研發(fā)并取得成果的企業(yè)并不多,寧波雙林汽車(chē)部件股份有限公司通過(guò)自主研發(fā),生產(chǎn)出了國(guó)內(nèi)自主知識(shí)產(chǎn)權(quán)的水平座椅驅(qū)動(dòng)器,并出口海外,成為世界上最大的座椅驅(qū)動(dòng)器供應(yīng)商之一,打破了國(guó)外企業(yè)壟斷該市場(chǎng)的局面。寧波雙林汽車(chē)部件股份有限公司生產(chǎn)的座椅驅(qū)動(dòng)器產(chǎn)品特點(diǎn)包括體積小、噪聲低、振動(dòng)小、使用壽命長(zhǎng)。能解決現(xiàn)有產(chǎn)品占用車(chē)內(nèi)座椅空間大的缺點(diǎn)。增加的彈性減振墊,可以使浮動(dòng)螺母能自動(dòng)調(diào)整驅(qū)動(dòng)器絲桿及減速機(jī)構(gòu)相對(duì)于螺母的嚙合中心位置誤差,大幅度降低調(diào)節(jié)座椅時(shí)的噪聲和振動(dòng)。固定于螺桿上的止動(dòng)盤(pán)、浮動(dòng)螺母、螺母支架和絲桿強(qiáng)度高,能將座椅上下導(dǎo)軌連接成一體,保證座椅在汽車(chē)受到強(qiáng)力沖擊時(shí)不會(huì)分離,確保了人身安全。
? 可以預(yù)見(jiàn)的是,未來(lái)乘用車(chē)必然是朝著低端中配、中端高配的方向發(fā)展,安裝有多極座椅電機(jī)、高強(qiáng)度座椅調(diào)角器、精確記憶裝置和座椅驅(qū)動(dòng)器的汽車(chē)座椅將有著廣泛的應(yīng)用范圍,產(chǎn)品市場(chǎng)空間也極為廣闊??梢哉f(shuō),誰(shuí)先掌握了這些核心技術(shù),誰(shuí)就能夠奪得未來(lái)市場(chǎng)競(jìng)爭(zhēng)的主動(dòng)權(quán),誰(shuí)也就能夠獲得更大的市場(chǎng)份額。
1.2.5汽車(chē)電動(dòng)座椅控制系統(tǒng)
記憶存儲(chǔ)式座椅控制系統(tǒng)是典型的汽車(chē)電子控制系統(tǒng)。汽車(chē)電子控制系統(tǒng)( ECS)是以單片機(jī)為中心組成的計(jì)算機(jī)控制系統(tǒng),也可以稱(chēng)作汽車(chē)微機(jī)控制系統(tǒng),由電子控制單元( ECU) 、傳感器和執(zhí)行器組合而成。傳感器是信息采集的主要部件,主要用來(lái)采集汽車(chē)狀態(tài)信息和各種物理、化學(xué)及電信息,并將信號(hào)輸入至ECU。由傳感器采集的信號(hào)分為模擬信號(hào)和數(shù)字信號(hào),模擬信號(hào)需要經(jīng)過(guò)A /D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)再進(jìn)行處理。ECU是汽車(chē)電子控制系統(tǒng)的核心部件,能對(duì)傳感器傳遞的信息進(jìn)行加工處理,通過(guò)預(yù)先編制的控制程序來(lái)對(duì)信號(hào)作出響應(yīng),并發(fā)出各種控制指令,指揮執(zhí)行機(jī)構(gòu)工作。執(zhí)行器是按照ECU的指示進(jìn)行動(dòng)作的部件,主要完成ECU發(fā)出的各種指令。汽車(chē)電子控制系統(tǒng)框圖包括汽車(chē)電子控制系統(tǒng)框圖和記憶存儲(chǔ)式控制器的功能。
本設(shè)計(jì)所研究的記憶存儲(chǔ)式座椅控制器所要實(shí)現(xiàn)的基本功能如下;
(1)能夠調(diào)節(jié)座椅前端升降、垂直升降、水平滑動(dòng)以及椅背角度4個(gè)位置;
(2)能夠存儲(chǔ)駕駛員調(diào)整后的后視鏡和座椅的位置;
(3)能夠調(diào)用駕駛員存儲(chǔ)后視鏡和座椅的位置;
(4)記錄3組位置信息。
1.3 設(shè)計(jì)主要技術(shù)指標(biāo)
表1.1中華人民共和國(guó)對(duì)汽車(chē)座椅的基本尺寸規(guī)定
項(xiàng)目
指標(biāo)
代碼
說(shuō)明
座椅高
380~460
推薦值
座椅深
400~460
推薦值
座椅寬
450
推薦值
座椅角
~
推薦值
靠背高
450~550
帶頭枕的靠背此尺寸可以增加但增加部分的寬度應(yīng)減小
靠背寬
440~480
推薦值
靠背與座椅夾角
~
推薦值
靠背角調(diào)整范圍
推薦值
座椅上下調(diào)整范圍
60
推薦值
座椅前后調(diào)整范圍
100
推薦值
設(shè)計(jì)座椅時(shí)可以參見(jiàn)圖1.2來(lái)對(duì)應(yīng)參數(shù):
圖1.2 座椅主要尺寸規(guī)范
第2章 設(shè)計(jì)方案的確定
2.1 水平控制系統(tǒng)直流伺服電動(dòng)機(jī)的計(jì)算和選擇
圖2.1 電動(dòng)座椅底架內(nèi)部結(jié)構(gòu)
(1)等效負(fù)載轉(zhuǎn)矩的計(jì)算:
已知座椅(含駕駛員)的最大重量為W=1500N,導(dǎo)軌上的摩擦系數(shù)為=0.065,絲絲杠的導(dǎo)程為=0.006,絲杠螺母?jìng)鲃?dòng)副的傳動(dòng)效率為=0.8,根據(jù)機(jī)械效率公式,換算到電機(jī)軸上的轉(zhuǎn)矩為:
由于座椅的重量較大,絲杠傳動(dòng)副必須預(yù)緊,其預(yù)緊力為最大軸向載荷的即:
取螺母內(nèi)部的摩擦系數(shù)為=0.3,則絲杠預(yù)緊后的摩擦轉(zhuǎn)矩為:
所以,電動(dòng)機(jī)軸上的等效轉(zhuǎn)矩為:
(2)等效轉(zhuǎn)動(dòng)慣量的計(jì)算
座椅換算到電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量:
傳動(dòng)系統(tǒng)(絲杠 減速器)換算到電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量:
傳動(dòng)件名稱(chēng) 大齒輪 小齒輪 絲杠
節(jié)圓直徑 =100 =50 長(zhǎng)度L=110mm
寬度或長(zhǎng)度 =40 =20 導(dǎo)程=6mm
材質(zhì) 鋼 鋼
減速比 i=20 i=20
所以
因此
所以換算到電動(dòng)軸上的等效轉(zhuǎn)動(dòng)慣量為:
由 查選電動(dòng)機(jī)
德昌直流電動(dòng)機(jī)HF751系列BC03014,參數(shù)如下:
額定輸出功率: =0.45KW 額定轉(zhuǎn)矩:=0.456
額定轉(zhuǎn)速:n=3800 轉(zhuǎn)矩常數(shù):=0.032
感應(yīng)電壓常數(shù):=0.0034 轉(zhuǎn)子慣量: J=0.10
電機(jī)摩擦系數(shù):=0.00012 電樞阻抗:=0.2
電樞電感:=11mH 電機(jī)回路總電阻:R=0.914
機(jī)械時(shí)間常數(shù):=3.6ms 電器時(shí)間常數(shù):=3ms
所以,電動(dòng)機(jī)的狀態(tài)空間表示為:
其中: , , ,
所以根據(jù)直流伺服電動(dòng)機(jī)的選取,本文選擇PWM功率放大器的相關(guān)參數(shù)為:
開(kāi)關(guān)頻率:f=20KHz
開(kāi)關(guān)周期:
放大系數(shù):
2.2 垂直系統(tǒng)的直流伺服電動(dòng)機(jī)的計(jì)算和選擇
(1)等效負(fù)載轉(zhuǎn)矩的計(jì)算
已知座椅(含駕駛員)的最大重量為W=1500N,導(dǎo)軌上的摩擦系數(shù)為=0.1,絲杠的導(dǎo)程為=0.006m,絲杠螺母?jìng)鲃?dòng)副的傳動(dòng)效率為=0.8,
根據(jù)機(jī)械效率公式,換算到電機(jī)軸上的轉(zhuǎn)矩為:
由于座椅的重量較大,絲杠傳動(dòng)副必須預(yù)緊,其預(yù)緊力為最大軸向載荷的即:
取螺母內(nèi)部的摩擦系數(shù)為=0.3,則絲杠預(yù)緊后的摩擦轉(zhuǎn)矩為:
所以,電動(dòng)機(jī)軸上的等效轉(zhuǎn)矩為:
(2)等效轉(zhuǎn)動(dòng)慣量的計(jì)算
座椅換算到電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量:
根據(jù)轉(zhuǎn)動(dòng)慣量換算的功能相等原則有:
傳動(dòng)系統(tǒng)(絲杠 減速器)換算到電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量:
傳動(dòng)件名稱(chēng) 大齒輪 小齒輪 絲杠
節(jié)圓直徑 =100 =50 長(zhǎng)度L=150mm
寬度或長(zhǎng)度 =40 =20 導(dǎo)程=5mm
材質(zhì) 鋼 鋼
減速比 i=20 i=2
所以
因此
所以換算到電動(dòng)軸上的等效轉(zhuǎn)動(dòng)慣量為:
由 查選電動(dòng)機(jī)
德昌直流電動(dòng)機(jī)HF751系列BC03017,參數(shù)如下:
額定輸出功率: =0.03KW 額定轉(zhuǎn)矩:=0.356
額定轉(zhuǎn)速:n=2800 轉(zhuǎn)矩常數(shù):=0.0428
感應(yīng)電壓常數(shù):=0.0046 轉(zhuǎn)子慣量: J=0.10
電機(jī)摩擦系數(shù):=0.00013 電樞阻抗:=0.2
電樞電感:=12mH 整個(gè)回路總電阻:R=1.558
機(jī)械時(shí)間常數(shù):=2.6ms 電器時(shí)間常數(shù):=3.5ms
所以,電動(dòng)機(jī)的狀態(tài)空間表示為:
其中: , , ,
所以根據(jù)直流伺服電動(dòng)機(jī)的選取,本文選擇PWM功率放大器的相關(guān)參數(shù)為:
開(kāi)關(guān)頻率:f=20KHz
開(kāi)關(guān)周期:
放大系數(shù):
2.3 電動(dòng)座椅靠背系統(tǒng)的研究及其直流伺服電機(jī)的選擇計(jì)算
已知廠家給出的電動(dòng)座椅靠背調(diào)節(jié)系統(tǒng)的主要參數(shù)如下:
采用齒輪機(jī)構(gòu)進(jìn)行間歇式調(diào)節(jié):
其中:齒輪的模數(shù)m=5,齒輪的齒數(shù) z=29, 齒輪直徑D=mz=80mm
靠背調(diào)節(jié)的圓周速度:v=300--500
靠背的回轉(zhuǎn)半徑:r=600mm
最大回轉(zhuǎn)角:
圖 2.2 靠背調(diào)節(jié)機(jī)構(gòu)
靠背的等效轉(zhuǎn)動(dòng)慣量:
因此
所以換算到電動(dòng)軸上的等效轉(zhuǎn)動(dòng)慣量為:
圖2.3 靠背調(diào)節(jié)機(jī)構(gòu)工作情況
由 查選電動(dòng)機(jī)
德昌直流電動(dòng)機(jī)HF751系列BC03006,參數(shù)如下:
額定輸出功率: =0.0248KW 額定轉(zhuǎn)矩:=0.167
額定轉(zhuǎn)速:n=4700 轉(zhuǎn)矩常數(shù):=0.0204
感應(yīng)電壓常數(shù):=0.00266 轉(zhuǎn)子慣量: J=0.20
電機(jī)摩擦系數(shù):=0.00031 電樞阻抗:=1.534
電樞電感:=30mH 機(jī)械時(shí)間常數(shù):=19.69ms
電器時(shí)間常數(shù):=2.04ms
所以,電動(dòng)機(jī)的狀態(tài)空間表示為:
其中: , , ,
所以根據(jù)直流伺服電動(dòng)機(jī)的選取,本文選擇PWM功率放大器的相關(guān)參數(shù)為:
開(kāi)關(guān)頻率:f=20KHz
開(kāi)關(guān)周期:
放大系數(shù):
通過(guò)對(duì)座椅電機(jī)的設(shè)計(jì)計(jì)算初步選擇德昌系列電機(jī),由于質(zhì)量按最大載重質(zhì)量計(jì)算,所以電機(jī)比實(shí)際選用略大,但一定滿足使用要求。
2.4本章小結(jié)
本章首先確定了電動(dòng)座椅內(nèi)部結(jié)構(gòu)的設(shè)計(jì),包括對(duì)傳動(dòng)機(jī)構(gòu)絲杠的計(jì)算和電機(jī)的選擇,以電機(jī)的選擇這一部分作為重點(diǎn)。本文通過(guò)大量查閱資料和研究,了解了計(jì)算座椅所應(yīng)用的相關(guān)參數(shù)數(shù)據(jù)和計(jì)算步驟。這章的驗(yàn)算是為下章的設(shè)計(jì)做鋪墊,所以必須設(shè)計(jì)準(zhǔn)確。
第3章 電路系統(tǒng)設(shè)計(jì)
3.1基本工作電路
電路機(jī)構(gòu)由調(diào)整電機(jī)、座椅控制開(kāi)關(guān)組件、電源等組成。如圖3.1為電動(dòng)座椅后端上升時(shí)的電流流向圖。
圖3.1 電動(dòng)座椅后端上升時(shí)的電流流向圖
帶有存儲(chǔ)功能的駕駛座的電動(dòng)座椅控制電路系統(tǒng),控制系統(tǒng)可使座椅獲得5個(gè)自由度。進(jìn)行調(diào)節(jié)時(shí),由按鈕控制調(diào)節(jié)量,然后利用存儲(chǔ)功能和開(kāi)關(guān)控制某一位置的數(shù)據(jù)存儲(chǔ):座椅位置信號(hào)取自滑動(dòng)變阻器上獲得的電壓降,根據(jù)每一自由度電動(dòng)機(jī)驅(qū)動(dòng)座椅,從而使滑動(dòng)變阻器隨動(dòng),由此改變變阻器上電壓降的數(shù)值。控制裝置識(shí)別座椅的運(yùn)動(dòng)機(jī)構(gòu)是否到達(dá)止點(diǎn),到達(dá)止點(diǎn)位置時(shí),控制裝置及時(shí)切斷供給電動(dòng)機(jī)的電源,保護(hù)電動(dòng)機(jī)和座椅驅(qū)動(dòng)結(jié)構(gòu)。
此外,還有不帶存儲(chǔ)功能的電動(dòng)座椅系統(tǒng)。不帶存儲(chǔ)功能的電動(dòng)座椅比帶位置存儲(chǔ)功能的電動(dòng)座椅簡(jiǎn)單一些,它電動(dòng)座椅開(kāi)關(guān)、腰墊開(kāi)關(guān)和多個(gè)直流電動(dòng)機(jī)組成。
圖3.2 電動(dòng)座椅電路圖
其工作原理是:電動(dòng)座椅開(kāi)關(guān)與腰墊開(kāi)關(guān)接受來(lái)自電源的電流,開(kāi)關(guān)閉合,直流輸送到相應(yīng)的電動(dòng)機(jī);電動(dòng)機(jī)轉(zhuǎn)動(dòng),驅(qū)動(dòng)座椅的各個(gè)部分動(dòng)作,實(shí)現(xiàn)座椅的調(diào)整。這種控制系統(tǒng)的功能與帶電腦的相似,但無(wú)座椅記憶功能,不能自動(dòng)回位。后排乘客電動(dòng)座椅裝有回位開(kāi)關(guān),可由駕駛員控制它回位。
3.2 廣州本田雅閣轎車(chē)的駛席座椅控制電路
廣州本田雅閣轎車(chē)駕駛座椅有八種可調(diào)方式:前端上、下調(diào)節(jié);后端上、下調(diào)節(jié);前、后調(diào)節(jié);向前、向后傾斜調(diào)節(jié),電路圖見(jiàn)圖7。
通過(guò)電動(dòng)座椅調(diào)節(jié)開(kāi)關(guān),即可完成不同的調(diào)節(jié)功能,如電動(dòng)座椅前端上、下調(diào)節(jié),其電路為:
(1) 向下調(diào)節(jié)
當(dāng)將電動(dòng)座椅前端上、下調(diào)節(jié)開(kāi)關(guān)打到“向下”位置時(shí),電路中的電流為:電源正極直流電斷路器/繼電器盒2紅\藍(lán)線紅\白線電動(dòng)座椅開(kāi)關(guān)端子1右側(cè)電機(jī)電動(dòng)座椅開(kāi)關(guān)端子10黃\紅線電動(dòng)機(jī)端子1成員座椅前\后調(diào)整電機(jī)電動(dòng)機(jī)端子2白線6節(jié)點(diǎn)動(dòng)座椅開(kāi)關(guān)端子棕色線搭鐵。前端上、下調(diào)節(jié)電動(dòng)機(jī)起動(dòng),座椅前端向下移動(dòng)。
圖3.3 廣州本田雅閣轎車(chē)駕駛席電動(dòng)座椅電路
(2) 向上調(diào)節(jié)
當(dāng)將電動(dòng)座椅前端上、下調(diào)節(jié)開(kāi)關(guān)打到“向下”位置時(shí),電路中的電流為:電源正極直流電斷路器/繼電器盒2紅\藍(lán)線紅\白線電動(dòng)座椅開(kāi)關(guān)端子1右側(cè)電機(jī)電動(dòng)座椅開(kāi)關(guān)端子6白線電動(dòng)機(jī)端子2成員座椅前\后調(diào)整電機(jī)電動(dòng)機(jī)端子1黃\紅線10節(jié)點(diǎn)動(dòng)座椅開(kāi)關(guān)端子棕色線搭鐵。前端上、下調(diào)節(jié)電動(dòng)機(jī)起動(dòng),座椅前端向上移動(dòng)。
3.3本章小結(jié)
本章主要對(duì)電動(dòng)記憶座椅的電路系統(tǒng)進(jìn)行了研究,電路系統(tǒng)是座椅運(yùn)動(dòng)中重要的環(huán)節(jié),必須研究清楚,通過(guò)幾周認(rèn)真的學(xué)習(xí)分析了電路系統(tǒng)的功能作用及電流的走向,座椅運(yùn)動(dòng)時(shí)電路路線走向,為下一步編程做準(zhǔn)備。
第4章 座椅硬件虛擬構(gòu)建
硬件系統(tǒng)是汽車(chē)電動(dòng)座椅的核心和骨架部分,硬件系統(tǒng)主要有傳動(dòng)部分和執(zhí)行機(jī)構(gòu)組成的。建立主要需要設(shè)計(jì)座椅底架和靠背機(jī)構(gòu)。
4.1 電動(dòng)座椅的構(gòu)造
4.1.1 電動(dòng)機(jī)
電動(dòng)座椅多采用永磁式雙向直流電動(dòng)機(jī),為防止電機(jī)過(guò)載,電機(jī)內(nèi)一般都裝有斷路器。由于座椅的類(lèi)型不同,一般一個(gè)座椅可裝2個(gè)、3個(gè)、4個(gè)或6個(gè)電機(jī)。
4.1.2 傳動(dòng)和執(zhí)行機(jī)構(gòu)
它們的作用是把電機(jī)的旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)變成座椅的上下、前后移動(dòng)或靠背的傾斜擺動(dòng)。絲杠和螺母機(jī)構(gòu)是核心部件,它具有較大的傳動(dòng)比且自鎖性能良好。
(1)縱向調(diào)整機(jī)構(gòu) 縱向調(diào)整機(jī)構(gòu)由外殼、絲杠、塑料螺母等組成,原理是通過(guò)電機(jī)帶動(dòng)絲杠,絲杠旋轉(zhuǎn),由于螺母固定在車(chē)架上不動(dòng),所以座椅沿絲杠方向移動(dòng)。座椅向前或向后移動(dòng)。
(2)高度調(diào)整機(jī)構(gòu) 高度調(diào)整機(jī)構(gòu)由外殼、絲杠、塑料螺母等組成,原理是當(dāng)開(kāi)關(guān)閉合,電動(dòng)機(jī)正轉(zhuǎn),依次經(jīng)外殼、絲杠塑料螺母,然后螺母推動(dòng)連桿繞著一個(gè)固定的點(diǎn)轉(zhuǎn)動(dòng),于是座椅經(jīng)連桿支架垂直升高。當(dāng)電機(jī)反轉(zhuǎn)時(shí),座椅垂直降低。
4.2傳動(dòng)部分的設(shè)計(jì)
根據(jù)廠家的設(shè)計(jì)要求選取設(shè)計(jì)螺桿:
螺桿模數(shù):
螺桿齒距:
分度圓直徑:
頭數(shù): 1
直徑系數(shù):
頂圓直徑:
根圓直徑:
螺距:3.141
圖4.1 座椅底架初步設(shè)計(jì)
圖4.2 座椅底架內(nèi)部結(jié)構(gòu)
圖4.3 座椅底架的設(shè)計(jì)
4.3靠背調(diào)節(jié)機(jī)構(gòu)
靠背調(diào)節(jié)機(jī)構(gòu)的主要部件是鉸鏈銷(xiāo)釘、鏈輪、內(nèi)齒輪、外齒輪等。鉸鏈銷(xiāo)釘有一個(gè)偏心凸輪,凸輪中間軸與安裝在座椅墊側(cè)的外齒輪同軸;鉸鏈銷(xiāo)釘?shù)闹虚g軸與安裝在座椅靠背側(cè)的鏈輪同軸,并與內(nèi)齒輪同軸轉(zhuǎn)動(dòng)。
當(dāng)靠背與頭枕調(diào)節(jié)開(kāi)關(guān)打開(kāi)時(shí),靠背調(diào)節(jié)的電機(jī)運(yùn)轉(zhuǎn),并帶動(dòng)鏈輪轉(zhuǎn)動(dòng),安裝在鏈輪上的鉸鏈銷(xiāo)釘也同樣的一起轉(zhuǎn)動(dòng)。由于外齒輪安裝在坐墊側(cè),因而鉸鏈銷(xiāo)釘?shù)闹虚g軸圍繞著帶偏心凸輪的中間軸旋轉(zhuǎn)。這樣,內(nèi)齒輪與外齒輪齒合,鉸鏈銷(xiāo)釘每轉(zhuǎn)一圈,齒輪轉(zhuǎn)過(guò)一定角度。
座椅靠背調(diào)節(jié)的最大角度為.當(dāng)鉸鏈銷(xiāo)釘轉(zhuǎn)動(dòng)N圈,靠背調(diào)節(jié)的角度為:
(4.1)
式中:——靠背角度;
N——鉸鏈銷(xiāo)釘轉(zhuǎn)動(dòng)圈;
——外齒輪齒數(shù);
——內(nèi)齒輪齒數(shù)。
座椅靠背的齒輪齒數(shù)為、因載荷較平穩(wěn)齒輪轉(zhuǎn)速不是很高,取小齒輪齒數(shù)為29、大齒輪齒數(shù)為30。
廠家給出的齒輪參數(shù):
法向模數(shù):
齒數(shù):
齒頂圓直徑:
齒根圓直徑:
分度圓直徑:
齒寬:
齒形角:
螺旋角:
圖4.4 齒輪的設(shè)計(jì)
圖4.5 座椅總體結(jié)構(gòu)設(shè)計(jì)
4.4本章小結(jié)
本章首先確定了電動(dòng)記憶座椅硬件結(jié)構(gòu)的設(shè)計(jì),包括對(duì)傳動(dòng)機(jī)構(gòu)絲杠齒輪的設(shè)計(jì)計(jì)算,同時(shí)進(jìn)行了PRO/E的制作,通過(guò)到圖書(shū)館查閱相關(guān)資料和進(jìn)行研究,了解了計(jì)算座椅硬件系統(tǒng)所應(yīng)用的相關(guān)數(shù)據(jù)和計(jì)算。通過(guò)設(shè)計(jì)傳動(dòng)部分這一部分是座椅的框架部分為下一步設(shè)計(jì)做基礎(chǔ)。
第5章 軟件系統(tǒng)設(shè)計(jì)
5.1 概述
軟件系統(tǒng)是汽車(chē)座椅的大腦,起著至關(guān)重要的作用,設(shè)計(jì)時(shí)先主要設(shè)計(jì)出系統(tǒng)流程圖,然后編輯出主程序及子程序,單片機(jī)以89C51為主,也可以用,它的加強(qiáng)版89C52,編程有些難度需要不斷地學(xué)習(xí)總結(jié),一步一步腳踏實(shí)地的干。
5.2 系統(tǒng)主程序流程圖及注意事項(xiàng)
系統(tǒng)軟件主程序流程圖如圖5.1 所示。其中,存取操作的功能是對(duì)電機(jī)位置進(jìn)行存儲(chǔ)和提取,這需要說(shuō)明的兩點(diǎn)是:
初始化過(guò)程
按鍵復(fù)位過(guò)程
升、降、俯、仰處理
鎖定檢測(cè)處理
存、取檢測(cè)處理
存取操作
開(kāi)始
繼電器控制
圖 5.1主程序流程圖
(1)電機(jī)位置是指電機(jī)相對(duì)于復(fù)位位置(開(kāi)機(jī)初始位置)所轉(zhuǎn)過(guò)的圈數(shù),遠(yuǎn)離復(fù)位位置,圈數(shù)加一,反之,圈數(shù)減一,到達(dá)復(fù)位位置后,圈數(shù)正好減為零;圈數(shù)是通過(guò)對(duì)驅(qū)動(dòng)板所反饋的霍爾信號(hào)計(jì)數(shù)得到的。
(2)要等電機(jī)停穩(wěn)后才可以存儲(chǔ),否則存儲(chǔ)位置不確定。存儲(chǔ)操作環(huán)流程圖如圖所示。
在圖9中所提到的運(yùn)行模塊的功能是按照目標(biāo)位置與電機(jī)當(dāng)前所處位置之間的相對(duì)關(guān)系對(duì)電機(jī)進(jìn)行控制,兩者不相等時(shí),驅(qū)動(dòng)電機(jī)正轉(zhuǎn)或反轉(zhuǎn),以使電機(jī)接近目標(biāo)位置,直到到達(dá)目標(biāo)位置為止。本程序可以同時(shí)控制兩個(gè)電機(jī),兩個(gè)電機(jī)按照誰(shuí)先到誰(shuí)先停的原則進(jìn)行協(xié)調(diào)。開(kāi)始
電機(jī)停轉(zhuǎn)?
存????
M1-M4有鍵按下
M1-M4有鍵按下
將對(duì)應(yīng)單元中的位置取出,作為電機(jī)的目標(biāo)位置,并調(diào)用運(yùn)行模塊
將當(dāng)前電機(jī)的位置存入對(duì)應(yīng)單元中
結(jié)束
N
N
N
Y
取
存
Y
圖5.2 存取模塊流程圖
運(yùn)行模塊流程圖如圖所示,其中,按一定規(guī)則動(dòng)作便是指根據(jù)目標(biāo)位置與電機(jī)所處位置之間的相關(guān)關(guān)系來(lái)控制電機(jī)正轉(zhuǎn)或反轉(zhuǎn),以使電機(jī)接近目標(biāo)位置。
開(kāi)始
初始化
自測(cè)量鍵
有鍵按下
高度調(diào)整鍵
靠背調(diào)整鍵
將各位置數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器中
大于3秒
存儲(chǔ)鍵1
置存儲(chǔ)器1標(biāo)志
讀出座椅各方向位置數(shù)據(jù)
水平調(diào)整鍵
座椅上/下調(diào)整
座椅前/后調(diào)整
自測(cè)量功能模塊
與當(dāng)前位置數(shù)據(jù)比較控制電動(dòng)機(jī)運(yùn)行到該數(shù)據(jù)位置
座椅靠背調(diào)整
存儲(chǔ)鍵2
存儲(chǔ)鍵3
置存儲(chǔ)器3標(biāo)志
置存儲(chǔ)器2標(biāo)志
N
N
Y
Y
Y
Y
N
Y
Y
N
Y
N
Y
Y
圖5.3 主程序流程圖
5.3 系統(tǒng)主程序設(shè)計(jì)及子程序
#include
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
//毫秒延時(shí)函數(shù)
void Delay1ms(uint16 time_data)
{
uint8 d_max = 70;
uint16 c = time_data;
while(c--)
{
while(--d_max);
}
}
sbit LED_RED = P0^7; //紅色指示燈控制端口
sbit LED_GREEN = P0^6; //綠色指示燈控制端口
sbit BEEP = P3^2; //蜂鳴器控制端口
#include "Key.h" //鍵盤(pán)函數(shù)頭文件
#include "Motor.h" //電機(jī)驅(qū)動(dòng)函數(shù)頭文件
#include "EEPROM.h" //EEPROM函數(shù)頭文件
#include "Motor.c" //電機(jī)驅(qū)動(dòng)函數(shù)文件
#include "EEPROM.c" //EEPROM函數(shù)文件
void main(void)
{
uint8 c;
EEPROMGet(); //獲取存儲(chǔ)的4組設(shè)置
P1 = 0x00; //電機(jī)控制端口低電平
P3 = 0xF0; //電機(jī)控制端口低電平
P2 = 0xFF; //端口初始化,按鍵端口和光電開(kāi)關(guān)檢測(cè)端口置為輸入方向
P0 = 0x3F; //端口初始化,按鍵端口和光電開(kāi)關(guān)檢測(cè)端口置為輸入方向
LED_RED = 1; //紅燈滅
for (c = 0; c < 3; c++)
{ //蜂鳴器響3聲,綠燈閃3次,表示系統(tǒng)上電工作
BEEP = 0;
LED_GREEN = 0;
Delay1ms(50);
BEEP = 1;
LED_GREEN = 1;
Delay1ms(50);
}
LED_RED = 0; //紅燈亮
MotorOrigin(); //電機(jī)返回原點(diǎn)
mt_now_1 = 0; //當(dāng)前電機(jī)1角度為0
mt_now_2 = 0; //當(dāng)前電機(jī)2角度為0
mt_now_3 = 0; //當(dāng)前電機(jī)3角度為0
LED_RED = 1; //紅燈滅
//主循環(huán)體
while (1)
{
if (!KEY_UP)
{ //向上運(yùn)動(dòng)鍵被按下
LED_GREEN = 0; //綠燈亮
MotorKeyForward1();
LED_GREEN = 1; //綠燈滅
}
else if (!KEY_DOWN)
{ //向下運(yùn)動(dòng)鍵被按下
LED_GREEN = 0;
MotorKeyReverse1();
LED_GREEN = 1;
}
else if (!KEY_LEFT)
{ //向左運(yùn)動(dòng)鍵被按下
LED_GREEN = 0;
MotorKeyForward2();
LED_GREEN = 1;
}
else if (!KEY_RIGHT)
{ //向右運(yùn)動(dòng)鍵被按下
LED_GREEN = 0;
MotorKeyReverse2();
LED_GREEN = 1;
}
else if (!KEY_FORWARD)
{ //向前運(yùn)動(dòng)鍵被按下
LED_GREEN = 0;
MotorKeyForward3();
LED_GREEN = 1;
}
else if (!KEY_RESERVE)
{ //向后運(yùn)動(dòng)鍵被按下
LED_GREEN = 0;
MotorKeyReverse3();
LED_GREEN = 1;
}
else if (!KEY_SET_1)
{ //設(shè)置1按鍵被按下
Delay1ms(10); //延時(shí)消除按鍵抖動(dòng)
if (!KEY_SET_1)
{ //再次判斷設(shè)置1按鍵被按下
while (!KEY_SET_1); //等待按鍵抬起(松開(kāi)按鍵)
if (mt_set_sta)
{ //當(dāng)前狀態(tài)為存儲(chǔ)
mt_set_sta = 0;
mt_set_1_1 = mt_now_1; //將當(dāng)前電機(jī)1角度賦值給設(shè)置1的電機(jī)1角度
mt_set_1_2 = mt_now_2; //將當(dāng)前電機(jī)2角度賦值給設(shè)置1的電機(jī)2角度
mt_set_1_3 = mt_now_3; //將當(dāng)前電機(jī)3角度賦值給設(shè)置1的電機(jī)3角度
EEPROMSave(); //存儲(chǔ)設(shè)置
BEEP = 0; //存儲(chǔ)完畢,蜂鳴器響提示
Delay1ms(100);
BEEP = 1;
}
else
{ //當(dāng)前狀態(tài)待機(jī),控制電機(jī)運(yùn)行到設(shè)置1的角度
LED_RED = 0; //紅燈亮
MotorSet1(); //運(yùn)行到設(shè)置1角度
LED_RED = 1; //紅燈滅
}
}
}
else if (!KEY_SET_2)
{ //設(shè)置2按鍵被按下
Delay1ms(10);
if (!KEY_SET_2)
{
while (!KEY_SET_2);
if (mt_set_sta)
{
mt_set_sta = 0;
mt_set_2_1 = mt_now_1;
mt_set_2_2 = mt_now_2;
mt_set_2_3 = mt_now_3;
EEPROMSave();
BEEP = 0;
Delay1ms(100);
BEEP = 1;
}
else
{
LED_RED = 0;
MotorSet2();
LED_RED = 1;
}
}
}
else if (!KEY_SET_3)
{ //設(shè)置3按鍵被按下
Delay1ms(10);
if (!KEY_SET_3)
{
while (!KEY_SET_3);
if (mt_set_sta)
{
mt_set_sta = 0;
mt_set_3_1 = mt_now_1;
mt_set_3_2 = mt_now_2;
mt_set_3_3 = mt_now_3;
EEPROMSave();
BEEP = 0;
Delay1ms(100);
BEEP = 1;
}
else
{
LED_RED = 0;
MotorSet3();
LED_RED = 1;
}
}
}
else if (!KEY_SET_4)
{ //設(shè)置4按鍵被按下
Delay1ms(10);
if (!KEY_SET_4)
{
while (!KEY_SET_4);
if (mt_set_sta)
{
mt_set_sta = 0;
mt_set_4_1 = mt_now_1;
mt_set_4_2 = mt_now_2;
mt_set_4_3 = mt_now_3;
EEPROMSave();
BEEP = 0;
Delay1ms(100);
BEEP = 1;
}
else
{
LED_RED = 0;
MotorSet4();
LED_RED = 1;
}
}
}
else if (!KEY_SAVE)
{ //存儲(chǔ)鍵被按下
Delay1ms(10);
if (!KEY_SAVE)
{
while (!KEY_SAVE);
if (mt_set_sta)
{ //當(dāng)前狀態(tài)為存儲(chǔ)
mt_set_sta = 0; //更改為待機(jī)
}
else
{ //當(dāng)前狀態(tài)為待機(jī)
mt_set_sta = 1; //更改為存儲(chǔ)
}
}
}
if (mt_set_sta)
{ //如果狀態(tài)為存儲(chǔ)
LED_RED = 0; //紅燈亮
LED_GREEN = 0; //綠燈亮
}
else
{ //如果狀態(tài)為待機(jī)
LED_RED = 1; //紅燈滅
LED_GREEN = 1; //綠燈滅
}
}
}
5.3.1 定義按鍵程序
//按鍵接口定義
sbit KEY_UP = P2^0; //向上運(yùn)動(dòng)鍵
sbit KEY_DOWN = P2^1; //向下運(yùn)動(dòng)鍵
sbit KEY_LEFT = P2^2; //向左運(yùn)動(dòng)鍵
sbit KEY_RIGHT = P2^3; //向右運(yùn)動(dòng)鍵
sbit KEY_FORWARD = P2^4; //向前運(yùn)動(dòng)鍵
sbit KEY_RESERVE = P2^5; //向后運(yùn)動(dòng)鍵
sbit KEY_SET_1 = P2^6; //設(shè)置鍵1
sbit KEY_SET_2 = P2^7; //設(shè)置鍵2
sbit KEY_SET_3 = P0^5; //
sbit KEY_SET_4 = P0^4; //
sbit KEY_SAVE = P0^3;
5.3.2 單片機(jī)運(yùn)行程序
void EEPROMEnable(void)
{
EA = 0; /* 關(guān)中斷 */
ISP_CONTR = ISP_CONTR & 0x18;
ISP_CONTR = ISP_CONTR | 0x00; //等待時(shí)間
ISP_CONTR = ISP_CONTR | 0x80;
}
/* 關(guān)閉 ISP,IAP 功能 */
void EEPROMDisable(void)
{
ISP_CONTR = ISP_CONTR & 0x7F;
ISP_TRIG = 0x00;
EA = 1;
}
/* 字節(jié)讀 */
uint8 EEPROMReadByte(uint16 addr)
{
EEPROMEnable();
ISP_ADDRH = (uint8)(addr >> 8);
ISP_ADDRL = (uint8)(addr & 0x00FF);
ISP_CMD = ISP_CMD & 0xF8;
ISP_CMD = ISP_CMD | 0x01;
ISP_TRIG = 0x46; /* 觸發(fā)ISP_IAP命令 */
ISP_TRIG = 0xB9; /* 觸發(fā)ISP_IAP命令 */
_nop_();
EEPROMDisable();
return (ISP_DATA);
}
/* 扇區(qū)擦除 */
void EEPROMErase(uint16 sector_addr)
{
uint16 get_sector_addr = 0;
EEPROMEnable();
get_sector_addr = (sector_addr & 0xFE00);
ISP_ADDRH = (uint8)(get_sector_addr >> 8);
ISP_ADDRL = 0x00;
ISP_CMD = ISP_CMD & 0xF8;
ISP_CMD = ISP_CMD | 0x03;
ISP_TRIG = 0x46; /* 觸發(fā)ISP_IAP命令 */
ISP_TRIG = 0xB9; /* 觸發(fā)ISP_IAP命令 */
_nop_();
EEPROMDisable();
}
/* 字節(jié)編程 */
void EEPROMWriteByte(uint16 addr, uint8 dat)
{
EEPROMEnable();
ISP_ADDRH = (uint8)(addr >> 8);
ISP_ADDRL = (uint8)(addr & 0x00FF);
ISP_CMD = ISP_CMD & 0xF8;
ISP_CMD = ISP_CMD | 0x02;
ISP_DATA = dat;
ISP_TRIG = 0x46; /* 觸發(fā)ISP_IAP命令 */
ISP_TRIG = 0xB9; /* 觸發(fā)ISP_IAP命令 */
_nop_();
EEPROMDisable();
}
//存儲(chǔ)4組設(shè)置
void EEPROMSave(void)
{
EEPROMErase(EEPROM_START); //擦除存儲(chǔ)單元
//依次按順序存儲(chǔ)4組設(shè)置,每個(gè)設(shè)置的角度占2個(gè)字節(jié)
EEPROMWriteByte(EEPROM_START + 0, mt_set_1_1);
EEPROMWriteByte(EEPROM_START + 1, mt_set_1_1 >> 8);
EEPROMWriteByte(EEPROM_START + 2, mt_set_1_2);
EEPROMWriteByte(EEPROM_START + 3, mt_set_1_2 >> 8);
EEPROMWriteByte(EEPROM_START + 4, mt_set_1_3);
EEPROMWriteByte(EEPROM_START + 5, mt_set_1_3 >> 8);
EEPROMWriteByte(EEPROM_START + 6, mt_set_2_1);
EEPROMWriteByte(EEPROM_START + 7, mt_set_2_1 >> 8);
EEPROMWriteByte(EEPROM_START + 8, mt_set_2_2);
EEPROMWriteByte(EEPROM_START + 9, mt_set_2_2 >> 8);
EEPROMWriteByte(EEPROM_START + 10, mt_set