• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32和Arduino的遙控泊車裝置設(shè)計(jì)與開發(fā)

      2023-01-03 10:55:00姚毅超林智桂付廣
      汽車零部件 2022年12期
      關(guān)鍵詞:接收器方向盤遙控器

      姚毅超,林智桂,付廣

      上汽通用五菱汽車股份有限公司,廣西柳州 545007

      0 引言

      目前主機(jī)廠對(duì)于實(shí)現(xiàn)遙控泊車的主要方法是將此功能做到整車的全自動(dòng)泊車控制器當(dāng)中,遙控功能是基于現(xiàn)有車鑰匙或者手機(jī)進(jìn)行開發(fā),局限性較大。車鑰匙可供開發(fā)的按鍵較少,手機(jī)開發(fā)成本較高,時(shí)延較大,影響遙控的實(shí)時(shí)性和使用體驗(yàn)。因此,本文介紹一款基于STM32和Arduino設(shè)計(jì)與開發(fā)的遙控泊車裝置,用于解決上述問題。

      該裝置由遙控器、接收器和無線通信模塊3個(gè)部分組成,可實(shí)現(xiàn)對(duì)遙控車輛的橫縱向控制、行車燈控制和遠(yuǎn)程上下電控制。先通過控制器選型確定裝置的硬件構(gòu)成,再運(yùn)用編程語言完成對(duì)所需功能的編寫,最后在實(shí)車上對(duì)該裝置進(jìn)行測試驗(yàn)證,對(duì)行駛車速、主動(dòng)距離、轉(zhuǎn)向角度及速度等性能指標(biāo)進(jìn)行評(píng)估。使用時(shí)只需將遙控裝置的接收器連接在整車OBD口上,手持遙控器即可實(shí)現(xiàn)對(duì)車輛的遠(yuǎn)程操控。

      1 遙控泊車系統(tǒng)設(shè)計(jì)

      1.1 功能定義

      (1)基本功能[1]:遙控車輛行駛的基本需求,即通過遙控器上的按鍵控制車輛完成前、后、左、右及制動(dòng)的操作,同時(shí)也可通過其上的搖桿實(shí)現(xiàn)同樣功能,區(qū)別在于搖桿控制可實(shí)現(xiàn)車輛的橫縱向同步控制。

      (2)遙控按鍵[1]:遙控器按鍵示意如圖1所示,可進(jìn)行X、Y方向的移動(dòng),當(dāng)被按下時(shí)為制動(dòng)按鍵。

      圖1 遙控器按鍵示意

      1.2 目標(biāo)參數(shù)

      為滿足使用者體驗(yàn)的同時(shí)保障操控安全,并能夠?qū)b控系統(tǒng)進(jìn)行量化分析,該遙控裝置的目標(biāo)參數(shù)設(shè)定見表1。

      表1 遙控裝置的目標(biāo)參數(shù)設(shè)定

      1.3 系統(tǒng)設(shè)計(jì)

      遙控系統(tǒng)分為硬件設(shè)計(jì)和軟件設(shè)計(jì),硬件設(shè)計(jì)包括遙控器控制器、接收器控制器和無線通信模塊的選型,接收器選用普遍應(yīng)用的STM32F107控制器,遙控器選用開發(fā)集成度高、成本低的Arduino控制器配合Joystick Shield擴(kuò)展板,無線通信模塊選用傳輸距離較遠(yuǎn)、穩(wěn)定性強(qiáng)并具有基站功能的ZigBee模塊[2]。遙控系統(tǒng)的硬件設(shè)計(jì)框圖如圖2所示。

      圖2 遙控系統(tǒng)的硬件設(shè)計(jì)框圖

      完成硬件選型、設(shè)計(jì)和組裝后,根據(jù)遙控器控制器和無線通信模塊的尺寸設(shè)計(jì)遙控器外殼,其外觀設(shè)計(jì)效果如圖3所示。

      圖3 遙控器外觀設(shè)計(jì)效果

      軟件設(shè)計(jì)包括軟件架構(gòu)搭建和算法程序編寫,軟件架構(gòu)是指控車邏輯、安全機(jī)制及底層配置等;算法程序則主要完成具體的控制指令編寫及系統(tǒng)優(yōu)化。STM32F107控制器根據(jù)實(shí)現(xiàn)的功能需要在程序中配置CAN、SCI、TIM、NVIC、RCC 6個(gè)模塊[3],并編寫相應(yīng)的接口函數(shù)供主程序使用。接收器的軟件設(shè)計(jì)框圖如圖4所示。

      圖4 接收器的軟件設(shè)計(jì)框圖

      Arduino控制器根據(jù)要實(shí)現(xiàn)的功能通過調(diào)用Arduino提供的庫函數(shù)完成串口配置及遙控指令的收發(fā),遙控器的軟件設(shè)計(jì)框圖如圖5所示。

      圖5 遙控器的軟件設(shè)計(jì)框圖

      2 遙控方法研究與實(shí)現(xiàn)

      遙控泊車功能目前主要基于總線信號(hào)進(jìn)行實(shí)現(xiàn),對(duì)于車輛的轉(zhuǎn)向、驅(qū)動(dòng)、制動(dòng)均通過CAN總線上的相關(guān)報(bào)文進(jìn)行控制,所介紹的遙控裝置以新寶駿某車型作為試驗(yàn)車輛對(duì)橫縱向控制方法進(jìn)行測試驗(yàn)證。

      Arduino控制器配合Joystick Shield擴(kuò)展板組成遙控器,根據(jù)擴(kuò)展板上按鍵和搖桿的數(shù)據(jù)值解析關(guān)系編寫遙控指令發(fā)送邏輯,按照上述遙控按鍵定義賦予實(shí)際的控制含義,遙控器上的方向鍵是車輛橫縱向單獨(dú)控制,搖桿是車輛橫縱向同時(shí)控制,因此遙控器實(shí)現(xiàn)了橫縱向分開及同時(shí)控制,其控制流程如圖6所示。

      圖6 遙控器的控制流程

      2.1 車輛縱向控制

      接收器控制器為STM32F107控制器,通過CAN模塊配置相應(yīng)的CAN通道,使其能夠正常收發(fā)CAN報(bào)文標(biāo)準(zhǔn)幀;通過TIM模塊配置相應(yīng)的定時(shí)器,使其能夠計(jì)算不同周期,接著編寫可控制車速、擋位及制動(dòng)的報(bào)文函數(shù),對(duì)其中對(duì)應(yīng)的字節(jié)進(jìn)行賦值,報(bào)文函數(shù)形式為:

      void can_0xID(unsigned int velocity,unsigned char gearreq,unsigned char pressure)

      {

      unsigned char i;

      CanTxMsg TxMessage;

      TxMessage.StdId=0xID;

      TxMessage.ExtId=0x0000;

      TxMessage.IDE = CAN_ID_STD;

      TxMessage.RTR = CAN_RTR_DATA;

      TxMessage.DLC = 8;

      CAN1_DATA[0]=0x00;

      CAN1_DATA[1]=0x00;

      CAN1_DATA[2]=pressure;

      CAN1_DATA[3]=velocity>>8;

      CAN1_DATA[4]=velocity;

      CAN1_DATA[5]=0x00;

      CAN1_DATA[6]=gearreq+rc_ID;

      CAN1_DATA[7]=CAN1_DATA[0]+CAN1_DATA[1]+CAN1_DATA[2]+CAN1_DATA[3]+CAN1_DATA[4]+CAN1_DATA[5]+CAN1_DATA[6];

      for(i = 0;i < 8;i ++)

      {

      TxMessage.Data[i]= CAN1_DATA[i];

      }

      CAN_Transmit(CAN1,&TxMessage);

      rc_ID=rc_ID+1;

      if(rc_ID==16)

      {

      rc_ID=0;

      }

      }

      其中CanTxMsg為CAN發(fā)送結(jié)構(gòu)體,0xID為自定義的報(bào)文ID,CAN_ID_STD值為0,CAN_RTR_DATA值為0,pressure為制動(dòng)壓力請(qǐng)求,velocity為速度請(qǐng)求,gearreq為擋位請(qǐng)求,rc_ID為循環(huán)計(jì)數(shù),CAN_Transmit為報(bào)文發(fā)送函數(shù)。

      將縱向控制報(bào)文通過OBD口發(fā)送至整車CAN網(wǎng)絡(luò),ESC控制器可執(zhí)行相應(yīng)的速度、擋位和制動(dòng)請(qǐng)求,將代碼燒錄進(jìn)接收器控制器連接到整車上進(jìn)行實(shí)車測試。車速、擋位和制動(dòng)請(qǐng)求與響應(yīng)的變化曲線如圖7至圖9所示。

      圖7 車速請(qǐng)求與響應(yīng)的變化曲線

      圖8 擋位請(qǐng)求與響應(yīng)的變化曲線

      圖9 制動(dòng)請(qǐng)求與響應(yīng)的變化曲線

      2.2 車輛橫向控制

      基于縱向控制的報(bào)文函數(shù)形式編寫橫向控制的請(qǐng)求報(bào)文,主程序中需根據(jù)目標(biāo)參數(shù)中的最大轉(zhuǎn)角定義對(duì)方向盤角度變量值進(jìn)行限制,實(shí)車測試過程中發(fā)現(xiàn)方向盤響應(yīng)表現(xiàn)比較抖動(dòng),轉(zhuǎn)角曲線呈鋸齒狀,針對(duì)此問題,通過低通濾波算法和幅值限值算法對(duì)轉(zhuǎn)向控制進(jìn)行優(yōu)化,優(yōu)化算法程序如下:

      int limit(int angle,int angle_old){

      if(angle> angle_old){

      if((angle-angle_old)>ANGLE_THRESHOLD){

      return angle_old+ANGLE_THRESHOLD;

      }

      else {

      return angle;

      }

      }

      else {

      if((angle_old-angle)>ANGLE_THRESHOLD){

      return angle_old-ANGLE_THRESHOLD;

      }

      else {

      return angle;

      }

      }

      }

      其中angle_old為上一周期請(qǐng)求的方向盤角度值,angle為當(dāng)前周期請(qǐng)求的方向盤角度值,ANGLE_THRESHOLD為方向盤角度階躍的限值。

      int filter(int value,int value_old){

      return(1-WEIGHT)*value_old+WEIGHT*value;

      }

      其中WEIGHT為比重因子。

      經(jīng)過優(yōu)化算法處理后,不斷調(diào)試比重因子和階躍限值后實(shí)現(xiàn)了方向盤的平滑控制,實(shí)車方向盤轉(zhuǎn)動(dòng)時(shí)無明顯抖動(dòng),轉(zhuǎn)角曲線較之前改善明顯,優(yōu)化前后方向盤響應(yīng)的對(duì)比曲線如圖10所示。

      圖10 優(yōu)化前后方向盤響應(yīng)的對(duì)比曲線

      2.3 遠(yuǎn)程上下電控制

      基于縱向控制的報(bào)文函數(shù)形式編寫遠(yuǎn)程上下電控制的請(qǐng)求報(bào)文,當(dāng)接收器控制器接收到來自遙控器控制器的指令0x05時(shí),表示下電請(qǐng)求,向整車CAN總線發(fā)送下電請(qǐng)求報(bào)文的同時(shí)掛P擋,拉起手剎;當(dāng)接收器控制器接收到來自遙控器控制器的指令0x06時(shí),表示上電請(qǐng)求,向整車CAN總線發(fā)送上電請(qǐng)求報(bào)文的同時(shí)釋放手剎。遠(yuǎn)程上下電控制邏輯如圖11所示。

      圖11 遠(yuǎn)程上下電控制邏輯

      3 系統(tǒng)安全機(jī)制建立

      遙控器和接收器通過ZigBee無線模塊建立通信實(shí)現(xiàn)對(duì)車輛的操控過程中可能會(huì)因?yàn)閿嚯?、信?hào)傳輸不穩(wěn)定等原因?qū)е峦ㄐ胖袛?,由此帶來安全隱患和諸多風(fēng)險(xiǎn),因此需要建立遙控器和接收器之間通信的安全機(jī)制,將安全交互協(xié)議分別編寫進(jìn)兩控制器。

      3.1 接收器的安全交互邏輯

      接收器控制器的定時(shí)器1每隔120 ms向遙控器發(fā)送指令0x11,如圖12所示。

      圖12 安全交互邏輯1

      接收器控制器接收到數(shù)據(jù)后判斷值是否為0xff,如果是,則將標(biāo)志位RC置1,如圖13所示。

      圖13 安全交互邏輯2

      接收器控制器的定時(shí)器2每隔1 s會(huì)判斷標(biāo)志位RC是否置1,如果置位,則清零;如果沒有,Num計(jì)數(shù)10次后會(huì)將標(biāo)志位flag置零,如圖14所示。

      圖14 安全交互邏輯3

      3.2 遙控器的安全交互邏輯

      遙控器控制器接收到0x11后會(huì)向接收器控制器發(fā)送指令0xff,如圖15所示。

      圖15 安全交互邏輯4

      基于上述的安全交互邏輯,需要在主程序中編寫因斷電、接觸不良導(dǎo)致通信中斷時(shí)的處理函數(shù),即當(dāng)標(biāo)志位flag置零時(shí),接收器控制器要向整車發(fā)送報(bào)文實(shí)現(xiàn)無轉(zhuǎn)向、無速度且制動(dòng)的功能。

      4 結(jié)束語

      本文介紹的一款基于STM32和Arduino的遙控泊車裝置經(jīng)過實(shí)車測試驗(yàn)證后,完成預(yù)期設(shè)計(jì)的所有目標(biāo),從硬件選型制作到軟件架構(gòu)編寫再到功能標(biāo)定調(diào)試,一步步實(shí)現(xiàn)遙控裝置對(duì)車輛橫縱向的平穩(wěn)控制和遠(yuǎn)程上下電控制。該裝置的開發(fā)成功解決了現(xiàn)有車鑰匙按鍵少、手機(jī)開發(fā)成本高的問題,提供了一種綜合性價(jià)比較高的解決方案。

      猜你喜歡
      接收器方向盤遙控器
      六旬老人因搶奪公交車方向盤獲刑
      時(shí)間遙控器
      爸媽有個(gè)“遙控器”
      行走的飛行遙控器
      JXG-50S型相敏軌道電路接收器自動(dòng)測試臺(tái)
      把握好直銷的方向盤
      把準(zhǔn)方向盤 握緊指向燈 走好創(chuàng)新路
      埃及
      按錯(cuò)遙控器
      ZPW-2000A軌道電路接收器冗余電路存在問題分析及對(duì)策
      东乌珠穆沁旗| 克山县| 东山县| 米易县| 安化县| 蓝田县| 五华县| 麻江县| 南江县| 兴文县| 云霄县| 江油市| 西宁市| 巴林右旗| 新沂市| 湄潭县| 扬州市| 囊谦县| 桐庐县| 宣威市| 噶尔县| 灵石县| 盐津县| 石首市| 肥城市| 子长县| 明星| 文水县| 绩溪县| 随州市| 道真| 新竹市| 淮北市| 当雄县| 孟州市| 库尔勒市| 东平县| 岳池县| 缙云县| 吉木萨尔县| 河池市|