亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于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)行測(cè)試驗(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)行測(cè)試驗(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í)車測(cè)試。車速、擋位和制動(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í)車測(cè)試過程中發(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í)車測(cè)試驗(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)測(cè)試臺(tái)
        把握好直銷的方向盤
        把準(zhǔn)方向盤 握緊指向燈 走好創(chuàng)新路
        埃及
        按錯(cuò)遙控器
        ZPW-2000A軌道電路接收器冗余電路存在問題分析及對(duì)策
        91麻豆国产香蕉久久精品| 激情综合色综合啪啪开心| 日本黄色一区二区三区| 日本视频二区在线观看| 波多野42部无码喷潮| 专区国产精品第一页| 最新在线观看精品国产福利片| 白白在线免费观看视频| 亚洲国产成人久久精品一区| 久久久99精品成人片| 久久久久久好爽爽久久| 国产成人亚洲综合无码DVD| 99视频偷拍视频一区二区三区| 99国产精品久久99久久久| 国产精品videossex国产高清| 日本一卡2卡3卡4卡无卡免费网站| 四川老熟女下面又黑又肥| 国产黄页网站在线观看免费视频| 2021国内精品久久久久精免费| 久久精品日韩免费视频| 一区二区三区午夜视频在线 | 白色白色在线视频播放平台| 一二三四区中文字幕在线| 国产精品无码成人午夜电影| 欧美日韩国产成人综合在线影院| 色小姐在线视频中文字幕| 无码人妻精品一区二区三区夜夜嗨 | 中国老熟妇自拍hd发布| 亚洲 欧美 激情 小说 另类| 亚洲啊啊啊一区二区三区 | 91自拍视频国产精品| 玩弄放荡人妻少妇系列视频| 一本久道久久综合五月丁香| 国内精品女同一区二区三区| 亚洲小说区图片区色综合网| 性色av浪潮av色欲av| 国产精品27页| 国产91在线播放九色快色| 老女老肥熟女一区二区| 丰满多毛的大隂户视频| av无码一区二区三|