第一章 底盘驱动基础

做机器人底盘这么多年,我始终觉得驱动基础是重中之重。你想想看,底盘都走不稳,上层算法再漂亮也是白搭。今天我们就从最基础的直流电机开始聊起。

1.1 直流电机工作原理

直流电机这东西,说白了就是电能转机械能。我刚开始接触时也觉得挺玄乎,其实核心就三个东西:定子、转子、换向器。

电流通过电刷进入转子线圈,在磁场中受力旋转。嗯,这就是安培力的应用。你记住一个关键点:电机转速和电压成正比,扭矩和电流成正比。

核心公式:

  • 转速 n = (U - IR) / Kφ
  • 扭矩 T = Kφ × I

其中 U 是电枢电压,I 是电枢电流,R 是电枢电阻,Kφ 是电机常数。

我在项目中遇到过一个问题:选电机时只看功率,忽略了额定转速和扭矩的匹配。结果底盘跑起来要么没力,要么速度上不去。后来我学乖了,先算负载再选型。

1.2 H桥驱动电路

电机要正反转,怎么办?H桥就是干这个的。四个开关管组成一个"H"形状,通过控制不同开关的通断来改变电流方向。

我的个人习惯:调试H桥时,先用小电压测试,确认逻辑正确再上全压。这习惯救过我不少次。

H桥的四种工作状态:

Q1Q2Q3Q4电机状态
ONOFFOFFON正转
OFFONONOFF反转
OFFOFFOFFOFF停止
ONONOFFOFF刹车

避坑指南:我曾经犯过一个低级错误——上下桥臂同时导通,直接烧了MOS管。记住,一定要加死区时间,哪怕只有几百纳秒。

实际项目中,我推荐用集成H桥芯片,比如L298N、TB6612。自己搭分立元件?除非你在做高功率驱动,否则别折腾。

1.3 PWM调速原理

为什么要用PWM?因为简单、高效。通过调节占空比,就能控制电机两端的平均电压。

占空比 50% 时,平均电压就是电源电压的一半。转速也就差不多一半。但这里有个坑:占空比太低时,电机可能转不起来。

PWM关键参数:

  • 频率:一般1kHz-20kHz,太低会听到啸叫,太高开关损耗大
  • 占空比:0%-100%,实际常用10%-90%
  • 分辨率:8位(256级)够用,16位更细腻

我建议你选PWM频率时,避开人耳敏感区(2kHz-5kHz)。我一般用10kHz,听不到噪音,开关损耗也还能接受。

为什么会这样?因为频率太低时,电机线圈的感抗小,电流纹波大,电机发热严重。频率太高呢?MOS管开关损耗上去了,驱动芯片烫得能煎鸡蛋。

1.4 编码器基础

编码器就是电机的"眼睛"。没有它,你根本不知道轮子转了多少圈、朝哪个方向转。

常用的编码器分两种:

  • 增量式编码器:输出A、B两路脉冲,通过相位差判断方向
  • 式编码器:直接输出角度值,掉电不丢失位置

做底盘驱动,增量式编码器用得最多。为什么?便宜、够用。你想想看,我们只需要知道相对位移,不需要位置。

我的经验:编码器线数(PPR)不是越高越好。1024线对于大多数底盘已经足够。线数太高,单片机中断处理不过来,反而丢步。

编码器读数公式:

// 假设编码器线数 512,4倍频
float distance_per_pulse = (3.14159 * wheel_diameter) / (512 * 4);

// 计算位移
float distance = pulse_count * distance_per_pulse;

嗯,这里要注意:4倍频是利用A、B两路信号的上升沿和下降沿,把分辨率提高4倍。我刚开始做时不知道这个技巧,白白浪费了编码器的精度。

避坑指南:我曾经遇到过编码器信号抖动的问题。排查了半天,发现是电机电刷产生的电磁干扰。解决办法:用双绞屏蔽线,信号线远离电机电源线。

知识体系总览

下面这张图,是我梳理的本章知识结构。你看一遍,心里就有谱了。

底盘驱动基础 直流电机 工作原理 转速与电压关系 扭矩与电流关系 选型注意事项 H桥驱动电路 四种工作状态 死区时间设置 集成芯片推荐 分立元件 vs 集成 PWM调速 占空比与平均电压 频率选择策略 分辨率要求 低占空比问题 编码器 增量式 vs 式 A/B相与方向判断 4倍频技术 抗干扰措施 核心逻辑:电能 → 机械能 → 速度控制 → 位置反馈 电机是心脏,H桥是肌肉,PWM是大脑指令,编码器是眼睛

这四个知识点环环相扣。电机是执行器,H桥是驱动器,PWM是控制手段,编码器是反馈元件。少了任何一个,底盘驱动都玩不转。

好了,第一章就到这里。记住我今天说的这些坑,你后面做底盘融合时会少走很多弯路。

可可精品资料库