自己制作汽车

Crunch

快速而简单的方法

  • 您的汽车需要可以轻松地从树莓派控制
  • 您的汽车不能太大,因为它会太重、危险(而且昂贵)
  • 您的汽车不能太小,因为它需要携带一定数量的设备
  • 您的汽车需要满足最低功率和控制性能标准,以使该模型有意义
  • 您的汽车需要在低速下控制平稳

一般来说,这意味着:

  • 您的汽车需要有一个电机速度控制器(电调ESC),它接收标准的RC 3引脚控制信号(RC PWM样式)
  • 您的汽车需要有一个转向舵机,它接收标准的RC 3引脚控制信号(RC PWM样式)
  • 您的汽车需要有一个无线电接收器,其中包含每个ESC和转向舵机的标准100毫米(2.54毫米)引脚排针。
  • 如果您想参加DIYRobocars比赛,您的汽车需要在1/18比例(最小端)和1/8比例(最大端)之间。
  • 您的汽车需要使用有刷电机或带传感器无刷电机。无传感器的无刷电机在低速下运行时会非常粗糙。如果您购买的汽车配有无刷电机,通常是无传感器的无刷电机,您需要将其与ESC电调一起更换。

其他选项可能也是可行的,请参考本文档末尾的内容。

许多汽车制造商最终会考虑“集成”遥控模型汽车,因为它们通常更便宜。然而,它们之所以更便宜,是因为它们将许多电子和机械部件集成到一个单一的包装中,这意味着我们无法通过树莓派与汽车交互适当的信号来控制汽车。事实上,这些集成汽车中可能根本不存在期望的信号。

这是一个集成的接收器和ESC的示例 - 通常应避免使用: RX ESC 示例

您还需要了解一些关于电子学的知识,例如电源电压和控制信号的区别,微秒的持续时间,以及伏特、安培、瓦特、小时、欧姆和其他测量单位之间的关系。

底盘构建

尽管在Donkeycar之外还有很多设计,但有两个特别突出且值得一提。

Chilicorn 轨道

这是由Markku.ai开发的一种灵活的安装系统。

sCAD 文件

长期社区成员Doug LaRue拥有大量关于如何制作自己的底盘的sCAD设计。如果您想自己制作底盘但不熟悉CAD,这是一个很好的起点。

舵机规格

RC舵机用于控制汽车的转向轮。这个舵机通常在电源线上期望输入4.8V至6V的电压(根据汽车而变化),并在信号线上接收PWM控制信号。通常,这三根线的颜色为黑色-红色-白色,或棕色-红色-黄色,其中暗色线(黑色/棕色)为地线,中间线(红色)为电源线,而亮色线(白色/黄色)为控制线。

控制信号是RC风格的PWM信号,每秒发送60次脉冲,脉冲的宽度控制舵机的左/右转向。当脉冲为1500微秒时,舵机处于中心位置;当脉冲为1000微秒时,舵机完全向左(或向右)转向;当脉冲为2000微秒时,舵机完全向另一个方向转向。这与用于控制电机占空比或LED亮度的PWM信号不同。

舵机的电源通常来自电机ESC,后者内置了BEC(电池消除电路)。

ESC详细信息

电调(ESC)的作用是接收RC PWM控制信号(脉冲介于1000和2000微秒之间),并利用该信号控制电机的功率,使电机以不同的功率正反旋转。再次强调,1500微秒通常表示"中心",对于电机来说意味着"停止"。

电池通常通过比简单控制信号更粗的电线直接连接到电调,因为电机的功率消耗比控制信号大得多。然后,电调通过同样粗的电源线连接到电机。标准的Donkey电机和电调的峰值电流可能约为12A;而带有强大无刷电机的1/8比例遥控车可以达到高达200A的峰值电流!

此外,电调通常包含线性或开关式电压转换器,用于输出控制转向舵机所需的电源;通常在4.8V到6V范围内。大多数电调内置的BEC(电调电源输出)不会提供超过1A的电流,因此通常无法同时为转向舵机和Raspberry Pi提供电源。

接收器详细信息

如果您购买的"套件车"标明"需要接收器",那么您就不需要购买接收器。树莓派加上PCA9685板将扮演接收器的角色,向车辆输出控制信号。购买一个带有转向舵机、电机和电调但不带无线电的"套件车"实际上是确保您构建的车辆具有正确信号的好方法,因为任何带有单独接收器的遥控车都将设计用于适当的PWM信号。

如果您的车辆配有接收器,请确保它具有相邻的用于转向舵机和电调控制的三针排针。一些接收器可能还具有额外的三针排针用于额外的通道,这些通道可能为空,也可能用于控制喇叭、灯光等高级附件。

Donkey车有一个修改版本,可以使用RC无线电在收集训练数据时驱动车辆;这将比使用PlayStation控制器或手机获得更好的车辆控制。然而,这也需要用外部微控制器替换PCA9685板,并修改Donkey的软件以支持它。

