)
搞电机控制的人一定绕不开FOC这个词。不管是做无人机、机器人关节、电动车还是伺服驱动最终都会落到这个叫“磁场定向控制”或者“矢量控制”的技术上。我最早接触FOC是给一个无刷驱动项目做电流环调试那时候对着网上一堆理论公式头皮发麻后来一点点啃下来才发现这东西本质上就是把交流电机硬生生“掰成”直流电机去控制思路通了后面全是工程活。这篇东西不打算给你堆公式抄课本就按照做项目的逻辑来聊为什么非要用FOC、坐标变换到底在干嘛、怎么从零搭一套能跑起来的代码、调试时那些让人崩溃的波形都是咋回事以及无感启动和转子初始位置检测这些“劝退重灾区”的实际处理经验。你如果是刚入手FOC想系统入门或者已经写了点代码但卡在调试上这篇文章应该能帮你省不少时间和白头发。1. 内容整体设计与思路拆解1.1 核心需求解析FOC到底在解决什么问题先说一个最基础的问题——为什么不用六步换相直接把电机转起来六步换相确实能让电机转但它有个致命的毛病转矩是脉动的。你想想电机每转60度才换一次流绕组里的电流方向切换是阶梯式的这就导致输出的转动力矩忽大忽小转速越高、负载越重这种脉动就越明显。无人机飞着飞着电机在抖或者有的项目里电机低速堵转时发热特别大根源往往就是驱动方式太“粗”。FOC的逻辑完全不一样。它的核心思路是把定子电流分解成两个互相垂直的分量一个负责产生磁场d轴一个负责产生转矩q轴然后像控制直流电机那样独立、连续地控制这两个分量。这样电机在任何角度、任何速度下转矩都是均匀输出的动态响应也快得多。1.2 方案选型思考为什么足够多的电机项目都选FOC方案做个FOC方案最常见的替代方案就是上面说的六步换相以及它的“平替”方案——正弦波驱动。简单对比一下驱动方式转矩平滑度动态响应实现复杂度低速性能代表场景六步换相差一般极低差风扇、水泵、玩具电机正弦驱动中中中中变频空调、简易伺服FOC好极快高好机器人关节、无人机、数控机床从表里能直观看到FOC在转矩平滑度和动态响应上完全是碾压级别的。尤其是项目里有精确的位置控制、速度平稳性要求、或是负载突变场景时基本只有FOC能扛住。举例来说机器人关节电机要在输出大转矩的同时保持位置不抖动六步换相根本做不到这种细腻控制。这就是为什么服务机器人、协作机器人关节全部使用FOC方案。选FOC也要看条件。它对MCU的计算能力有要求对电流采样有要求对编码器或观测器算法也有要求。如果项目预算极低、控制精度要求就是吹个风扇就别去硬上FOC。但如果你的目标是做高性能驱动那这套“折腾”是值的。1.3 坐标系变换的整体架构三个坐标系一台戏FOC这套东西绕不开的是坐标变换。实际上可以把FOC看作一场“坐标系翻译”的过程三相静止坐标系abc这是电机定子三相绕组的真实电流状态也是我们用电流传感器直接采到的信号。两相静止坐标系αβ通过 Clarke 变换把abc三相互差120度的量压缩成两个互相垂直的“交流量”。两相旋转坐标系dq通过 Park 变换把αβ这个静止坐标系再转起来跟随转子位置于是交流量被“掰直”成两个直流量——d轴励磁电流和q轴转矩电流。你说的“矢量控制”核心就是对dq轴这两个直流量做PI控制中间整个流程就是采样 → Clarke → Park → 双PI → 逆Park → 生成PWM。整个过程就是先采集真实电流然后把交流问题转换成直流问题按直流电机的思路控制最后再转回去输出到电机上。2. 核心细节解析与实操要点2.1 电流采样环节这一环不扎实后面全白搭FOC全流程的第一步就是电流采样但这一步也是最容易踩坑的地方。常见的采样方案有两种三电阻采样和采样电阻运放。三电阻采样是目前中小功率电机驱动里最主流的方案它在低端MOSFET下方放置三只采样电阻通过三路ADC同时采样实现电流重构。这个方案成本低、电流重构延迟小但它对时序要求很“苛刻”——PWM开关瞬间会有很大的电压尖峰必须在MOS管开通稳定之后才能启动ADC采样否则采到的全是噪声。另一个要点就是电流采样的零漂问题。运放总会有零点偏移这反映到电流环上就是一个直流偏置再经过Park变换后会在dq轴上形成周期性误差表现为电机发热异常、转矩脉动。所以我在做每一版驱动板时都会加一段“校准逻辑”上电初始不输出PWM连续采样几百次电流取平均值作为零漂值后续采样都减去这个值。实操上我用的是20mΩ采样电阻差分电路放大50倍的配置电流有效值15A左右满量程设计在±30A。ADC采样触发时序上需要确保采样点在PWM周期的中间点此时下桥臂导通稳定采样数据最干净。2.2 Clarke和Park变换的计算细节Clarke变换是三个静止坐标到两个静止坐标的变换。其实不用把公式想得太神秘本质就是在做一个坐标投影。但是这里有一个细节我吃过亏——Clarke变换到底是等幅值还是等功率变换电机控制里都行关键是整个系统必须前后对应一次。如果你用了等幅值的Clarke逆变换也用等幅值版本那可能最终结果看起来没问题但在调弱磁或观测器的时候就会发现数值完全对不上。Park变换比Clarke更容易出bug的地方在于角度的符号。工程上用正弦余弦计算时如果转子角度定义是电角度而不是机械角度那所有计算都要基于电角度进行。我改过好几个项目的代码最常见的问题就是有人把机械角度直接传给Park变换结果高速时电流环完全失控。2.3 SVPWM生成的三个关键参数SVPWM空间矢量脉宽调制的生成过程本质上是在一个开关周期内用相邻的两个基本电压向量去“拼”出你想要的任意方向和任意大小的电压向量。它的使用频率比纯正弦SPWM更高是因为直流母线利用率提升了约15%这在高电压应用中是实打实的性价比提升。这条环节很多人只看算了结果但关键的三个参数是扇区编号由αβ轴电压分量的正负关系确定。需要注意符号判断时的边界条件在边界处如果处理不当切换时就会附带谐波。基本向量作用时间T1和T2计算出来后要判断是否饱和——如果T1T2超过PWM周期必须做等比例缩小否则就“过调制”了。PWM占空比映射在7段式SVPWM中作用是插入零向量并对称分配。这里有个值得注意的点插入零向量的顺序会影响电流纹波分布均匀更好高速时则要用5段式来减少开关损耗。2.4 代码里的角度和电气频率处理很多入门者写FOC代码时第一个卡住的就是角度和电气频率的关系。电机是若干对极的转子转一圈机械角度是360度电气角度等于机械角度乘以极对数。比如一个7对极的电机转子机械转一圈电气角度就是7×360°2520°在代码里做归一化时千万注意这个倍数关系。角度在代码里一般用两种方式表示一种是浮点型的弧度/角度值一种是定标的Q格式定点数。MCU没有硬件浮点单元时定点数是提高运算速度的关键。我习惯把所有角度量统一到 -π 到 π 区间内用atan2f计算角度差值这样可以避免三角函数在边界处的跳变问题。2.5 PI调节器与dq轴解耦FOC的电流环是两个完全对称的PI调节器分别作用在d轴和q轴。理论上d轴和q轴是解耦的但实际电机运行时反电动势会在轴之间引入耦合——转速越高越明显。这就是为什么两轴之间电流环需要加解耦项在q轴PI输出中补偿d轴电感和转速的乘积项在d轴补偿q轴的。解耦的具体做法有两种一种是前馈解耦在PI输出后直接加一个补偿值这个做法好处是算法简单在参数准确时效果很好另一种是反馈解耦采用交叉相乘再反馈性能更好但会增加代码量和调试复杂度。我自己的推荐路径先把两个PI调稳不加解耦也能转等要上高速或做弱磁时再补前馈解耦不要一上来就扑在解耦上。低速和调试阶段解耦项属于锦上添花基础参数没调好时加了也白加。2.6 硬件电路设计的四个要点说完算法再回到硬件上“FOC电路板设计”这一块也是入门的拦路虎。有四点经验可以分享电流采样路径的布局采样电阻到运放输入端的走线一定要短而粗采样电阻两端的小信号差分线越短越好并且要尽量离功率MOS管栅极驱动信号远一点否则开关噪声耦合进采样电路会直接影响电流环的稳定性。母线电容的摆放母线电容要尽量紧靠MOS管桥臂因为电机大电流开关瞬间母线电感会引发电压尖峰这个尖峰会直接打穿开关管。我们做板子时电容到桥臂的回路面积尽量压缩到最小实测尖峰能降一半以上。运放的供电和基准电流采样运放最好用独立的、干净的电源供电。如果和控制电路共用LDO电流采样的参考电压很容易被数字部分噪声污染。控制地与功率地的单点连接在PCB上只用一个点把控制地模拟地和功率地连起来避免大的地回路把噪声灌进采样电路。这一点没做好的话示波器上看到的电流波形会全是毛刺怎么调都调不安稳。3. 实操过程与核心环节实现3.1 搭建FOC代码框架从仿真到真机的快速实验一篇好的入门教程代码框架比细节公式更重要。我自己搭FOC代码是从一个“能转的最小系统”开始的。所谓最小系统就是输入母线电压、给定目标速度、采集两相电流和编码器角度能输出三路互补PWM的那个最小闭环。代码结构上我会把整个控制分散成三层// 三层FOC代码框架示意 // 第1层底层硬件封装ADC采样、编码器、PWM输出 void ADC_GetCurrents(float* ia, float* ib); // 采集两相电流 float Encoder_GetAngle(void); // 读取电角度 void PWM_SetDuty(float ta, float tb, float tc);// 设置三相占空比 // 第2层坐标变换与核心运算 void ClarkeTransform(float ia, float ib, float* ialpha, float* ibeta); void ParkTransform(float ialpha, float ibeta, float theta, float* id, float* iq); void InverseParkTransform(float vd, float vq, float theta, float* valpha, float* vbeta); void SVPWM_Calc(float valpha, float vbeta, float* ta, float* tb, float* tc); // 第3层控制环位置环→速度环→电流环 float speed_pi_update(float ref, float feedback); float current_pi_update(float ref, float feedback);三层分开的核心好处是便于查错。新手很容易把数学变换和控制代码混在一起结果一出问题就到处是“屎山”无从下手。我个人做法是每一层写好之后先在离线数据上验证可以用串口打印中间变量离线跑一个模拟波形再上真机。3.2 转子初始位置检测无感FOC的第一道坎无感FOC中最让人头大的就是启动而启动的前提就是转子初始位置检测。当电机静止时普通的反电动势观测器没法工作转子朝哪个方向都不知道直接砸电压可能把电机弹得咔咔响甚至反转。实际工程中我最常用的方案是高频注入法。原理说起来并不神秘在d轴注入一个高频电压信号当转子位置存在误差时电机的凸极效应会让高频电流响应出现不对称这个不对称里就包含了转子角度信息。再经过解调、滤波、锁相环跟踪就能在静止状态获得转子角度。高频注入的代码实现里我总结出两个比较关键的细节。一是注入频率的选择。注入频率太高开关频率和控制器带宽跟不上注入频率太低又容易被电流环扰动淹没。我常用的是开关频率的1/10左右比如开关频率20kHz注入频率设在1kHz到2kHz区间。二是在注入结束后到切换到反电动势观测器工作之间必须做好两种估计角度之间的平滑过渡。我在代码里用一个加权因子低转速时高频注入权重高高转速时反电动势观测器权重高这样切换就不会造成转矩突变。3.3 电流环参数整定从理论值到真机微调电流环是FOC里面最底层、也是最重要的一环。它没调好后面速度环、位置环再乱调也白搭。计算电流环PI参数最简单的整定方法是基于电机电气时间常数。来看一个实际参数计算过程某电机相电感L0.2mH相电阻R0.5Ω电气时间常数τL/R0.4ms设计电流环带宽设为2kHz。工程上把电流环的PI零点设置在电机的电气时间常数处即Ki/Kp R/L 2500再根据带宽和逆变器增益确定Kp简化原则是Kp ≈ L × 2π × 带宽代入后Kp≈0.2×0.001×2×3.14×2000≈2.5Ki≈Kp×2500≈6250。这个理论值只能作为起点。真机调试时我在电流PI输出前加了限幅然后把Kp从小到大微调。当示波器上的电流阶跃响应出现振荡时说明Kp过头了回调约20%此时电流纹波最干净、阶跃无超调这套参数的可靠性在后续满载测试里表现很不错。3.4 速度环与位置环上一层控制环的设计逻辑速度环在电流环的外部带宽一般为电流环的1/10到1/5。速度环的PI计算原则和电流环类似但多了一个积分限幅抗饱和的处理。电机启动瞬间速度误差很大如果速度环积分项没有限制就会出现严重的超调。我通常的做法是让积分项动态限幅——当输出的电流指令达到限幅值时冻结积分项防止积分饱和。位置环就更有意思了。如果你只做直流伺服位置环用比例控制就够了因为超前滞后和微分项会放大噪声。我的位置环设计一般是速度指令 Kp_pos × 位置误差再把位置误差限制在±一个阈值内避免启动时速度指令过大。这个阈值在机器人关节里很实用限制了最大速度保护了齿轮箱。3.5 电机参数的离线辨识FOC性能的好坏很大程度上依赖电机参数的准确性尤其是电阻R和电感L。这些参数直接影响磁链观测器、PI初值和解耦项的计算。很多工程师直接抄电机铭牌或datasheet但在实际项目中线缆长度、温度变化都会导致参数偏差。我在交付的新项目中都会加一段参数辨识代码。原理很简单直轴注入直流电压测稳态电流算出R Vd / Id直轴注入高频方波电压通过电流纹波算出电感L Vd × Δt / ΔI这个辨识流程在项目上电自检时自动执行几秒钟就能出结果然后自动更新到控制参数里。有了这套“体质检查”电机换型号、批次差异带来的调试工作量会小很多。4. FOC调试难点与波形分析4.1 调试的“方法论”没有示波器就是盲人摸象FOC调试离不开示波器这点我深有体会。很多人问我“我程序逻辑对着教程改的为什么电机就是咔咔响”我第一句问的是电流波形看了吗十有八九没看。控制领域不像代码调试可以直接打log电机里的动态过程必须用波形来“看见”。没有波形一切问题都只能靠猜。调试FOC最实用的一个波形是电流环的阶跃响应和dq轴电流波形。健康的电流环阶跃响应应该是快速、无振荡地到达目标值dq轴电流在稳态是平滑直线、波动很小。如果有人看到dq轴电流呈现周期性波动的原因多半出在角度误差、电流采样时序偏移、或者编码器安装偏心——这三种原因在波形上的区别是波动频率不同角度误差通常是1倍或2倍电气频率波动编码器偏心是1倍机械频率波动。4.2 各种异常波形的故障树从实践来看FOC调试中的异常现象可以快速对应到几个原因上下面是我整理的最常见故障速查表现象可能原因优先级排查dq轴电流正弦波动角度计算错误、编码器安装偏心编码器零位、电角度方向电流噪声大、抖动采样时序不对、地线布局差采样点时机、示波器直接测采样电阻高速时转矩下降弱磁未开启、解耦缺失直流母线电压利用率启动卡顿或反转转子初始位置检测失败高频注入参数、角度滤波系数电机啸叫、发热电流纹波大、开关频率电磁噪声PWM死区、SVPWM扇区切换算法比如有一次客户报“电机低速大力矩时震动非常大”我拿到了波形图q轴电流在低速段有明显震荡频率大约在30Hz左右。排查后发现是速度环带宽和电流环带宽太接近速度环输出与电流环响应产生了谐振。把速度环带宽从50Hz降到20Hz问题马上消失。控制环的带宽必须有明显的数量级差距这条经验我一直写在调试笔记第一行。4.3 死区补偿与电压误差校正PWM驱动桥臂时必须设置死区时间这原本是用来防止上下管子直通的。但死区会让实际输出电压低于理论值导致电流过零时出现明显的畸变。这种畸变在轻载和低速的时候尤其讨厌会让电机出现振动和噪声。解决死区的影响有两种思路。硬件层面可以用电流方向检测在过零附近做精确的补偿软件层面最常用的是基于电流方向的死区时间补偿根据三相电流的正负方向在PWM占空比上增加或减小一个死区对应的等效占空比值。我测试下来死区补偿对低速转矩纹波的抑制效果肉眼可见。但补偿的实现有个坑——电流过零点的方向判断必须可靠。如果电流很小采样噪声可能导致方向判断反了补偿加成了负作用。我的对策是设置了“死区方向判断阈值”当电流绝对值小于某个值时不补偿避免在过零附近反复折腾。4.4 PID参数的“现场调参经”虽然前面给了理论整定路径但到了真机上调参依然是个熟练活。我的调参顺序通常是固定不变的现调电流环再调速度环最后才动位置环。顺序不能乱下层环没稳上层环全是在克服下层的不稳定。电流环的现场调参步骤我总结为三步逆Park输出的病态波形先用很低的Kp、Ki跑起来目标只是相电流平滑可控。给电流指令加一个小幅方波比如额定值的10%加大Kp观察阶跃响应直到它刚好没有明显过冲。再缓慢加大Ki来消除稳态误差最后把电流环带宽推到你希望的值。速度环调参时有个技巧把电流环带宽调到足够高之后速度环可以用一个纯比例先跑观察转速波动如果稳态精度不足再加积分。正是这种“各环分别各自为政、从里往外校准”的方法能让你在有负载变化的现场快速定位问题环。5. 无感FOC启动与转子初始位置检测深度实践5.1 无感启动的四种主流实现路径无感FOC是现在最热的方向之一尤其因为它砍掉了编码器整个驱动器的成本、体积、线束都能大幅下降。但“无感”不等于“盲人跑步”启动必须解决转子初始位置估计的问题。目前工程上主流做法有四种方法原理优点缺点高频正弦注入利用凸极效应包络解调角度静态效果好无噪音依赖凸极性对表贴电机效果一般高频方波注入方波提取响应差异数字实现简单带宽高代码调试难度中等I/F强拉启动电流频率自动爬升强制拖动实现最简单会有失步风险启动冲击大预定位反电动势先强制定位到已知角度再切闭环简单粗暴会产生反转和噪声这几种方法不是互斥的。我实际量产的项目里用的是“预定位高频注入观测器切换”的组合拳上电先做一个短时预定位让电机到一个已知电角度然后用高频注入在静止/低速区间跟踪转子位置等到转速起来后平滑切换到滑模或龙伯格观测器。这个流程配合好无感FOC在零速堵转时不会丢位置中高速运行时转矩输出平稳。5.2 高频注入法的工程实现高频注入解调的原理和锁相环很像要做的事情是把注入的高频成分从电流中滤出来再通过乘法器与参考信号做混频得到含有转子位置误差的直流分量最后经PI调节器调整角度估计值直到误差收敛到零。核心代码逻辑大致是这样的// 高频注入角度估计的简化结构 float injected_signal A_inj * sin(2 * PI * f_inj * t); // 在估计d轴注入高频电压采样估计q轴高频电流响应 float iq_high_freq BandpassFilter(iq_feedback, f_inj); float error_signal iq_high_freq * sin(2 * PI * f_inj * t); float lpf_out LowpassFilter(error_signal, f_lpf); // 通过PI调节器收敛角度误差 float estimated_omega pi_update(0.0f, lpf_out); float estimated_theta estimated_omega * dt;这段简化的代码看着不复杂但工程上有几个非常烦人的坑带通滤波器的相位延迟会直接影响角度估计精度需要做补偿。高频信号的幅值不能太大太大产生明显噪声也不能太小太小信噪比差。这个量要靠示波器反复现场试。从高频注入过渡到反电动势观测器的时间点是整个无感启动最容易出状况的地方切换瞬间角度有跳变就会引起转矩跌落。5.3 反电动势观测器的设计与切入时机当电机转速达到一定值后反电动势变得足够大就可以切到反电动势观测器。最常见的方案是滑模观测器SMO和龙伯格观测器。表贴式永磁同步电机SPMSM两款效果都不错刚开始做推荐用滑模观测器原理对参数鲁棒性好不用精确知道电机电感调试门槛低。滑模观测器切入时机要看反电动势的幅值我一般是以“估计速度超过额定速度的5%-10%”为切换标志。切换前高频注入的估计角度和滑模观测器的估计角度之间要做一个差值检测确保两个角度差异小于某个阈值才切换否则就要重新调整两个估计器的参数。5.4 无感FOC的带载启动调试实录说一个我之前调无感FOC带载启动的案例。项目是一只无感的泵用电机要求零速启动时带满水负载且不反转不抖动。第一版代码用的是单纯的“预定位反电动势”方案但负载扭矩较大预定位到固定角度后一给大电流就抽动转子直接被拉偏切换时严重失步。后来改为高频方波注入做初始角度检测。方波注入的好处是数字实现简单、没有高频正弦的幅值衰减和相位滞后问题。实现后测试在满载启动的瞬间转子位置估计误差从原来的几十度下降到了5度以内启动冲击明显减小。再配合I/F强拉用给定电流矢量以固定加速度拖拽转子转起来到转速点名后就顺滑切入反电动势闭环。这次实践让我彻底明白了一个道理无感FOC的启动问题不能指望某一招解决需要把“预定位”“注入”“强拉”“观测器”几个方案当成工具链配合使用根据负载特性逐段设计。算法没有高低之分能在带载场景里稳定工作的组合就是好组合。6. 常见问题与排查技巧实录6.1 问题速查表与实用处理方案把FOC实际开发过程中遇到的“高频问题”一次说清。下面这份速查表是几条经验浓缩后的结果适合直接贴在工位上用问题根因常见点快速检查步骤电机叽叽响不转编码器角度方向反了人为加一个固定角度观察电机是否朝角度对应方向转动电流波形毛刺多采样点靠PWM边沿太近用示波器看采样电阻波形调整ADC触发点启动瞬间反转初始位置检测错误180度偏差检查预定位电流方向和编码器零位高速给大电流时跳闸弱磁没开或过调制策略不对查看调制比是否超1.0及时开启弱磁力矩控制时电机发烫q轴电流有效但d轴电流没控到零查看d轴电流波形加大d轴PI积分角度估计在高速漂移观测器增益不足提高滑模增益但注意增益过大引起抖振6.2 独家排查技巧实操分析排查问题时我一般按“从硬件到软件”的固定锚点展开。硬件层先确认母线电压、供电纹波、采样信号是否干净软件层逐级检查每层变换的中间量是否数值合理。建议在代码里预留串口打印关键中间量的调试开关遇到问题时可以直接看“电流采样值、Clarke之后的αβ值、Park之后的dq值”到底哪一层开始出现异常。一个特别实用的技巧用固定角度开环驱动电机直接给一个恒定电压矢量此时转子会被锁在某个角度你再用示波器看电机相电流。如果算法正确相电流应该是平稳直流如果出现脉动说明Clarke或Park有问题。这个方法能极其高效地区分出问题出在坐标变换还是后续的SVPWM我建议每个做FOC的工程师都要养成这个习惯。6.3 调试FOC时的电磁兼容与噪声处理最后单独说一个很容易被忽略的问题——电磁噪声。FOC系统本身就是强干扰源PWM开关动作、大电流变化都会辐射噪声而它又要处理极微弱的电流采样信号和角度传感器信号。如果布线或者接地处理得不好波形上就会看到明显的周期性毛刺。处理噪声我实践中用过最管用的三招是采样时刻放在PWM中断里偏离开关边沿最远的点角度传感器信号线用双绞屏蔽线屏蔽层单端接地所有模拟信号路径都避开功率回流通路并在ADC引脚前加RC滤波电阻100Ω左右、电容几nF根据信号带宽选取别把有用的高频信号也滤没了7. 现实中的FOC工程体会项目做多了以后我越来越觉得FOC不是一个“调通就完事”的东西。同一套控制算法换一块板子、换一个电机、换一种负载工况性能就可能天差地别。很多刚入门的工程师最常犯的毛病是照抄别人的代码抄完发现转起来但性能不达标就开始怀疑算法本身。其实大多数时候不是算法的错而是没有针对自己这套硬件和电机重新标定参数、调整采样时序和电磁布局。我自己现在做FOC项目都是把“电机参数在线辨识”和“电流环自动整定”写进工程模板里无论换什么电机上电自检一遍就能快速进入调试状态。这极大地减少了重复劳动也降低了项目交付风险。你要是自己写了好几个项目强烈建议也沉淀一套自己的FOC起步模板把三层代码框架、参数辨识逻辑、常见故障排查表都固化下来后续每个项目都会轻松不少。最后再说一个我每版代码都会留的“后手”把电流环、速度环、位置环的控制频率、PI限幅值、软硬件过流保护阈值都做成可配置项放在系统参数结构体里。现场出了问题不用改代码重新烧录直接通过上位机改参数就行。这一点在做设备调试和售后的时候能帮你节省大量来回跑现场的时间。