日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

STM32自由擺平板閉環(huán)控制:角度采樣與PID調(diào)參實(shí)踐

STM32自由擺平板閉環(huán)控制:角度采樣與PID調(diào)參實(shí)踐 簡介《自由擺的控制系統(tǒng)》是一份面向電子設(shè)計(jì)競賽、嵌入式控制課程設(shè)計(jì)及自動(dòng)控制學(xué)習(xí)者的完整方案文檔圍繞擺桿擺動(dòng)過程中保持末端平板穩(wěn)定這一問題展開可作為動(dòng)態(tài)角度檢測與電機(jī)隨動(dòng)控制的參考范例。文檔共1個(gè)docx文件壓縮包約36KB篇幅精煉但內(nèi)容完整便于直接查閱與二次整理。內(nèi)容以STM32F103VET6為主控涵蓋TFT液晶顯示、WDD35D4導(dǎo)電塑料角位移傳感器實(shí)時(shí)測角、A/D采樣反饋、四宏細(xì)分驅(qū)動(dòng)器驅(qū)動(dòng)步進(jìn)電機(jī)等關(guān)鍵環(huán)節(jié)并給出擺架框架、檢測系統(tǒng)、控制驅(qū)動(dòng)系統(tǒng)三部分結(jié)構(gòu)。文中還對控制器、角度檢測、電機(jī)與電源模塊進(jìn)行方案比較說明選型依據(jù)并涉及硬幣相對靜止、激光筆打靶等基本要求與發(fā)揮部分適合讀者借鑒硬件搭建、控制思路和方案論證寫法。目前已有308人學(xué)習(xí)下載。1. 自由擺不是“擺著玩”這套平板控制系統(tǒng)到底解決什么問題擺桿一松手末端平板跟著來回?cái)[板上硬幣不能滾、激光筆還得穩(wěn)穩(wěn)打到靶心——自由擺的控制系統(tǒng)就是為這個(gè)場景做的。它用 STM32F103VET6 當(dāng)控制核心WDD35D4 導(dǎo)電塑料角位移傳感器實(shí)時(shí)測擺桿和平板角度TFT 液晶做狀態(tài)顯示步進(jìn)電機(jī)經(jīng)四宏細(xì)分驅(qū)動(dòng)器帶動(dòng)平板轉(zhuǎn)角。適合正在做嵌入式課程設(shè)計(jì)、控制類學(xué)科競賽或者想拿一套完整“傳感器采樣—角度解算—電機(jī)執(zhí)行—閉環(huán)調(diào)參”鏈路練手的人。硬件不算貴但機(jī)械安裝、模擬采樣和步進(jìn)丟步這幾個(gè)環(huán)節(jié)每個(gè)都能讓人調(diào)一晚上。2. 方案與硬件架構(gòu)STM32F103VET6 為核心的三大模塊怎么搭這套系統(tǒng)的骨架拆開看很樸素一個(gè)擺架負(fù)責(zé)讓平板自由擺動(dòng)一組傳感器負(fù)責(zé)把角度變成電壓一塊 STM32 負(fù)責(zé)算驅(qū)動(dòng)器加步進(jìn)電機(jī)負(fù)責(zé)把平板拉回目標(biāo)角度。真正花時(shí)間的是選型和電氣連接因?yàn)樽杂蓴[是一個(gè)動(dòng)態(tài)系統(tǒng)傳感器測的是實(shí)時(shí)角度電機(jī)執(zhí)行又有延遲任何一環(huán)選錯(cuò)后面調(diào) PID 都是白費(fèi)勁。2.1 控制器和電源為什么不用 5112V 電池怎么分壓控制器選型上51 單片機(jī)不是不能跑而是跑不動(dòng)這套東西。自由擺控制需要同時(shí)做兩路 ADC 采樣、中值濾波、角度換算、PID 運(yùn)算、步進(jìn)脈沖狀態(tài)機(jī)和 TFT 刷新51 的指令周期和片內(nèi) RAM 很快就見底稍微把控制周期壓到 5ms 就會(huì)顧此失彼。STM32F103VET6 是 Cortex-M3 內(nèi)核72MHz 主頻512KB Flash、64KB RAM片內(nèi) ADC 多通道用庫函數(shù)開發(fā)也省事這也是項(xiàng)目正文最終選它的原因。這里有個(gè)容易混的點(diǎn)項(xiàng)目正文寫的是“8 通道 10 位 ADC”實(shí)際 STM32F103 的 ADC 是 12 位初始化時(shí)按 12 位右對齊配滿量程用 4095如果手里的例程是 10 位版本換算系數(shù)要改成 1023兩套代碼混用角度會(huì)直接差 4 倍。電源部分原文給的是 12V 電池經(jīng) L7805 和 LM2576 轉(zhuǎn)換后給系統(tǒng)供電。L7805 是線性穩(wěn)壓輸出 5V紋波小但壓差大時(shí)發(fā)熱明顯LM2576 是開關(guān)降壓效率高適合把 12V 先降到一個(gè)中間電壓。常見接法是12V 電池直接進(jìn)步進(jìn)驅(qū)動(dòng)器的主電源同時(shí)經(jīng) LM2576 降到 6.5V7V再進(jìn) L7805 穩(wěn)到 5V5V 給 TFT、傳感器和電機(jī)驅(qū)動(dòng)器邏輯3.3V 由板載 LDO 給 STM32 和 ADC 參考。模擬部分最好單獨(dú)一路 LC 濾波不要和電機(jī)驅(qū)動(dòng)邏輯共用一根細(xì)地線否則 ADC 讀數(shù)會(huì)跟著脈沖頻率跳。供電軌來源供給對象注意點(diǎn)12V電池步進(jìn)驅(qū)動(dòng)器主電源并 470μF 電解電容抑制啟停跌落6.57VLM2576 降壓L7805 輸入開關(guān)頻率噪聲要加 LC 濾波5VL7805 線性穩(wěn)壓TFT、WDD35D4、驅(qū)動(dòng)器邏輯加散熱片電流余量留 30%3.3V板載 LDOSTM32、ADC 參考模擬地和數(shù)字地單點(diǎn)連接引腳分配我一般先落一個(gè)頭文件后面 ADC、定時(shí)器、TFT 都按這個(gè)表來改板子只改這里。下面這段只放關(guān)鍵引腳完整工程里還會(huì)把按鍵、串口和限位開關(guān)加進(jìn)去。/* board_pinmap.h —— 自由擺平板控制板引腳分配 */ #ifndef BOARD_PINMAP_H #define BOARD_PINMAP_H #include stm32f1xx_hal.h /* WDD35D4 兩路模擬輸出一路測擺桿一路測平板 */ #define SENSOR_PLATE_PORT GPIOA #define SENSOR_PLATE_PIN GPIO_PIN_0 /* ADC1_IN0平板傾角 */ #define SENSOR_ARM_PORT GPIOA #define SENSOR_ARM_PIN GPIO_PIN_1 /* ADC1_IN1擺桿角度 */ /* 步進(jìn)驅(qū)動(dòng)器PUL 走定時(shí)器通道DIR/ENA 普通 GPIO */ #define STEP_PUL_PORT GPIOA #define STEP_PUL_PIN GPIO_PIN_2 /* TIM2_CH3 復(fù)用推挽 */ #define STEP_DIR_PORT GPIOB #define STEP_DIR_PIN GPIO_PIN_0 #define STEP_ENA_PORT GPIOB #define STEP_ENA_PIN GPIO_PIN_1 /* TFT 液晶SPI1 手動(dòng)片選刷新時(shí)不影響控制節(jié)拍 */ #define TFT_CS_PORT GPIOA #define TFT_CS_PIN GPIO_PIN_4 #define TFT_DC_PORT GPIOA #define TFT_DC_PIN GPIO_PIN_5 #define TFT_RST_PORT GPIOA #define TFT_RST_PIN GPIO_PIN_6 #endif這段頭文件的作用是把“哪個(gè)腳接什么”固定下來。ADC 通道和 GPIO 復(fù)用關(guān)系必須和 CubeMX 里的配置一致比如 PA0 做 ADC1_IN0 時(shí)不能再配成普通輸出PUL 腳要設(shè)成復(fù)用推挽否則定時(shí)器波形出不來。實(shí)際改板時(shí)最容易翻車的是 DIR 和 ENA 接反上電后平板會(huì)往一個(gè)方向頂死后面避坑章會(huì)細(xì)說。2.2 角度傳感器和電機(jī)WDD35D4 與步進(jìn)電機(jī)的組合邏輯測角方案原文對比了三種普通電位器、ADXL345 加速度傳感器、WDD35D4 導(dǎo)電塑料角位移傳感器。普通電位器便宜但線性度差來回磨損后阻值跳變用在自由擺這種需要連續(xù)動(dòng)態(tài)測量的場合角度噪聲會(huì)直接灌進(jìn) PID。ADXL345 是加速度原理靜態(tài)測傾角很好用但自由擺擺動(dòng)時(shí)傳感器同時(shí)感受到重力和擺動(dòng)加速度解算出來的角度在動(dòng)態(tài)段會(huì)偏越擺得快越不準(zhǔn)。WDD35D4 是電阻分壓式角位移傳感器轉(zhuǎn)軸帶動(dòng)電刷在導(dǎo)電塑料膜上滑動(dòng)輸出與角度成比例的電壓屬于絕對位置傳感器斷電再上電不會(huì)丟零位精度也夠用。它的代價(jià)是電刷有機(jī)械磨損安裝時(shí)要注意同軸度不能讓轉(zhuǎn)軸受側(cè)向力。電機(jī)選的是步進(jìn)電機(jī)而不是伺服。伺服閉環(huán)性能好、高速制動(dòng)強(qiáng)但價(jià)格高配套驅(qū)動(dòng)器也貴步進(jìn)電機(jī)開環(huán)控制給脈沖就走16 細(xì)分后每步 1.8°/160.1125°對于平板轉(zhuǎn)角補(bǔ)償已經(jīng)夠細(xì)。四宏細(xì)分驅(qū)動(dòng)器的作用是把單片機(jī)發(fā)出的脈沖放大成電機(jī)繞組電流同時(shí)做細(xì)分減弱低頻振動(dòng)。這里要算清楚脈沖當(dāng)量如果電機(jī)軸和平板軸直接連接、減速比 1:1那么平板轉(zhuǎn) 1° 需要 1/0.1125≈8.89 個(gè)脈沖如果中間加了一級(jí) 2:1 減速脈沖數(shù)還要乘 2。這個(gè)數(shù)后面 PID 輸出換算和限位保護(hù)都要用不能憑感覺寫。提示步進(jìn)電機(jī)的保持力矩和驅(qū)動(dòng)器電流撥碼要匹配。電流設(shè)小了帶不動(dòng)平板設(shè)大了電機(jī)發(fā)熱、低速嘯叫常見做法是先按電機(jī)額定電流的 70% 設(shè)再用手輕推平板測試保持力。2.3 機(jī)械與電氣連接擺架、傳感器、驅(qū)動(dòng)器怎么裝機(jī)械上分三塊擺架框架負(fù)責(zé)支撐擺桿末端裝電機(jī)平板固定在電機(jī)軸上傳感器同軸安裝在平板轉(zhuǎn)軸或擺桿轉(zhuǎn)軸處測的是實(shí)際轉(zhuǎn)角不是電機(jī)走了多少步。這個(gè)“同軸”很關(guān)鍵傳感器如果通過齒輪間接測齒輪間隙會(huì)讓讀數(shù)滯后PID 會(huì)越調(diào)越振。擺桿軸承要順暢不能有卡滯否則自由擺周期會(huì)變控制模型對不上。平板本身盡量輕硬幣放在板面中心附近激光筆固定在平板邊緣盡量讓激光筆軸線和平板法線平行。電氣連接上WDD35D4 一般三根線供電、地、滑動(dòng)端輸出。STM32 的 ADC 輸入不能超過 3.3V而傳感器常見 5V 供電、輸出 05V所以中間必須分壓。常見做法是用 10kΩ 和 20kΩ 電阻分壓5V 輸出降到 3.33V 左右再進(jìn) ADC分壓比在代碼里要乘回去。步進(jìn)驅(qū)動(dòng)器一側(cè)PUL 接脈沖DIR 接方向ENA 接使能另外還有共陽/共陰接法按驅(qū)動(dòng)器手冊來。單片機(jī)和驅(qū)動(dòng)器必須共地否則脈沖電平?jīng)]有參考電機(jī)走位會(huì)隨機(jī)。連接項(xiàng)單片機(jī)側(cè)外設(shè)側(cè)說明平板角度PA0 / ADC1_IN0WDD35D4 輸出經(jīng)分壓分壓比 1.5代碼要乘回?cái)[桿角度PA1 / ADC1_IN1第二路傳感器與平板路分開標(biāo)定步進(jìn)脈沖PA2 / TIM2_CH3驅(qū)動(dòng)器 PUL脈沖上升沿有效步進(jìn)方向PB0驅(qū)動(dòng)器 DIR高低電平對應(yīng)正反轉(zhuǎn)步進(jìn)使能PB1驅(qū)動(dòng)器 ENA低電平使能常見TFTSPI1 PA4/5/6液晶模塊片選手動(dòng)控制3. 角度采集鏈路WDD35D4 從模擬電壓到角度值的完整實(shí)現(xiàn)自由擺控制里角度是唯一的反饋量采樣鏈路不穩(wěn)后面 PID 就是在噪聲上做微分電機(jī)一定會(huì)抖。這一章按“接線—采樣—濾波—標(biāo)定—異常檢測”的順序拆代碼可以直接往工程里搬但參數(shù)要按自己傳感器和機(jī)械結(jié)構(gòu)改。3.1 接線、ADC 配置與采樣節(jié)拍WDD35D4 的輸出是模擬電壓STM32 用 ADC1 的規(guī)則通道掃描兩路平板角度和擺桿角度。采樣節(jié)拍不要隨手用HAL_Delay輪詢那樣控制周期會(huì)被 TFT 刷新和串口打印拖亂。常見做法是用定時(shí)器 TRGO 觸發(fā) ADC1kHz 采樣DMA 把結(jié)果搬到緩沖區(qū)控制任務(wù)只讀最新值。ADC 采樣時(shí)間設(shè)長一點(diǎn)比如 71.5 個(gè)周期因?yàn)閭鞲衅鬏敵鲎杩辜由戏謮弘娮韬蟛凰愕筒蓸訒r(shí)間太短采樣保持電容充不滿讀數(shù)會(huì)偏低。/* 兩路 ADC DMA 定時(shí)器觸發(fā)1kHz 采樣 */ static void sensor_adc_init(void) { ADC_ChannelConfTypeDef ch {0}; hadc1.Instance ADC1; hadc1.Init.ScanConvMode ADC_SCAN_ENABLE; /* 掃描兩路 */ hadc1.Init.ContinuousConvMode DISABLE; /* 由定時(shí)器觸發(fā) */ hadc1.Init.DiscontinuousConvMode DISABLE; hadc1.Init.ExternalTrigConv ADC_EXTERNALTRIGCONV_T2_TRGO; hadc1.Init.DataAlign ADC_DATAALIGN_RIGHT; /* 右對齊12 位 */ hadc1.Init.NbrOfConversion 2; HAL_ADC_Init(hadc1); ch.Channel ADC_CHANNEL_0; /* 平板角度 */ ch.Rank ADC_REGULAR_RANK_1; ch.SamplingTime ADC_SAMPLETIME_71CYCLES_5; HAL_ADC_ConfigChannel(hadc1, ch); ch.Channel ADC_CHANNEL_1; /* 擺桿角度 */ ch.Rank ADC_REGULAR_RANK_2; HAL_ADC_ConfigChannel(hadc1, ch); HAL_ADCEx_Calibration_Start(hadc1); /* 上電先校準(zhǔn) */ HAL_ADC_Start_DMA(hadc1, (uint32_t *)adc_dma_buf, 2); }這段初始化的關(guān)鍵參數(shù)是ExternalTrigConv和SamplingTime。TRGO 來自 TIM2周期設(shè) 1msADC 每 1ms 自動(dòng)采一輪DMA 把兩個(gè)通道的結(jié)果寫到adc_dma_buf[0]和[1]。NbrOfConversion2表示一次觸發(fā)掃兩個(gè)通道順序按 Rank 來別把平板和擺桿接反。如果沿用 10 位配置DataAlign不變但換算滿量程要改成 1023HAL_ADCEx_Calibration_Start仍然要調(diào)校準(zhǔn)能明顯減小零漂。3.2 中值濾波加一階低通把機(jī)械抖動(dòng)壓下去自由擺擺動(dòng)時(shí)擺桿和軸承的機(jī)械振動(dòng)會(huì)疊加到傳感器上ADC 原始值畫出來是一條毛刺很重的曲線。直接用這個(gè)值做 PID微分項(xiàng)會(huì)把毛刺放大成電機(jī)抖動(dòng)。我一般先用 9 點(diǎn)滑動(dòng)中值濾波去掉偶發(fā)尖峰再串一個(gè)一階低通壓高頻。中值濾波窗口不要太大9 個(gè)點(diǎn)已經(jīng)有 4 個(gè)采樣周期的滯后再大控制會(huì)發(fā)鈍低通系數(shù)取 0.20.3太小響應(yīng)慢太大濾波等于沒做。#define FILTER_WIN 9 static uint16_t win[2][FILTER_WIN]; static uint8_t win_idx; /* 9 點(diǎn)中值濾波窗口小插入排序足夠快 */ static uint16_t median9(const uint16_t *src) { uint16_t t[FILTER_WIN]; for (int i 0; i FILTER_WIN; i) t[i] src[i]; for (int i 1; i FILTER_WIN; i) { uint16_t key t[i]; int j i - 1; while (j 0 t[j] key) { t[j 1] t[j]; j--; } t[j 1] key; } return t[FILTER_WIN / 2]; } /* 一階低通alpha 越大越跟手越小越平滑 */ static float lowpass(float x, float y, float alpha) { return alpha * x (1.0f - alpha) * y; }median9每次對 9 個(gè)歷史值排序取中間那個(gè)計(jì)算量很小放在 1kHz 采樣中斷里也不會(huì)拖垮 CPU。lowpass的y是上一次輸出x是本次中值結(jié)果alpha0.25時(shí)截止頻率大概在幾十赫茲正好壓住機(jī)械振動(dòng)又不影響自由擺的低頻運(yùn)動(dòng)。兩個(gè)通道各用一套窗口和狀態(tài)不要共用一個(gè)win_idx否則平板和擺桿的數(shù)據(jù)會(huì)串。3.3 零點(diǎn)、量程與非線性修正角度標(biāo)定怎么做傳感器裝上去以后輸出電壓和角度不是天然對應(yīng)的。常見做法是兩點(diǎn)標(biāo)定把平板放在水平位置記下電壓v0再把平板轉(zhuǎn)到 90° 位置記下v90。中間按線性換算公式是angle (v - v0) * 90 / (v90 - v0) offset。offset是安裝零偏如果傳感器轉(zhuǎn)軸和平板法線沒對準(zhǔn)水平時(shí)讀數(shù)不是 0就用這個(gè)參數(shù)補(bǔ)。WDD35D4 的導(dǎo)電塑料膜兩端有無效區(qū)標(biāo)定范圍不要貼著 0° 和 360° 端點(diǎn)盡量在 -45°45° 或 0°90° 的工作段內(nèi)取兩點(diǎn)線性度更好。typedef struct { float v0; /* 0° 對應(yīng)的 ADC 電壓單位 V */ float v90; /* 90° 對應(yīng)的 ADC 電壓單位 V */ float offset; /* 安裝零偏單位 度 */ float div; /* 分壓比5V 經(jīng) 10k/20k 分壓為 1.5 */ } AngleCalib; static float adc_to_voltage(uint16_t raw, float div) { /* 12 位 ADC參考 3.3V10 位版本把 4095 改成 1023 */ return raw * 3.3f / 4095.0f * div; } static float voltage_to_angle(float v, const AngleCalib *c) { float k 90.0f / (c-v90 - c-v0); return (v - c-v0) * k c-offset; }div是分壓比5V 經(jīng) 10k 和 20k 分壓后進(jìn) ADC實(shí)際電壓是 ADC 讀數(shù)的 1.5 倍所以要在換算時(shí)乘回去。v0和v90不要用理論值必須現(xiàn)場拿萬用表或串口打印實(shí)際 ADC 值記錄。標(biāo)定完把兩組數(shù)寫進(jìn) Flash 或頭文件下次上電直接加載。平板和擺桿兩路要分別標(biāo)定因?yàn)閮蓚€(gè)傳感器的安裝角度和分壓電阻誤差不一樣共用一組參數(shù)會(huì)引入幾度的固定偏差。3.4 采樣異常檢測斷線、超量程和參考電壓跌落模擬鏈路最常見的故障是傳感器斷線、分壓電阻虛焊、ADC 輸入過壓。代碼里要加一層保護(hù)連續(xù)多次讀到 0 或滿量程就判定傳感器異常電機(jī)停止輸出TFT 上顯示故障碼。另外如果 3.3V 參考被電機(jī)啟停拉低所有角度會(huì)同時(shí)往下掉這種不是傳感器壞而是電源問題要靠硬件加電容和軟件限幅一起處理。我一般會(huì)在控制任務(wù)里做軟限幅角度超過機(jī)械行程 ±5° 就強(qiáng)制回中避免 PID 積分飽和后平板頂?shù)较尬弧?. 執(zhí)行機(jī)構(gòu)與控制閉環(huán)細(xì)分驅(qū)動(dòng)器加步進(jìn)電機(jī)怎么把平板拉回目標(biāo)角執(zhí)行鏈路分兩層底層是定時(shí)器產(chǎn)生脈沖、驅(qū)動(dòng)器放大電流、步進(jìn)電機(jī)走步上層是 PID 根據(jù)角度誤差算出“這一拍該走多少脈沖”。自由擺是動(dòng)態(tài)系統(tǒng)平板的目標(biāo)角不一定是固定 0°基礎(chǔ)要求是保持水平發(fā)揮部分要讓硬幣相對靜止目標(biāo)角得跟著擺桿狀態(tài)變。這一章把脈沖當(dāng)量、脈沖生成、PID 和主循環(huán)串起來。4.1 驅(qū)動(dòng)器撥碼與細(xì)分16 細(xì)分下的脈沖當(dāng)量四宏細(xì)分驅(qū)動(dòng)器的細(xì)分由撥碼開關(guān)設(shè)定常見有 1、2、4、8、16、32 幾檔。項(xiàng)目里用 16 細(xì)分步進(jìn)電機(jī)步距角 1.8°那么每個(gè)脈沖對應(yīng) 1.8/160.1125°。平板直接裝在電機(jī)軸上減速比 1:1轉(zhuǎn) 1° 需要約 8.89 個(gè)脈沖如果平板和電機(jī)之間加了同步帶減速比 2:1就要 17.78 個(gè)脈沖。驅(qū)動(dòng)器電流撥碼按電機(jī)額定電流設(shè)42 步進(jìn)電機(jī)常見 1.5A2A設(shè)太大電機(jī)會(huì)燙設(shè)太小帶載丟步。細(xì)分檔位每脈沖角度轉(zhuǎn) 1° 所需脈沖適用場景11.8°0.56只做粗略定位振動(dòng)大40.45°2.22低速輕載80.225°4.44一般控制160.1125°8.89本項(xiàng)目兼顧平順和速度320.05625°17.78高精度但脈沖頻率要求高撥碼設(shè)置完最好用記號(hào)筆在驅(qū)動(dòng)器上寫一下調(diào)試時(shí)換過撥碼又忘了脈沖當(dāng)量對不上PID 輸出會(huì)整體差一倍。電機(jī)線序也要確認(rèn)四線步進(jìn)電機(jī)兩組線圈接錯(cuò)電機(jī)會(huì)原地抖動(dòng)不走這時(shí)候先別懷疑程序拿萬用表量線圈通斷。4.2 定時(shí)器脈沖與加減速別讓電機(jī)啟動(dòng)就丟步步進(jìn)電機(jī)的脈沖不能一上來就給很高頻率啟動(dòng)頻率超過電機(jī)的牽入頻率就會(huì)丟步表現(xiàn)為“程序算走了 100 步平板只動(dòng)了 80 步”。常見做法是用定時(shí)器中斷翻轉(zhuǎn) PUL 腳周期由period_us控制上層根據(jù)剩余脈沖數(shù)和當(dāng)前速度做梯形加減速加速段周期從 5ms 逐步減到 0.2ms勻速段保持減速段再拉長。下面這個(gè)狀態(tài)機(jī)放在 1ms 定時(shí)器里跑非阻塞不占死循環(huán)。typedef struct { int32_t remain; /* 剩余脈沖數(shù)正負(fù)表示方向 */ uint32_t period_us; /* 當(dāng)前脈沖周期越小越快 */ uint32_t last_tick; uint8_t level; /* PUL 電平上升沿驅(qū)動(dòng)器采一次 */ } Stepper; static void stepper_task(Stepper *s, uint32_t now_us) { if (s-remain 0) { HAL_GPIO_WritePin(STEP_PUL_PORT, STEP_PUL_PIN, GPIO_PIN_RESET); return; } /* 方向腳在脈沖前建立避免第一個(gè)脈沖方向錯(cuò) */ HAL_GPIO_WritePin(STEP_DIR_PORT, STEP_DIR_PIN, s-remain 0 ? GPIO_PIN_SET : GPIO_PIN_RESET); if (now_us - s-last_tick s-period_us) { s-last_tick now_us; s-level !s-level; HAL_GPIO_WritePin(STEP_PUL_PORT, STEP_PUL_PIN, s-level ? GPIO_PIN_SET : GPIO_PIN_RESET); if (!s-level) { /* 下降沿計(jì)一個(gè)完整脈沖 */ s-remain (s-remain 0) ? -1 : 1; } } }period_us是半周期實(shí)際脈沖頻率是1/(2*period_us)。比如period_us500對應(yīng) 1kHz電機(jī)轉(zhuǎn)速大概 1kHz/16/2000.3125 轉(zhuǎn)/秒。remain帶符號(hào)正數(shù)正轉(zhuǎn)負(fù)數(shù)反轉(zhuǎn)走到 0 自動(dòng)停不會(huì)一直發(fā)脈沖。加速時(shí)上層每 10ms 把period_us減一點(diǎn)減速時(shí)反過來加別在stepper_task里做浮點(diǎn)運(yùn)算1ms 中斷里越簡單越穩(wěn)。4.3 控制算法位置式 PID、死區(qū)和目標(biāo)角切換基礎(chǔ)要求是平板保持水平目標(biāo)角target0°發(fā)揮部分要讓硬幣在擺動(dòng)中相對靜止目標(biāo)角不能固定為 0°得根據(jù)擺桿角度和角速度給一個(gè)補(bǔ)償角。硬幣隨平板擺動(dòng)時(shí)需要水平方向的加速度平板傾斜可以讓重力沿板面的分量參與提供這個(gè)加速度同時(shí)改變支持力。實(shí)際調(diào)試時(shí)先用水平模式把 PID 調(diào)穩(wěn)再切到硬幣模式目標(biāo)角用target k1*arm_deg k2*arm_rate試出來k1、k2靠實(shí)驗(yàn)湊別指望一次算準(zhǔn)。typedef struct { float kp, ki, kd; float target; /* 目標(biāo)角水平模式為 0 */ float integral; float last_err; float out_limit; /* 輸出限幅單位脈沖/控制周期 */ float deadband; /* 死區(qū)度 */ } PID; static float pid_calc(PID *p, float measure, float dt) { float err p-target - measure; /* 小誤差進(jìn)死區(qū)避免電機(jī)來回抖 */ if (fabsf(err) p-deadband) { p-integral * 0.95f; /* 緩慢泄放積分防止退出死區(qū)時(shí)突跳 */ return 0.0f; } float deriv (err - p-last_err) / dt; p-integral err * dt; p-last_err err; float out p-kp * err p-ki * p-integral p-kd * deriv; /* 輸出限幅 抗積分飽和 */ if (out p-out_limit) { out p-out_limit; p-integral - err * dt; } else if (out -p-out_limit) { out -p-out_limit; p-integral - err * dt; } return out; }dt是控制周期主循環(huán)里固定 0.005s不要用HAL_GetTick的毫秒值直接除時(shí)間戳抖動(dòng)會(huì)讓微分項(xiàng)爆掉。out_limit按最大脈沖頻率折算比如每 5ms 最多走 20 個(gè)脈沖就設(shè) 20。deadband一般取 0.2°0.5°太小電機(jī)在目標(biāo)附近來回走太大硬幣會(huì)滾。PID 輸出是“本周期應(yīng)該走的脈沖數(shù)”正負(fù)號(hào)直接給stepper_move不用再單獨(dú)算方向。4.4 主循環(huán)與 TFT 顯示5ms 控制節(jié)拍怎么排主循環(huán)不能把 TFT 刷新、串口打印和 PID 混在一起跑SPI 刷屏一次可能幾毫秒控制周期立刻被拉長。常見做法是定時(shí)器給 5ms 節(jié)拍控制任務(wù)只做采樣讀取、PID、電機(jī)更新TFT 每 50ms 刷一次串口波形每 20ms 發(fā)一幀。這樣控制節(jié)拍穩(wěn)定屏幕看起來也不閃。void control_task(void) { uint32_t now HAL_GetTick(); if (now - last_control 5) return; /* 5ms 控制周期 */ last_control now; float plate_deg get_plate_angle(); /* 已濾波、已標(biāo)定 */ float arm_deg get_arm_angle(); /* 水平模式 target0硬幣模式在這里改 pid_plate.target */ float pulses pid_calc(pid_plate, plate_deg, 0.005f); /* 脈沖數(shù)換算成速度絕對值給頻率符號(hào)給方向 */ stepper_set_speed(stepper, fabsf(pulses) * 180.0f); stepper_move(stepper, (int32_t)pulses); static uint8_t disp_cnt; if (disp_cnt 10) { /* 50ms 刷一次屏 */ disp_cnt 0; tft_show_status(plate_deg, arm_deg, pulses); } }stepper_set_speed里的 180 是經(jīng)驗(yàn)系數(shù)把“每周期脈沖數(shù)”映射成脈沖頻率實(shí)際要根據(jù)電機(jī)和機(jī)械負(fù)載調(diào)。stepper_move把脈沖數(shù)累加到remain底層狀態(tài)機(jī)自己走完。TFT 顯示建議至少放四個(gè)量平板角度、擺桿角度、PID 輸出、當(dāng)前模式調(diào)參時(shí)一眼能看出是傳感器跳還是電機(jī)沒跟上。按鍵調(diào)kp/ki/kd比反復(fù)燒錄快得多哪怕只做三個(gè)按鍵加一個(gè)確認(rèn)鍵調(diào)試效率也完全不一樣。5. 避坑與排查自由擺平板控制最容易翻車的 5 個(gè)點(diǎn)這套系統(tǒng)硬件不復(fù)雜但機(jī)電耦合強(qiáng)很多問題看起來像程序 bug實(shí)際是接線、電源或機(jī)械安裝。下面五條是按我調(diào)試時(shí)踩坑頻率排的每條按“現(xiàn)象—原因—解決”寫照著排查能少走不少彎路。5.1 上電后平板往一個(gè)方向猛轉(zhuǎn)限位也擋不住現(xiàn)象程序下載完一上電電機(jī)就朝一個(gè)方向連續(xù)轉(zhuǎn)角度讀數(shù)變化但 PID 像沒起作用平板頂?shù)綑C(jī)械限位后電機(jī)堵轉(zhuǎn)嘯叫。原因最常見是 DIR 方向腳和驅(qū)動(dòng)器實(shí)際邏輯反了PID 輸出正方向電機(jī)卻往負(fù)方向走誤差越大輸出越大形成正反饋。其次是 ENA 使能腳電平配錯(cuò)驅(qū)動(dòng)器一直使能單片機(jī)復(fù)位期間 GPIO 處于浮空驅(qū)動(dòng)器把干擾當(dāng)成脈沖。還有一種是單片機(jī)地和驅(qū)動(dòng)器地沒共脈沖電平?jīng)]有參考走位隨機(jī)。解決先拔掉 PUL 線只給 DIR 和 ENA手動(dòng)改方向腳電平確認(rèn)平板正反轉(zhuǎn)和代碼符號(hào)一致再把 ENA 默認(rèn)拉高按驅(qū)動(dòng)器手冊確認(rèn)使能電平復(fù)位期間電機(jī)保持釋放最后用萬用表量單片機(jī)和驅(qū)動(dòng)器地之間的電壓必須接近 0V。機(jī)械限位只能當(dāng)最后一道保護(hù)不能靠它停機(jī)。5.2 角度讀數(shù)靜止時(shí)也跳動(dòng)起來跳得更厲害現(xiàn)象平板不動(dòng)TFT 上角度在小數(shù)點(diǎn)后一位來回跳擺桿一擺角度曲線毛刺更大PID 輸出跟著抖電機(jī)發(fā)出細(xì)碎響聲。原因WDD35D4 如果是 5V 供電輸出直接進(jìn) STM32 ADC 會(huì)超過 3.3V內(nèi)部鉗位二極管導(dǎo)通讀數(shù)被削頂分壓電阻虛焊或阻值不匹配也會(huì)讓讀數(shù)漂。另一個(gè)常見原因是傳感器供電和電機(jī)驅(qū)動(dòng)邏輯共用 5V電機(jī)啟停時(shí)電源跌落ADC 參考跟著動(dòng)。采樣時(shí)間設(shè)得太短采樣保持電容充不滿也會(huì)讓讀數(shù)偏低且不穩(wěn)。解決先量傳感器輸出到 ADC 引腳的電壓確認(rèn)不超過 3.3V超過就老老實(shí)實(shí)加分壓10k20k 是最省事的組合傳感器供電單獨(dú)走 LC 濾波地和 ADC 地單點(diǎn)連接ADC 采樣時(shí)間加到 71.5 周期以上軟件上加中值加低通但別用低通掩蓋硬件問題。分壓比記得在代碼里乘回去否則角度整體偏小。5.3 硬幣在擺動(dòng)中還是滾平板看起來“水平”但就是不穩(wěn)現(xiàn)象靜態(tài)調(diào)水平很準(zhǔn)一擺起來硬幣就往一側(cè)滾加快擺動(dòng)直接掉板激光筆在靶面上畫圈打不中中心。原因基礎(chǔ)模式目標(biāo)角固定 0°但擺動(dòng)時(shí)平板有水平加速度硬幣需要摩擦力提供加速度靠水平板面硬扛摩擦不夠就滾??刂浦芷谔L也會(huì)導(dǎo)致補(bǔ)償滯后5ms 和 20ms 完全是兩個(gè)效果。機(jī)械上平板和電機(jī)軸連接有間隙PID 算完了電機(jī)也走了平板實(shí)際角度還差一點(diǎn)傳感器讀數(shù)滯后。解決先確認(rèn)控制周期真的是 5ms用示波器翻 PUL 腳看脈沖間隔別只看代碼發(fā)揮部分切到目標(biāo)角補(bǔ)償模式用擺桿角度和角速度算target從很小的系數(shù)開始試機(jī)械間隙用頂絲或漲緊套消除傳感器盡量和負(fù)載同軸安裝硬幣測試前先把平板靜態(tài)調(diào)平再用手緩慢擺擺桿觀察角度曲線和電機(jī)響應(yīng)是否同相。5.4 步進(jìn)電機(jī)丟步、嘯叫走 100 步實(shí)際只轉(zhuǎn)了 80 步現(xiàn)象空載轉(zhuǎn)得很順裝上平板就丟步低速時(shí)電機(jī)嘯叫高速時(shí)直接堵轉(zhuǎn)PID 輸出一直加角度就是回不來。原因驅(qū)動(dòng)器電流撥碼設(shè)小了帶不動(dòng)負(fù)載細(xì)分設(shè)太高脈沖頻率上去了但電機(jī)響應(yīng)跟不上加速曲線太陡啟動(dòng)頻率超過牽入頻率電源功率不夠12V 在電機(jī)啟停時(shí)跌到 9V 以下驅(qū)動(dòng)器欠壓保護(hù)。解決按電機(jī)額定電流的 70% 起步調(diào)電流摸電機(jī)外殼溫度燙手就降一檔細(xì)分從 8 或 16 開始別一上來就 32加減速用梯形曲線啟動(dòng)頻率先設(shè) 200Hz穩(wěn)定后再往上提12V 電源并 470μF 以上電解電容條件允許換功率更大的電池或電源。丟步是開環(huán)步進(jìn)的固有風(fēng)險(xiǎn)關(guān)鍵位置加一個(gè)光電限位做回零校準(zhǔn)比反復(fù)調(diào) PID 管用。5.5 激光筆打靶總是偏換了角度也不對現(xiàn)象平板水平時(shí)激光點(diǎn)偏靶心幾厘米擺動(dòng)后軌跡是橢圓調(diào) PID 只能讓橢圓變小中心始終偏。原因激光筆安裝軸線和平板法線不平行平板轉(zhuǎn)角度時(shí)激光點(diǎn)畫圓而不是走直線傳感器零位和機(jī)械水平?jīng)]對齊軟件顯示 0° 時(shí)平板實(shí)際是 1°2°靶面距離變了但補(bǔ)償系數(shù)沒改角度和光點(diǎn)位移比例對不上。解決先把平板用水平儀調(diào)平再調(diào)激光筆支架讓光點(diǎn)在近處和遠(yuǎn)處靶面上重合說明射線和平板法線平行軟件零位用按鍵或串口命令現(xiàn)場清零不要用理論電壓靶距變化后重新標(biāo)定angle-光點(diǎn)位移的比例。激光筆供電單獨(dú)走線和電機(jī)線分開避免 PWM 干擾造成光點(diǎn)閃爍。6. 二次開發(fā)把這套控制板改成你自己的實(shí)驗(yàn)平臺(tái)這套自由擺平板控制的代碼結(jié)構(gòu)不復(fù)雜很適合當(dāng)二次開發(fā)底座。想換傳感器可以把 WDD35D4 換成增量式編碼器接定時(shí)器編碼器模式角度閉環(huán)從模擬采樣變成計(jì)數(shù)抗干擾更好也可以加一片六軸 IMU做互補(bǔ)濾波把擺桿角速度也納入前饋。想研究控制算法把位置式 PID 換成“前饋 PD”前饋項(xiàng)用擺桿角加速度估算能明顯減小擺動(dòng)過程中的相位滯后。改造方向改動(dòng)點(diǎn)驗(yàn)證方法編碼器閉環(huán)定時(shí)器編碼器模式替換 ADC 角度手動(dòng)轉(zhuǎn)軸看計(jì)數(shù)是否連續(xù)IMU 融合I2C/SPI 讀六軸互補(bǔ)濾波靜態(tài)傾角對比水平儀前饋補(bǔ)償擺桿角速度/角加速度參與目標(biāo)角正弦擺動(dòng)下看硬幣是否滑動(dòng)上位機(jī)波形串口按 CSV 發(fā)角度、PID 輸出上位機(jī)畫曲線看相位差無線調(diào)參串口透傳模塊替換有線調(diào) Kp 時(shí)看階躍響應(yīng)驗(yàn)證不要一上來就放硬幣。先做階躍響應(yīng)平板目標(biāo)角從 0° 跳到 5°用串口把角度和 PID 輸出打成 CSV看超調(diào)、調(diào)節(jié)時(shí)間和穩(wěn)態(tài)誤差再做正弦跟隨手動(dòng)讓擺桿按固定周期擺記錄平板角度和擺桿角度看兩條曲線的相位差和幅值比。硬幣測試放在最后而且先從慢擺開始逐步加快每次只改一個(gè)參數(shù)。串口輸出我一般用下面這種最笨的格式上位機(jī)直接按逗號(hào)拆不需要額外協(xié)議。/* 20ms 發(fā)一幀波特率 115200上位機(jī)按 CSV 畫圖 */ void telemetry_task(void) { static uint32_t last; if (HAL_GetTick() - last 20) return; last HAL_GetTick(); printf(%.2f,%.2f,%.2f,%.2f\r\n, get_plate_angle(), /* 平板角度 */ get_arm_angle(), /* 擺桿角度 */ pid_plate.target, /* 當(dāng)前目標(biāo)角 */ pid_plate.integral); /* 積分項(xiàng)看是否飽和 */ }printf重定向到串口時(shí)注意別放在 5ms 控制任務(wù)里放 20ms 任務(wù)或者主循環(huán)低優(yōu)先級(jí)位置否則串口阻塞會(huì)把控制節(jié)拍拉長。integral打出來很有用積分一直往上頂說明輸出限幅了或者機(jī)械卡住這時(shí)候調(diào) Kp 沒用得先查執(zhí)行機(jī)構(gòu)。從那以后我每次改完控制參數(shù)都強(qiáng)制先跑一遍階躍加正弦再放本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲精品久久久久久久久豆丁网| AAAA欧美日韩| 无码精品人妻一区二区三区妖精 | 天操天操夜操夜月月年年操操 | 久热伊人| 乱老熟女一区二区三区| 可以免费观看的AV| a片自拍直播视频| 中文字幕精品久久久久人妻红杏ⅰ | 中国91AV| 97伪v| 免费人成?大片在线播放| 欧美综合天堂| 日韩精品系列| 色盈盈影院| 中文字幕狠狠玩| 一区二区三区视频| 蜜汁欧美| 日韩不卡一二三四| 亚洲精品欧洲精品| 亚洲。日韩。欧美| 久久久九97| 久久毛卡| 国产精品探花在线| 日韩欧美中文| av日韩手机在线影视| 国产精品一区二区a| 久久久久久人体| 一区二区蜜臀| 中文字幕女同在线| 精品无码久久久久| 精品无码一区二区三区| 亚洲精品黄码久久久久| 人妻 欧美 中文| 97综合在线观看| 国产伦精品免编号公布| 精品十三区| 97色在线观看| 日本青青草在线| 日韩一级二级| 国产日韩精品一区二区三区| 久久伊人在线五区| 高清肉丝中文无码| 成人天天爽| 麻豆天美在线喷水AV| 欧美韩国你懂得在线| 久久久久久九九九九-美女久久久久久久-成人AV| 亚洲精品视频在线播放| 人妻天天操天天爽视频免费| 最新亚洲风情电影| 国产风韵犹存熟妇三区| 国产传媒av天美传媒在线| 精品视频在线观看| 操逼啊啊啊91| 欧洲综合视频| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 97天天搞在线| 玖玖爱综合网| 色97干| 91草草草| 日韩综合成人免费视频| 日本东京热久久久电影| 亚洲人妻五月丁香婷婷| 97人肏| 福利天堂| 厕所偷拍在线| 久久人人爽爽爽人久久久| 91视频国品一二三区| 国产a级午夜毛片| 中文字幕天堂在线| 日本男人天堂| 自拍啪啪视频| 天天躁夜夜躁狠狠躁AV| 俺去啦自拍| 亚拍在线| 日日骚av| 玖玖综合网| 加勒比久久av| 免费精品AB| 午夜一区| 看免费一级在线播放毛片| 激情小说图片亚洲首页| 高清成年美女黄网站免费大全| 熟女激情综合网| 精品国产Av无码久久久亚洲| 精品无码一区二区三区| av在线播放国产一区| 欧美性爱第一区| 国产中文大片资源中文字幕| 蜜桃无码AV一区二区| 天天插天天操| 超碰日韩美妻| 日韩精品熟妇| 久久久亚洲熟妇资源| 老妇女91| 人妻精品一区二区在线| 青青草精玖玖69精品| 精品无码产区一区二| 九九久久国产精品怡红院| 欧美激情高清性猛交| 超清中文乱码字幕| 天天视频黄网站| www.狠狠| 欧美 亚洲| 欧美的性爱网站免费| 日韩去日本高清在| 日本五十路在线| 国产AB视频| 国产日韩色综合| 色噜噜综合在线| 在线观看午夜婷婷久久久久清性观看| 无码人妻一区二区三区色欲aⅴ| 亚洲色图日韩精品| 久久区| 亚洲97在线| 人人操人人操人人人操| 亚洲自拍一区夜夜操| 91久久久久久久久18| 日本在线播放不卡一区| 91 丝袜在线观看| 久久这里是精品| 91美女中出| 九一国产精品| AV网站高清无码在线观看| 一区久久久二区| 日本精品一级二级三级| 98精品国产乱码久久久久久| 国产理论视频在线播放| 偷拍亚洲情色| 亚洲国产综合图区中文字幕| 少妇一级无码精品| 精品国产乱码久久久久久日本公司| 91美女网站| 操美女高潮抽搐白浆| 国产精品高朝久久久久久久| 91色久| 中文字幕国产| 丝袜综合色图| 精品国产乱码久久久久久口爆网站 | 91无遮挡| 中文字幕av久久爽Av| 伊人网免费视频| 天天弄欧美| www.伪伪| 中日韩久久久免费看| av资源在线观看少妇| 亚洲欧美碰碰| 精品久久九| 欧美成人性爱视频免费观看 | h无码动漫在线观看| 黑人与人妻| 五月天玖玖资源站| 97视频在线播放| 麻豆乱码久久精| 国产探花日韩援交| 色婷婷A V一二三四区麻豆综合| 在线观看黄色电话| 亚洲欧美另类小说| 国产美女激情| 日本91白丝| 国产精品内射婷婷一级二| 91成人在线| 欧美精品日韩一区二区| 日韩欧美午夜一区二区| 丝袜足交视频| 亚洲中文字幕av | 国产av色网| www.婷婷| 亚洲少妇综合在线播放| 亚洲av噜噜噜噜噜噜| 亚洲日韩XXX| 色婷五月| 国产日韩欧美亚洲精品95| 日本欧美不卡| 久久一区二区加油站| 日韩啪啪啪啪啪| av网页一区二区三区| 亚洲情欲| 久久久精品,3| 亚洲在钱| 夜夜免费视频| 日日黄色三级网站| 一区二区 电影 亚洲| 久久男女激情视频网站 | 天天看少妇| 青草av在线| 国产精品久久久久久久AV大片| 欧美日韩一二三| 久久久久久久久久黄色网 | 91 丝袜在线播放| 久久一区二区蜜桃| 欧美97在线欧| 少妇久久久久久久| 欧洲人妻视频| 久热精品在线| 久艹免费| 久热伊人| 99精品国产户外露出| 精品人妻久久久久一区二区三区| 嫩草影院永久在线制服丝袜| 欧美精品久久96人妻无码| 精品久久視頻在线| 日韩精品一二三四| 后入美女国产| 在线观看一卡二卡| 成人网欧美风情| 日韩欧美视频青青| 1区2区3区在线视频| 激情文学网伊人| AV九九| 日韩av在线播放不卡| 亚洲中文国际强奸字幕| 亚洲精品人妻在线| 日韩久久.一级黄色片| 国产最火爆久久国产网站网站| 国产精品视频在线观看| 亚洲男人天堂AV| 97综合久久| 亚洲综合20p| 蜜臀99久久精品久久久懂爱| 午夜一区二区三区国产| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲精品三| 亚洲少妇中文字幕网址| 欧美成人黄网色网站| 久久久久久国产精品免费网站| 久热在线精品免费观看| 欧美强奸乱| 午夜欧美女人操逼| 久久九九99| 精品无码一区二区| 久久鲁夜| 玖玖爱伊人玖玖爱| 人妻丝袜一区二区三区在线| 精品一区二区三区国产| 国产精品蜜臀久久久久无码AV| 久久性爱精品一区| 最新日产中文在线麻豆| 日韩一区二区精品视频| 日韩操呦呦影院在线观看| 高潮综合网| 久久熟女嫩草成人片免费| 亚洲蜜臀精品视频久久| 欧美色综合| 内射小黄片| av绯色| 国产又粗又长又爽又色| 国产久久一区二区午夜| 天天看特黄的免费网站| 久久岛国| 欧美日韩国产三级黄色| 综合91网| 国产欧美日产一区二区三区 - 国产欧美日| 久久婷婷一区| 色欲三区| 在线 制服丝袜中出 人妻| 69AV女优男人的天堂| 久操影视| 最新av中文字幕高清| 亚洲一本大道中文字幕无码在线| 男女打扑克高清网站| 熟妇人妻一区二区三在线| 78m成人视线| 久久久久久亚洲Av无码精| 欧美日韩岛国大片在线观看| 久日91在线| 青青草依人大香蕉| 翔田千里一区二区三区奶水| 任我爽视频在线观看| 亚洲激情深爱文学小说网站| 免费伦费视频在线观看| 97超碰无码网| 蜜臀久久99精品久久久久久无删减 | 亚洲 中文 女同| 欧美激情精品久久久| V A在线| 日韩一区二区三区四区五区 | 好爽视频在线观看视频 | www欧美性爱| 91在线限制级| 亚洲91色| 99精品无码| 亚洲玖玖爱| 最好看的中文字幕在线2018| 少妇三P| 久久夜夜| 在线 亚洲 网爆 自拍| 超碰97国产欧美| 激情久久久| 欧美激情色婷婷花野真衣一区二区| 国产精品美女| 女人的久久久| 国产深夜福利| 亚州色图第三区| 亚洲欧洲日韩中文字幕一区| 在线视频日韩欧美国产| 人妻人久久精品中文字幕| 能在线播放的国产三级| 亚洲污一污二| 免费αⅴ在线观看| 亚洲限制级| 欧美日韩日产免费网站看| 欧美白嫩在线放| 在线观看不卡一区二区三区| 插老姨肥穴| 男女猛烈无遮掩视频免费软件| 中文一区二区婷婷视频| 两女互慰AV高潮喷水在线观看| 久久最新免费视频23| 啊啊啊免费视频| 日韩情色视频| 免费αⅴ在线观看| 熟妇一区,二区,三区。| 神马久久久久眼| 国产又黄又爽| 九九久久99| AV一起草在线| 国产97在线播放| 婷婷九月色| 91成人无码| 欧美色997| 成人麻豆av电影网站| 日韩淫色网| 成人精品在线| 日韩三级在线观看网站| 日本顶级天天操狠狠操夜夜操中文字幕| 亚洲天堂一区二区久久| 熟女久久久| 五月婷婷六月激情| 福利操逼| 久久综合97| 亚洲熟妇无码一区二区三区| 手机在线观看不卡无码av| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 伊人欧美大香蕉视频| 欧美精品四区| 国产日韩欧美亚洲精品95| 亚洲黄色电影| 国产精品欧美激在线| 亚洲av影院在线观看| 婷婷激情四射| 亚洲精品黑丝| 天天天乱色综合全| 91九色网| 国产精选三级在线观看| 亚洲天天做日日做天天谢日日 | 操比国产| 国产白丝精品在线观看| 中文字幕欧洲有码| 美女91在线观看| 亚欧国产无码精品在线| 国产精品美女久久久久久网站| 欧色性第一页| 91精品导航| 日夜久久久九九九久| 91日韩在线| 精品国产丝袜一区二区三区乱码 | 玖玖人人爱| 国产理论视频在线播放| 男人亚洲天堂| 97伦综合| 日韩av情韩国爱禁区av一区二区| 嗯嗯嗯啊啊啊操的我好爽 | 欧美天天影院| 人妻免费观看| 中文字幕女同在线| 日韩人妻网站| 偷窥自拍亚洲色图| 日本精品一区三区| 成人综合色网| 日韩AV片| 九九热视频在线观看| 亚洲va有码在线天堂| 国产高清自拍视频| 日本不卡码黄色| 国产精选三级在线观看| 国产精品一区二区校花| 少妇被c 黄 免费观看| 美女性91| 日少妇视频| 欧美综合亚洲综合| 97国产精品一区二区传媒公司| 九九国产热| 久久只有精品一区二区三区| 91色综合激情| 躁躁日曰躁2020| 91电影色诱| 九九夜精品九九在线| 丰满人妻一区二区三区在线| 亚洲青青青视频在线| 天美国产精品| 男人下部插入女人下部| 75大香蕉| 午夜毛片高清免费不卡| 日日骚 av| 青青草精品| 好舒服视频| 亚洲一区二区 麻豆传媒| se吧提供国产乱老熟视频胖女人| 婷婷天堂站| 天天天天操| 开心五月婷婷激情| 亚洲综合97中文网| 97超碰色屌| 97精品97| 欧美色老汉| 91人妻在线视频| 2017大香蕉| 豆花视频操逼网址| 午夜理论片在线观看免费| 秋霞一级视频在线观看免费| www鬼畜国产男人的天堂| 久久熟女人| 嗯嗯啊啊视频一区二区三区| 青青欧洲黑| 啊啊啊啊好疼| 国产精品亚洲无码| 久久九九国产精品| 九九天堂| 97 九色| 熟妇一区,二区,三区。| 国产毛片片精品天天看视频| 国产对白刺激视频| 99热官网| 91久久伊人婷婷青青草| 久久在肏| 成全在线观看免费观看| 婷婷视频网| 美女大乳久久久久久久女人18| 美女毛片999| 97碰碰色| 国产www色在线观看| www.夜夜操| 亚州春色| 亚洲在线网站| 99色天堂| 人妻熟妇久草在线| 97在线视频观看| 亚洲欧美日韩夜夜| 91高跟美女在线播放| 日日躁夜夜躁狠狠躁超爽| 午夜国产成人精品视频| 色播综合| 精品一国2| 天天综合网91| 日日狠狠久久偷偷色综合免费| 中文乱码99| 无码人妻一区二区三区四区老鸭窝| 日本性爱视频一级| 蜜色网色哟哟| 久久精品黄色| 国产欧美日韩在线不卡第一页| 五月天色电影| 日韩啊V| 人妻嗯啊啊在线播放| 亚洲人人夜夜澡人人爽| 四虎午夜影院| 青青操97| 久久久96| 色老汉色| 精品国产91av一区二区三区| 999在线电影香蕉| 999国产精品999久久久久久| 日本一级性爱| 大色网久久| 国产精品久久成人免费| 人妻无码一区二区三区久久99| A级毛片在线看免费| 97爱爱爱综合| 91视频精品| 91精品国产麻豆国产自产在| 91美女国产在线| 日韩免费大片一级播放| 久久久久久9999| 尤物视频一区| 久久精彩免费视频| 亚洲女人91| 99精品视频在线观看| 久久熟女嫩草成人片免费| 无码丰满熟妇一区二区浪潮AV| 91总综合网| 中文字幕五月婷婷免费| 操一区| 小日子操bb在线看| 亚洲黄色网址| WWW黄片COM| 国产91美女视频| 丁香五月激情综合| 日韩成人无码| 上床啊啊啊| 激情综合网激情五月天| 午夜性刺激视频免费观看| 亚洲天堂东京热| 综合久久久久久久久91| 激情黄色五月天| 91精品伊人久久久大香线蕉91| 日日躁狠狠躁天天躁精品| 国产免费久久久久| 97久久超碰| 九九亚洲精品| 成人av动漫在线观看| 唯美清纯 妖精视频| 超碰97起碰| 久久伊人亚洲AV无码网站| 婷婷另类小说| 天天日天天色| 777AV电影| 欧美啪啪啪91| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲大色堂| 一级A啪啪啪啪| 国产97视频| 精品无码久久久久| 亚洲另类综合欧美| www.99中文字幕| 亚洲骚逼少妇| 91AV天堂| 日韩精品区二区三区不卡| 免费少妇一区二区| 成人熟女区| 一区二区日韩欧美久久| 岛国网址国产 | 成人精品无码| 夜夜免费视频| 综合网~91综合网| 亚洲成av人片色午夜乱码| 国产午夜精品在线观看| 夜夜精品视频一区二区| 人人澡人人爽人人精品| 激情综合久久| 中文字幕精品一区二区精| 夜夜欧美 | 激情黄色片在线观看| 久久久蜜桃一区二区三区| 成人a级高清视频在线观看| 黄色免费网| 人妻久久久| 青青操综合网| 免费看片黄| 日韩性色| 噜噜噜亚洲精| 91爱欧美| 精品一国2| 色五月69夫妻| 天天色粽合合合合合合合| 精品国产乱码久久久久久口爆网站| 五月亭亭六月丁香| 欧美色图综合网| 欧日韩一二三f区| 日韩无码久久熟女一级片| 国产熟女一区二区丰满| 人妻插插人妻人| 日本免费中文一区二区三区四区| 不卡啪啪视频| 中文字幕精品资源在线| 亚洲av综合色| 中文字幕一二区二三区人妻专区| 中文字幕三四区| 大香蕉日韩| 人妻夜爽夜夜爽| 肉丝无码中文高清| 国产人妻精品一区二区三区秋霞 | 亚洲人妻中文在线视频| 欧美亚洲小说| 国产无码成人无码| a级免费在线观看| 亚洲国产综合视频| 精品国产Av无码久久久亚洲| 毛片一区二区| 亚洲av无码成电影在线播放| 欧美1区二区三区公司| 一区二区三区免费视频入口| 无码一区免费在线不卡| 91精品人妻偷情| 国产野战露脸在线播放| 岛国网址国产| 在线人人人人人人精品超 | 中文字幕大片三级狠狠干| 亚洲国产精品乱码在线观看| 欧美熟女激情| 精品999日本| AV色五月| 超清中文乱码字幕| 中国一级αV| 在线岛| 午夜视频好爽啊| 久久精品国产96精品亚洲拳交| 日韩另类| 蜜臀精品1区2区| 熟女网站最新| 91性网| 激情综合网亚洲| 精品国产一区二区三区四区在线看| 91久久国产精品| 一级一性爱免费视频| 国产一进一出视频网站| 自拍偷拍2025在线观看| 欧美色图20P| 人人妻人人玩人人澡人人爽| av一区二区三区不卡| 色情乱伦AV| 青娱乐亚洲热| 91麻豆一二三区| 欧洲人妻视频| 亚洲av综合色区图片亚洲| 五月婷婷激情综合| 蜜臀99999| 98超碰欧美| 操操吧亚洲乱伦视频| www.狠狠| 欧洲小说色图视频另类| 亚州综合色| 国产AV久久野战精品| 国产精品久久久亚洲一区| 嗯嗯啊好大| 97超碰超| 特级丰满少妇一级AAAA爱毛片| 你操综合| 青青操日韩| 蜜乳Av成人片网站| 久热9| 色老牛| 精品无码久久久久久久久果冻糖心| 国产日韩精品suv| 欧美精品99久久久| 俺也射| 国产精品懂色tv影视免费观看| 久久美女福利是上海美女| 青青久操| 私人尤物在线精品不卡| 久久精品国产免费观看99| 性欧美体内射精| 欧美日韩小说| 亚洲乱码国产乱码精网站| 91欧美偷拍| 超碰是碰在线观看| 自拍偷拍亚洲熟女妇人精品| 日本成人A片网站| 激情网五月天| 亚洲干B| 中文字幕aⅴ在线视频| 亚洲97P| 蜜乳中文字幕a在线| 欧美亚洲丝袜人妻制服99| 俺去啦自拍| 国产无码一二三区| 亚洲se电影| 性久久| 秋霞鲁丝午夜无码一区二区三| 伊人专区一区二区三区| 天天干一区二区| 神马久久久久久| 欧美 亚洲 制服 精品| 91高潮| 黄页18禁| 国产亚洲99久久精品熟| 中文字幕丝袜美腿| 午夜小电影在线插入淫高潮 | 少妇人妻在线| 亚洲AV永久无码一区仙野| 大屁股熟女一区二区三区| 一级片视频啪啪| 中文字幕在线观看网页| 女人精品内射国产99| 九九热男人天堂| 国产在线视频午夜精华在| 看看小穴| 老熟女搡BBBB搡BBBB视频| 99色骚| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久综合久色欧美综合狠狠| 在线国产探花| 青娱乐91| 99热在线不卡| 久久性爱大全| 另类欧美综合| 97干com| 欧美强奸乱能| 97精品一区| 暖暖精品二区三区观看| 国产一区免费午夜视频| 欧美一区二区三区成人性生活| 婷婷天堂站| 91肉片| 狠狠躁天天躁日日躁| 中文字幕av乱伦| 亚洲色综合| 久久久久久久久久久久九| 人人爱操| 一本精品日本在线视频精品| 亚洲自拍青操视频| 日本在线不卡123| 精品人体无圣光凹凸| 不卡六六在线91| av情色影音| 爱做久久久久久| 亚洲欧美天堂| 久久风骚城市人| 草久久久| 99热这里是精品| 波多野结衣AV无码一区| 久操频道免费在线呗看| 综合网久久| 亚洲综合激情五月久久| 波多野42部无码喷潮在线观看 | 久久无码成人| 久操精品| 亚洲色图 综合| 麻豆区99999| 久久久久婷婷| 少妇啪啪自拍| 亚洲不卡三级手机播放| 东北女人性交| 91N综合在线| 久久久久骚| 久久 国产精品 一区| 日本淫乱女一区二区三区视频| 激情四射婷婷六月天| 亚洲成人一二三区| 欧美激情综合| 亚洲欧洲网站免费观看| 99精品欧美一区二区三区桃色| 殴美性天天| 白嫩91在线亚洲| 校园春色宗合网| 亚洲一二三四区机械| 亚州伊人色综台| 99热这里是精品| 在线a v| 国产午夜福利专区综合| 精品91日日夜夜超清资源| 久操免费视频| 97免费视频在线观看视频| 91久久18禁| 欧美日韩国产电影| 国产suv精品一区二区四区999| 97在线观看免费| 欧美在线视频播放| 欧美日韩青操| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 天天爽入口| 九久久精品| 97视频www| 亚洲人久久久网| 1024手机看片欧美日韩| 大香蕉宗合网在线| 亚洲精品视频二区| 黄色乱论网站| 久九九九九九九热| av操操不卡| 夜夜久久| 国产精品乱码久久久久久| 在线亚洲丝袜视频网站| 色香综合天天影视综合| 我想要啊 啊 啊| 五月天人妻综合| 91n处女在线观看| 久久久不卡| 亚洲欧美97√| 一二三区精品视频| 黄色大片视频在线免费看| 色欲久久久久综合网| 人妻色偷色噜| 亚洲天堂人妻熟妇视频| www.av在线观看| 成人一级性爱| 一级免费啪啪片| 欧美一区91大爱| 97综合国产精品高潮久久| 99九九久久| 久欲AV| 天啪| 日本潮催一卡操| 一级特级aaaa毛片免费观看 | 欧洲人妻视频| 色图综合网| 色就色综合| 亚洲经典啪啪| 花野真衣| 久九9精品| 少妇久久久久久久久| 国产精品久久久久久久AV大片| 国产高清成人mv在线观看| 九九久久精品| 97天天做| 成人精品久久| 国产精品视频91久久| 一区二区三区免费岛国片| 日本一级一级一级一级| 91久久久视| 国产区在线| 黄色av网站在线播放| 成人美女av| 久久国色天香香蕉| 欧美同性恋 的搜索结果 - 91n| 麻豆成人影音在线| 国语国产操逼伊人AV网| 欧美淫穴| 啊啊啊好湿久久| 女人香蕉久久毛毛片精品| 午夜亚洲WWW湿好大| 激情视频网址| 伊蕉97蜜桃97狠狠综合干| 久久99九九九九6666免费观看软件| 国产极品精品美女视频| 超碰在线99| 欧美最大综合网| 日韩免费在线观看不卡| 操91| 欧美国产操逼| 1769国内精品视频| 黄污污污污| 亚洲AV色图一区| 国产9 9在线 | 亚洲| 亚码激情| 婷婷丁香人妻| 亚洲无码免费看| 一区 欧美 日韩 麻豆| 香蕉99秘 一区精品蜜桃臀| 欧亚乱色熟女一区二区| 日本99一区二区| 99久久亚洲精品无码毛片潘甜甜| 91美女中出| 欧美日韩国产色五月综合在线| 国产欧美日韩一区二区三区| 91色噜噜狠狠| 秋霞色色影院| 欧美黑人猛交春色影视大全| 欧美综合天堂| 综合久久婷婷| 久久精品人妻一区二区三区| 一本大道不卡一二三区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 97爱碰| 脫衣舞一区二区三区| 亚洲色香| 久草免费福利在线播放| 禁十八久久| 偷拍亚洲熟女视频播放| 日日黄色三级网站| 蜜臀AV秘一区翔田千里| 91欧美美女日韩国产婷婷| 亚瑟国产精品久久无码| 久久、1234| 亚洲国产成人精品999| 97 超碰 人人做 人人爱| 欧美高清18A片| 99热导航| 新久久AV| 亚洲第一男人天堂| 99在线免费观看| 日本不卡一二区| 肥臀熟女福利视频一区二区| 日本潮催一卡操| 手机久操欧美综合色码| 日韩人妻一二三区视频| 97欧美色综合| 狠狠色婷婷7777久| 97视频一区| 91中文在线| 精品欧美老熟女一二区| 麻豆精品A片免费观看| 十八禁视频一区二区| 青青草久草AV| 久久综合五月天| 亚洲人成网站7777| 欧洲乱码视频| 亚洲熟女中文字幕在线| 超碰95| 和协影院中文字幕三区| 欧美黑人精品一区二区| 91精品导航| 九九九久久久久| 国产黄色 A 片免费看| 麻豆av一区二区| 大香蕉国产中文自拍| 在线v中文字幕一区二区三区 | 黄色AAAAAAAAAAA大片| 国产白丝网站| 亚洲人在线| 久久精品色欧美aⅴ一区二区| 国产强奸超碰AV| 中文字幕福利视频一区二区三区在线观看| 五月天色图影视| 九月丁香婷婷色| 黄色工厂这里只有精品| 99啪啪| 激情小说五月天| 一级二级三级黑人无码| 亚州欧美在线| 国产高清不卡视频| 婷婷99狠狠| 性色av蜜臀av色欲aV| 欧亚日韩三区| 大香蕉97久久| 白嫩国模丰满一二三区| 亚洲无码偷拍| 老鸭窝在线视频播放| 91麻豆天美国产| 久久丁香| av婷婷色婷婷色六月| 麻豆三极片| 亚洲综合伊人无码久久| 欧美精品三区| 久操99| 国产精品久久久久久片| 日韩免费三级黄片电影| 热热色91| 91老妇女| 亚洲欧洲色情高清| 精品一区96| 思思热在线| 日本一区二区中文字幕久久| 色69大色97香蕉| 加勒比海成人视频网| 美腿色图| 老司机天天操| 又粗又长又大国产不卡| 九九九精品美女| 91久热| 日韩人人精品| 高跟伊人julia ann| 婷婷三区| 美女露胸露奶头| 大香蕉男女超碰精品在线| 8050午夜少妇无码| 少妇干B| 日韩色欲久久一二三四区| 影音先锋乱伦资源| 成人毛片免费| A级在线视频| 亚洲精品久久久久毛片A片拉屎 | 黑人操一区二区| 2019精品国产无码成人| 中文字幕美女91| 久热精品在线国产| 影音先锋少妇| 色狠狠一区二区三区香蕉| 人妖欧美一区二区| 欧美丰满少妇交换91欧美精品| 污电影在线观看| 日韩熟女精品无码专区一区二区 | 亚洲精品乱码久久久久久蜜桃麻豆| 福利大香蕉| 亚洲啪啪啪啪视香蕉| 色偷偷人人玩人人舔人人操人人摸人人爽| 人妻内射一区二区在线视频| 99国产精品久久久在线播放| 欧美精品丝袜久久久中文字幕| 日本免费一区二| 欧色综合| 欧洲精品久久| 大香蕉在线免| 亚洲青色欧美| 97国产综合欧美| 97在线公开视频| 综合第一页| 无码天堂| 国产精品久久久久久照片| 国产操偷| 婷婷五月色| 五月丁香啪| 电影69乱码96| 区二区亚洲婷| 91激情国产| 久久久久夜夜夜夜| 无码操逼视频一下| 无码聚合| 大胆91| 亚洲一区二区 麻豆传媒| 亚洲十八禁止| 97超碰9| 被男人吃奶很爽的毛片| 国产 v乱码一区二| 国产一区二区三区中文字幕| 丰满人妻一区二区三区在线| 综合天天网| 欧美激情在线观看视频| 激情小说图片亚洲首页| av网页一区二区三区| 二色av| 午夜精品久久久久| 亚洲丨在线| 襙一襙| 久草大| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲涩图欧美| 亚洲丰满很很操| 粉嫩av在线| 日本一区二区三区四区免费观看| 爱我干综合| 中文字幕av久久爽Av| 久久久久人| 超碰97人人cao| 国产美女自拍AV| 日本三级中国三级99人妇网站| 国产精品熟女AV中文字幕在线播放| 青苹果影院男人的天堂| 久久日韩肥臀| 青青伊人这里只有精品| 国产精品诱惑| AV免费在线播放一区| 精品无码一区二区| 素颜老阿姨乱情色| 熟妇综合一区二区三区| 成人午夜小视频手机在线看| 天天做天天爱天天高潮| 97久久免费| 国产精品午夜AV完会免费 | 久偷拍| 99在线精品视频| 日韩探花精品在线视频| 国产精品久久久蜜臀| 亚洲情色 自拍| 成人无码影片视频在线| 亚洲视频一二区| 1204人成网站色www| 亚洲欧美日韩免费电影| 青青草在线视频人人想人人上 | 国产肏逼网站| 国产午夜无码片在线观看影视| 啊啊啊好湿久久| 怡红院亚洲怡春院av| 91东北熟女| 久久艹逼视频| 青青草好吊| 免费簧片在线观看| 东北女人| 1级午夜影院费免区| 五月天色图| 欧美日韩资源| 久久久久久亚洲精品不卡人乳 | 男人的天堂一区三区| 大香蕉青青9| 少妇xx精品| 超碰精品在线| 精品一区二区三区18| 欧美日综合| 国产suv精品一区二区四| 欧美人妻少妇| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 亚洲AV成人无码一二三久久| 97国产精品国| 干超碰碰熟女| 成人AV素股で擦久久| 久久久久久久97| 欧美激情综合| 蜜臀99久久精品久久久久| 黄色乱论网站| 黄页网站成人免费| 美女黄频a美女大全免费皮| 欧美桃色网| 男人夜色天堂ss| 青青草好吊色| 欧美有码激情视频一区二区三区| 亚洲毛片基地专区| 看日韩美女二区三区免费操逼视频 | 亚州大图综合色图| 亚洲福利中文字幕在线| 美女上床网站| 久操精品网| 91免费看一区二区三区| 区一在线观看| 操逼无码一区| 欧美日韩欧美| 盗摄 精品 另类 一区| av中亚| 欧美在线视频播放| 久久婷婷六月综合| 91爱网| 色九月综合| 成人三级片无码| 日本一级真人黄色性爱视频| 日本伦理一区二区| 日逼国产| 人妻精品一区二区三区| 九九热九九热| 亚洲成a人片在线观看中文!!!| 综合亚州欧美| 97超碰逼| 日韩人妻播放| 性欧美91| 黄呦呦在线| 日韩一级片在线看| 2017av无码免费无线播| 久久精品99久久久久久| 操碰91| 日韩性爱一级片| 大香交| 精品久久久久黄少妇| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产 日韩 另类 视频一区爱| 欧美天天射| 91爱做| 五月丁香六月| 一区二区三区 日韩欧美| 9精品久久久久| 久久啊啊啊视频| 超碰97起碰| 亚洲乱伦图片视频| 91欧美经典| 国产91专区| 嗯嗯,好大,好爽,好骚| 女优免费一区二区永久| 亚洲精品97| 亚洲AV色图| 91碰碰| 素人美腿视频网站| 综合色99| 综合 欧美 亚洲 日本| 久久少妇| 青青草久久在线| SS久久| 亚洲精品天天影视综合网| 婷婷五月天丁香| 狠狠色狠狠色狠狠五月| 亚洲欧美精品国产一区二区| 亚洲情欲| 男人的天堂日韩| 欧美大香蕉97| 另类小说综合网| 国产女人视频三四五区| 婷婷九月丁香| 北条麻妃性愛视频| 色噜噜人妻av 中文字幕| 天天精品| 伊人黄色片| 一级性爱视频免费在线| 91岛国动作片| 精品熟妇视频一区二区| 97视频www| 天堂九九九九九九九九九| 日韩一区二区精品视频| 亚洲欧美经典一区二区| 91狼人| 岛国激情视频软件| 懂色中文一区二区三区| 另类天堂| 国产粉嫩蜜臀av一区二区三区| 亭亭在线资源| 综合天天。| 亚洲91射| 97欧美资源| 东京热激情视频一二三区| 玖玖婷婷五月天| 色色色综合| 亚洲色图久久成人| www.av在线观看| 超碰在线看| 91色情黑丝搞鸡在线观看一区二区三区三州| 色爱三区| 丰满人妻一区二区三区性色| 最新av网站在线观看| 国产日韩在线播放av| 国产AV久久野战精品| 91人妻熟女| 国产精品久久久久久久久久久久久久吹| 另类欧美色| 日韩国产精品人妻无码久久久| 免费人成毛片乱码|