履带—轮组式电动多功能轮椅设计说明书:底盘构型、驱动控制与越障状态机
2026/9/19 19:42:29 网站建设 项目流程

简介:一份面向机械设计、康复辅助器具研发领域的设计说明书,针对年老体弱、肢体伤残者上下楼及越障等行动困难场景,围绕履带—轮组式电动多功能轮椅的完整开发过程,适合用作课程设计、毕业设计及产品预研的参考资料。文档包含设计任务书、技术参数、总体方案比选、结构设计与运动分析、驱动与传动系统、运动控制系统等章节,从需求到控制层层展开。压缩包内为单个Word文档(docx),仅1个文件、大小约431KB,内容直接可用,便于阅读和标注。目前已有141人学习使用。文档重点剖析了轮组式与履带式方案的优缺点,提出了两者结合的思路,并详细说明了三叶轮结构、履带收放机构及基于滑轨的座椅调平机构,对理解越障能力、稳定性和机动性等关键指标有实际参考价值。

1. 从越障和速度的矛盾看履带—轮组式电动多功能轮椅

普通轮椅遇到路缘石或排水沟就卡住,改用连续履带底盘又会在室内地板上划伤地面、转弯阻力大。履带—轮组式把两套行走机构放在同一台电动轮椅上,平地用轮组跑得快、噪音低,接近障碍物时再让履带介入提供额外牵引力。标题里的“设计说明书”说明这不是一篇泛谈产品概念的文章,而是要把机械尺寸、电机参数、控制逻辑和验证方法统一成一份可研发、可生产、可审图的技术文档。适合做嵌入式控制、非标机械、康复辅具和移动底盘的人读,也适合要写同类产品设计文档的工程师作参照。

2. 履带—轮组的底盘构型与动力学设计

2.1 先定构型:履带什么时候参与工作

设计前要先回答一个机械问题:履带和轮组是始终同时接地,还是可以主动切换?两种方案在说明书里的工作量完全不同。始终同时接地相当于让履带拖在轮组后面,速度差会造成履带磨损和转向阻力,一般只有在爬坡或者松软地面时才划算。可以主动切换的方案更接近电动轮椅的日常使用逻辑:平地时履带被抬离地面或通过离合器脱开,需要越障时再把履带放下或啮合。

从我有过的方案看,履带—轮组式最常见的构型是“四轮组+中部履带抬升机构”:四个轮子负责正常行驶与支撑,两条履带布置在左右两侧,通过电动推杆或电磁离合器控制履带是否参与驱动。履带接地时,整车相当于轮履并联驱动,前部接近角增大,可以减少台阶边缘对车头的阻碍。先按单人康复椅量级定一组总体参数:轮径250mm,履带宽度100mm,履带接地长度400mm,越障高度100mm,最大爬坡角15°。

很多人以为履带介入就是把车架整体抬起来,这样其实等于把整车重量从一个支撑面搬到另一个支撑面,容易造成乘员后仰。更稳妥的原则是:轮组保持驱动,履带从空转状态逐步压在路面上分担载荷,而不是在静止状态下直接放下履带。这样冲击小,驱动系统也不容易出现堵转。这个原则要写进设计说明书的操作流程里。

2.2 接地比压与驱动扭矩的计算

履带行走机构最核心的不是电机扭矩,而是接地比压。接地比压太大会陷入松软地面,太小则履带过长,转弯空间不够。复合结构在切换时整车质量会部分从轮组转移到履带上,因此要分别计算轮组支撑和履带介入两种状态。

履带介入时,按整车质量均匀分布在所有接地履带上。设整车重量为 W,同时接地的履带总数为 N_track,单条履带宽度 b、接地长度 L,平均接地比压为:

p = W / (N_track * b * L)

以总质量150kg计算,W=1470N,b=0.1m,L=0.4m,N_track=2,得到接地比压约18.4kPa。这个量级对室内瓷砖和压实土壤都可接受,如果后续把乘员上限提高到180kg,接地比压会升到22kPa以上,此时需要加长履带或加宽履带。

