全解析)
簡介峰岹單片機FU68XX系列調試總結專門面向使用FU6831、FU6832等電機驅動芯片的開發(fā)者內容覆蓋保護參數(shù)調整、寬范圍電壓啟動運行、死區(qū)時間與載波頻率設置、電機轉速參數(shù)配置、硬件核對、順逆風啟動、預定位、轉速切換和運行參數(shù)調節(jié)等關鍵環(huán)節(jié)。以PDF文檔形式呈現(xiàn)壓縮包僅含1個文件、大小1.62MB適合在調試現(xiàn)場快速翻閱。內容系統(tǒng)梳理了從拿到原廠Demo板和參考程序到實際測試速度匹配的完整流程既強調過流、過壓、欠壓保護及采樣點設置的易錯點也解釋了死區(qū)時間和載波頻率對MOS管的影響還針對啟動后如何切換轉速模式、怎樣根據(jù)負載調整運行參數(shù)給出了明確思路。更有價值的是其中對電流采樣結構、Q格式定義和SVPWM配置等核心概念作了專門說明能幫助讀者理解速度基準調整和自定義變量初始化的來龍去脈。目前已有799人學習瀏覽適合遇到電機無法啟動、運行不穩(wěn)定、實測速度與目標不符等問題的工程師作為速查參考。1. FU68XX 系列調試為什么這么折騰電機一轉就過流、換個電壓就罷工用 FU68XX 系列電機驅動單片機調電機最折磨人的往往不是程序跑不通而是這種場景原廠 Demo 在工裝板上平穩(wěn)運轉換到自己設計的板子上電機剛動兩下就報過流保護把母線從 24V 改成 48V啟動直接失敗好不容易轉起來了實測轉速又跟目標轉速對不上。這類問題我在 FU6831、FU6832 的調試里反復遇到十次有八次根源不在算法而在采樣點、保護參數(shù)、Q 格式和數(shù)據(jù)類型這些細節(jié)上。這篇給的是硬碰硬的調試總結先把現(xiàn)象擺清再講為什么報錯最后落到能照做的解決步驟新手能照著調熟手也能對一下自己漏了哪一步。2. 先別急著改程序硬件核對與保護參數(shù)決定后面所有調試是否白費2.1 原理圖和 PCB 核對采樣電阻和運放增益錯了軟件怎么調都是白費拿到原廠 Demo 板和參考程序后我做的第一件事不是燒錄而是把硬件參數(shù)逐項核對一遍。FU68XX 這類電機專用單片機的電流采樣、母線電壓采樣都直接進 ADC采樣電阻的阻值、運算放大器增益、母線分壓電阻的比例全部會映射到軟件里的換算系數(shù)。任何一個和原理圖對不上后面的啟動、運行、保護參數(shù)調得再精細換一塊板子立刻失效甚至在調試臺上就翻車。最容易出問題的是電流采樣電阻。手冊里的滿量程電流是按某個默認采樣電阻算出來的如果板子上焊的阻值和默認值不一致程序讀到的電流值整體偏移。常見的現(xiàn)象是啟動瞬間母線電壓正常但一給電流就報 OC或者電流環(huán)的數(shù)據(jù)忽大忽小怎么看都不像真實電流。這種問題用示波器看相電流波形也不一定能立刻發(fā)現(xiàn)因為波形形狀可能正常只有幅值不對。另一個坑是采樣結構不同雙電阻采樣和單電阻采樣對 ADC 通道的要求不一樣三相輸出到采樣引腳的 PCB 走線一旦有斷線或焊橋某一相電流會恒為零SVPWM 自然輸出錯誤。我一般會按下面這張表逐項檢查才允許上電核對項檢查內容出錯時的典型現(xiàn)象采樣電阻阻值、功率、是否虛焊過流閾值不準、電流反饋跳變運放增益放大倍數(shù)與原理圖一致電流幅值整體偏大或偏小母線分壓電阻分壓比和 ADC 量程匹配過壓/欠壓保護誤觸發(fā)柵極驅動電阻阻值在數(shù)據(jù)手冊范圍MOS 開關振鈴、炸管三相采樣走線是否斷線、焊橋某相電流恒零、轉速抖動核對時用萬用表逐個量不要只看原理圖。特別是采樣的 PCB 走線焊橋和斷線都是肉眼容易漏掉的。硬件確認沒問題再開始改軟件。如果發(fā)現(xiàn)硬件和參考設計不一致先改代碼里的換算系數(shù)而不是硬調 PI 參數(shù)。下面這段配置集中管理了電流采樣相關的參數(shù)#define R_SHUNT_MOHM 5 // 采樣電阻單位 mΩ必須與原理圖一致 #define OP_GAIN 10 // 運放放大倍數(shù) #define ADC_BITS 12 // ADC 位數(shù)FU68XX 通常為 12 位 #define ADC_FULL_SCALE ((1 ADC_BITS) - 1) // 4095 // 滿量程電流 ADC 滿量程電壓 / (增益 * 采樣電阻) #define CURRENT_FS_A ((ADC_FULL_SCALE * 3.3f) / (OP_GAIN * R_SHUNT_MOHM * 1.0f))這段代碼的邏輯是ADC 滿量程電壓除以運放增益再除以采樣電阻得到滿量程電流。注意單位要先統(tǒng)一采樣電阻用 mΩ 時公式里的數(shù)值要按實際單位換算否則滿量程會差一千倍。調試時如果發(fā)現(xiàn)過流閾值忽高忽低先看這兩個宏有沒有被改過如果三相電流里某一相始終接近零大概率是采樣電阻開路或虛焊而不是程序問題。還要核對母線電壓采樣。欠壓保護點如果設得比實際最低工作電壓高板子會在電壓還沒掉到危險值時就停機現(xiàn)場表現(xiàn)為“帶載時頻繁停機”設得太低低壓大負載時芯片會持續(xù)輸出直到 MOS 管過熱。柵極驅動電阻和死區(qū)時間的關系放到第 4 章講這里記住一條就夠硬件核對不仔細后面所有調試都是白費的這是我在 FU68XX 項目里用血淚換來的經(jīng)驗。2.2 過流、過壓、欠壓保護參數(shù)留出啟動峰值余量但不能超過器件極限保護參數(shù)是調試里第一個要落的配置。電機啟動瞬間電流會沖到額定電流的 1.5 倍甚至更高如果過流閾值只按額定值設置啟動瞬間就會誤觸發(fā)保護根本進不了運行狀態(tài)反過來如果為了避開誤觸發(fā)而把閾值設置得非常大又失去了保護意義等到真過流時 MOS 管已經(jīng)燒了。所以保護參數(shù)的設置原則是留出啟動沖擊的余量但絕不能越過器件的安全區(qū)。我通常按下面這張表給初值再根據(jù)實際負載和散熱條件修正保護項建議取值說明過流閾值1.5~2.0 倍額定峰值電流留出啟動沖擊空間但要低于 MOS 額定電流母線過壓點最高工作電壓 × 1.15~1.2高于最高工作電壓但不能超過電容耐壓母線欠壓點最低工作電壓 × 0.85~0.9太低會失去保護意義太高會誤停機過溫保護MOS 殼溫 90~100℃視散熱條件調整負載不同保護參數(shù)差異很大。水泵類負載啟動時帶水葉輪堵轉電流大過流閾值就要適當調高風機類負載啟動扭矩小閾值可以保守一些。還有一種情況是電容老化后容值下降母線電壓紋波變大過壓保護更容易誤觸發(fā)這時要結合示波器看母線波形來定保護延遲。保護參數(shù)在代碼里通常是一組條件判斷需要同時處理瞬時過流和持續(xù)過流// 過流保護瞬時值觸發(fā)快速關斷持續(xù)過流觸發(fā)慢速降功率 if (adc_i_a OVER_CURRENT_A || adc_i_b OVER_CURRENT_A) { fault_flags | FAULT_OC_INSTANT; pwm_disable(); // 第一時間關斷 PWM 輸出 return; } if (avg_current AVERAGE_OC_A) { // 每 10ms 計算一次平均值 speed_ref speed_ref * 0.8; // 逐步降速而不是直接停機 fault_flags | FAULT_OC_AVG; }瞬時過流直接關 PWM響應在微秒級這樣能保住 MOS 管平均過流先降速防止瞬時保護太靈敏導致頻繁跳閘。調保護參數(shù)時不要只改閾值還要看故障后的恢復策略自動恢復還是需手動復位這決定現(xiàn)場能不能安穩(wěn)跑起來。如果自動恢復得太快故障沒有消除就直接重啟板子會反復過流恢復得太慢生產(chǎn)線上又嫌效率低。保護參數(shù)調好后我建議至少在最低電壓、額定電壓、最高電壓三檔各跑一次滿載確認沒有誤觸發(fā)再往下調啟動參數(shù)。這一步一旦省掉后面試電機時要么炸管要么被保護打斷根本分不清到底是電流環(huán)問題還是保護閾值問題?;ㄊ昼婒炞C保護能省掉后面幾小時的定位時間。3. 啟動階段的兩個老大難采樣點錯位、預定位不牢3.1 寬電壓下啟動不起來八成是采樣點設錯了啟動階段最典型的癥狀是同一個工程24V 下啟動順暢48V 下啟動就失敗或者啟動瞬間電流突變然后報過流。遇到這種“換個電壓就罷工”的情況不要急著調啟動電流優(yōu)先檢查電流采樣點的位置。FU68XX 這類芯片通常在 SVPWM 載波的某個時刻觸發(fā) ADC 采樣。采樣點如果落在死區(qū)時間附近或者落在開關管剛切換的瞬間那段時間母線電壓振蕩大采到的電流值不是真實平均值電流環(huán)拿到錯誤反饋就會輸出錯誤的占空比。低電壓時占空比大采樣點落在導通中段勉強能用高電壓時占空比變小采樣點和死區(qū)邊緣靠得更近于是高壓反而啟動失敗。這個現(xiàn)象相當反直覺很多人第一反應是“電壓高了是不是保護參數(shù)不對”實際上根源在采樣時刻。判斷方法很直接用示波器同時看驅動波形和 ADC 采樣觸發(fā)信號確認采樣時刻是否處在開關管完全導通、電壓穩(wěn)定的區(qū)間。如果采樣點落在死區(qū)剛結束的位置波形上能明顯看到振鈴這個時候采到的電流自然不可靠。調整方法也直接把采樣點往占空比中段移動并且和死區(qū)結束時間拉開距離。原廠 SDK 里一般有采樣點配置接口或寄存器需要結合載波周期和死區(qū)時間去計算。比如載波周期 50μs、死區(qū) 2μs采樣點放在 25μs 附近比較穩(wěn)不要壓在死區(qū)剛結束的 2~5μs 窗口里。配置示意// 載波周期 Tpwm_us死區(qū)時間 Tdead_us // 采樣點放在載波周期的 50% 位置且與死區(qū)保持距離 uint16_t sample_point (uint16_t)(Tpwm_us / 2); if (sample_point (Tdead_us 6)) { sample_point Tdead_us 6; // 強制避開死區(qū)后的振鈴窗口 } set_adc_sample_point(sample_point);這里的“6μs”不是固定值具體要看驅動電路的振鈴持續(xù)多久。最可靠的做法是用示波器量死區(qū)結束后觀察柵極波形等電壓穩(wěn)定下來再設置采樣點。不要只用理論值因為 PCB 寄生參數(shù)會讓實際振鈴時間和計算值差不少。如果采樣點確認沒問題再檢查占空比很小時的情況。占空比小意味著電流脈沖很窄采樣窗口不夠采到的電流值就不完整。這時通常要靠 SVPWM 的五次或七次注入或者加最小脈寬限制來保證采樣窗口寬度。改最小脈寬時要小心加太多會引入額外的諧波和噪聲載波頻率高了之后更明顯。采樣點問題的判斷順序可以寫成一條固定的鏈路先查采樣點是否在死區(qū)附近再查采樣窗口是否足夠寬最后才懷疑電流環(huán)參數(shù)。這條鏈路能覆蓋大部分“寬電壓下啟動失敗”的現(xiàn)象。3.2 預定位參數(shù)電流和負載不匹配轉子停不到目標位置預定位是方波驅動和很多正弦波驅動啟動前的標準動作先把轉子鎖到一個已知位置再進入開環(huán)加速。這樣做的目的是讓磁場和轉子位置對齊避免啟動第一步就失步。預定位的核心參數(shù)是定位電流和定位時間這兩個值和負載的關系非常大。電流設小了負載略重就吸不住轉子啟動第一步就跑偏表現(xiàn)為啟動瞬間反沖或者失步電流設大了輕載時轉子位置反而偏了因為過大的定位電流會讓轉子越過目標位置還會產(chǎn)生明顯的噪音。判斷預定位是否成功最直接的辦法是聽聲音預定位瞬間轉子會有“咔嗒”一聲并迅速靜止如果聲音拖泥帶水說明定位力矩不夠。我調節(jié)預定位參數(shù)的步驟比較固定。先空載從最小定位電流開始往上加加到轉子能迅速靜止記下這個值然后帶典型負載再試通常需要在空載值基礎上加 30%~50%最后確認定位時間建議比轉子穩(wěn)定時間多留 20%~30% 余量。不要一次性把電流調大很多那樣輕載時會過沖重載手感和啟動失敗的現(xiàn)象很難區(qū)分。這里要特別提一點預定位電流在電流環(huán)里也是靠 ADC 采樣值做反饋的。如果第 2 章的采樣電阻、運放增益、采樣點沒弄對預定位就會出現(xiàn)兩種迷惑現(xiàn)象——一種是“電流設很大但轉子紋絲不動”另一種是“電流很小但過流保護亂跳”。這兩種現(xiàn)象看起來像兩回事實際上根子都在硬件換算系數(shù)。預定位調不好先別懷疑算法回頭看一眼電流采樣是否標定正確。順逆風啟動和預定位強相關。順逆風條件下轉子初始位置未知如果預定位沒做扎實后面順風、逆風分支都會出問題。所以調試順序上預定位永遠在順逆風之前。3.3 順逆風啟動按靜止啟動邏輯硬拖不是堵轉就是過流風機類負載有一個很常見的場景斷電后葉片還在轉或者啟動前被風吹著反轉。此時如果程序按靜止啟動邏輯處理會給一個固定的低頻拖拽電流逆風時轉子方向和給定頻率相反會先堵轉再觸發(fā)過流順風時轉速可能已經(jīng)接近額定直接開環(huán)拖入也會失敗。我見過不少項目在這里反復翻車現(xiàn)象都是“帶上負載就啟動失敗空載卻好好的”。正確做法是把啟動狀態(tài)機區(qū)分出順風、逆風、靜止三種分支。FU68XX 調試手冊里通常有專門的順逆風啟動參數(shù)章節(jié)包括轉速檢測窗口、制動電流限幅、拖入斜坡時間。我習慣這樣組織啟動邏輯// 啟動前置檢測判斷轉子當前轉速和方向 speed_init detect_rotor_speed(); if (speed_init FORWARD_THRESHOLD) { // 順風直接同步拖入開環(huán)頻率從當前轉速附近開始 startup_mode FORWARD_SYNC; } else if (speed_init -REVERSE_THRESHOLD) { // 逆風先制動再預定位防止堵轉 apply_brake_current(BRAKE_CURRENT_LIMIT); startup_mode BRAKE_THEN_ALIGN; } else { // 靜止正常預定位后開環(huán)加速 startup_mode NORMAL_ALIGN; }轉速檢測閾值設在額定轉速的 5%~10% 比較常見。設得太敏感干擾會被當成轉速誤入順風分支設得太遲鈍起不到檢測作用。調逆風啟動時制動電流不能太大否則反向制動會把母線電壓頂高觸發(fā)過壓保護順風啟動時開環(huán)頻率要和當前實際轉速接近如果頻率差太遠拖入過程會產(chǎn)生很大沖擊電流。調順逆風參數(shù)的順序我建議先調靜止啟動確認空載和負載都穩(wěn)定再分別模擬順風和逆風。模擬順風可以在電機運行中斷電等轉速降下來一些再重新啟動模擬逆風可以在電機反轉狀態(tài)下直接給啟動指令。每次只改一個參數(shù)記錄現(xiàn)象比一次改一堆更容易定位問題。調試手冊里對參數(shù)初始值通常有推薦先按推薦值跑再根據(jù)現(xiàn)象微調。4. 運行階段參數(shù)鏈死區(qū)、載波、電機參數(shù)、轉速配置、Q 格式與數(shù)據(jù)類型4.1 死區(qū)時間和載波頻率跟 MOS 管型號配套著調死區(qū)時間是上下橋臂兩個開關管之間防止同時導通的時間。時間太短直通炸管只是時間問題時間太長波形畸變大電流諧波和噪聲都會增加。載波頻率決定 PWM 切換速度載波高噪聲小、電流波形平滑但開關損耗大、芯片發(fā)熱明顯載波低損耗小但電流波形諧波多低速時嘯叫明顯。調這兩個參數(shù)不能只看寄存器值要看實際用的 MOS 管型號。每個型號的柵極電荷、開關時間和反向恢復特性都不一樣驅動電阻也會影響實際的上升沿和下降沿。上電后用示波器同時量上下管柵極驅動波形確認死區(qū)期間兩個管子都確實關斷并且死區(qū)結束后的振鈴不影響下一次開關動作。如果發(fā)現(xiàn)滿載時 MOS 溫度明顯偏高先查載波頻率是不是設太高如果電流波形有削頂或尖刺先懷疑死區(qū)是不是太小。死區(qū)、載波、采樣點是聯(lián)動的。死區(qū)改長之后原來定好的采樣點可能落進死區(qū)或者振鈴窗口電流環(huán)反饋就錯了。載波頻率改變之后采樣點對應的絕對時間也要重新算。所以每次改死區(qū)或載波我都要回頭確認一遍采樣點設置這個習慣避免了好幾次隱蔽的翻車。死區(qū)時間一般從幾百納秒到兩微秒不等載波頻率常用 10kHz~20kHz。具體的推薦值以調試手冊里對應 MOS 型號的表格為準。調好的標準是滿載下 MOS 溫度在允許范圍電流波形平滑無畸變噪聲可以接受。4.2 電機參數(shù)與轉速配置基本轉速為什么是正常轉速的 2~3 倍調試手冊里會反復強調一個經(jīng)驗值基本轉速是正常轉速的 2~3 倍。很多第一次調試的人不理解以為轉速配置寫錯了。這里的基本轉速不是穩(wěn)態(tài)運行轉速而是開環(huán)啟動階段 PWM 頻率對應的電轉速。電機從零速開始加速時需要足夠的轉差來建立電流如果開環(huán)階段給的目標轉速太低轉差不夠電流環(huán)很難建立足夠的扭矩啟動過程會拖泥帶水甚至失敗。把開環(huán)目標轉速設高等于讓電機更快進入穩(wěn)定拖入?yún)^(qū)切換閉環(huán)后不容易失步。轉速配置需要關注三個點開環(huán)起步頻率、開環(huán)切換到閉環(huán)的切換點、閉環(huán)后目標轉速和斜坡時間。切換點太早轉子還沒拖進同步區(qū)切換后會失步切換點太晚開環(huán)電流大MOS 發(fā)熱嚴重長時間開環(huán)還有過流風險。開環(huán)和閉環(huán)的分工也不一樣開環(huán)階段電流限幅要高一些保證能拖動閉環(huán)后速度環(huán)和電流環(huán)要配合負載。我習慣的空載調節(jié)順序是先把開環(huán)起步頻率調到能平穩(wěn)啟動再把切換點從低往高試直到切換不失步然后帶負載驗證帶負載后如果切換失敗優(yōu)先調長大開環(huán)時間和提高基本轉速而不是盲目加大電流限幅。關掉保護參數(shù)后電流限幅調大短時間內好像能拖起來但 MOS 溫度會迅速上升這不是長久之計。轉速配置在代碼里通常表現(xiàn)為狀態(tài)機門限用串口打印狀態(tài)切換點會很直觀// 啟動狀態(tài)機開環(huán)加速 - 拖入檢測 - 閉環(huán)運行 if (speed_est OPEN_LOOP_FINISH_RPM) { open_loop_ramp_up(); // 開環(huán)斜坡加速 } else if (speed_est CLOSE_LOOP_ENTER_RPM) { switch_to_close_loop(); // 滿足切換條件后進入閉環(huán) } else { hold_open_loop(); // 保持開環(huán)等待轉速繼續(xù)上升 }這段邏輯看似簡單實際調試時還要配合狀態(tài)打印確認切換點是不是穩(wěn)定觸發(fā)。如果開環(huán)階段轉速一直達不到切換條件問題多半在開環(huán)斜坡太慢或者目標轉速太低如果切換瞬間電流突變多半是開環(huán)和閉環(huán)的電流給定沒有做好銜接。轉速配置里的最大轉速限制也要注意超過電機機械極限或者超過 SVPWM 線性調制范圍后電流波形會失真效率下降。4.3 Q 格式、變量范圍與數(shù)據(jù)類型超范圍后的現(xiàn)象特別像過流保護FU68XX 這類定點 MCU 做電機控制時速度、電流這些量通常用 Q 格式表示。比如 Q15 格式用 16 位整數(shù)表示帶小數(shù)的數(shù)值低位 15 位存小數(shù)。這樣做的目的是用整數(shù)運算實現(xiàn)高精度的分數(shù)計算避免浮點運算的開銷。代價是數(shù)值范圍有限一旦某個中間量溢出結果不是簡單的飽和而是符號翻轉表現(xiàn)成電流突變、轉速跑飛從外面看和過流保護觸發(fā)非常像。我踩過一個很典型的坑速度環(huán)輸出直接賦給了電流給定但兩者的 Q 格式不一致數(shù)值被放大了一個量級。結果電機一加速電流給定瞬間超過最大限幅過流保護馬上動作。查了很久才發(fā)現(xiàn)根本原因是速度環(huán)輸出和電流給定的數(shù)據(jù)類型不匹配而不是保護閾值設太低。這個坑特別隱蔽因為光憑示波器根本分不清是計算溢出還是真實過流。調試時我對每個關鍵變量都會做范圍檢查。速度給定、速度反饋、速度環(huán)輸出、電流給定、電流反饋這幾個量的上限和下限只要有一個超了就要調整數(shù)據(jù)類型或限幅。常見做法是定義一組帶符號的安全限幅邏輯// 速度環(huán)輸出限幅防止計算溢出導致電流給定異常 int16_t speed_pi_out speed_pi_calc(speed_ref, speed_feedback); if (speed_pi_out MAX_CURRENT_Q15) { speed_pi_out MAX_CURRENT_Q15; } else if (speed_pi_out MIN_CURRENT_Q15) { speed_pi_out MIN_CURRENT_Q15; } // 檢查反饋量是否越界越界時優(yōu)先打日志而不是直接關斷 app_assert_range(speed_fb, speed_feedback, -MAX_SPEED_Q15, MAX_SPEED_Q15);這段代碼的重點不是限幅本身而是限幅之后要打日志確認真的發(fā)生了限幅。如果日志顯示速度環(huán)輸出頻繁頂?shù)缴舷拚f明速度環(huán)增益過大應該調 PI 參數(shù)而不是簡單放大限幅如果日志顯示反饋量越界就要查 ADC 采樣結構和 Q 格式定義是否匹配。電流采樣結構里每個通道的格式必須一致否則兩相電流相加不為零SVPWM 輸出就會亂這種問題看起來非常玄學實際上就是數(shù)據(jù)格式不統(tǒng)一。Q 格式還有一個容易漏的坑初始化值。自己加的變量、自己寫的判斷函數(shù)在狀態(tài)切換時必須先賦合理初始值。很多運行異常出現(xiàn)在狀態(tài)切換的瞬間就是因為某個新加的變量沒有初始化帶著上一次的殘留值進入新狀態(tài)表現(xiàn)成轉速瞬間跳變或者電流突變。調試手冊會告訴你參數(shù)怎么調但不會替你檢查代碼里新增變量的初始值。我的習慣是每個新增變量在定義處初始化每次狀態(tài)切換前重新賦值。4.4 運行參數(shù)調節(jié)負載變了電流環(huán)速度環(huán)都要跟著動運行參數(shù)主要指電流環(huán) PI 和速度環(huán) PI負載不同最優(yōu)參數(shù)差別很大。慣量大、負載重的場合速度環(huán)比例增益太小時會有明顯的掉速和恢復慢電機帶載后轉速往下掉要好久才能拉回來波動大、易堵轉的場合電流環(huán)限幅和速度環(huán)積分要配合好否則一堵轉就過流保護。這個調節(jié)過程沒有捷徑只能按調試手冊給的初值在額定負載下從小到大逐步試每次只改一組參數(shù)。我習慣先用固定轉速跑空載觀察電流環(huán)響應有沒有超調再給階躍轉速指令觀察速度環(huán)響應有沒有振蕩。速度環(huán)振蕩就減小比例增益穩(wěn)態(tài)誤差大就適當增加積分增益。負載變化大時還要看速度環(huán)輸出限幅和電流環(huán)限幅的配合。限幅太高堵轉電流過大MOS 管發(fā)熱嚴重限幅太低重載時帶不動轉速掉得厲害。運行參數(shù)調完后要回到電機參數(shù)再做一次確認?;巨D速和正常轉速的比例、最大轉速電流限制、Q 格式定義這些前面的配置都會影響運行效果。最大轉速限制不是越高越好超過電機機械極限或者超過 SVPWM 線性調制范圍后電流波形會失真。運行階段調節(jié)的本質是在硬件極限、驅動能力和負載需求之間找平衡點這個平衡點最終要靠實測數(shù)據(jù)來確認而不是靠估算。5. 避坑清單FU68XX 調試里最容易誤判的五個現(xiàn)場現(xiàn)象一改了采樣電阻規(guī)格后過流保護時靈時不靈現(xiàn)象板子原來用 5mΩ 采樣電阻換了一批 2mΩ 的料過流保護在輕載時偶爾亂跳重載時又不報。 原因代碼里 R_SHUNT_MOHM 還是 5實際采樣電壓只剩原來的 40%電流環(huán)看到的電流偏小過流閾值相對實際電流就偏大了。 解決每次改 BOM 都要同步檢查采樣電阻、運放增益、過流閾值三個配置并且用實際電流探頭標定一次。標定方法很簡單讓電機轉起來用電流鉗測母線電流同時看程序里讀到的電流值兩邊的偏差超過 5% 就要查換算系數(shù)?,F(xiàn)象二低壓能啟動高壓反而啟動失敗現(xiàn)象24V 下啟動順暢48V 下要么啟動瞬間報過流要么轉速建立不起來。 原因高壓時平均占空比小電流采樣點落到了死區(qū)或開關振鈴區(qū)間采到的電流值失真電流環(huán)輸出錯誤占空比。 解決用示波器看采樣觸發(fā)時刻和上下管驅動波形把采樣點移到占空比中段并確認離死區(qū)結束時間足夠遠。改完采樣點后重新驗證低、中、高三檔電壓不要只測額定電壓。現(xiàn)象三速度一加上去就報過流但示波器看電流并不大現(xiàn)象速度環(huán)給定提高后立刻 OC 保護但母線電流波形峰值并沒有到閾值。 原因速度環(huán)輸出或電流給定在 Q 格式下溢出數(shù)值變成符號翻轉后的值真實電流還沒到閾值程序里已經(jīng)判定為超限。 解決在速度環(huán)輸出和電流給定入口加范圍檢查并打日志確認是哪一個變量溢出。把對應變量改成更寬的數(shù)據(jù)類型或調整 Q15 格式再重測。日志里反復出現(xiàn)限幅觸發(fā)時優(yōu)先減小速度環(huán)增益?,F(xiàn)象四順風啟動失敗還會反向制動現(xiàn)象風機斷電后葉片還在正轉重新上電啟動時電機不轉反而有拖拽感隨后過流保護。 原因程序沒區(qū)分順逆風狀態(tài)按靜止啟動邏輯給了低頻開環(huán)電流與轉子當前方向沖突。 解決按調試手冊把順逆風檢測和順風分支做上正向轉速高時直接同步拖入反向轉速高時先制動再進入預定位步驟。逆風制動電流要限幅防止頂高母線電壓觸發(fā)過壓保護。現(xiàn)象五上電沒運行就炸 MOS新板子全軍覆沒現(xiàn)象新板子第一次上電PWM 還沒輸出就聽到炸管聲連續(xù)燒了好幾塊。 原因死區(qū)時間配置為 0 或過短上下橋臂開關管直通或者驅動電阻焊錯、MOS 管柵極驅動能力不足開關瞬間直通。 解決燒板前先量驅動波形和死區(qū)時間確認兩個管子確實交替導通。把死區(qū)時間設成參考值比如 1μs空載驗證沒問題后再接電機滿載測試。炸管后第一時間檢查的是死區(qū)和驅動電阻而不是馬上換新板子再試。這五條基本覆蓋了我在 FU68XX 調試中遇到的大部分“看起來很玄學、實際上可復現(xiàn)”的故障按現(xiàn)象去找根因會快很多。6. 如何快速定位這類問題從報錯現(xiàn)象到根因的排查閉環(huán)6.1 實際速度和目標速度對不上先查速度基準映射再查反饋和變量初始化實際測試速度和目標速度不等是最容易誤導人的故障之一。很多人第一反應是調速度環(huán) PI但根據(jù)我積累的調試經(jīng)驗根因常常在速度基準映射上。目標轉速經(jīng)過速度基準配置后會換算成內部 Q15 格式的給定值如果換算系數(shù)設錯給定值偏差是固定的速度環(huán)調得再好也追不上。檢查方法很簡單打印內部速度給定和實測轉速看兩者偏差是不是固定比例。如果固定比例偏差直接改速度基準換算不要動 PI。第二步檢查速度反饋通道確認反饋濾波和方向判斷是否正確。反饋濾波太長會把真實轉速變化拉平速度環(huán)以為沒超調實際已經(jīng)振蕩方向判斷錯誤會讓速度環(huán)輸出往反方向推。第三步檢查狀態(tài)切換時新增變量有沒有初始化和限幅。前面第 4 章說過新增變量初始化值不對會讓速度基準或反饋量帶上殘留值現(xiàn)象也是速度對不上。6.2 快速定位的交叉驗證手段一次只改一個參數(shù)其余全部固定遇到難纏問題我通常用“一次只改一個參數(shù)”的笨辦法配合示波器、串口日志和故障標志位三者交叉驗證。先在原廠 Demo 的默認參數(shù)下跑通空載然后每改一個參數(shù)都記錄現(xiàn)象改完立刻實測。這樣每個變量對系統(tǒng)的影響路徑是清晰的不會出現(xiàn)兩個疊加的問題參數(shù)互相掩蓋的情況。同一批參數(shù)里同時改三個出了問題根本不知道是哪個引起的——這是新手最常犯的錯誤。交叉驗證時重點觀察故障標志、PWM 輸出、母線電壓和相電流這四個信號。故障標志能區(qū)分是保護觸發(fā)還是運行異常母線電壓能排除采樣點問題相電流波形能判斷是電流環(huán)超調還是真實過載。一般來說這四個信號對應不上時優(yōu)先懷疑變量溢出或采樣點錯位對應得上就按保護閾值和限幅參數(shù)去調。從那以后我調任何 FU68XX 項目都強制走一遍“硬件核對→保護閾值→空載啟動→負載啟動→順逆風→轉速切換→運行參數(shù)”這個順序每次只改一個參數(shù)再實測這個順序幫我避開了絕大多數(shù)隱藏的坑。希望幫到你這份調試筆記里整理了手冊中對應的參數(shù)表和檢查順序需要時可以對照著排查。本文還有配套的精品資源點擊獲取