探秘前轮转向小车

本文介绍了作者制作的一款智能小车模型,分别探讨了差速转向和前轮转向两种方式。采用了TT电机和SG90舵机实现转向,主控选择了nucleoL053配合扩展板。车辆结构进行了多次调整,如轴承、避震器等,以提升性能。最终计划将小车作为底盘,搭载树莓派进行进一步开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

智能小车模型从转向方式上大致可以分为:差速转向和前轮转向。差速转向也就是平时非常常见的一种,由左右两个电机差速实现转向(包括正反转),如下图:

差速转向的特点是结构简单,控制容易,但需要两组电机、两组驱动器,这在模型上并不算什么劣势,毕竟价格不高,但换作发动机,一组和两组差别就大了。
而所谓的前轮转向,就是通过前轮的角度调整来实现转向,有点类似于汽车,以前做得比较多的也是差速转向小车,这是第一次做前轮转向需要记录一下,哈哈
先展示一下模型图
     
因为还没有考虑好最终的功能和细节,因此整体是一个开式的,顶部和前后面都没有封闭。
1、整体配置:
动力部分是一个TT电机(做了一点改装,把130电机换成了优质一点的钢制接线柱130),电源使用7.4V锂电池(18650两串)。控制器使用了nucleoL053和一块扩展板(主要是电机驱动器和电源、IO引脚)
转向部分使用的是一个SG90舵机,舵机输出轴通过大齿轮带动一组转向机构,像一个梯形一样,也就是著名的“阿克曼转向”,如下图(原理就不细说了):
            

2、关于主控
其实主控选F103C8T6空间会更小,这次用nucleo是因为这块板子的3.3V电源芯片烧坏了,已经无法单独使用了,后来做了一块扩展板,就是上面图中的蓝色板子,在板上加了一块3.3V LDO(AMS1117-3.3),然后相当于3.3V电是通过7.4V降压供应。
这种方式可以使用,但下载程序之前需要改一个设置,否则无法下载:

图中左下角"under reset"要切换成"normal"


3、其他一些细节
首先是前轮,开始的时候是设计了避震器的,所以内嵌了轴承,后来避震器效果不佳(设计有缺陷),就去掉了,保留了内嵌轴承的设计,转动非常顺畅。

还有电机这里,仔细看会发现和模型出入很大,当时模型中使用的是一个微型电机,加了齿轮传动,后来效果不理想,力矩不足,后期做了修改处理,换成了双轴TT电机,比较意外的是这个左右两侧同轴度非常好,也很牢固。


还有车轮的处理,开始的时候直接椴木板材质和地板摩擦力很小,后来粘了一圈门窗隔音棉,效果好多了,再也不打滑。

4、制作花絮和视频展示
准备装配

粘贴隔音棉防滑


车轮轴与后轮的特殊处理


前轮

优酷视频云
这个视频中,只是做了简单的转弯、前进、后退测试,并没有遥控功能,动作是程序中固定的重复动作,仅作展示看下运动性能和效果。

5、小结
初步的想法是把这个当作一个底盘,上层(顶部)固定一块树莓派,做一些进一步的开发
---------------------
作者:逍遥李
链接:https://bbs.21ic.com/icview-3189394-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

### 三轮智能车差速PID调节方法 对于三轮智能车而言,实现精准的方向和速度控制至关重要。通过采用PID算法进行闭环方向和速度控制能够显著提升车辆性能[^1]。 #### 差速PID控制器设计原则 在三轮车上应用差速PID控制主要依赖于两个驱动轮之间的速度差异来改变行驶轨迹。具体来说: - **输入信号处理**:利用编码器测量两侧行走轮的实际转速,并将其作为反馈给单片机的信息。 - **误差计算**:设定目标角度或路径偏移量作为期望值;实际运行过程中产生的偏差即为目标与当前状态之差。 - **比例(P)项作用**:直接反映即时错误程度,在转向时提供初步校正力矩。 - **积分(I)项累积效果**:补偿长时间存在的静态误差,确保最终稳定在一个理想位置附近而不发生漂移现象。 - **微分(D)项预测变化趋势**:抑制快速波动带来的过度反应,使整个系统更加平稳过渡至新指令下的工作模式。 ```python def pid_control(error, last_error, integral_sum, Kp, Ki, Kd): """ 计算并返回新的PWM占空比调整值 参数: error (float): 当前时刻的角度/距离误差 last_error (float): 上次迭代中的误差 integral_sum (float): 积分累加和 Kp (float): 比例系数 Ki (float): 积分系数 Kd (float): 微分系数 返回: float: 新的PWM占空比调整幅度 """ proportional_term = Kp * error # P部分 integral_sum += error # I部分累计求和 derivative_term = Kd * (error - last_error) # D部分计算斜率 adjustment = proportional_term + Ki*integral_sum + derivative_term return adjustment, error, integral_sum # 更新本次使用的误差用于下次循环 ``` 此函数实现了基本的增量型PID运算逻辑,其中`Kp`, `Ki`, 和 `Kd` 是三个待调参的关键参数,它们决定了系统的响应特性以及稳定性表现。 #### 实际应用场景优化建议 针对特定硬件平台如带有陀螺仪模块(MPU6050)[^4] 的情况下,还可以引入姿态角数据辅助判断转弯过程中的倾斜情况,从而更精细地调整两侧电机功率分配策略,提高过弯效率的同时保持车身平衡。 另外值得注意的是,在编写程序时应充分考虑到各种边界条件(比如急停、原地掉头等极端工况),并通过实验不断修正和完善各项配置直至达到满意的效果为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值