驱动电机扭矩按坡度阻力、滚动阻力和履带内部阻力叠加。下面这段 MATLAB 脚本通常放在设计说明书附录里作为计算依据:

% 履带-轮组电动轮椅速度与扭矩初算 W = 150 * 9.8; % 整车重量 150kg,单位:N mu = 0.06; % 滚动阻力系数,室内取0.05-0.08 theta = 15 * pi / 180; % 最大爬坡角 15° r_wheel = 0.125; % 轮组主动轮半径,单位:m eta = 0.85; % 机械传动效率 i_gear = 20; % 减速比初值 v = 6 / 3.6; % 最大速度 6km/h 折算为 1.67m/s F_r = mu * W * cos(theta); % 坡道滚动阻力 F_g = W * sin(theta); % 坡度阻力 F_fric = 0.5 * F_r; % 履带内部阻力按滚动阻力0.5倍估算 F_total = F_r + F_g + F_fric; % 总行驶阻力 P_total = F_total * v; % 总驱动功率 T_motor_total = F_total * r_wheel / (eta * i_gear); T_motor_each = T_motor_total / 2; % 单侧电机轴扭矩 % 两条履带同时接地时的平均接地比压 p = W / (2 * 0.1 * 0.4); fprintf('平路阻力: %.1f N\n', F_r); fprintf('坡度阻力: %.1f N\n', F_g); fprintf('总行驶阻力: %.1f N\n', F_total); fprintf('总驱动功率: %.1f W\n', P_total); fprintf('单侧电机轴扭矩: %.2f Nm\n', T_motor_each); fprintf('平均接地比压: %.1f kPa\n', p / 1000);

这段脚本把决定电机选型和履带宽度的两个关键量算在一起。参数说明:theta 是设定最大爬坡角,坡度阻力随正弦函数增长,不要直接拿 15/100 去换算;r_wheel 取轮组主动轮半径而不是履带驱动轮半径,因为轮履并联驱动时整车速度由轮组主导,按轮子半径计算更保守;i_gear 由电机额定转速和最大行走速度反推,初值给 20,后续用电机峰值扭矩校验。

F_fric 只是设计初算用的等效阻力,不代表详细设计中的履带预紧损耗,真正的内部阻力要通过台架试验标定。注意:如果只有一侧履带接地,N_track 要改成 1,接地比压会翻倍,所以切换结构必须保证两条履带同时接触地面,否则在松软路面很容易出现偏沉。

2.3 履带切换执行机构对比

履带介入方式常见有三种:电动推杆整体升降、电磁离合啮合履带驱动轮、凸轮偏心顶升。三者的机械复杂度和响应速度差别明显。电磁离合响应快,适合在检测到轮组打滑时毫秒级接入,但履带与轮组的速度匹配依赖算法;电动推杆结构简单,能实现物理抬起履带,动作时间约1到2秒,需要提前预判障碍;凸轮顶升省电,但行程短,对加工公差要求高。

切换方式响应时间结构复杂度故障模式说明书中需要标注的边界
电磁离合<50ms离合片发热、剩磁接合时轮履速差 < 0.5m/s
电动推杆1-2s推杆堵转、行程开关失效需设计限位和堵转电流保护
凸轮顶升300ms-1s凸轮磨损、卡死配合编码器做初始位置标定

从控制角度看,电磁离合响应最快,但如果轮组和履带线速度不一致,接合瞬间会有冲击。因此设计说明书里必须写一条控制约束:离合接合前,根据轮组电机转速估算当前车速,再匹配履带驱动电机目标转速,允许速差限制在 0.5 m/s 以内。这条约束是后面写状态切换条件的重要依据。

3. 电动驱动与控制系统的参数链路

3.1 电机、电池和驱动器选型

履带—轮组式比普通电动轮椅多一套履带驱动或顶升机构,电流峰值叠加,选型时不能只按额定功率。以 2.2 节计算结果为例,最大爬坡时总行驶阻力约 510N,按 6km/h 折算总驱动功率约 850W。考虑履带介入时的瞬时冲击、转向阻力和加速阻力,单侧电机建议选 500W 以上,为了留足峰值裕量,实际常选 750W 额定、峰值 1.5kW 的直流无刷电机。