最后,一些接收器除了PWM控制信号外,还可以输出包含控制信号的串行数据包。FS-i6B就是这样一个例子,它具有6个PWM信号输出通道,但可以以115,200 bps的串行数据形式输出10个通道的数据,您可以使用外部微控制器读取这些数据,甚至可能使用树莓派(需要重新配置树莓派引导加载程序,并对Donkey软件进行自定义修改)。

电池

Donkey配备了一块镍氢电池(NiMH),这足以让电机运转一段时间(5-10分钟)之后需要充电。这款电池的规格是6个电池单元,容量为1100毫安时(mAh)。由于镍氢电池的电压范围为0.9V到1.35V,"标称"电压为1.2V,因此您可以预期电压在5.4V到8.1V范围内。

镍氢电池的能量密度(单位质量或体积的能量容量)属于中等水平。因此,通过升级到锂聚合物电池(LiPo),您可以提高磁铁车的运行时间和性能。通常,您会选择一块2节电池(2S),锂电池每个电池单元的电压为3.2V到4.2V,因此您将看到电压在6.4V到8.4V范围内。此外,锂聚合物电池通常具有更高的电流容量(电池在行驶时可以提供的安培数)以及更高的储能量(电池在充满电时储存的安时数),因此它的使用时间可能更长。

请注意,电池的容量(运行时间)以安培时(Ah)或毫安培时(mAh)表示,而电池在行驶时可以瞬间输出的电流则以安培(A)为单位。但为了使事情更加混乱,安培通常按能量容量的倍数重新计算,除以一小时;这个比率通常称为"C"。因此,一个额定为10C和2000mAh的LiPo电池,在行驶时可以提供20安培的电流。一个额定为5C和1100mAh的镍氢电池,在行驶时可以提供5.5安培的电流。电池通常会在非常短的时间内提供超过C值的电流,但会发热或产生内部电阻,因此不能依赖这种情况进行正常操作。

对于您的自定义车辆,请注意电调和电机所需的电压,并确保选择与之匹配的电池。较小的遥控车通常使用镍氢电池以便经济实惠,或者使用2节锂聚合物电池以获得更大的动力。较大的遥控车将使用3S(11.1V),4S(14.8V)甚至6S(22.2V)的锂电池,因此需要匹配的电调和电机组合。

最后,请确保选择与您的电池相匹配的充电器。如果您有一块锂聚合物电池,选择一款好的锂电池充电器,并带有与您的电池匹配的平衡插头。切勿将锂电池放电至每个电池单元低于3.2V;如果让它完全放电,它将无法再充至正常电压,并且试图这样做可能会过热并引发火灾!可以在YouTube上看到燃烧的特斯拉的图片,那是因为人们试图通过重新充电已经放电过度的锂电池而导致的。这不值得。相反,购买一款电池报警器,将其插入电池平衡连接器,当电池放电到应该断开连接并充电时,它会发出嘀嘀声提醒您。

物理限制

为玩具车添加额外的电池和自动驾驶电子设备将给车辆增加比初始设计更大的负载。对于大型的1/8比例车辆,这可能不是一个大问题。但对于小型车辆,1/18比例或更小,额外的重量和高重心会导致车辆对转向输出反应不佳,这可能使自动驾驶模型难以控制车辆。

如果您使用的车辆不是标准的Magnet车型,那么至少您需要想办法安全固定所有硬件。仅仅堆放物品并希望电线能够将其固定在原位对于真正驱动和转向的物品是行不通的。寻找良好的安装点,并根据您拥有的车辆尺寸制作自己的"底板"可能是必要的。您可以使用3D打印、激光切割、数控铣削,甚至只是在薄的胶合板上钻孔来制作这个底板,但是与底盘的良好配合非常重要,所以不要匆忙行事或走捷径。

Doug LaRue还在Thingiverse上建立了一个配置工具,使人们可以轻松制作定制的3D打印底板。

其他选项

是的,您可以利用1/5比例的涡轮增压赛车制作自动驾驶汽车。您只需要更多地了解解决方案的各个部分,并自己进行必要的集成。涡轮增压赛车的控制信号是相同的,所以这可能并不难。然而,Donkey Racing Meetups使用的室内赛场只允许电动车,不允许燃油车。

是的,您可以利用廉价的两轮底盘制作自动驾驶车辆,该底盘使用LM298 H-桥和直接PWM控制来实现“履带转向”两个车轮。然而,您需要调整Donkey软件以输出正确的转向控制,并且还需要弄清楚如何将H-桥与树莓派连接起来,使其对您有意义;PCA9685板输出的PWM信号是RC控制类型的,而不是电机控制类型的!此外,大多数价格实惠的两轮驱动机器人底盘实际上并不足够大、足够强壮和机械上足够一致,无法成为良好的Donkey Car候选车辆。