news 2026/10/3 7:01:54

DRV8818PWPR + PIC18F87J60:工业步进电机运动控制方案详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DRV8818PWPR + PIC18F87J60:工业步进电机运动控制方案详解

在给一套工业视觉定位平台做运动控制时,我把驱动方案从 A4988 组合换成了 TI 的 DRV8818PWPR 加 Microchip 的 PIC18F87J60。这两个芯片配在一起,专门用来驱动双极步进电机,特别适合工业和机器人里那些不需要高精度闭环、但要求稳定可靠的低成本运动轴。PIC18F87J60 吸引我的地方是它自带 10/100M 以太网 MAC/PHY,省掉了 ENC28J60 这类外挂网络芯片;DRV8818PWPR 则提供 8.2V 到 45V 的宽供电范围和 2.5A 级的输出电流,压在对扭矩有要求的机构上很够用。下面把选型逻辑、电路设计、固件实现和调试中踩过的坑一次性讲清楚,想自己复刻一套两轴运动控制底板的可以直接参考。

1. 这套组合的定位:为什么是 DRV8818PWPR + PIC18F87J60

1.1 工业和机器人里双极步进电机的位置

双极步进电机在工业自动化里到处都是:定长送料、丝杆滑台、旋转分度盘、机器人末端的小型夹爪轴……它的结构决定了它天生适合开环定位。电机绕组是两套线圈,通过改变电流方向来建立不同磁场,每一拍转一个固定角度,所以不需要编码器就能重复定位。这个特性在成本敏感、负载比较恒定的场合非常划算。伺服系统当然更精,但一套带驱动的伺服把步进方案的价格翻好几倍,很多设备根本不需要那么高的带宽。

不过“开环”也意味着丢步风险。负载突变、加速度太猛、电压跌落,任何一项出问题,电机就可能在某个瞬间少走几步,而控制器完全察觉不到。所以真正能上产线的步进方案,一定要在驱动器和 MCU 侧做好电流限制、故障检测和行程限位兜底。这也是我不太建议直接拿裸 GPIO 加三极管推电机的原因——这不是“能不能转”的问题,而是“转得久不久、丢了步能不能发现”的问题。

1.2 为什么驱动选 DRV8818PWPR 而不是更常见的 A4988/TMC2209

很多爱好者第一次接触步进电机都从 A4988 开始,那类模块便宜、好买、资料多。但搬到工业设备上,我会优先选 DRV8818PWPR 这类具备完整保护机制的芯片。它的供电范围很宽,输出电流余量大,芯片本身集成过流、过热和欠压保护,不是靠外部模块电路硬扛。对比来看:

对比维度DRV8818PWPRA4988 常见模块TMC2209 常见模块
供电范围典型 8.2V-45V典型 8V-35V典型 4.75V-29V
输出能力2.5A 级1A 级左右,峰值更高2A RMS 级
保护集成度过流、过温、欠压有过温但保护比较基础较全
静音特性无,正常斩波无有 StealthChop
典型定位工业驱动板学习/桌面级3D 打印/桌面级

工业场景里“静音”并不是第一需求,产线本身就吵;真正关键的是宽压、抗扰、故障可检测。TMC2209 的静音特性确实好,但它的逻辑接口和控制方式偏桌面设备,和继电器、接触器、电机同柜的工业环境并不算最匹配。DRV8818PWPR 的 PHASE/ENABLE 或 STEP/DIR 控制方式(具体看数据手册里的配置)让我可以用最简单的 GPIO 就把它拉起来,不用去纠结 UART 寄存器的时序。

1.3 PIC18F87J60 的真正价值:自带以太网与低成本 8 位控制

选 PIC18F87J60 不是因为它性能多强,而是因为它把以太网接口直接做进了 8 位 MCU。在工业现场,设备一定要能联网:上位机要下发位置指令,要读回当前轴状态,要和视觉系统联动。如果主控不带 MAC/PHY,就得外挂 ENC28J60 或 W5500,多一颗芯片、多一组 SPI、多一份固件维护。