电池电压通常选 48V 锂电,容量根据续航和峰值电流综合确定。给出一个可放到说明书里的选型参数表:

部件参数项推荐值设计说明书中的复核点
驱动电机额定功率750W×2峰值功率是否覆盖履带介入窗口
减速器减速比20输出扭矩是否大于阻力计算值
电机控制器母线电压/电流48V / 60A与电池放电倍率匹配,峰值 3C
电池标称容量20Ah续航和持续放电电流的折中
电动推杆行程/推力40mm / 5kN推杆堵转电流值与限位开关配合

这里面最容易遗漏的是峰值电流持续时间。履带介入越障时,电流会从 20A 短时间跳到 60A,持续时间约 2 到 4 秒。电池保护板不能立即触发过流断闸,否则会导致切换瞬间整车断电。说明书里应明确写:电池保护板允许 60A 持续时间不小于 5s。这个参数要在电芯规格书里找,不要在整包铭牌上找。

3.2 主控到驱动器的PWM控制链路

控制链路优先级从高到低依次是安全回路、电机控制、状态切换、人机交互。主控一般选用带硬件浮点和多路定时器的 MCU,比如 STM32F407 或同级别国产芯片,因为差速控制和传感器融合需要在 1kHz 左右的控制周期里做浮点运算。电机控制器直接接收主控的 PWM 信号,也可以使用 CAN 总线,但在电动轮椅这类低速产品上,PWM+方向信号仍是低成本常见做法。

下面是一段基于 STM32 HAL 库的 PWM 初始化片段:

/* TIM1 输出四路PWM:左右驱动电机 + 左右履带电机 */ static void MX_TIM1_Init(void) { TIM_OC_InitTypeDef sConfigOC = {0}; /* 定时器时钟120MHz,预分频后计数频率24MHz */ htim1.Init.Prescaler = 4; // (4+1)分频 htim1.Init.Period = 1499; // PWM频率约16kHz htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1; htim1.Init.Channel = TIM_CHANNEL_ALL; HAL_TIM_PWM_Init(&htim1); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 0; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3); HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_4); }

这段配置要解释的是 PWM 频率和中心对齐模式的选择。中心对齐模式下,PWM 上升沿和下降沿相对于计数周期中心对称,电流波形比边沿对齐更平稳,适合双电机同步驱动;代价是开关次数增多,驱动器会稍微发热。周期 1499 和预分频 4 的组合,在 120MHz 定时器时钟下得到约 16kHz 的 PWM 频率,这个频率刚好避开人耳敏感区,同时让电流纹波可控。实际开发中如果电机啸叫明显,先把 PWM 频率调到 20kHz,再查驱动器是否支持。

注意,这段代码只负责控制通道建立,不包含无刷电机的换相逻辑。真正跑起来还需要在定时器更新中断里做速度环和电流环。

3.3 差速模型与速度环PI参数

轮组和履带是两套驱动单元,差速转向时左右轮速不同,速度闭环不能使用同一个目标值。一般把摇杆输入解释为纵向前进速度和横摆角速度,再通过差速公式换算成左右轮目标速度。左右轮速度分别为:

v_left = v - ω * B / 2

v_right = v + ω * B / 2

其中 v 是车体纵向速度,ω 是转向角速度,B 是左右驱动轮轮距。由于轮椅低速行驶,不必引入复杂的滑移率模型;但履带介入时,履带速度要先跟随轮组速度,状态稳定后再切换到履带主导的越障控制。

速度环 PI 控制可以用一个很简短的增量式写法:

float pi_update(float err, float kp, float ki, float dt) { static float integral; float out; integral += err * dt; if (integral > 0.5f) integral = 0.5f; // 积分限幅 0.5 if (integral < -0.5f) integral = -0.5f; out = kp * err + ki * integral; return out; }

这里把积分限幅直接写在函数内部,避免控制周期长时间饱和。kp 和 ki 的初值通常根据电机和整车惯量估算,一阶速度回路的经验做法是:kp 先取 0.05 到 0.2,ki 取 kp 的 10 到 20 倍,再在整车离地状态下用阶跃响应找临界增益。离地状态指的是把驱动轮悬空,只让电机空转,用来观察响应曲线,尤其适合调试初期排除地面摩擦干扰。

履带驱动时由于内部摩擦大,积分项更容易饱和。因此履带电机 PI 参数不能直接复用轮组参数,需要在履带接地但整车静止的条件下重新标定:让电流缓慢上升,直到履带刚好开始蠕动,此时对应的积分初值就是电机克服静摩擦的门限。

4. 从传感器融合到履带介入的越障控制

4.1 传感器配置与安装要点

要让履带在正确时间介入,至少需要三类信息:电机电流、车身姿态、前方障碍距离。电流可以判断轮组是否打滑;IMU 角度可以判断车身是否抬头或侧倾;超声波或激光测距用来预判路缘高度。最小传感器配置如下表:

传感器数据类型数据用途安装位置推荐频率
电机母线电流模拟量轮组阻力激增检测驱动器内部1kHz
轮组编码器正交/霍尔轮速反馈与速差计算驱动电机尾部1kHz
IMU加速度+陀螺仪俯仰角、横滚角估计车底靠近重心500Hz
超声波测距距离数值前方0.2-2m障碍预判脚踏板下方20Hz
限位开关开关量履带顶升机构到位推杆两侧事件触发

传感器安装里最容易踩的坑是 IMU 的安装位置。不要装在靠近电机或推杆的地方,电机振动和推杆电机都会给加速度计引入高频噪声。一般会把 IMU 固定到车架横梁中央,用海绵减震垫隔离;标定时先测量静止状态下的零点偏移,再把角度零点写入校准参数。

4.2 越障状态机:不要用单阈值触发履带

履带介入不能只依赖一个阈值,因为电流超限可能是撞到固定障碍,也可能是推杆堵转。建议把控制逻辑实现为状态机,状态转移同时考察电流差、俯仰角变化率和前方高度判断。

下面给出状态机枚举和一个决策函数示例:

typedef enum { MODE_WHEEL, // 平地轮组驱动 MODE_CONTACT, // 探测到障碍,履带预接触 MODE_TRACK_CLIMB, // 履带驱动越障 MODE_TRACK_RETURN // 车头通过,回到轮组 } chassis_state_t; static chassis_state_t state = MODE_WHEEL; void chassis_control(float current_diff, float pitch_rate, float obstacle_height, float *target_current_limit) { switch (state) { case MODE_WHEEL: if (current_diff > 3.0f && obstacle_height > 0.05f) state = MODE_CONTACT; *target_current_limit = 25.0f; break; case MODE_CONTACT: if (pitch_rate > 8.0f) state = MODE_TRACK_CLIMB; else if (current_diff < 1.0f) state = MODE_WHEEL; // 误判,回到轮组 *target_current_limit = 35.0f; break; case MODE_TRACK_CLIMB: if (pitch_rate < -3.0f) state = MODE_TRACK_RETURN; *target_current_limit = 60.0f; break; case MODE_TRACK_RETURN: if (pitch_rate > -1.0f && pitch_rate < 1.0f) state = MODE_WHEEL; // 车身恢复水平,切回轮组 *target_current_limit = 40.0f; break; } }

这段逻辑的关键是把履带介入拆成两次确认。MODE_WHEEL 里电流差超过 3A 且前方高度超过 5cm,只说明遇到障碍,不代表一定要上履带;MODE_CONTACT 里要等车头出现抬头趋势,也就是俯仰角速度大于 8°/s,才真正把履带驱动电流加进去。这样处理的好处是,遇到减速带这类低矮障碍时轮组可以直接冲过去,不会频繁切换履带。

target_current_limit 是限流值,不是目标电流,用于防止履带电机的输出在切换瞬间拉垮整个电池母线。注意,current_diff 是指左右轮电流差的绝对值,而不是单个电机电流。轮组模式中两侧电流接近,一旦某侧陷入沟槽或轮胎打滑,左右电流差会明显拉开。用电流差触发比用单侧电流阈值可靠,因为上坡时单侧电流升高但左右仍相对均衡。

4.3 用互补滤波估计俯仰角

越障中需要车头俯仰角,但单独读加速度计角度在运动时受线性加速度干扰,单独积分陀螺仪又会漂移。常见做法是用互补滤波把两者有效频段结合起来:

angle = alpha * (angle + gyro * dt) + (1 - alpha) * accel_angle

alpha 取 0.95 到 0.98,取决于运动强度和时间常数。这个做法比卡尔曼容易整定,在低成本的 32 位单片机上就能跑。简单实现如下:

float complementary_filter(float accel_angle, float gyro_rate, float dt, float *angle) { float alpha = 0.96f; // 陀螺仪权重 *angle = alpha * (*angle + gyro_rate * dt) + (1.0f - alpha) * accel_angle; return *angle; }

参数说明:accel_angle 由加速度计通过 atan2(accel_x, accel_z) 计算得到;gyro_rate 是陀螺仪 Y 轴角速度,单位 rad/s;dt 是滤波调用周期,必须与传感器读取周期一致。alpha 越大角度输出越平滑,但响应越慢,容易错过车头抬升的时刻;取 0.96 时,若控制周期 2ms,时间常数约 50ms,对越障动作足够。

状态机和滤波器的调用建议放在同一个定时器中断里,并加看门狗喂狗,防止履带卡死后主控停留在故障状态无法退出。

5. 设计说明书的参数落地与验证技巧

5.1 用脚本统一参数源

写设计说明书时,最忌讳手工录入大量计算参数,因为一处改动后容易漏同步。常见做法是以 MATLAB 或 Python 脚本作为参数源,自动生成 CSV 表格,再嵌入 Word 或 Markdown 文档。脚本里维护一份设计输入表,包含整车重量、轮径、履带宽度、接地长度、爬坡角等,所有计算引用这份输入。

与 2.2 节 MATLAB 脚本对等的 Python 版本可以写成:

import math W = 150 * 9.8 # 整车重量 N mu = 0.06 theta = math.radians(15) F_r = mu * W * math.cos(theta) F_g = W * math.sin(theta) F_total = F_r + F_g + 0.5 * F_r print(f"F_total={F_total:.1f} N")

这段代码与 MATLAB 脚本功能一致,但更便于在文档构建流程里做参数复核。设计说明书里只要保留一份源脚本,审图人查任何衍生参数时都能回退到输入值,不用在几十张 Excel 表之间来回找。

5.2 运动仿真要跑三种工况

使用 SolidWorks Motion 做运动学仿真时,除了跑“平地行驶”和“15°坡道爬坡”外,还要专门跑“单侧60mm台阶越障”。单侧越障会带来横滚角变化,是所有工况中对轮履切换结构最严格的一种。仿真里给履带与地面设置摩擦系数时,不要把动摩擦设成固定值,建议按硬地面0.6、履带橡胶0.4、轮胎0.55分别设置,否则仿真结果偏乐观。除 SolidWorks 外,还可以用 ADAMS 验证履带与轮组的动力学耦合,但电动轮椅这类低速系统,SolidWorks Motion 足够完成大部分验算。

5.3 审图时最常挑刺的三处细节

设计说明书里最容易被打回的是接地比压取值、推杆堵转电流和电池连续放电时间。建议在这三处各放一张测试记录表格,写明实测值和允许值。比如接地比压理论 18.4kPa,实际测得轮胎与履带压痕面积算出来 19.2kPa,误差在 10% 内就可以接受。推杆堵转电流要写明持续时间和恢复策略,一般建议 1.5s 内控制器主动断电,避免烧线圈。

还有一个不常写但实用的技巧:在履带驱动轮的侧板开两个对称的观察孔,方便装配现场用内窥镜观察离合接合间隙。把参数表、仿真设置和这三个测试记录放进设计文档的验证章节后,接下来可以直接照着 BOM 表去询价,不用再回头改机械图纸。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询