玩命加载中 . . .

面包板自平衡机器人


自平衡机器人并不是什么新鲜事物,今天介绍的与其他平衡机器人的不同之处在于紧凑设计和模块化制作,只需要插入各种模块即可制作机器人,并可以在几分钟内组装完成。

1. 设计思路

  • 面包板

PCB 通常用于将电子元件连接在一起,但由于考虑到本次制作的模块化且易于组装,因此最好的方法是使用面包板。将使用 2 个迷你面包板来连接所有电子器件。

  • 微控制器

这里使用Arduino Nano来作为微控制器板,用于控制电机、感测倾斜角度和实现 PID 算法。

  • 运动追踪装置

为了测量倾斜角,我们将使用 MPU6050 运动跟踪设备,它具有 3 轴加速度计和 3 轴陀螺仪,并使用互补滤波器,将来自加速度计和陀螺仪的测量值结合起来,以获得无噪声和稳定的角度值。

  • 电机

本次使用的电机是 12V 300RPM N20 微型齿轮电机,带有兼容的轮子和安装支架。

  • 电机驱动

为了驱动电机,将使用 L293d 电机驱动器。该驱动器在单个 DIP 封装中具有两个全 H 桥驱动器,非常适合本次应用。

  • 其他

使用3D 打印的支架将所有东西固定在一起,而跨接线将用来连接所有电子器件。

2. 所需组件

电子元件

  • 迷你面包板-2个
  • Arduino Nano-1个
  • MPU6050-1个
  • L293D电机驱动器(DIP封装)-1个
  • N20 微型齿轮电机(12V 300RPM)-2个
  • 兼容 N20 电机的车轮-2个
  • 9V电池-2个

耗材

  • 彩色单股线
  • 3D打印
  • 公头排针
  • 电池卡口连接器
  • 扎线带
  • 12V电源
  • 直流连接端子
  • 橡皮筋

工具

  • 烙铁
  • 焊锡丝
  • 钳子

3. 相关理论

机器人工作原理

自平衡机器人试图通过某种方式来抵消作用在其质心上的重力来平衡自己。使用电机来产生反作用力。你可以想象,当我们试图平衡手掌上的一根棍子时,我们会移动放在我们手掌上的棍子底部来平衡它。机器人也是如此,它使用电机轮移动其底座。

什么是PID?

PID指的是比例、积分、微分,它是一种控制循环机制,主要作用是持续监控机器人倾斜角度并控制电机速度以达到平衡。

什么是互补滤波器?

可以通过两种方法使用 MPU6050 测量倾斜角,使用其加速度计或使用陀螺仪。这两者的问题是,加速度计容易受到噪声和陀螺仪测量值随时间从实际值漂移的影响。因此,为了避免这些,我们将两个值结合起来,并使用互补滤波器过滤掉错误。

4. 准备Arduino Nano连接

Arduino Nano 有很多 GPIO 可供使用,我们也不会全部使用它们。我们将只焊接那些正在使用的引脚,而不是焊接所有的排针。这样我们就有足够的空间让跳线绕面包板走线。

  • VIN
  • GND
  • 5V
  • A4—SDA
  • A5—SCL
  • D5—M1power
  • D6—M2power
  • D8—M1enable
  • D9—M2enable
  • D10—M2方向
  • D11—M1方向
  • D2,D3,D7—供以后使用

5. 准备MPU6050连接

MPU6050 使用 I2C 通信将测量数据传输到 Arduino Nano。将排针焊接到 VCC、GND、SCL、SDA 引脚。

将 MPU 放在第二个面包板上连接:

MPU6050 Arduino Nano
VCC 5V
GND GND
SCL A5
SDA A4

6. 程序及所需库

MPU6050用的是Jeff Rowberg开发的库。下载后解压压缩包文件,将i2cdevlib-master\Arduino下的MPU6050和i2cdev两个文件夹,复制到Arduino IDE外部库文件夹中,重启IDE可看到安装好的库。

为了实现 PID 控制器,我们将使用 Brett Beauregard 的库。它可以从 Arduino IDE 本身的库管理器安装。

完整的程序代码可在文末获取。

7. 电路连接

按照原理图连接所有电子器件。

8. 3D打印及组装

本次设计使用fusion 360设计了底座和支架,3D文件可在文末获取。将电机和支架通过螺栓固定到底座,并将面包板和电池插入底座。

9. 连接电机完成组装

按照原理图,将电线焊接到电机。最后安装轮子完成组装。

10.问题及改进

本次设计没有考虑电池是否能够为电机正常工作提供最大电流。虽然直流电机可以在明显低于额定电压的电压水平下运行,但 9V 电池无法为电机提供足够的电流来工作,最后使用了外接12V直流电源。后续可对电源部分进行改进升级。


关注公众号「TonyCode」,更多精彩内容分享。

扫码关注


文章作者: Tony
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Tony !