PIC18F87J60 用 3.3V 供电,普通数字 IO 就能控制驱动芯片;它的片内 Flash 足够放下一份精简 TCP/IP 协议栈和一张加减速表。很多人一听到“8 位”就觉得落后,但运动控制的实时任务本质是“定时器中断里翻 IO”,8 位 MCU 做这个绰绰有余。32 位主控的优势在跑复杂算法,而这块板子最重的计算也就是算一下脉冲周期,8 位反而更省心、抗干扰问题更少。

1.4 一个典型应用场景:视觉引导的两轴运动平台

拿我手头的项目来说,需求是一台视觉定位点胶机的前段两轴平台:工业相机先拍照识别出产品的位置偏移,上位机计算修正量,再通过以太网把目标坐标发给 PIC18F87J60。固件解析指令后按规划好的加减速曲线输出脉冲,DRV8818PWPR 驱动两台双极步进电机把平台带到目标点。这一套下来,X/Y 轴的重复定位精度在丝杆传动下能做到 0.05mm 级别,对这台设备完全够用。它的好处是链路清楚:视觉负责“看”,上位机负责“算”,MCU 负责“走”,每一层都可以单独调试和替换。这也是我在后面所有电路和固件设计里反复围绕的场景。

2. DRV8818PWPR 的核心机制:电流斩波、衰减模式与电流设定

2.1 固定关断时间电流斩波原理:为什么步进电机要电流控制

步进电机的绕组是电感,电感对电流变化有阻碍作用。给绕组加上恒定电压后,电流不是瞬间到位的,而是按时间常数慢慢爬升。如果不加限制,等电流超过绕组能承受的额定值,电机就会过热,严重时烧线包。驱动器内部的做法是电流斩波:检测绕组电流,到了设定值就关断上管,让电流通过续流路径自然下降,等一个固定时间后再重新打开。这个“固定关断时间”就是很多芯片手册里写的 fixed off-time。

理解这个原理对后面调参数非常重要。你设定的开关频率、衰减模式会直接影响电流纹波,纹波大的表现是电机温度高、噪音大,纹波小则运行平滑但开关损耗会增加。这里没有绝对最优,只有针对速度区间和负载的折中。刚接触时不要只盯着“能转”,要多听听电流声、摸一摸芯片和电机温度,那才是真实工作状态的反馈。

2.2 衰减模式的选择逻辑

续流阶段电流怎么“掉下去”由衰减模式决定。慢衰减模式下电流下降慢,纹波通常更小,但低速时容易出现电流过冲和震荡;快衰减模式电流下降快,适合高速运行,但纹波大、供电负担也大。实际工业板上用得比较多的是混合衰减:在一个关断周期内先快后慢,兼顾噪声和响应速度。

衰减模式选错后的典型故障是:电机在某个速度区间发出刺耳啸叫、震动明显变大,甚至会丢步。排查时我会把衰减模式的配置引脚接到 IO 或拨码开关上,固定一个运行速度,逐档切换听声音、看电流波形。需要在数据手册里查清楚自己的封装的 DECAY 引脚定义,确认高低电平对应哪种模式。这个动作看起来简单,却是项目调试里最常碰到的“玄学问题”的根因。

2.3 VREF 与检测电阻的配合:峰值电流的计算与设置

驱动器输出多大的电流不是靠“拧电位器”,而是靠 VREF 电压和检测电阻共同决定。一般计算方法可以写成 Ipeak = VREF / (RSENSE × A),其中 A 是芯片的电流采样增益,具体数值以数据手册为准,常见的数量级在 5 左右。举个例子,如果我用 0.1Ω 的检测电阻,想让峰值电流跑到 1.5A,设定增益是 5,那 VREF 就需要 0.75V。公式不复杂,但 VREF 的来源要注意:很多 MCU 的 PWM 输出不能直接接,要先通过一阶 RC 低通滤波转成平滑的直流电压,否则 VREF 本身就在抖动,电流限制也跟着抖。

检测电阻的功率同样不能忽视。峰值 1.5A 时有效值大约是峰值的 0.7 倍左右,在 0.1Ω 电阻上功耗大约 0.15W,看起来不大,但散热条件差或者用得太小也会导致阻值漂移。工业场合我倾向于留 1.5 倍功率余量,并且把检测电阻放在靠近芯片的采样引脚处,走线加宽,减少寄生电阻带来的误差。

2.4 保护功能与 nFAULT 的正确用法

DRV8818PWPR 的保护机制包括过流、过温、欠压这类常见项,故障时芯片会通过 nFAULT 引脚拉低通知主控。很多人只把 nFAULT 接到一个 LED 上,这是浪费。我会把 nFAULT 接到 PIC18F87J60 的外部中断引脚,在中断里做三件事:先把运动使能关掉、立刻记录当前脉冲计数值、把故障标志上报到以太网状态寄存器。这样上位机就能在下一条指令里知道哪个轴出过事、停在了哪里。

开环系统最怕的是“不知道丢了步”,而 nFAULT 和限位开关是仅有的几个兜底手段。如果项目允许,我会在原点传感器和两端限位上再接 MCU 的中断,上电回原点、报警后自动回零。这些做下来,一台步进设备才算是基本具备工业可靠性,而不是实验室里能转就行。

3. 硬件设计:从 MCU 到电机的接线、电源与保护

3.1 控制引脚与 PIC18F87J60 的连接细节

按 STEP/DIR 的常见用法来接线,驱动芯片需要从主控拿到脉冲和方向信号。方向上,STEP 引脚接 PIC 的一个普通 GPIO 或 PWM/CCP 输出,DIR 接另一个 GPIO,ENABLE 接 GPIO 用来做使能控制。VREF 建议用 PWM 引脚加 RC 滤波,nFAULT 接外部中断引脚。每个信号在靠近驱动芯片一侧建议串一个 100Ω 到 330Ω 的小电阻,既限制过冲,又能在调试时用示波器方便挂测。

这里特别提一句 PHASE/ENABLE 模式:如果你的具体型号配置成相位/使能控制,就不需要 STEP/DIR,而是把一个电机绕组的电流方向用 PHASE 电平决定,ENABLE 控制通断。设计前一定先翻数据手册确认自己买的批次和型号支持哪种接口,别等画完板再发现引脚定义不一样。

3.2 电机电源、退耦与地平面处理

电机电源 VM 和逻辑电源不能混在一起。我的习惯是电机电源从 24V 开关电源单独一路进来,板子上经过一个共模电感和 TVS 后再给驱动芯片;逻辑电源 3.3V 由独立的 DCDC 或 LDO 提供。每颗驱动芯片的 VM 和 GND 之间要放至少一个 0.1µF 陶瓷电容和一个 10µF 以上电解电容,位置尽量贴着芯片。不要省这几个电容,电机堵转、急停瞬间的电流尖峰全靠它们吸收。

地线布局是另一个容易出现问题的点。大电流从电机地回到电源,如果和 MCU 的数字地共用一条长走线,噪声会直接串进逻辑电路,表现就是高速运行时 MCU 突然复位、脉冲莫名丢失。建议采用星形接地:电机电源地、MCU 地、接口地在电源入口处单点汇合,中间不要相互穿越。如果结构上实在分不开,至少把 MCU 地和驱动芯片的功率地隔开一段距离,再在汇合点附近加磁珠。

3.3 电平匹配、散热与可靠性考量

PIC18F87J60 工作在 3.3V,驱动芯片的逻辑输入能否直接兼容 3.3V,要看数据手册里 VIL/VIH 的绝对值。大部分情况下 3.3V 高电平能凑合,但严谨的设计会加一级缓冲或者电平转换,保证高电平余量充足。散热方面,DRV8818 在持续大电流时热焊盘温度会上去,PCB 上要给热焊盘留大面积铺铜并打散热过孔,不能只靠芯片本体扛。

另外一个很容易被忽略的是驱动板的“暂停保护”。电机静止时要不要保持电流?保持电流大会发热,保持电流小会丢保持力。我会把 ENABLE 的控制逻辑写进固件:定位完成后延迟几百毫秒再把电流降到保持档(通过切换 VREF 档位),既省电又减少长期发热。这些细节才是工业方案和桌面小模块拉开差距的地方。

3.4 一个可复制的参考接线表

下面是我在这个项目里用的简化接线参考,具体引脚编号请以对应芯片数据手册为准:

信号驱动侧/芯片侧MCU 侧说明
STEPDRV 的 STEP 输入PIC GPIO 或 PWM脉冲输入,建议串 220Ω
DIRDRV 的 DIR 输入PIC GPIO电平决定方向
ENABLEDRV 的 EN 输入PIC GPIO低电平使能,高电平关闭输出
VREFDRV 的 VREFPIC PWM + RC 滤波控制峰值电流
nFAULTDRV 的 FAULT 输出PIC 外部中断故障时拉低
VM/GNDDRV 电源24V 电机电源每芯片就近退耦

这张表拿去做两轴或四轴板都没问题,多一路轴就复制一组,但每轴的 PWM 和中断资源要提前规划好,避免最后引脚冲突。

4. PIC18F87J60 固件实现:脉冲生成、梯形加减速与远程控制

4.1 底层初始化与脉冲生成

固件的第一步是把引脚、定时器和中断配好。我一般用定时器中断来翻转 STEP 引脚:定时器溢出一次代表一个脉冲周期,中断里翻转电平的同时维护一个方向计数。这样脉冲频率由定时器初值决定,改初值就是改速度。下面的伪代码是核心思路:

void main(void) { // 关总中断,配置 IO、定时器和 CCP/PWM TRISBbits.RB0 = 0; // STEP 输出 TRISBbits.RB1 = 0; // DIR 输出 TRISBbits.RB2 = 0; // ENABLE 输出 // 初始化定时器中断,使能总中断 ... } void __interrupt() timer_isr(void) { if (TMR0IF) { TMR0IF = 0; if (step_enable) { STEP_PIN = ~STEP_PIN; if (STEP_PIN) { // 上升沿代表前进一拍 if (dir_positive) axis_position++; else axis_position--; } } // 重装定时器初值来自加减速表 } }

实际工程里要注意中断服务函数尽量短,不要在中断里做协议解析、字符串处理这类耗时操作,否则脉冲时序会被打断。协议解析放在主循环,运动控制放在中断,这是这类固件的基本分层。

4.2 梯形加减速:脉冲生成与位置管理

为什么不能上来就给高频脉冲?步进电机的转子需要在电磁场变化时跟上去,频率突然太高就会丢步。梯形加减速的思路是把速度变化分成加速、匀速、减速三段,每走完一段就切换定时器初值。加减速表可以预先算好一张数组,每个元素对应一个脉冲周期,加速时依次缩短周期,减速时依次拉长。

伪代码可以这样组织:

#define ACCEL_STEPS 200 static uint16_t speed_table[ACCEL_STEPS]; void build_speed_table(uint16_t start_period, uint16_t end_period) { for (int i = 0; i < ACCEL_STEPS; i++) { speed_table[i] = start_period + (end_period - start_period) * i / ACCEL_STEPS; } }

位置管理上要维护目标位置和当前位置两个变量。每个脉冲产生后把当前位置加上或减去 1,当当前位置等于目标位置时停止脉冲输出。接近目标位置的时候提前进入减速段,避免冲到目标后还有惯性余量导致过冲。加减速步数、匀速速度、启停速度这几个参数建议都做成可配置项,放在协议里下发,方便现场整定。

4.3 细分模式与振动抑制

细分模式是通过在两步之间插入多个中间电流状态,让转子平滑移动。在全步模式下,电机每拍跳跃 1.8 度,这个机械冲击在低速时会引起明显振动和噪声。开启细分后,每一步被分成若干小步,电流波形更接近正弦,转子移动更柔和。要注意的是,细分提高的是平滑度,并不是定位精度:步进电机的最终定位仍然取决于机械加工和传动误差,不会因为细分到 1/8 就自动精确八倍。

DRV8818PWPR 的细分档位由模式引脚配置,具体支持全步、半步还是更高细分,要查对应数据手册。工程上我的习惯是在低速定位应用里开细分,中高速段反而保持半步或全步,因为高速时电机反电动势大,细分带来的平滑收益会减弱,还增加开关损耗。这个权衡没有标准答案,需要根据现场声音和温升来定。

4.4 以太网远程控制与状态回传

PIC18F87J60 自带以太网,这让远程控制变得很直接。我在固件里用一个精简的自定义协议,帧格式类似:帧头、轴号、命令、目标位置、速度、加速度、CRC。解析函数放在主循环,收到有效指令后更新运动参数。协议不长,但一定要加 CRC 校验,工业现场电磁环境差,偶尔的错帧会造成设备乱跑。

回传状态至少包括:当前位置、运动状态(忙/空闲)、nFAULT 故障码、限位开关状态。如果要和 PLC 无缝对接,直接把这些映射到 Modbus TCP 寄存器更省事:把目标位置和速度放到保持寄存器,把当前位置放到输入寄存器,PLC 轮询读取即可。这样整个系统就融入到工厂网络里了,而不是一台孤立的板卡。

5. 联合调试:高频干扰、啸叫与信号完整性排查

5.1 高速运行时的 MCU 复位和丢步:电源与地线排查

我在第一版板上遇到过一个典型现象:跑 30mm/s 以内一切正常,一跑高速,PIC18F87J60 偶尔复位,或者电机莫名其妙少走一段。用示波器抓 VM 和地之间的波形,能看到每次电机换相时都有大幅尖峰。根因就是电机电源地和数字地离得太近,大电流回流产生的噪声把 MCU 的逻辑电平拉出了规格。

解决方法是把布局改成星形接地,并在电源入口加了 TVS 和共模电感。同时把 STEP、DIR 的信号线改短、避开功率走线区域。这样处理后高速段再也没有出现过复位。这事的教训是:代码里写再多的软件滤波都不如把地线安排好,硬件才是运动控制稳定性的地基。

5.2 电机啸叫的来源:衰减模式与斩波频率

第二个常踩的坑是电机啸叫。现象是低速时轻微嗡嗡声,某个速度段出现刺耳尖叫,听起来像变频器驱动电机的声音。用电流探头看绕组电流波形,发现那个速度段下的电流纹波明显增大,和机械系统的某阶共振频率撞在了一起。逐档切换衰减模式后,把某段改成混合衰减,噪音立刻压了下去。

排查手法上,我会把待调参数全部做成拨码或者协议可配置,然后固定一个速度循环运行,人站在机器附近听声音、用红外测温枪看芯片和电机温度,找到最优档位。不要凭想象一次调好,也别在没固定速度的情况下调,那样变量太多,根本判断不出效果。

5.3 STEP 信号完整性:长线驱动与误触发

控制板和驱动板分离安装是工业设备常见结构,STEP 线一拉就是半米。线一长,信号边沿就会变缓,严重时驱动芯片把同一个上升沿识别成两个脉冲,位置就跑偏了。示波器看驱动芯片输入端,如果上升沿不是干净利落的方波而是圆弧,就要处理。

最简单的处理是靠近驱动芯片端并联一个小电容,或者在信号路径上放一个施密特触发器缓冲芯片,让波形重新整形。我会在驱动板的每一路输入信号做好限流电阻,预留施密特缓冲的位置,调试时根据实际波形决定贴不贴。这个预留成本不高,却能在现场少跑一趟。

5.4 让“每轴独立参数”成为默认习惯

多轴设备最忌讳参数一刀切。两个电机即使型号相同,负载不一样、丝杆摩擦力不一样,最优的加速曲线也不一样。我从一开始就把每个轴的加减速步数、目标速度、峰值电流、衰减模式都做成独立参数,通过上位机下发并保存参数区。这样现场调试时不用改代码、重刷固件,直接改参数就能把设备调顺。时间长了就会发现,工业设备调试大部分时间是在整定参数,而不是在改逻辑,这个习惯能帮你省很多事。

6. 从单轴到机器人系统:视觉联动与多轴扩展

6.1 与视觉系统配合:从坐标偏差到脉冲指令

把前面这套运动平台接入视觉系统,链路非常简单:工业相机拍照后,上位机用视觉算法得出目标偏移量,通过以太网发给 PIC18F87J60,固件把它转换成两轴各自的目标位置并执行梯形加减速运动。注意视觉处理和运动执行是异步的,所以要定义好一套“拍照-等待运动完成-再拍照”的握手流程。

我在项目里用了一个简单的状态机:上位机下发运动指令后,PIC 返回正在执行,执行完毕回传完成标志,视觉系统收到标志后才继续下一次拍照。这套握手看起来简单,却是视觉引导设备不出乱子的关键。很多现场问题都是因为视觉还没拍完、运动已经开始,或者运动没停、视觉又发了新指令。

6.2 和 ROS2 的衔接思路:低成本执行器的定位

机器人领域现在不少学生项目和入门开发会选择 ROS2,但 ROS2 往往跑在上位机里,真正执行驱动的还是底层 MCU。这台 PIC18F87J60 可以做 ROS2 节点下面的执行器控制器:上游节点把你的关节目标位置通过话题发布出去,一个桥接程序把话题转换成以太网协议,再下发给 MCU,MCU 完成脉冲规划并回传关节位置。这个结构对很多“机器人学习入门”项目足够用,成本也比伺服方案低一大截。

要提醒的是,这种 8 位 MCU 实现的是软实时,不适合对同步性要求极高的安全级关节。真到协作机器人、六轴本体那种场景,还是要上 EtherCAT、CANopen 加伺服驱动。但如果只是定位平台、外部轴、积木机器人这类教学验证设备,这套组合的性价比非常能打。

6.3 更进一步:从两轴板卡到标准化运动控制模块

我的习惯是:第一次流片成功后,不要急着改结构,先把它做成一块标准化模块,把电源入口、以太网口、电机驱动端子、光耦输入输出都固定下来。这样下一个项目哪怕电机功率变了、控制逻辑变了,也能沿用同一块底板的接口规范。模块化之后,每个轴的驱动板可以单独测试,方便替换,故障定位也快。

我在这套方案上得到的最深体会是:工业运动控制没有多少“高深算法”,更多是耐心地把每一个环节做到位——选型留余量、地线布好、参数可配、故障可查。DRV8818PWPR 和 PIC18F87J60 的组合谈不上炫技,但它在成本、可靠性和开发效率之间找到了很舒服的平衡点。如果你也要做类似的定位设备,直接从这套框架起步,能少走不少弯路。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 7:01:34

Python用餐时间轴:上菜记录与测温字段分开存

家宴记录可以先解决一个很具体的问题&#xff1a;哪道菜什么时候完成&#xff0c;什么时候上桌&#xff0c;是否晚于计划开饭时间。把这些时间与设备设定、食品测量分开保存&#xff0c;后面整理数据时就不容易把它们混成同一个结论。 本文由芝梵家电数据笔记整理。品牌主张是…

作者头像 李华
网站建设 2026/10/3 7:01:03

常见i/o模型以及高性能服务器设计

目录 一.前言 1.目标 2.边界说明 二.i/o模型 1.阻塞i/o 简介&#xff1a; 特点&#xff1a; 2.非阻塞i/o 简介&#xff1a; 特点&#xff1a; 3.信号驱动i/o 简介&#xff1a; 特点&#xff1a; 4.异步i/o 简介&#xff1a; 特点&#xff1a; 5.多路转接i/o …

作者头像 李华
网站建设 2026/10/3 7:00:47

PowerBus有线解码器DECODER-PV-PB选型与调试实战指南

1. 从型号命名反推设备定位&#xff1a;DECODER-PV-PB到底是个什么角色第一次看到“有线解码器&#xff08;DECODER-PV-PB&#xff09;”这个型号&#xff0c;很多人会下意识把它归到“机顶盒”或者“视频解码器”那一类消费电子里去。但如果你接触过工业控制、舞台机械、消防联…

作者头像 李华
网站建设 2026/10/3 6:59:38

工业控制计算机在数控机床上的应用:从数据采集到边缘计算

1. 工业控制计算机与数控机床的融合逻辑1.1 为什么工控机在数控场景里越来越常见干了十来年工业自动化&#xff0c;我亲眼看着车间里那套“PLC触摸屏工控机”的组合从稀罕物变成标配。早些年数控机床旁边摆的要么是专用数控系统&#xff0c;要么就是一台老式工控机跑着DOS时代的…

作者头像 李华
网站建设 2026/10/3 6:59:08

S7-1500与S7-1200通过Profinet实现S7通信的完整配置与调试指南

做自动化项目这么多年&#xff0c;只要是跨PLC的数据交换&#xff0c;十有八九会碰上S7-1500当主站、S7-1200当子站的组合。前阵子一个汽车零部件产线改造就是典型&#xff1a;老设备单机控制用的是S7-1200&#xff0c;新上的中控系统统一用S7-1500&#xff0c;现场要求把1200采…

作者头像 李华