OSR6空心杯舵机控制全攻略:从PWM原理到Arduino与PCA9685实战
之前在调一款小型机器人关节时经常遇到普通舵机响应慢、启动瞬间发软、稍微带点负载就开始抖舵的情况。后来换了空心杯舵机尤其是最近比较多见的 OSR6 这类型号动态响应确实比传统有刷舵机明显更好但初次接线和调参也踩了不少坑。加上短视频平台里经常看到“法师强烈推荐”这类说法很多新手容易只看推荐不看原理买回来却不知道怎么配电源、怎么发 PWM、怎么判断抖舵原因。这篇文章就从舵机本身的结构特点出发完整梳理 OSR6 这类猎鹰空心杯舵机的驱动流程包括概念、接线、Arduino 与 PCA9685 控制示例、转速与抖舵排查方法以及选型上的工程建议。无论是做舵机云台、小型机械臂还是车模转向和航模舵面都可以参考这套思路。1. OSR6 是什么先理解“猎鹰空心杯舵机”1.1 从型号命名看产品定位OSR6 并不是一个通用协议名称也不是某种标准舵机尺寸代号更多是厂商内部的产品型号。从“猎鹰”“空心杯”这些关键词可以看出它是主打快速响应的微型/小型数字舵机方案。国内舵机市场经常把一个型号分成不同版本有的用碳纤外壳有的用金属齿轮有的用空心杯电机有的用无刷电机后缀数字也可能会代表扭矩等级、电压范围或厂商代码。所以拿到 OSR6 之后第一件事不是直接上电而是看包装铭牌或商品详情页上的三项关键参数工作电压范围常见的是 4.8V 到 6.0V少数支持 7.4V。控制信号范围常见的是 500us 到 2500us也有 1000us 到 2000us。额定堵转电流或最大连续电流这决定了电源怎么配。“猎鹰”更多是产品系列名代表这台舵机定位在“快、轻、反应灵敏”这一类。相比同价位普通舵机这类空心杯舵机更适合频繁换向、快速启停的场景。1.2 空心杯舵机在技术上的特别之处要理解 OSR6 这类舵机的优势先要理解空心杯电机和传统铁芯电机的区别。普通直流有刷电机通常在转子上缠绕线圈铁芯既作为磁路又作为线圈骨架。铁芯本身有质量转动惯量较大启动和停止时会有明显的滞后。空心杯电机把转子做成杯状结构内部没有铁芯线圈直接绕在很轻的骨架上这样转子质量大幅降低转动惯量小电机就能更快地启动、加速和制动。放到舵机里这个特性的直接表现是给定同样的小角度阶跃信号时空心杯舵机能更快地到达目标位置超调也更小。对于机械臂关节、FPV 云台、小型车模转向这类需要不停修正位置的场景这个响应速度很重要。不过空心杯舵机也不是没有缺点。由于转子惯量小它的短时爆发力不错但连续大负载能力通常不如相同体积的传统舵机而且堵转时电流会比较大发热快。所以工程上不能简单认为“空心杯一定更好”要看负载是持续型还是瞬态型。1.3 OSR6 适合哪些场景从实际应用看OSR6 这类猎鹰空心杯舵机比较适合下面几类场景小型机器人关节需要对位置指令快速响应动作灵活但关节负载不算特别大。云台与 FPV 设备舵机需要频繁俯仰、左右修正可以搭配飞控或陀螺仪做闭环。车模转向转向动作快能够提供更直接的驾驶手感。航模舵面需要快速改变气动面角度尤其是对重量敏感的小型飞机。教育开发板项目响应速度快容易让学生看到 PID 控制效果。如果项目要求长时间大扭矩输出比如重型机械臂的肩关节或者需要非常精确的位置保持这种小型空心杯舵机就未必是最优解。选型阶段不能只看“视频法师强烈推荐”更应该看负载曲线和堵转电流是否在系统供电能力范围内。2. 控制前必须搞懂的 PWM 舵机原理2.1 舵机控制信号基础标准模型舵机的控制线只有三根电源正极、电源负极、信号线。舵机内部有控制电路、电机、减速齿轮组和位置反馈电位器。外部通过信号线发送 PWM 脉冲舵机内部的比较器会判断“当前目标脉冲宽度”与“当前电位器反馈位置对应的脉冲宽度”是否一致如果不一致就驱动电机往对应方向转动直到误差为零。这里的关键点是舵机不是看 PWM 的占空比而是看高电平脉冲宽度。比如常见控制范围是 500us 到 2500us中位通常是 1500us对应机械角度约 90 度。发送 1000us 时转到一个方向尽头发送 2000us 时转到另一个方向尽头。如果你的控制板输出的是普通 LEDC 调光信号只设置了 20% 占空比听起来像“90 度”但这个“20%”到底是 200us 还是 2000us取决于 PWM 周期。所以控制舵机时最好直接操作脉冲宽度单位是微秒。2.2 数字舵机与模拟舵机差异OSR6 这类数码空心杯舵机属于数字舵机内部有微控制器会用更高频率的 PWM 去驱动电机。相比模拟舵机数字舵机有这些表现信号刷新率更高位置保持响应更快。小误差修正更频繁所以能更稳定地抵抗外界扰动。待机时可能发出轻微的“吱吱”声这是正常现象不一定是故障。对输入信号质量更敏感有时需要稳定的 3.3V/5V 逻辑电平和干净的地线。当我们在 Arduino 里使用伺服库时默认输出 50Hz 刷新率对应周期 20ms。对于很多数字舵机50Hz 也能工作但并不能完全发挥它的响应速度优势。一些高端数字舵机支持 200Hz 甚至 333Hz 刷新这时 20ms 的周期就显得太长舵机在两次脉冲之间会有更长的“空闲等待”响应自然慢一些。实际使用时要看舵机资料里说明的支持刷新频率。如果舵机支持更宽的脉冲范围可以尝试在 Arduino 的attach中指定最小和最大脉冲宽度让舵机行程发挥完整。2.3 中位、行程与旋转方向舵机的位置并不完全只有 0 到 180 度很多金属齿轮舵机实际机械行程超过 180 度但控制电路只识别特定脉冲范围。安装舵机臂之前先把信号线连接到控制板发送 1500us 中位信号等舵机转到中位后再安装舵机臂这样不容易出现装偏后顶死齿轮的问题。旋转方向也取决于舵机内部电机接线和电位器方向。通常来说脉冲宽度从小变大输出轴会从一个限位端转到另一个限位端但不同品牌可能方向相反。调试时先设定一个较小的角度比如发送 1200us观察舵机朝哪个方向转再继续增加不要一上来就发满行程脉冲。很多空心杯舵机的中位死区很小能识别到很细微的脉冲变化这也是它适合做精确控制的原因。但外部机械结构如果有间隙舵机本身精度再高最终输出位置也会受影响。3. 环境准备与接线3.1 最小测试系统需要哪些硬件在开始写代码之前先准备好一套最小测试系统OSR6 空心杯舵机 1 个。单片机控制板 1 块Arduino Uno/Nano 是最方便的选择树莓派也可以。舵机专用供电模块或外置稳压电源。如果直接用 Arduino 的 5V 引脚给舵机供电只有一个舵机且负载很轻时勉强可以但不太推荐带负载稍大就可能导致 Arduino 复位。杜邦线若干建议电源线使用稍粗的线不要用细长跨接线传输大电流。USB 转串口模块或者开发板自带 USB 口。如果手头有示波器或逻辑分析仪调试 PWM 信号会更直观。版本选择上Arduino 使用常见的 AVR 开发板即可代码不依赖特殊版本。PCA9685 模块、树莓派使用的 Python 示例都需要按实际环境调整本文重点是演示控制思路。3.2 典型接线顺序先接电源再接信号线。舵机三根线颜色一般是红色或棕色线电源正极。黑色或棕色线电源负极/GND。白色、黄色、橙色或蓝色线信号线。注意棕色在不同品牌里可能是负极也可能是正极必须对照端子旁的标注。接线之前断开所有电源避免误触导致烧板。最简单的 Arduino 接线如下Arduino 引脚舵机信号线说明9信号线输出 PWM 控制脉冲5V电源正极仅限轻载测试GND电源负极必须共地外置 5V GND电源负极大电流供电公共地更推荐的方式是外置 5V/6V 稳压电源给舵机供电Arduino 只和舵机共用 GND舵机的电源正极不经过 Arduino。这样即使舵机瞬时电流达到 1A 甚至更高也不会拖垮单片机。接线完成后用万用表确认供电电压正负极没有反接再上电测试。3.3 BEC 供电与压降问题很多遥控模型系统会使用 BEC 或者 UBEC 给接收机和舵机供电。电调内置 BEC 的持续电流通常不高常见的是 3A 左右瞬间输出能力有限。如果你的项目上有两三个 OSR6 空心杯舵机同时快速动作堵转瞬间总电流很容易超过 BEC 限制电压会被拉低。电压一旦跌落数字舵机内部的微控制器就可能复位或者输出力矩快速下降表现为舵机抖动、无力、响应迟滞。解决思路是使用独立的高品质 5V/6V 舵机电源。电源线尽量短而粗。在舵机电源输入端并联一个大容量电解电容比如 470uF 到 1000uF再并联一个 0.1uF 陶瓷电容吸收高频噪声。不要使用过长的地线信号地一定要和电源地连接在一起。空心杯舵机启动瞬间电流峰值较大这一条比传统舵机更明显。4. 使用 Arduino 驱动 OSR6 通电测试4.1 连接方式回顾先确认 Arduino 与舵机共用 GND。对于轻载或单舵机测试可以暂时用 Arduino 5V 供电同时连接 USB 线供电但不要让它长时间堵转。如果舵机在测试中出现无规律复位就要立即切换到外置电源。接线顺序建议先断开电源。连接舵机电源正极和负极。连接舵机信号线到 Arduino 数字口 9。将舵机电源负极与 Arduino GND 相连。检查无误后上电。4.2 基础回转测试代码下面这段代码使用 Arduino 自带的 Servo 库让舵机从中位附近小角度来回摆动。#include Servo.h Servo osr6; // 舵机信号范围单位微秒 #define PULSE_MIN 500 #define PULSE_MAX 2500 void setup() { Serial.begin(9600); // 信号引脚为 9限制最小与最大脉冲范围 osr6.attach(9, PULSE_MIN, PULSE_MAX); // 先发送中位信号等待舵机稳定 osr6.writeMicroseconds(1500); delay(1000); Serial.println(OSR6 servo test started); } void loop() { // 从 1000us 缓慢增加到 2000us for (int pulse 1000; pulse 2000; pulse 10) { osr6.writeMicroseconds(pulse); delay(30); } // 从 2000us 缓慢回到 1000us for (int pulse 2000; pulse 1000; pulse - 10) { osr6.writeMicroseconds(pulse); delay(30); } }这段代码里writeMicroseconds的作用是直接设置目标脉宽比write的 0 到 180 度表示法更直观也方便后续接入传感器反馈后做闭环控制。上传代码后舵机应该先回到中位然后以 10us 步长在 1000us 到 2000us 之间来回扫动。如果发现舵机方向相反只需要把加减小循环对调不能强行限制舵机行程否则容易扫齿。在实际工程中不要直接让舵机长时间高速满行程往复这样对减速齿轮和电机寿命都有影响测试时可以把步进时间调大比如delay(100)观察动作更平缓。4.3 用串口输入精确控制位置有时候需要精确指定某个角度可以把代码改成串口输入微秒值。这样一条条指令测试更容易找到舵机的中位和两端行程。#include Servo.h Servo osr6; void setup() { Serial.begin(115200); osr6.attach(9, 500, 2500); osr6.writeMicroseconds(1500); Serial.println(Input pulse width between 500 and 2500 us); Serial.println(Example: 1000 1200 1500 2000 2500); } void loop() { if (Serial.available() 0) { int targetPulse Serial.parseInt(); if (targetPulse 500 targetPulse 2500) { osr6.writeMicroseconds(targetPulse); Serial.print(Set pulse to ); Serial.print(targetPulse); Serial.println( us); } else { Serial.println(Invalid pulse. Use 500 - 2500 us.); } // 清理缓冲区中可能的残留内容 while (Serial.available() 0) { Serial.read(); } } }串口输入示例1000 1500 2000 2500串口监视器里输入 1000 后回车舵机会转到脉冲 1000us 对应的位置输入 1500 回到中位。测试时要从 1500 开始小步偏移不要直接给极限值避免机械限位处长期受力。如果舵机进入某个位置后出现持续可听见的电流声说明它在持续出力抵抗外部阻力也可能是已经顶到限位。应立即减小行程范围。4.4 用 PCA9685 驱动多路舵机当项目里不止一个 OSR6或者主控芯片时间资源紧张时推荐使用 PCA9685 舵机驱动板。这是一颗 I2C 接口的 16 路 PWM 驱动器可以输出舵机所需脉冲不占用主控定时器资源。接线方式PCA9685Arduino说明VCC5V逻辑电源GNDGND共地SCLA5UnoI2C 时钟SDAA4UnoI2C 数据V外置 5V/6V 舵机电源舵机主供电GND外置电源 GND与 Arduino 共地PCA9685 自带的 V 引脚是直接给舵机供电的它与芯片逻辑电源 VCC 分开这一点不要接错。如果只给 PCA9685 的 VCC 供电而不接 V舵机不会转动。示例代码使用 Adafruit PWM 库#include Wire.h #include Adafruit_PWMServoDriver.h Adafruit_PWMServoDriver pwm Adafruit_PWMServoDriver(); // PCA9685 内部时钟约 25MHz设置 50Hz #define SERVO_FREQ 50 // 根据实际舵机调整单位是 PWM 计数周期 #define PULSE_MIN 102 #define PULSE_MAX 512 void setup() { Serial.begin(9600); pwm.begin(); pwm.setOscillatorFrequency(27000000); // 部分模块需要校准晶振频率 pwm.setPWMFreq(SERVO_FREQ); delay(10); } void loop() { // 通道 0 输出中位 pwm.setPWM(0, 0, 307); delay(1000); // 通道 0 输出一个方向 pwm.setPWM(0, 0, PULSE_MIN); delay(1000); // 通道 0 输出另一个方向 pwm.setPWM(0, 0, PULSE_MAX); delay(1000); }PWM 计数周期和脉冲宽度的换算公式为计数 脉冲宽度(us) * 时钟频率(Hz) / 1000000 / 预分频如果是 50Hz周期是 20000us4096 个计数点对应 20000us那么 1000us 脉冲对应大约 205 计数1500us 对应约 307 计数。具体芯片版本和晶振频率不同数值会有差异上面代码只是参考思路需要根据实际模块微调。4.5 用逻辑分析仪验证信号如果舵机动作不符合预期先用逻辑分析仪看信号是最直接的排查方式。把逻辑分析仪的地线夹到 Arduino GND信号探头夹到舵机信号线然后设置采样率 1MHz 以上观察脉冲宽度。正常情况下可以看到周期性脉冲比如 20ms 周期内有一个 1.5ms 高电平。如果发现脉冲宽度不是预期值就检查代码如果信号完全乱跳可能是接线接触不良如果波形存在大量毛刺可能是电源纹波太大或信号线受到干扰。对于数字舵机还要关注刷新周期。如果你使用的是 PCA9685 并设置 50Hz即使舵机支持更高刷新率也不会发挥全部性能。需要查看舵机手册中对刷新率的支持程度再调整setPWMFreq。熟悉了 PWM 脉冲控制之后再结合角度传感器或者陀螺仪做位置闭环就会容易很多。舵机对外部信号是“收到多少微秒就转多少位置”所以只要主控侧能发送稳定准确的脉冲问题基本就解决了一半。5. 进阶转速、扭矩与常见“抖舵”调试5.1 如何初步测量转速与响应时间OSR6 这类空心杯舵机的卖点之一是转动速度快但“快”不能用感觉衡量。可以采用下面这套简单方法在舵机输出轴上固定一根轻质塑料指针长度尽量短。给舵机发送一个阶跃信号比如从 1100us 瞬间跳到 1900us。用手机慢动作模式录制过程统计指针从一端运动到另一端消耗的帧数。根据帧率计算实际运动时间。重复多次取平均。如果有示波器或逻辑分析仪还可以同时测量舵机电流。示波器电流探头价格较贵可以使用低阻采样电阻串联在电源负极用差分方式测电压再换算成电流。不过该方法要求采样电阻功率足够示例里就不展开电路细节了。实测时需要固定的工作电压。空心杯舵机对电压很敏感5.0V 和 6.0V 下的转速差距可能非常明显。记录数据时要把电压、负载条件写清楚不然不同批次测试无法对比。5.2 抖舵问题的定位顺序抖舵是舵机使用中最常见的问题原因通常按优先级可以分为四类。供电不足。空心杯堵转电流大供电电压跌落会导致内部控制芯片复位或电机无力形成往复抖动。信号干扰。信号线过长、与电机电源线捆在一起PWM 脉冲会被污染。负载过大。舵机带动超过能力的负载持续无法到达目标位置反复修正。舵机本身故障。电位器磨损、齿轮扫齿或虚位过大。排查顺序建议如下问题现象常见原因解决思路舵机通电后左右抖动或嗡嗡响电压跌落、信号毛刺、行程超出范围测量舵机供电电压缩短信号线确认脉冲范围转动后不能精确停在中位电位器虚位大、齿轮间隙大、脉冲精度不足使用更高精度脉冲检查舵机臂是否锁紧负载稍大就停转电源电流不足、舵机扭矩不够换大电流电源改用更大扭矩舵机高速运行时异常发热持续堵转、电压过高、齿轮摩擦降低负载确认供电电压范围检查齿轮组多路舵机同时动作时互相影响共用电源压降太大、共地不良独立供电分开电源回路增强滤波电容信号线附近有电机时误动作高频电磁干扰信号线用双绞线或屏蔽线避免与电机线并行排查最大的误区是先怀疑舵机坏了。实际上大多数抖舵都是供电和接线造成的尤其是刚接触空心杯舵机的朋友惯用 Arduino 板载 5V 去驱动高功率舵机很容易出现电压跌落导致的抖舵。如果上电后舵机有异常声音首先用万用表测量舵机电源正负极两端电压。如果电压在舵机动作时会从 5.0V 掉到 4.5V 以下基本上就是供电不足。先换独立电源再检查信号线。5.3 机械虚位与舵机臂安装空心杯舵机响应快对机械虚位也更敏感。如果舵机输出轴与舵机臂之间的花键没有压紧或者舵机臂固定螺丝没拧紧脉冲信号稳定后舵机已经定位但舵机臂因为间隙还在微小晃动外部看就像抖动。正确安装步骤给舵机发送 1500us 中位信号。等待舵机转到中位并稳定。安装舵机臂让连杆处于接近垂直受力的位置。拧紧固定螺丝但不要过度用力导致滑丝。手动轻轻扳动舵机臂感受是否存在明显旷量。对于频繁受冲击的场合可以适当涂抹少量螺纹胶防止固定螺丝在振动中松动。空心杯舵机内部齿轮通常是金属材质但如果长期在超行程位置顶死仍然可能损坏减速机构。6. 使用 PPM/Python 控制时的常见坑6.1 Arduino Servo 库的局限Arduino Servo 库很方便但它并不是万能的。Servo 库内部使用定时器生成脉冲通常一个定时器可以支持 12 路舵机Uno 上正是这样的结构。不同板卡的定时器资源不同所以在大规模项目时要查阅对应板卡资源。Servo 库默认的脉冲刷新频率一般约 50Hz并且它会在后台不断刷新信号。如果你在同一块板卡上使用tone()、Servo或者某些依赖同一个定时器的库可能发生冲突出现舵机随机抖动。如果需要支持更高刷新率或更精确的脉冲宽度可以考虑使用自己用定时器写 PWM 输出。使用 PCA9685 外部 PWM 芯片。使用 ESP32 的 LEDC 通道。6.2 用 Python 控制 PCA9685树莓派或 Jetson 这类 Linux 开发板可以用 Python 方便地控制 PCA9685适合快速验证多路舵机。先安装 Adafruit 的库pip3 install adafruit-circuitpython-servokit示例代码如下需要注意的是不同库版本的 API 可能有差异from adafruit_servokit import ServoKit kit ServoKit(channels16) # 设置 0 号通道的脉冲范围 kit.servo[0].set_pulse_width_range(500, 2500) # 控制角度 kit.servo[0].angle 90这段代码的核心作用是通过 I2C 控制 PCA9685让 0 号通道输出对应 90 度的 PWM 脉冲。set_pulse_width_range用来设置最小、最大脉冲范围帮助舵机角度映射更准确。如果只需要发送微秒值也可以直接使用 PCA9685 驱动层接口import board import busio import pwmio # 这里只是思路示例具体 API 取决于硬件平台不同的 Python 库对脉冲宽度单位处理方式不同有的直接用微秒有的用缩放百分比。使用前先打印输出波形确认实际脉宽符合预期。6.3 树莓派与多通道刷新率注意点通过 I2C 控制 PCA9685 时I2C 总线频率越高指令发送越快但总线频率受树莓派和模块的稳定性影响。如果同时控制 16 路舵机并且每路刷新率很高I2C 可能会成为瓶颈。对于 OSR6 这类空心杯舵机短期测试并不需要把刷新率调到极限。需要评估的是舵机在项目里是作为位置执行器还是需要通过很高频率的信号提升动态刚度。大多数创客项目的瓶颈反而不是刷新率而是机械结构和供电。在 Python 循环里控制角度时不要加入过多的time.sleep()因为舵机毕竟需要时间运动。建议每次角度变化结束之后等待 200ms 到 500ms再给下一指令这样更容易观察运动过程。7. OSR6 最佳实践与选型建议首先从电源端做稳。多数抖动问题并非舵机本身造成而是电源瞬时供不上电流。舵机工作中会产生较大的电流脉冲电源到舵机的导线必须有足够的截面积。如果使用杜邦线尽量短超过 20cm 的延长线建议换成较粗的硅胶线。其次从行程端做保护。编写程序时尽量避免直接让舵机快速冲向极限位置。可以在软件里设置一个软限位比如只在 800us 到 2200us 范围内动作不把 500us 和 2500us 极限直接用在循环里。第三从结构端降风险。舵机臂越长同样舵机输出力矩下末端受力和杠杆效果越明显。转速高的空心杯舵机如果被机械限位挡住整机仍会持续输出容易导致齿轮组发热和损伤。可以考虑使用塑料舵机臂在受到异常冲击时可以断裂保护舵机但也要注意塑料件在重复使用后有疲劳问题。第四留出备用的故障判断窗口。正常舵机断电后输出轴应该能用手轻轻转动只是有一定阻力。如果断电后卡死说明减速齿轮组可能扫齿、卡进异物或输出轴花键变形。不要给一只已经卡死的舵机继续加电否则电流会迅速上升并烧毁驱动电路。选型方面OSR6 这类空心杯舵机适合响应快、负载轻、频繁运动的场景。如果真正需要的是大力矩应该选更大规格的金属齿轮舵机如果需要连续旋转且要求耐久应选无刷舵机而不是有刷空心杯舵机如果只是做固定角度调节不需要高速普通模拟舵机成本更低。“视频法师强烈推荐”可以作为初步筛选线索但最终要确认三件事供电电压和电流在你的系统里能提供吗机械尺寸、输出轴花键、安装孔距合适吗堵转电流和发热特征在你的散热条件下可控吗如果没有把握可以先买一只做单机测试测量空载电流、堵转电流、动作时间再决定是否批量放到项目里。这比直接按推荐买十几只回来要靠谱得多。8. 最后整理一份可直接照做的调试清单到这里OSR6 空心杯舵机从原理到接线、从 Arduino 代码到 Python 控制的过程就完整过了一遍。最后整理一份调试顺序方便以后遇到舵机项目时快速排查。1. 航模或机器人项目拿到舵机后先查资料确认工作电压和控制信号范围。 2. 用外置稳压电源或独立 UBEC 供电不优先使用开发板 5V。 3. 接好共地线确认正负极没有接反。 4. 先发送 1500us 中位信号等待舵机回中。 5. 在软件里设置软限位小步增加脉冲宽度观察方向与行程。 6. 用手感受舵机臂负载确认没有机械卡滞。 7. 有抖舵现象时测量电源电压变化再检查信号波形。 8. 多路舵机系统优先使用 PCA9685并且分开逻辑电与舵机电。 9. 记录舵机工作电压、空载电流、舵机臂长度等实测数据。 10. 长期运行前检查舵机发热、齿轮虚位和固定螺丝是否松动。如果在调试中遇到具体报错比如舵机信号没有输出、程序上传失败、PCA9685 找不到 I2C 设备也都是常见问题。可以先检查接线再检查 I2C 地址最后用 I2C 扫描程序确认模块是否被识别。舵机本质上是一个需要“电、信号、机械”三者配合的部件多数问题都能在电路端找到原因。动手调一次对 PWM 和舵机原理的理解会明显更深。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →