国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

STM32智能小車循跡避障綜合實(shí)驗(yàn):狀態(tài)機(jī)與PD控制

STM32智能小車循跡避障綜合實(shí)驗(yàn):狀態(tài)機(jī)與PD控制 簡介圍繞STM32智能小車的黑線循跡與紅外避障綜合實(shí)驗(yàn)這套工程源碼面向剛接觸嵌入式控制、希望從電機(jī)驅(qū)動與傳感器采集入手理解小車運(yùn)動邏輯的學(xué)習(xí)者。代碼以定時(shí)器配置電機(jī)為核心封裝前進(jìn)、剎車、左轉(zhuǎn)、左旋轉(zhuǎn)、右轉(zhuǎn)、右旋轉(zhuǎn)、后退等基礎(chǔ)運(yùn)動函數(shù)注釋較為詳細(xì)便于把巡線判斷與避障策略拆成可讀、可改的模塊適合課程實(shí)驗(yàn)與入門小車項(xiàng)目對照練習(xí)。壓縮包共192個(gè)文件約6.49MB主體是34個(gè)c源文件與35個(gè)h頭文件覆蓋外設(shè)驅(qū)動和工程組織同時(shí)保留Keil工程配置、編譯中間文件以及hex燒錄文件拿到后可直接對照目錄梳理定時(shí)器、GPIO與中斷相關(guān)配置。已有1187人學(xué)習(xí)說明其在基礎(chǔ)巡線避障實(shí)驗(yàn)中有一定參考價(jià)值讀者可據(jù)此快速定位運(yùn)動控制與傳感器處理的代碼入口并在此基礎(chǔ)上調(diào)整速度、轉(zhuǎn)向時(shí)長與避障閾值。1. 從一塊循跡底板說起STM32 智能小車綜合實(shí)驗(yàn)到底要解決什么很多人拿到 STM32 智能小車套件后做的第一件事是讓電機(jī)轉(zhuǎn)起來結(jié)果輪子一轉(zhuǎn)黑線循跡和紅外避障就全亂了——車要么在原地畫龍要么一頭頂?shù)綁ι稀_@套 ZYSTM32-A1 綜合實(shí)驗(yàn)的價(jià)值不在于把兩個(gè)實(shí)驗(yàn)拼在同一個(gè)工程里而在于讓黑線循跡和紅外避障共用一塊主控、一套主循環(huán)、一份狀態(tài)機(jī)并且在兩種工況切換時(shí)不打架。它適合剛點(diǎn)完 LED、想完整做第一個(gè)嵌入式小車項(xiàng)目的人課程設(shè)計(jì)、畢設(shè)前期驗(yàn)證、入門競賽練手都能直接用。讀完你應(yīng)該拿到一套能跑、能調(diào)、能講清楚“為什么這么寫”的方案而不是一張只會照抄的接線圖。2. 需求拆解與硬件選型三種工況、五路紅外和一套電機(jī)驅(qū)動動手畫原理圖之前先要把“這個(gè)小車要干什么”寫死。需求邊界不清后面選型就會一路糾結(jié)傳感器到底買三路還是五路驅(qū)動到底用 L298N 還是 TB6612主控用 51 夠不夠。這一章按功能邊界、器件選型、引腳分配的順序把這些定下來。2.1 功能邊界循跡、避障、協(xié)同三種工況各自的驗(yàn)收口徑我把這套小車的功能切成三個(gè)工況每個(gè)工況都要有能測的驗(yàn)收口徑不然答辯時(shí)說不清“做完了”是什么狀態(tài)。第一種是純循跡工況場地是一條 1.52 cm 寬的黑色電工膠帶直道加彎道最小曲率半徑按 30 cm 設(shè)計(jì)。驗(yàn)收口徑是從起點(diǎn)到終點(diǎn)約 5 m 全程不脫線單圈時(shí)間穩(wěn)定在 ±1 s 以內(nèi)。之所以把線寬限定在 2 cm 以內(nèi)是因?yàn)槲迓芳t外傳感器的探頭間距通常在 1015 mm線太寬會讓相鄰兩路同時(shí)壓線偏差計(jì)算的平均值會變鈍彎道就跟不上。第二種是純避障工況車前 1530 cm 出現(xiàn)障礙物時(shí)小車要在 0.3 s 內(nèi)做出反應(yīng)單側(cè)有障礙就向另一側(cè)讓正前方堵死就先后退再轉(zhuǎn)向。這個(gè)距離不是隨口定的紅外避障模塊的有效檢測距離通常在 380 cm 之間可調(diào)調(diào)太遠(yuǎn)會在彎道被場地邊沿誤觸發(fā)調(diào)太近則留給轉(zhuǎn)向的時(shí)間不夠。第三種是協(xié)同工況也是這套“綜合實(shí)驗(yàn)”真正的難點(diǎn)小車正在循跡前方突然出現(xiàn)障礙物要先切到避障動作繞開之后還得自己找回黑線繼續(xù)跑。很多人的工程在單工況測試時(shí)都正常一到協(xié)同就露餡——避障結(jié)束后車在原地轉(zhuǎn)圈找線或者剛回到線上又被同一個(gè)障礙物觸發(fā)第二次。提示需求邊界一次就寫清楚“不做什么”比寫“做什么”更重要。這套方案不做攝像頭視覺、不做 SLAM 建圖、不做電機(jī)編碼器閉環(huán)調(diào)速純粹用開關(guān)量傳感器加 PWM 差速實(shí)現(xiàn)。邊界定了后面所有取舍都有依據(jù)。2.2 主控與傳感器選型為什么是 STM32F103 加五路 TCRT5000主控這塊市面上常見三條路8 位機(jī)、STM32F103 這類 Cortex-M3、以及跑 Linux 的板子。選 8 位機(jī)的理由是便宜、資料老但它的問題在于定時(shí)器和硬件 PWM 通道太少兩路電機(jī) PWM 加上一路 1 ms 系統(tǒng)節(jié)拍基本就把資源吃滿了再想加串口調(diào)試都緊張中斷響應(yīng)也慢。STM32F103C8T6 這類芯片剛好卡在甜點(diǎn)上72 MHz 主頻、多個(gè)通用定時(shí)器、通道足夠跑兩路互補(bǔ) PWM 加一路 1 ms 節(jié)拍GPIO 數(shù)量也夠接五路循跡加兩路避障。選它的真正理由不是“性能強(qiáng)”而是“外設(shè)資源剛好夠而且不用搶”。循跡傳感器選五路 TCRT5000 反射式模塊而不是攝像頭。攝像頭能拿到更豐富的路面信息但要做圖像二值化、邊緣提取幀率還受限于串口傳輸對一個(gè)小車項(xiàng)目來說投入產(chǎn)出比不劃算。五路紅外的信息量是 5 bit雖然粗但實(shí)時(shí)性極好——GPIO 一讀就有結(jié)果控制周期可以壓到 10 ms。代價(jià)是它對地面反光敏感淺色瓷磚上和在深色地毯上同一個(gè)模塊的輸出可能完全相反這一點(diǎn)必須靠電位器現(xiàn)場整定。避障用的也是紅外反射式模塊檢測距離可調(diào)。這里有個(gè)容易被忽略的差別循跡模塊是貼地近距離檢測避障模塊是朝前十幾厘米檢測兩者雖然都是紅外反射原理但發(fā)射功率和比較器閾值完全不同不能混用同一型號。至于電機(jī)驅(qū)動L298N 和 TB6612 都行區(qū)別在壓降和效率對比項(xiàng)L298NTB6612FNG導(dǎo)通壓降約 1.42 V電池電壓低時(shí)明顯掉速約 0.5 V低壓差效率與發(fā)熱發(fā)熱大長時(shí)間跑需要散熱片發(fā)熱小可長時(shí)間連續(xù)工作邏輯電平5 V 邏輯3.3 V 主控需注意電平匹配兼容 3.3 V 邏輯PWM 頻率上限建議 10 kHz 以內(nèi)可上到 20 kHz 以上適合場景教學(xué)演示、短時(shí)跑動長時(shí)間連續(xù)跑、電池供電我一般建議這套實(shí)驗(yàn)用 TB6612不是因?yàn)橘F而是因?yàn)殡姵貜?8.4 V 掉到 7 V 的時(shí)候L298N 會先掉 2 V電機(jī)實(shí)際只拿到 5 V速度肉眼可見地變慢而循跡的 PD 參數(shù)是按某個(gè)速度整定的速度一變參數(shù)就全部作廢——這種“跑兩圈就變慢”的問題排查起來非常磨人。2.3 引腳與外設(shè)資源分配表選型定完之后先把引腳表排出來避免寫到一半發(fā)現(xiàn)某個(gè)引腳被復(fù)用沖突。下面這張表是這套方案實(shí)際用的分配可以直接照著接線功能引腳模式/外設(shè)備注循跡 最左PB0GPIO 輸入上拉權(quán)重 -4循跡 左PB1GPIO 輸入上拉權(quán)重 -2循跡 中PB2GPIO 輸入上拉權(quán)重 0循跡 右PB3GPIO 輸入上拉默認(rèn) JTDO需關(guān) JTAG循跡 最右PB4GPIO 輸入上拉默認(rèn) NJTRST同上避障 前左PB5GPIO 輸入上拉檢測到障礙為低避障 前右PB6GPIO 輸入上拉檢測到障礙為低左電機(jī) PWMPA6TIM3_CH110 kHz左電機(jī) IN1/IN2PA4 / PA5GPIO 推挽輸出方向控制右電機(jī) PWMPA7TIM3_CH210 kHz右電機(jī) IN3/IN4PB12 / PB13GPIO 推挽輸出方向控制調(diào)試串口PA9 / PA10USART1115200打印狀態(tài)1 ms 節(jié)拍TIM2定時(shí)中斷系統(tǒng)時(shí)基啟動按鍵PA0GPIO 輸入按下開始跑注意PB3 和 PB4 上電默認(rèn)被 JTAG 占用不關(guān)掉的話讀回來永遠(yuǎn)是固定值表現(xiàn)為“這兩路傳感器失靈”。初始化里加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD問題就沒了。這個(gè)坑幾乎每個(gè)第一次用 F103 的人都會踩一次。3. 總體架構(gòu)設(shè)計(jì)三層結(jié)構(gòu)、兩個(gè)節(jié)拍和一個(gè)狀態(tài)機(jī)引腳定完接下來是軟件架構(gòu)。小車項(xiàng)目最容易寫成“一個(gè)大 while 循環(huán)里塞滿 if-else”能跑但改一處崩三處。這套方案分成三層加一個(gè)狀態(tài)機(jī)好處是每層都能單獨(dú)測傳感器可以只打印不驅(qū)動電機(jī)電機(jī)可以只給定值不看傳感器狀態(tài)機(jī)可以拿串口喂假數(shù)據(jù)驗(yàn)證切換邏輯。3.1 感知層、決策層、執(zhí)行層的職責(zé)劃分感知層的職責(zé)只有一個(gè)把物理量翻譯成干凈的整數(shù)。五路循跡讀出來是 5 個(gè) bool經(jīng)過權(quán)重加權(quán)平均變成 -4 到 4 的偏差值兩路避障讀出來是兩個(gè) bool但要做 3 次采樣的多數(shù)表決濾掉瞬時(shí)的抖動。感知層絕對不做判斷也不調(diào)用電機(jī)函數(shù)——這條紀(jì)律很重要否則后面想換傳感器就得動半個(gè)工程。決策層是整個(gè)方案的大腦包含兩件事控制律和狀態(tài)機(jī)。控制律輸入偏差、輸出轉(zhuǎn)向量狀態(tài)機(jī)輸入避障標(biāo)志和丟線標(biāo)志輸出當(dāng)前應(yīng)該執(zhí)行哪種動作。把這兩件事分開寫是因?yàn)樗鼈兊恼{(diào)試方法完全不同控制律看的是曲線和參數(shù)狀態(tài)機(jī)看的是狀態(tài)跳轉(zhuǎn)表。執(zhí)行層負(fù)責(zé)把決策結(jié)果翻譯成電機(jī)能懂的東西給定 -999 到 999 的帶符號占空比映射成 TIM 比較寄存器的值和兩個(gè)方向引腳的高低電平。執(zhí)行層還要做限幅因?yàn)椴钏贂r(shí)base turn很容易超過量程。三層的調(diào)用頻率也不一樣。感知層每 10 ms 采一次決策層每 20 ms 算一次執(zhí)行層是跟隨決策層立即輸出的。這個(gè)頻率差不是隨便定的10 ms 采樣配合 0.3 m/s 的車速每 3 mm 走一次采樣五路探頭的間距在 10 mm 量級采樣間隔遠(yuǎn)小于探頭間距不會漏掉線。3.2 定時(shí)器節(jié)拍1 ms 基準(zhǔn)怎么切出 10 ms 與 20 ms 任務(wù)裸機(jī)項(xiàng)目里最省事的調(diào)度方式是“1 ms 中斷打拍子主循環(huán)看拍子做事”。TIM2 配置成 1 ms 中斷中斷里只做一件事g_tick。中斷函數(shù)里千萬不要讀傳感器、不要算 PID、更不要延時(shí)——中斷里做的事情越多抖動越大PWM 輸出的節(jié)拍就越不穩(wěn)。/* TIM272MHz / 72 1MHzARR 999 → 1ms 中斷一次 */ volatile uint32_t g_tick 0; void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) ! RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); g_tick; /* 中斷里只做計(jì)數(shù)其他全交給主循環(huán) */ } } int main(void) { uint32_t t_sample 0, t_ctrl 0; board_init(); /* 時(shí)鐘、GPIO、PWM、串口、TIM2 */ while (1) { if (g_tick - t_sample 10) { /* 10ms采一次傳感器 */ t_sample g_tick; sensor_scan(); /* 更新 g_err、g_ob_l、g_ob_r */ } if (g_tick - t_ctrl 20) { /* 20ms跑一次決策 */ t_ctrl g_tick; car_step(); /* 狀態(tài)機(jī) 控制律 輸出 */ } debug_report(); /* 空閑時(shí)打印不影響節(jié)拍 */ } }這里用g_tick - t_sample 10而不是g_tick % 10 0是為了防止某次任務(wù)執(zhí)行時(shí)間過長導(dǎo)致漏拍——減法寫法即使錯(cuò)過一個(gè)節(jié)拍下一次也會立刻補(bǔ)上而取模寫法會整整丟掉一輪。參數(shù)上10 ms 和 20 ms 是最常用的組合如果場地彎道特別急可以把決策周期壓到 10 ms代價(jià)是串口打印會擠占時(shí)間調(diào)試信息要相應(yīng)減量。3.3 狀態(tài)機(jī)設(shè)計(jì)循跡態(tài)、避障態(tài)、搜索態(tài)、停車態(tài)怎么切狀態(tài)機(jī)是這個(gè)方案里最值得寫進(jìn)答辯的部分。四個(gè)狀態(tài)跳轉(zhuǎn)條件寫死誰也別搶誰的活當(dāng)前狀態(tài)跳轉(zhuǎn)條件下一狀態(tài)動作循跡左右避障同時(shí)觸發(fā)后退雙輪反轉(zhuǎn) 300 ms循跡僅左側(cè)觸發(fā)右讓右轉(zhuǎn)差速持續(xù) 400 ms循跡僅右側(cè)觸發(fā)左讓左轉(zhuǎn)差速持續(xù) 400 ms循跡偏差值 丟線標(biāo)志搜索沿上次偏差方向原地找線后退障礙消失且計(jì)時(shí)結(jié)束循跡恢復(fù) PD 循跡左讓 / 右讓計(jì)時(shí)結(jié)束且障礙消失循跡恢復(fù) PD 循跡搜索重新檢測到黑線循跡清空 PD 的歷史誤差任意按鍵長按 2 s停車PWM 歸零兩個(gè)設(shè)計(jì)細(xì)節(jié)決定了它能不能穩(wěn)定跑。第一是退出條件必須是“計(jì)時(shí)結(jié)束且障礙消失”只寫“障礙消失”會在障礙物邊沿反復(fù)橫跳車頭就在那里來回抖。第二是從避障或搜索回到循跡時(shí)必須清空 PD 的last_err否則上一狀態(tài)殘留的歷史誤差會讓微分項(xiàng)突然打出一個(gè)大輸出車會猛地甩一下。4. 關(guān)鍵模塊實(shí)現(xiàn)偏差計(jì)算、比例微分循跡與避障優(yōu)先級架構(gòu)講完落到代碼。這一章四段代碼對應(yīng)四個(gè)模塊每段都能單獨(dú)燒進(jìn)去驗(yàn)證先只打印偏差確認(rèn)五路讀數(shù)對得上位置再接控制律最后接電機(jī)。跳過任何一步后面調(diào)參數(shù)都是盲調(diào)。4.1 五路紅外采樣與加權(quán)偏差計(jì)算/* 極性統(tǒng)一TCRT5000 模塊 DO 壓黑線時(shí)輸出低電平取反成 1 檢測到黑線 */ #define S_LL (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)) #define S_L (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)) #define S_M (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_2)) #define S_R (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_3)) #define S_RR (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_4)) #define LINE_LOST 99 static const int16_t kWeight[5] { -4, -2, 0, 2, 4 }; /* 位置權(quán)重單位半格 */ /* 返回 -4 ~ 4 的偏差負(fù)數(shù)表示線偏左返回 LINE_LOST 表示五路全白 */ int16_t line_read_error(void) { uint8_t s[5]; int16_t sum 0, cnt 0; s[0] S_LL; s[1] S_L; s[2] S_M; s[3] S_R; s[4] S_RR; for (uint8_t i 0; i 5; i) { if (s[i]) { sum kWeight[i]; cnt; } } if (cnt 0) return LINE_LOST; return sum / cnt; /* 取平均抑制多路同時(shí)壓線造成的偏差跳變 */ }第一段代碼的核心是“極性收斂”和“取平均”兩個(gè)動作。極性收斂指的是不管模塊輸出高有效還是低有效都在宏定義這一層統(tǒng)一成“1 檢測到黑線”這樣后面所有邏輯只認(rèn)一種約定換一批模塊只要改五個(gè)宏。取平均是為了處理一種常見情況車正好壓在兩條線的交匯處或者線寬超過探頭間距兩三路同時(shí)為 1此時(shí)直接把權(quán)重相加會得到 -6 這種超出量程的值除法一平均就回到 -2量程始終鎖在 -4 到 4 之內(nèi)。丟線返回 99 是個(gè)約定值比返回 0 好——返回 0 會被當(dāng)成“線在正中間”車會保持直行沖出場地返回 99 就能在狀態(tài)機(jī)里單獨(dú)分支處理。4.2 循跡控制律為什么用 PD 而不是純比例typedef struct { float kp; float kd; int16_t last_err; int16_t out_limit; } pd_t; static pd_t g_pd { 12.0f, 30.0f, 0, 320 }; /* 初始參數(shù)需按實(shí)車整定 */ /* 輸入偏差輸出轉(zhuǎn)向量帶符號已限幅 */ int16_t track_output(int16_t err) { int16_t diff; float out; diff err - g_pd.last_err; g_pd.last_err err; out g_pd.kp * err g_pd.kd * diff; if (out g_pd.out_limit) out g_pd.out_limit; if (out -g_pd.out_limit) out -g_pd.out_limit; return (int16_t)out; } /* 差速執(zhí)行base 是基礎(chǔ)速度turn 是轉(zhuǎn)向修正 */ void track_run(int16_t err) { int16_t base 250; /* 0 ~ 999 */ int16_t turn track_output(err); motor_set(MOTOR_L, base turn); motor_set(MOTOR_R, base - turn); }只用比例項(xiàng)P的問題是明顯的偏差一出現(xiàn)就立刻修正修正過頭就反向超調(diào)車在直道上左右小幅擺動也就是俗稱的“畫龍”。微分項(xiàng)D看的是偏差的變化量偏差快速變化時(shí)提前給一個(gè)反向的抑制量等效于給系統(tǒng)加了阻尼。這套參數(shù)里kp 12、kd 30是初始值實(shí)際整定順序是先把kd設(shè)為 0kp從 5 開始往上加加到車在直道上剛好開始小幅擺動然后把kp退回一檔開始加kd加到擺動消失為止。out_limit設(shè)成 320 而不是 999是因?yàn)樗鷅ase 250配合——如果限幅太寬一次修正就能讓一側(cè)輪子反轉(zhuǎn)車會原地打轉(zhuǎn)。經(jīng)驗(yàn)上把out_limit控制在base的 1.2 倍左右即單側(cè)輪子最多減到接近 0 但不會反轉(zhuǎn)。4.3 避障優(yōu)先級與轉(zhuǎn)向策略#define OB_L (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5)) /* 檢測到障礙為 1 */ #define OB_R (!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6)) typedef enum { ST_TRACK, ST_BACK, ST_AVOID_L, ST_AVOID_R, ST_SEARCH, ST_STOP } state_t; static state_t g_state ST_TRACK; static uint16_t g_state_tick 0; /* 狀態(tài)內(nèi)計(jì)時(shí)單位 20ms */ /* 每 20ms 調(diào)用一次返回新狀態(tài) */ state_t car_sm_step(uint8_t ob_l, uint8_t ob_r, int16_t err) { g_state_tick; switch (g_state) { case ST_TRACK: if (ob_l ob_r) { g_state_tick 0; return ST_BACK; } if (ob_l) { g_state_tick 0; return ST_AVOID_R; } if (ob_r) { g_state_tick 0; return ST_AVOID_L; } if (err LINE_LOST){ g_state_tick 0; return ST_SEARCH; } return ST_TRACK; case ST_BACK: /* 后退 15 拍 300ms */ if (g_state_tick 15 !ob_l !ob_r) return ST_TRACK; return ST_BACK; case ST_AVOID_R: /* 右讓 20 拍 400ms */ if (g_state_tick 20 !ob_l) { g_pd.last_err 0; return ST_TRACK; } return ST_AVOID_R; case ST_AVOID_L: if (g_state_tick 20 !ob_r) { g_pd.last_err 0; return ST_TRACK; } return ST_AVOID_L; case ST_SEARCH: /* 最多找 1.5s找不到就停 */ if (err ! LINE_LOST) { g_pd.last_err 0; return ST_TRACK; } if (g_state_tick 75) return ST_STOP; return ST_SEARCH; default: return ST_STOP; } }這段狀態(tài)機(jī)里有三個(gè)刻意寫進(jìn)去的保護(hù)。第一每個(gè)避障狀態(tài)的退出都要求“計(jì)時(shí)到 障礙消失”兩個(gè)條件同時(shí)成立缺一個(gè)都會在障礙物邊緣反復(fù)切換。第二ST_AVOID_R的退出只判斷!ob_l不判斷!ob_r因?yàn)橄蛴易尩臅r(shí)候右側(cè)傳感器可能會掃到新的障礙如果兩個(gè)都要求消失車會卡死在讓行狀態(tài)。第三搜索狀態(tài)有超時(shí)上限1.5 s 還找不到線就停車避免車在原地?zé)o限轉(zhuǎn)圈燒電機(jī)——這個(gè)上限比“一直找下去”更實(shí)用至少在測試時(shí)你能看出它停在了哪里。4.4 PWM 調(diào)速與電機(jī)方向控制#define MOTOR_L 0 #define MOTOR_R 1 void motor_pwm_init(void) { GPIO_InitTypeDef gpio; TIM_TimeBaseInitTypeDef tb; TIM_OCInitTypeDef oc; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); gpio.GPIO_Pin GPIO_Pin_6 | GPIO_Pin_7; /* TIM3_CH1 / CH2 */ gpio.GPIO_Mode GPIO_Mode_AF_PP; gpio.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, gpio); /* 72MHz / 72 1MHz 計(jì)數(shù)ARR 99 → PWM 頻率 10kHz */ tb.TIM_Prescaler 71; tb.TIM_Period 99; tb.TIM_CounterMode TIM_CounterMode_Up; tb.TIM_ClockDivision TIM_CKD_DIV1; TIM_TimeBaseInit(TIM3, tb); oc.TIM_OCMode TIM_OCMode_PWM1; oc.TIM_OutputState TIM_OutputState_Enable; oc.TIM_OCPolarity TIM_OCPolarity_High; oc.TIM_Pulse 0; TIM_OC1Init(TIM3, oc); TIM_OC2Init(TIM3, oc); TIM_Cmd(TIM3, ENABLE); } /* duty: -999 ~ 999負(fù)數(shù)為反轉(zhuǎn) */ void motor_set(uint8_t ch, int16_t duty) { if (duty 999) duty 999; if (duty -999) duty -999; if (ch MOTOR_L) { GPIO_WriteBit(GPIOA, GPIO_Pin_4, duty 0 ? Bit_RESET : Bit_SET); GPIO_WriteBit(GPIOA, GPIO_Pin_5, duty 0 ? Bit_SET : Bit_RESET); TIM_SetCompare1(TIM3, (uint16_t)(duty 0 ? duty : -duty)); } else { GPIO_WriteBit(GPIOB, GPIO_Pin_12, duty 0 ? Bit_RESET : Bit_SET); GPIO_WriteBit(GPIOB, GPIO_Pin_13, duty 0 ? Bit_SET : Bit_RESET); TIM_SetCompare2(TIM3, (uint16_t)(duty 0 ? duty : -duty)); } }PWM 頻率取 10 kHz 有兩個(gè)理由一是高于人耳可聽范圍的下沿電機(jī)不會發(fā)出尖銳的嘯叫聲二是 TB6612 這類 MOS 驅(qū)動在 10 kHz 時(shí)的開關(guān)損耗可以接受長時(shí)間跑不會燙手。如果換成 L298N頻率不建議超過 10 kHz否則三極管來不及完全導(dǎo)通效率會更低。motor_set里把“方向引腳”和“占空比”這兩件事綁在一個(gè)函數(shù)里是為了避免出現(xiàn)“改了占空比忘了改方向”導(dǎo)致電機(jī)反著轉(zhuǎn)的問題。傳入負(fù)占空比時(shí)方向引腳翻轉(zhuǎn)、比較寄存器取絕對值邏輯上單調(diào)接線反了也只需要在調(diào)用處加個(gè)負(fù)號。5. 避坑與排查這套小車上最容易翻車的五個(gè)點(diǎn)前面四章講的是“應(yīng)該怎么寫”這一章講的是“實(shí)際會怎么壞”。這五個(gè)問題在我自己搭和幫別人調(diào)的過程中反復(fù)出現(xiàn)每一個(gè)都有明確的現(xiàn)象、成因和解法照著對號入座能省掉大量時(shí)間。5.1 一上電就往一邊猛沖或者讀出來的傳感器永遠(yuǎn)不變現(xiàn)象車通電后兩個(gè)輪子朝相反方向轉(zhuǎn)或者串口打印出來的五路循跡值永遠(yuǎn)是1 1 1 1 1。原因前者是電機(jī)方向引腳的電平組合和預(yù)期相反兩個(gè)輪子一個(gè)正轉(zhuǎn)一個(gè)反轉(zhuǎn)后者幾乎都是 PB3、PB4 被 JTAG 占用。F103 復(fù)位后 PB3 默認(rèn)是 JTDO、PB4 默認(rèn)是 NJTRST配置成普通 GPIO 輸入也沒用讀回來的值固定。解決方向問題不要靠改接線在motor_set里把對應(yīng)通道的 IN1/IN2 互換即可接線保持整齊便于排查。JTAG 問題在 GPIO 初始化之前加一句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只保留 SWD 下載口燒錄不受影響。5.2 直道跑得很穩(wěn)一進(jìn)彎道就沖出去現(xiàn)象場地直道上小車走得筆直進(jìn)入半徑 30 cm 的彎道后車頭貼著外側(cè)沖出去糾正不回來。原因三種可能按概率排序是控制周期太長、kp偏小、差速飽和限幅太窄??刂浦芷?20 ms 時(shí)車速 0.4 m/s 每拍走 8 mm彎道上的偏差累積得很快等算出來已經(jīng)晚了kp太小則修正力度不夠out_limit太小則想修正也修不動。解決先把決策周期壓到 10 ms 試一次如果明顯改善就是周期問題。否則把out_limit從 320 放到 400再看彎道表現(xiàn)最后才動kp。順序很重要——先放限幅再調(diào)增益不然你會以為kp不夠一路加大結(jié)果直道上開始畫龍。5.3 避障模塊在深色地面上一直誤報(bào)現(xiàn)象場地?fù)Q到深色地膠或者黑色桌面上避障模塊不管前面有沒有東西都輸出“有障礙”小車一直在后退。原因紅外反射式模塊靠接收反射光強(qiáng)判斷距離深色表面吸光接收端收到的光很弱比較器就判定為“沒有反射 → 有障礙”。這不是模塊壞了是原理決定的。解決一是現(xiàn)場重新調(diào)電位器把閾值調(diào)到實(shí)際能用的位置二是給模塊加個(gè)遮光筒用黑色熱縮管剪一段套在探頭外面擋住環(huán)境光干擾三是軟件上做多數(shù)表決連續(xù) 3 次采樣有 2 次以上為 1 才算真障礙。第三條最省事代價(jià)是響應(yīng)延遲一個(gè)采樣周期10 ms 完全能接受。5.4 電機(jī)一轉(zhuǎn)單片機(jī)就復(fù)位現(xiàn)象空載時(shí)串口打印正常一旦給電機(jī)加占空比單片機(jī)隨機(jī)復(fù)位串口輸出亂碼或者程序跑飛。原因電機(jī)啟動瞬間電流是堵轉(zhuǎn)電流的量級電池內(nèi)阻上產(chǎn)生壓降主控的供電被拉低到復(fù)位閾值以下。另外電機(jī)是感性負(fù)載換向時(shí)會產(chǎn)生反向尖峰通過電源和地線串回主控。解決硬件上電機(jī)電源和主控電源分開走線只在電池端單點(diǎn)共地電機(jī)兩端并 0.1 μF 電容加一個(gè)續(xù)流二極管主控電源入口加 100 μF 電解電容和 0.1 μF 陶瓷電容。軟件上啟動時(shí)讓占空比斜坡上升每 20 ms 加 50而不是直接從 0 跳到 250沖擊電流能小一半。這套小車上電就復(fù)位的問題九成是這兩條之一沒做到。5.5 避障結(jié)束回不了線在原地轉(zhuǎn)圈現(xiàn)象小車成功繞開障礙物但之后一直在原地左右轉(zhuǎn)找不到黑線最后超時(shí)停車。原因繞障動作把車帶離黑線太遠(yuǎn)五路探頭全部落在白區(qū)返回LINE_LOST而搜索邏輯只是原地轉(zhuǎn)轉(zhuǎn)向方向和線的實(shí)際位置相反。另外g_pd.last_err沒有清零微分項(xiàng)一上來就是一個(gè)大值。解決搜索時(shí)不要原地轉(zhuǎn)改成“沿著繞障的反方向小半徑畫弧”也就是右讓之后向左找左讓之后向右找這個(gè)方向和繞開時(shí)車頭偏轉(zhuǎn)的方向相反命中率最高。同時(shí)把搜索速度降到基礎(chǔ)的 60%慢一點(diǎn)更容易被探頭掃到?;氐骄€之后第一件事是清空last_err讓 PD 從零開始。6. 驗(yàn)收與答辯用一套可復(fù)現(xiàn)的測試把車“跑通”講清楚功能做完不等于項(xiàng)目做完驗(yàn)收測試要能重復(fù)、能記錄、能拿給不懂的人看。我一般按下面這張表跑一遍每項(xiàng)測三次取最差的那次因?yàn)榇疝q現(xiàn)場發(fā)揮失常是常態(tài)按最差成績準(zhǔn)備才穩(wěn)。序號測試項(xiàng)測試方法合格線1直道循跡3 m 直線膠帶全速通過3 次全部不脫線2彎道循跡R30 cm 連續(xù)彎跑 5 圈脫線次數(shù) ≤ 13單側(cè)避障車前左側(cè) 20 cm 放障礙物0.3 s 內(nèi)開始右讓繞過后 2 s 內(nèi)回到線上4正前避障車前正中 20 cm 放障礙物先后退再轉(zhuǎn)向不撞不卡死5協(xié)同彎道中段放障礙物完成繞障并繼續(xù)循跡全程不超時(shí)停車6掉電重啟連續(xù)上電 20 次20 次均正常啟動無復(fù)位異常測試時(shí)把串口打印打開每 100 ms 輸出一行err / ob_l / ob_r / state / duty跑完之后把日志導(dǎo)出來畫一條偏差隨時(shí)間的曲線。這張曲線在答辯時(shí)比任何口頭描述都有說服力——評委一眼能看出來你的系統(tǒng)在彎道上是“提前修正”還是“撞上去才修”這兩種的控制水平完全不同。答辯講述我建議按“工況 → 取舍 → 一次翻車”的順序走不要從技術(shù)棧開始講。先說清楚這套車分了哪三種工況、每種工況的驗(yàn)收口徑是什么這能證明你想過需求再說你做了什么取舍比如為什么用五路紅外不用攝像頭、為什么用 TB6612 不用 L298N、為什么控制周期是 20 ms 而不是 5 ms每個(gè)取舍都要落到具體的數(shù)字上最后講一次你踩過的坑和怎么定位的比如“車一進(jìn)彎就沖出去我一開始以為是 kp 不夠加了兩輪之后直道開始畫龍才回頭去查控制周期發(fā)現(xiàn) 20 ms 下每拍走 8 mm改成 10 ms 就好了”。這個(gè)故事里包含了現(xiàn)象、錯(cuò)誤假設(shè)、糾正過程比背概念更能說明你真的動手做過。從那以后我每次做這種帶傳感器的車類項(xiàng)目都會在寫控制邏輯之前先把“只打印不驅(qū)動”的版本跑通讓串口把五路原始值、兩路避障值、偏差值一起打出來人工推著車沿場地走一遍確認(rèn)每一路的跳變位置和物理位置對得上。這一步花不了二十分鐘但能擋掉后面八成莫名其妙的“算法不收斂”——畢竟傳感器讀錯(cuò)了再好的 PD 參數(shù)也是白搭。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
蜜臀久久99精品久久久电影| 99久久这里只有精品| 人妻黑丝袜电影| 久久婷婷色| 欧美后入| 不卡六六在线91| 日韩中字av一区| 亚州操逼图| 91网站18禁| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 96精品久久久久中文字幕| 免费伦费视频在线观看| 日韩av免费一级电影| 久久人妻少妇| 96久久久精品| 男人久久精品| 日本九九久久99| 日韩另类色图| 国产精品一二三免费网站| 国产一级特黄大片处女| 欧美日本中字另类在线| 精品一区二区综合熟妇| 13小男生GAY自慰脱裤子| 情色大香蕉| 男人的天堂无码| 日韩9999| 亚洲交换| 大香交| 久久亚洲不卡一区二区三区| 操九九九九九九| 久色网| 91精品伊人久久久大香线蕉91 | 中文有码第五页| 开心五月天激情网| 91中文在线| 天天干天天操天天干天天操| 丁香色色网| 国产一区二区在线电影| 免费视频a级毛片免费视频| 乱伦av国产| 免费人成在线观看网站品爱网| 青娱乐淫乱1314| 亚洲精品97| 亚洲色图 欧美| 明星性猛交ⅹxxx乱大交| 狠狠入| 96麻豆精品一区二区三区| 日韩天天综合| 97日韩| 波多野42部激情无码喷潮| 亚洲不卡三级手机播放| 亚洲?V无码专区在线电影| 在线播放成人高清免费视频 | 2020视频1区2区3区| 日本有码影片下载| 人妻素股| 思思热一热婷婷热一热| 大香蕉综合在线| 亚洲男人的天堂网| 78超碰| 亚洲中文字幕精品一区| 成人小说视频在线精品欧美| 国产高清MV操逼视频| 国产AV超爽| 欧美毛片在线网| 亚洲精品丝袜| 揉揉揉夜夜| 啪啪视频免费在线观看| 女人被男人桶爽视频网站| 丰满高潮18xxxx| 久久精品人体AV| 超碰地址97| 啊嗯嗯啊好大好爽| 操东北女人| 人人看人人爰人人操| 日韩黄色成人性爱| 麻豆婷婷成人一二三| 99热8| 91高清欧美| jizz啪啪| 色色激情五月天| 啊啊啊啊啊在线视频| 我爱搞逼综合网| 成人怡红院| 99e久久国产精品| 日本午夜福利影院| 99色婷婷中文字幕乱色| 国产最火爆久久国产网站网站| 欧美国产伊人久久久久| 青青草亚洲一区| 九九九九一区| 亚洲精品人妻在线| 美女的肌被草喷水视频| 夜夜骑夜夜操| 亚洲图片欧美91N| 我想要啊 啊 啊| 狠狠久久手机视频精品| 成人在线视频网| 91色黑人少妇| 一级性爱视频免费在线| 激情小说五月天| 国产风韵犹存熟妇三区| 国产亚洲精品久久久久小 | 综合色一区三区二区| 国产aⅴ无码片毛片一级网站| 国产老熟女| 草草草视频| 18禁网站在线播放| 欧洲亚洲人人爽爽视频| 欧美日韩国产三级黄色| 色盈盈影院| 麻豆久久一区二区三区| 麻豆久久久一区二区| 久久熟女久| 操逼无码操逼| 97se综合网| 久一区久久蜜桃| 亚洲国产无码精品首页久久久| 加勒比人妻综合| 国产欧美日韩一区二区三区| 成人女人国产| 亚洲无线码欧洲精品区别| 97国产超湿| 国产精品视屏| 樱花草社区www中国| 日韩福利电影网| 亚洲,欧美,春色,另类| 91爱啪| 中文字暮97| 少妇天堂| 国产久久视频| 国产精品日韩在线一区| 欧美亚洲综合999| 人人人人插| 久久久内射良家| 成年人一级黄色毛片大全在线观看| 亚州高清色综合| 国产AV激情无码久久无码| 嗯嗯啊好大| 亚洲欧美综合区自拍另类| 精品人妻一区二区乱码一区二区| 日本成人电影资源网| 97少妇人妻中文字幕久久| 精品在线观看视频在线| 亚洲欧美综合图片| 日韩99神马视频播放片在线播放| 黄色av网站在线播放| 色大香蕉97N| 爱av免费| 久久伊人最新网址视频| 中文字幕av一区二区三区人妻少妇| 国产99热| 日韩亚洲精品一区二区| 最新国产精品| 五月天人妻综合| 精品久久久久久亚洲| 国产99热| 精久久久| 四虎AV无码| 99精品欧美一区二区三区桃色| 亚洲情色 自拍| 国产乱婷婷精品二区三区| 岛国色情视频在线观看| 成·人免费午夜在线观看| 夜夜操91744565| 国产乱码精品一区二区三区四川| 99人妻| 欧美日动态视频| 欧美性爱五月天| 欧美性爱18观看| 91天天综合在线观看| www鬼畜国产男人的天堂| 精品中文字幕一区二区| 91黑人狂躁丰满熟妇| 神马影院午夜福利久久久| 人妻少妇视频在线播放| 伊欧美综合视频| 国产中文字幕在线点播| 国语av狠狠色丁香婷婷综合激情| 人人操人人摸超碰| 欧美熟女逼久久久久久| 欧美一级欧美三级在线观看| 人妻啊啊人妻啊| 懂色天天爱天天日天天射天天澡| 91P0RNY大屁股人妻| www国产精品| 无码精品啪啪啪一区二区三区三州| 绑缚麻绳人妻寝取完整版| 色丁香五月婷婷| 另类 日韩 熟女| 超碰在线人妻中文字幕| 99re免费| 久久啊啊| 欧美经典一区二区三区| 亚洲无码精品AV久久久| 97超碰久久| 啊啊啊轻点在线观看| 久久久久亚洲精品| 亚洲视频小说| 熟女熟妇一区二区三四区| 蜜桃臀一区二区aV| 曰韩少妇无码| 97在线青| 国产精品3| 日本免费一区二区不卡| 日韩精品电影| 国产亚洲精品美女| 女上位精品在线| 日日骚精品视频| 蜜桃色院一区久久| 亚洲999综合| 日韩美女高潮喷水视频| 青青草视频在线观看一区二区| 99热| 欧天美中出| 九九热精彩视频| 久久久久久久久久久久黄色| 大香蕉综合在线| 亚洲情色在线| 日韩97精| 亚洲天堂欧美| 人人操人人爽人人操人人| 国产综合色精品在线观看| 成·人免费午夜在线观看| 性爱动态120秒| 高凊专区人人操| 日少妇亚洲版| 啊啊啊啊啊好舒服视频| 国产97色在线| 日韩簧片免费看| 久久久久久久伊人精品| 亚洲日韩美女中文字幕乱| 91三级理论片播放器| 日韩欧美国产高清视频| 欧美三级不卡| 91美女国产在线| 欧美亚洲天天| 日韩免费福利在线观看| 日韩精品中文字幕一| 在线看片国产精品每日更新| 人妻久久久久久久久久久久久久久| 偷拍欧美激情| 日韩人妻精品| 欧美亚洲激情| 亚洲精品亚洲人成在线麻豆| 四虎AV无码| 欲女人妻性色av| 久久超碰日韩精品| 国产精品干干干| 成功精品影院| oumeizonghese,www| 99热日| 欧美激情高清性猛交| 精品国产乱码| www四虎| 少妇熟女视频一区二区三区| 青娱乐老司机视频| 亚洲中文字幕精品久久久久久直播| 亚洲欧美激情另类色图| 96久久久精品| 日韩免费一级性爱视频| 先锋精品av色鲁| 天天激色| 一区操逼| 宅男91视频在线播放| 九久久精品| 欧美片第一页| 亚洲欧洲偷拍一区| 久久尹人大香焦视| 久久精品性| 一区,二区,三区视频| 天天亚洲| 久久久97| 日本在线视频导航| 97AV在线免费观看| 成人无码在线视频网站| 小草三级久久观看| 精品人妻一区二区三区免费视频| caoni国产亚洲av| 精品久久久av| 日本αv| 欧美极品少妇交| 国产农村妇女毛片精品久久| 国产精品久久伊人| 2019亚洲男人天堂| 操逼视频亚洲| 久久久久久久久久久久九| 91网九色蝌蚪操熟女| 防屏蔽在线视频| 人人妻人人爽一区二区三区| 牛牛aV| 2019午夜福利视频| 亚洲AV噜噜狠狠网址蜜桃动漫| 亚洲色图20p| 深夜福利黄片| 天操天操夜操夜月操月年年操| 香蕉视频欧美一卡二卡| 女色视频社区| 清纯唯美亚洲| 亚洲精品久| 91东北熟女| 青青草自拍视频在线播放| 91久久青青草原精品| 久久精品国产精品亚洲艾通辽熟妇| 淫穴高潮色图| 日韩乱码Av| 精品对白久久不卡| 天堂资源欧美| 国产最火爆久久国产网站网站| 偷拍亚洲高清图片| 九九综合久久中文字幕| 一区二区视频你懂的| 免费少妇一区二区| 超碰午夜| 91痴汉| 9久综合网| 丰满熟女一区二区三区在线播放| 18岁禁 茉莉成人久久| 91AV入口| 极品一区二区三区免费| 亚洲天堂,男人| 成 人 A V免费视频在线观看| 东京热av男人的天堂| 一级特级aaaa毛片免费观看 | 午夜激情成人在线观看| 超碰一区二区| 清清一区二区三区四区不卡视频| 搡老人老9丨女老熟人| chaopen97久久| AV 少妇 人妻 偷拍| 国产黄色剧情影片麻豆免费播放| 操91| 久久国产99精品72福利 | 熟啊v色欧美热| 色乱二区| 水多多映视AV| 九九九只有精品| 久久一留热品黄| 国产精品亚洲免费| 高清无码在线播放网站| 亚洲高清欧美总合| 欧美天天射| 男人的午夜天堂| 色五月激情AV在线| 国内精品999| 一区二区三区 日韩欧美| 少妇无码999| 日本人妻天堂网站在线播放| 婷色五月| 亚洲国产成人高清在线| 亚洲成人在线高清| 91人人操| 中文字幕青青草| 久久综合女优| 肥臀熟女福利视频一区二区| 久久丁香五月婷婷| 国产精品999zyz| 91免费看一区二区三区| 麻豆视频一区二区| 熟女少妇一区二区三区| 欧美一品道| 国产福利夜| 国产欧美日韩在线观看麻豆传媒公司| 91强热人妻| 国内偷自视频区视频综合| 激情欧美97| 青青草影视蜜久久| 一区二区亚州激情久婷婷欧美| 午夜久久一区二区无码中出| 99精品在线播放| 午夜欧美女人操逼| 偷看洗澡一二三区美女| 成人免费福利网站国产| 99久久久无码国产精品性男| 黄片无码在线制服| 国产AV久久野战精品| 人人干黄色| 国产家庭乱伦表演| 国产精品一区二区校花| 精品国产91av一区二区三区 | 日美免费黄片| 午夜精品视频777| 久久精品国产亚洲AV片多多| 亚洲最新中文字幕免费| 黑人无码一区二区| 91快色色色色色| 激情无码日韩| 久草免费在线一区二区| 亚洲免费人妻在| 国产女人91精品嗷嗷嗷嗷| 91社操逼| 久久婷色| 天天摸天天插天天日| 青青草九九九九九| 亚洲 欧美 另类 综合 偷拍| 亚洲乱色视频一区、二区在线| 国产成人亚洲精品自产在线| 综合国产97| 一区二区精品更新提醒| 日日夜夜模| 九久久精品| 青草精品视频一日本久久久久网站| 日本 情色 1区2区3区| 青青草中出视频 | 国产福利小视频高清在线观看| 91成人久久 | 大香蕉欧美伊| 91精品久久久久久77777| 伊人在线大香蕉视频久久| 久热99999| 超碰吊日色| 国内毛片热久久思思热| 九九探花视频在线观看| 啊…啊…操我用力操我| 免费成人在线熟妇网| 人人九九精| 超碰99re| 久久精品毛片免费不卡| 天天干天天干天天干| 嗯嗯嗯,草死我| 亚洲欧洲激情| 日本孕妇一区二区视频操逼免费看 | 3D污黄视频在线观看| 91free福利| 熟妇女人妻呻吟久久AV| 少好三P| 国产精品女aA片爽爽视频| 天天干干天天干干| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 精品国产少妇高潮视频| 亚洲一本色码中文字幕| 九九久久玖玖| 欧美综合区| 日本97久久久精品| 91女色| 色天使亚洲综合在线观看| 亚洲成人综合在线| 日韩精品一区,二区 九九...老司机| 国产馆| 久操凹凸视频| 九九久久首页| 亚洲国产日韩精品久久久| av强奸乱轮| 日本熟妇熟色97一本在线观看| 色偷偷超碰亚洲| 国产精品黑人一区二区三区| 欧美少妇高潮视频| 草草网站影院白丝内射| 草久久久| 亚洲一区中文精品| 久操黄色视频| 少妇天堂| 五月激情在线| 日本在线伊人啪啪| 婷婷五月天久久久| 久久九九热| 少妇xx精品| 日本99一区二区| 免费在线看黄片av| 国产精品麻豆成人AV艾秋| 4tube欧美女厕所| 少妇高潮特黄A片| 亚码人妻| 国产一区二区三区导航| 欧美猛交黑寡妇中文字幕| av网站在线看| 久久精品一区| 午夜福利激情在线视频| 麻豆人妻少妇在线免费观看| 国产无码三级视频在线观看| 成 人 影视 一区 二区 三区 四区| 色97欧美| 丝袜美腿诱惑亚洲欧美视频在线观看| 91美女视频直播| 亚洲欧美国产日本一区二区三区| 一区超碰一区| 日韩性爱高清免费视频| 亚洲熟妇A V黑人| A久久| 久久久久久久唑| 综合网欧美在线| 久久精品久| 精品网站9999| 久久东京伊人一本到鬼色| 青娱乐大香蕉| 秋霞一级视频在线观看免费| juliaann丝袜| 2019AV天堂| 福利操逼| 亚洲中字慕不卡| 99精品久久| 日韩免费a级毛片无码a∨| 欧美美女在线高潮999| 日本高清视频xxxx| 五月天欧美色图| 国产亚洲99久久精品| 欧美天天综合| 在线情色电影 91大 | 大香蕉欧美国产日韩高潮| 一本一道vs波多野结衣| 日韩精品一二三| 性色中出| 看一级黄色视频| 91视频综合网| 久久偷偷色综合蜜桃| 亚洲无码99| 91精品微拍福利| 久久久91福利姬| 理论久久婷婷网 8| 综合欧美激情网| 蜜臀99久久国产| 老熟女熟妇| 五月香婷婷| 色黄污美女啪啪啪免费网站| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91AV国产精品| 又摸又舔在线观看网站| 91热爆在线| 亚洲精品国产无码高清| 超碰97伊人| 天操老女人| 在线只有精品| 性开放中文AV高清无码免费看| 亚洲一区二区三区婷婷| 国产九九九九九九| 狠狠操一区二区| 欧美色色色| 玖玖爱免费观看视频| 九九综合九九综合| 97亚洲色图| 亚洲男人的天堂网| 亚洲乱色视频一区、二区在线| 国产福利精品最新在线| 不卡av在线中文字幕| 人妻丝袜日本| 婷婷91| 欧美一级国产一级| а√天堂资源官网在线资源| 天天综合网~91| 四虎免费视频| 日韩二区三四区五区六区在线看| 麻豆天美传媒在线视频天堂| 99久久com免费视频′| 国产又粗又长又爽又色| 亚洲成人日韩小说| 岛国激情视频在线观看| A 天堂| 99re在线| 亚洲天天在线| 久久神马| 毛片久久| 你懂的在线观看区国产 | 热久久精品| 色色99| 天天天天干| 五月天丁香网| 在线 制服丝袜中出 人妻| 少妇滛荡视频| 五月天综合在线| 久久香蕉网| 日日操天天操| 欧美性天天影视| 97日本超碰综合| 色噜噜人妻av 中文字幕| 九九视品黄色| 日韩三级在线观看mp4| 天天日天天舔东京热| 精品十三区| 美日韩一二三区| 天天爱综合网| 日本亚洲嫩草影院啪啪| 欧美日韩在线小说 | 婷婷色播婷婷| 国产人妻精品久久久一区二区三区 | 久久精彩免费视频| 情色日播放AV| 伊人991| 青青草女人天天干| 超碰2017| 亚洲第一免费视频| 综合色99| 日产中文字幕2020| 国产精品乱码久久久、久久| 人妻少妇精品久久久久久| 精品久久久久久久| 大香蕉黄色一级片免费看| 黑人嘿嘿嘿超爽免费视频| 中文字幕亚洲在线一区 | 黄片免费视频2019| 美女黄频a美女大全免费皮| 亚洲综合在线视频| 欧美美女在线高潮999| 色偷偷男人的天堂麻豆| 欧美日韩中文视频播放| 国产女人和拘做爰视频| 丁香六月婷婷综合| 亚洲视频二区| 91春色| 亚洲色图日韩精品| 熟妇最新先锋一二三区| 一区超碰一区| 亚洲天堂五月天国产| 久久精品色欧美aⅴ一区二区| 色婷五月天| 九九九热精品| 91免费看一区二区三区| 亚洲超碰AV| 色噜噜国产在线| 97碰碰日本乱偷人妻中文的| 欧美AB在线| 免费一级a毛片久久久久久鸭绿欲| 日韩国产中文字幕| 在线视频一区二区传媒| 97人人夜| 亚一综合久久久久久久久久| 欧美刺激色黄片免费看| 日本不卡高清免v欧美日韩在线观看| 97在线青| 91东京热男人的天堂| 国产精品熟女乱伦| 91性| 国模无码人体一区二区三| 国产乱伦搜索结果91P| 色色婷婷丁香| 无码人妻精品一区二区三区九九| 亚洲中文字幕在线视频一区二区| 高清在线偷拍自拍视频| 素颜老阿姨乱情色| 一二三区操逼国产91| 18禁精品网站在线看| 青青草自拍视频在线播放| 人妻少妇久久| 亚洲图片欧洲图片aⅴ| 日本伦理一区二区| 淫荡网址| 欧美日韩国产在线| 夜精品久无码| 高清无码在线播放网站| 中文啪啪视频| 女人久久久| 狠狠操狠狠插| 久久久91| 色优久久| 久久精品熟妇丰满人妻99| 成年人性爱日韩| 青草香蕉网| se吧提供国产乱老熟视频胖女人| 蜜桃视频精品一区二区| 97精品免费视频网站| 操99| 国产精品剧情| 蜜臀av一区二区三区免费观看| 亚洲色综网| 久久无码电影| 999熟女精品| 国产情侣自拍在线播放| 熟女一区二区三区四区| 91超级碰| 精品97久久| 亚洲丝袜色| 亚洲图片另类| 大香蕉综合| 黄色免费网| 九一综合精品视品av| 国内精品嫩模A∨私拍小视频| 老女人日韩美91| 91大神精品长腿在线观看网站| 91人妻丝袜无码| 精品丝袜无码一区二区三APP| 精品十三区| 国产高清MV操逼视频| 啊啊啊啊啊好舒服视频| 丁香五月综合| 亚洲风情在线观看| 老熟女91av| 午夜亚洲国产理论秋霞| 欧美高潮| 97精品一二区| 欧美日韩日产免费网站看| 蜜臀一二三区| 95人妻爽爽人人做人人澡| 欧美日韩在线视频网站| 精品小视频在线| 欧美激情中文字幕另类小说| 国产精品久久久久久久久久久久久久吹 | 日韩97超碰中文字幕| 9Ⅰ老熟女| 传媒免费一区二区三区| 日韩免费看黄片| 欧美高清色| 传媒免费一区二区三区| 午夜福利视频在线一区| 日韩一级二级三级免费看完整版| 亚洲精品欧洲精品| 国产欧美一区激情交| 东京热一区二区中文字幕| 黑人精品久久97| 婷婷午夜| 色嗨嗨在线| 我想要 啊 啊 啊| 久久內射| 91大胆欧美| 国内毛片婷婷六月色| 久草午夜| 亚洲超碰综合网| 日韩一999精品| 欧美成人性爱视频免费观看| 黄片免费日韩| 日本ZZ高免费A级视频| 午夜精品久久久99| 日本污ww视频网站| 亚洲一本色码中文字幕| 亚洲精品成人激情在线| 国产一区二区三区视频在线看| 老鸭窝在线视频播放| 西西美女视频网| 久久久久久久久久久六六| 逼操网站| 国产美女口爆吞精视频| 综合性视频99| 啊啊啊啊啊在线观看网址| 国产网站在线播放| 日韩无码视频黄色| 亚洲日韩电影| 亚洲精品美女操逼| 国产午夜福利视频在线| 久久九九99| 午夜国产成人福利视频| 久久国产免费激情视频| 日韩欧美亚欧在线视频| 精品玖九九久| 懂色AV网| 老色鬼成人精品视频下载大在线观看| 欧美伦乱爱| 超碰爽人妻熟女Av| 色五91| 99无码视频| 黄网色一区二区三区四区精品| 国产9 9在线 | 亚洲| 亚洲黑人在线| 97超碰欧美| 青青草中日韩在线| 欧美亚洲AN| AV高清一区| 老熟女91av| 综合色图区| 日本三级久| 亚洲 欧美日韩 另类| 韩国三级一线观看久| 天天操夜夜操| 91综合色| 国产精品久久久久久久AV大片 | 韩日性爱av| 久久透逼视频| 韩国成人精品久久久免费看 | 国产青青美女玩逼视频| 黄久在线| 职场同事知名国产国产精品久久欧美日韩| 国产美女精品| 日韩噜噜69| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 97超碰无码网| 欧美综合色站| 久久久av爱| 亚洲婷婷五月天| 人妻密肉在线观看| 丝袜熟女2P| 99在线视频播放| 日韩操啪| 在线看片国产精品每日更新| 乱伦AVxx| 色99视频| 亚州久久9| 欧美性五月| 另类图片综合| 亚洲一区中文精品| 日本五十路熟女一区二区| 黄片aaaaa一区| 国产成人亚洲精品自产在线| 国产极品999| 日本最新1区2区3区| 97在线/亚洲| 91久久免费视频互動交流| 成全在线观看免费观看| 99视频在线| 北条麻妃99精品青青久久| 天天日天天舔东京热| 中文字幕人乱码中文字的预防方法 | 国产精品点击进入在线影院高清| 日韩精品人妻一| 日本在线不卡v二区| 67914亚洲精品| 久久久99久9| 亚洲激情深爱文学小说网站| 久久久久熟女| 成年女人黄网站| 五月婷色| 欧美 亚洲 另类 综合| 天天伊人| 18禁美女裸体无遮挡啪啪| 欧美亚州手机在线| 99久热精品99re6热| 久操免费在线| 国产精品久久久久久片| 97超碰天天爱天天爱| 久久久一二三四区| 国产曰批免费观看久久久| 婷婷激情五月| 青青草国产一区二区三区| 啪啪综合网| 99啪啪| 97这里只精品| 久久久99免费| AV天天在线观看| 四虎精品永久在线观看| 性爱视频啪啪啪啪| 涩爱AV在线| 美女高潮国产高清| 日韩av乱伦| 中文字幕乱碼在线| 人人妻人人爽| 亚洲免费人妻在| 欧美亚洲日韩16色| 日韩成人无码| 青青草日韩无码| 亚欧操逼片在线观看| 亚洲性爱电影| 亚洲男人天堂网久久| 久久国产成人精品国产成人亚洲| 色官网在线| 欧美 日韩第一性色| 日本爽爽爽爽爽爽免费视频| 大香蕉在线视频15| 国产福利合集| 亚洲天堂中文字幕无码男同| 色区97| 国产女人成人精品视频| 久久精品国产97欧美精品亚洲| 成人精品一区二区91毛片不卡| juliaann丝袜大战黑鬼| 伊人热综合| 欧美成不卡网| av毛片aaaaa免费看| 人人污日韩一区二区| 秋霞 色色| 日韩钢筋无码高清啾啾啾| 大香蕉综合网| 和协无码影院| 超碰在线香蕉| 97视频新免费| 日本中文字幕在线电影| 亚洲综合有码| 欧插网站| 日韩免费中文字幕视频| 日韩国产十八禁| 日韩黄片视频试看| 欧美日韩97在线| 高清无码在线播放网站| 色综合20p| 国产AV久久久蜜爱影集| 国内一级精品| 色九九九综合| 密臀在线免费观看| 精品一区二区三区蜜桃臀赵总 | 色欧美亚洲| 国产精品一区在线播放| 综合色久欲| 操逼操逼逼操操逼91| 97中文字幕一区| 开心五月婷婷激情| 成人五月天丁香激情综合| 中日无幕一二三四区| 青娱乐欧美激情一区二区| 欧美日韩国产人人| 大香蕉综合网| 亚洲乱色熟女一区| AV男人天堂网| 色综合潮| 欧美性爱十八禁| 91色色网站| 欧美情色贴图| 99久久九九| 九九九九精品九九九九| 日韩三级在线观看mp4| 亚洲欧美精品福利在线| 啪啪啪亚欧美视频| 久久久久网站-538在线视频-欧美永久乱码| 亚洲一级性爱视频免费看| 色区97| 吉田爱美AV在线| 超碰免费人人| 园内精品自拍视频在线播放| 东京热,男人的天堂| 开心六月色| 国产91久久九九免费精品无码| 天天综合网日韩| 国产精品不卡一区二区三区| 欧美激情综合| 国产一区二区三区久久久精品| 久久中文字幕人妻熟av女蜜柚| 中文有码第五页| 色色色色网站| 91色人妻| 欧美综合色,www| 四虎在线播放| 大香蕉色十月| 色乱二区| 眼镜人妻101.com| 校园春色美腿丝袜 | 一区二区你上我| 日韩亚洲国产视频| 丰满美女一级毛片在线播放| 中文字幕第7页| a人片中文字幕一区二区| 亚码激情| 一级免费啪啪片| 色婷婷激一区二区三区 | 97综合在线| 麻豆区久久久久亚| 欧美后入视频| 精品射1999| 日韩欧美视频青青| 亚洲午夜福利视频| 26uuu欧美日韩| 加勒比伊人| 日韩久射综合| 天天爽入口| 撸撸成人在线视频| 18精品一区| 97干在线看| 亚洲AV免费在线观看| www久久久| 狼人久草| 日亚韩精品视频二区三| 亚洲欧美日韩精品久久久一区二区| 北约熟女超碰| 久久久久久久九九九九九九| 澳门黄片一香蕉视频| 天天综合网日韩| 91熟女视频| 欧美91变态| 国产1024在线播放| 中文字幕黄片在线| 日韩操啪| 久久久久人妻二区精品叶可怜| 韩美日操逼| 色色网91| 青娱乐国产盛宴视频| 91九色蝌蚪在线观看| 午夜偷拍久久熟女| 美中日韩无码| 欧美日韩第一页| 色色色综合| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 色屁屁影院www国产| 日韩成人高清一区二区| 中字幕人妻一区二区三区| 人人操人人摸人人看人人插| 俄罗斯一区二区视频在线观看| 日本精品无码三级网站| 岛国AB视频| 国产 码在线成人网站| 日夜啪电影| 嗯嗯啊啊操死我| 加勒比海成人视频网| 欧美999999| 四虎精品永久在线观看| 搡老女人老91妇女老熟女| 97精| 日本操大逼| 五月天黄色激情视频| 玖色AV| 青青欧洲黑| 97草草| 色综合加勒比| 亚洲成人性| 99热色精品| 无码视频一区二区| 久久9精品网站| 日日夜夜精品视频| 午夜超爽| 97av在线视频| 国产偷仑| 免费男人的天堂| 日韩欧美亚洲自拍偷拍| 亚洲免费成人精品电影| 一起草AV| 97精品国产精品免费观看| 欧亚 另类 久| 超碰色男人操熟女| 男人的天堂啪啪啪啪啪蜜桃不卡| 日本精品人妻少妇一区二区| 热久久无毒不卡| 大学生美女口爆| 欧美日韩国产黄色片| 五月丁香啪啪啪| 操b网站亚洲无码| 欧洲亚洲少妇| 懂色AV蜜臀无码精品APP| 亚洲成人av色网| 天天综合站| 成人av毛片在线观看| 五月婷视频| 囯产精品强| 麻豆天美91| 久久伊人大香蕉| 天天操天天日青青草超碰av| 亚州一区二区| 色色婷| 成人熟女区| 天天肏视频| 中文字幕成人| 青青欧美| 婷婷丁香九月| 欧美激情超碰777| 偷偷人人精品女女久久| 中文字幕123| 60秒免费小视频| 日语五十路和六十路亚洲国产精品| 超碰成人免费| 亚洲天堂少妇| 色在线亚洲视频www| 欧美综合色站| 欧美色青| 天综合网| 亚洲国产精品无石码久久| 岛园激情| 色69大色97香蕉| 黑人嘿嘿嘿超爽免费视频| 中文字幕片| 成人午夜高潮av猛片| 在线啊啊啊啊| 天天日夜干| 蜜臀少妇一区二区| 国产免费内射视频| 妺妺跟我一起洗澡没忍住| 欧美激情亚洲情色| 无码操逼网| 欧美色综合图片| 国产男人又猛又粗又爽| 国产 大胆 对白| 国产欧美成人第一页在线观看 | 欧美色综合网| 九九伊人网| 一本大道青青| 99国产人成精品| 丁香色狠狠色综合久久小说| 亚洲nv男人的天堂网| 中文字幕99999| 超碰色中文| 不卡av免费在线网址| 美女的肌被草喷水视频| 日小BB小视频| 久干网| 丁香五月天激情网站| 99999亚洲另类| 国产精品老师| 97干色| 老汉网| 久草国产在线视频| 青草伊人久久| 六月婷激情福利天堂69| 亚洲综合首页| 国产成自自拍在线观看| 99久久久er直播网址| 人妻大香蕉| 伊人久久88国产女| 人人性爱视频免费| 99re只有精品| 激情接吻视频久久久久久| 91情色在线| 欧美制服网站美腿丝袜| 国产在线激情视频| 校园春色美腿丝袜 | 亚洲欧美一区二区不卡视频播放| 家庭乱伦性爱av| 成人开心网在线视频| 国产欧美伊人| 久久黄色性爱视频| 天天操天天干美女网址导航| 97 亚洲 日韩 欧美 在线| 国产女人极品高潮毛片| 少妇久久久免费| 内射中出日韩在线观看视频| 操操操日本的逼| 精品无人区麻豆乱码1区2区图片 | 日本熟妇自慰性高潮一区二区三区| 人妻嗯啊啊在线播放| 大象AV在线| 亚洲AV不卡在线观看| 麻豆区99999| 国产91乱伦| 极品白嫩美少妇在地板上位骑射淫水泛滥| 精品人妻一区春色| 99久久9| 久久五十路熟女人妻| 少妇精品久久| 久久爱超碰网| 亚洲欧洲美腿丝袜| 色色色色电影网| 欧美色图综合网| 中文字幕乱偷人妻久久艾草网| 伊色综合天堂色97| 粉嫩在线一区二区懂色| 国产成年女黄特黄| 久久日韩肥臀| 精吧天堂| 啊啊啊啊啊在线观看网址 | 色女免费在线观看视频网址| 亚洲人成色9999精品久久| 亚洲乱码精品一区二区| 97久久超碰日韩精品| 亚洲综合一| 国产一区二区在线电影| 国产在线强奸视频| 亚洲av性爱电影| 久久αⅴ| 九九人妻| 五毛骚逼极品美女怕怕| 国产精品午夜成人福利| 丁香五月影院| 91色婷婷综合久久中文字幕二区| 亚洲欧美综合区自拍另类| 神马午夜久久| 欧洲亚洲少妇| 2017天天插| 99re99视频在线免费观看| 天天透伊人| 久久色人体| 91亚洲黑人| 91精品国产高清久久久久久,亚洲成人 | 2017人人操,人人摸| 九九碰九九爱97超| 野狼福利社区| 青青在线视频日韩欧美| 91无摭挡| 天天干1区2区在线| 超碰在线1234区| 欧洲射精91| av大香蕉网站| 另类亚洲图色| 午夜精品久久久99| 好湿好紧好爽 视频| 夜夜夜久久| 亚洲棕合电彰| 欧美日韩人人精品| 青青草视频久久久久| 欧美老妇综合网| 你草精品在线视频| 久久大香蕉手机高清| 精品一区96| 亚洲五区熟女| 超碰1024久久| 五月开心久久AV官网| 日韩大香蕉精品在线视频| 日韩精品国模| 欧美国产操逼| 另类欧美综合| 日韩性爱一级片| 综合亚洲欧美精品日韩?v|