嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

title

这是树莓派机器人板的硬件性能和软件支持。

树莓派是一种流行的单板计算机,拥有用大量的GPIO(通用输入输出口)引脚使其成为一种理想的物理计算项目的开发平台。在3.3V时大部分引脚能提供最大50毫安的电流,这非常适合低功耗应用。对于需要更多的功率的应用如驱动马达,额外的硬件是必要的。

加入Gertbot:Gertbot是树莓派的附加模块,可直接接到GPIO引脚。它的主要目的是驱动电机,板载的四个H桥可驱动多达四个电压30V,2.5A的直流电机或两个步进电机。每个Pi最多可以级联4个Gertbot,根据需要提供更多输出的选择。

额外的GPIO包括两个DAC,四个ADC以及两个开漏输出。这意味着,如果你可以连接模拟设备,如电位器,力敏电阻器和动圈式仪表到你的Pi 上了。

上面还板载了一个64MHz、Cortex-M3的ARM与自身的固件预编程的微控制器,负责需要的信号配时和PWM生成,这意味着Pi不必运行专门的实时内核或操作系统。

让人安心得是板上装有热关机和短路保护,以及预配置保障措施,比如由于电机故障发生了急停及系统停机,ARM微控制器运行该保障措施对,并且可以从PI高级命令调用。

这篇文章中,我们来看看将Gertbot连接到Pi,带动一个简单的直流有刷电机并升级ARM微控制器上运行的固件。

启动

title

用到以下硬件:

  • 安装有最新版本Raspbian的树莓派2 
  • Gertbot
  • 直流有刷电机
  • 12V电源

有大量的关于Gertbot的文档可供使用,主要手册提供了一系列的帮助,从章节0—“我想马上开始使用!”到关于软件命令更深入的信息,甚至是类似H桥的运作的硬件基础都在文档中有说明。

给个小建议,第一章是在Gertbot连接到Pi之前提供读者一些关于电子方面的知识。

注意,虽然额定功率高达30V,使用超过18V的附加电源会导致危险电压存在于Gertbot。如果您有任何疑问,请阅读完整的Gertbot文档。

title

装上Gertbot很简单,只要将黑色的大的连接器推到Pi的GPIO引脚上。需要注意的是,当使用更高版本的Pi,有更多的GPIO引脚时,必须小心,以确保正确的电路板布局(见上图)。

title

DC电动机以及一个12伏电源被安装在板上并连接到Gertbot,如上所示。Pi然后连接到网络,启动前通过SSH从不同的计算机登录。

软件

title

出现了一个终端,我们现在可以下载连接到Gertbot所需的软件了:
gertbot_exe_2.6.tgz - Linux系统使用的图形用户界面
enable_uart_exe.tgz -启动Pi的UART的可执行文件

这些可以从这里这里下载并需要解压。 GUI提供控制电机的接口,直接连接到Gertbot而不需任何编程,这非常适用于测试硬件,而不必担心自己的代码 。但在这可以使用之前, Pi上的UART必须先启用。要做到这一点,enable_uart可执行文件可以用下面的命令来运行:

$ sudo ./enable_uart cfr

title

一旦完成后,Pi会重新启动并且执行GUI:

$ ./gertbot

如图所示,加载的日志复选框可以点击,打开窗口显示了发现一个Gertbot板连接到PI,2.3版本。下拉菜单可以选择电机的配置和按钮来启动和停止电机旋转,日志显示了正在从Pi发送到Gertbot的串行命令。

title

关于Gertbot的另一重要信息:大多数控制电机的硬件已经通过板上的软件处理了。您可以从之前提供的GUI,使用你自己的Python或C程序的相同命令来测试控制功能,而无需亲自花费时间实现低级别电机控制。

固件更新

title

随着新功能的增加和bug修复, Gertbot firmwareare的新版本可供下载。在编写了最新2.6版本之际,一些发布于2.3的版本之后的固件是和板子一起提供的。要更新Gertbot,需要下载下列文件:

  • gb_upload_exe.tgz -上传新固件到Gertbot微控制器的可执行文件
  • rmc_2.6.crypt –是 Gertbot微控制器的最新固件版本

高级手册中,尽管显示了重要警告如果程序出现故障死板,无法良好运作,要上传可执行文件。在新的固件上传到Gertbot后,系统重新启动并执行GUI日志检查,看看新版本是否如预期正常运行。

title

注意,如果你想在Gertbot的微控制器运行自己的固件这是可行的,但这需要使用Atmel JTAG调试器,并超出了本文的范围。如需获取更多信息详见高级手册。

用Python控制

title

Gertbot网站上提供可供C/ C ++和Python编程的Gertbot驱动库。还提供示例源代码- 我下载了Python 编程“Simple Rover”的例子,查看了代码。

Python的例子注释清晰完整,因此很容易理解和修改。我写了一个带有双电机的Roving robot机器人,其中包括用键盘控制方向。还可以使用这个文件来测试电机控制,这个电机已经通过简单修改注释的'development environment'变量部分,并使用’rover’变量- 定义板为数字0,左马达为0。

请注意,正确操作Gertbot的例子您必须使用Python3而不是Python 2:

$ python3 rover.py

title

该程序允许用户用键盘上的数字控制电机。请记住,如果只连接一台电机,像我们例子中一样,不是所有的控件都能控制电机旋转。

总结

Gertbot以最少的硬件为树莓派提供了快速并简单的连接电机的方法。虽然在这篇文章中,我们只连接了一个DC马达,但事实上它最多可以连接多达四个直流电动机或两个步进电机,但如果您需要更多的输出,它可以连接总共四个Gertbot板。Gertbot也可以用于驱动类似LED照明系统等其它高功率器件

该文件某些方面略有粗糙,但整体上完好,并提供了足够的指导,快速入门指南中还涵盖了更高级的功能,如级联多个Gertbot板,结合H桥获得更高的输出电流等。

该软件的可执行文件使得启动Gertbot更容易,而代码示例为你自己的编程提供了关于如何控制高功率负载进一步的指导。

如果不需要连接Pi使用Gertbot,那么它还可以用其它任何计算机的串行端口单独使用和控制它,为物理计算提供更多的选择。

Raspberry Pi 2 Model B

Gertbot

DC Brush Motor

maker, hacker, doer