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