#### 基于树莓派的开源机器人、自动控制扩展模块Robo HAT MM1
---
{{ :logo-robomaster.png?500 |}}
{{ :mm1-1-uai-1440x1920.jpg?600 |}}
机器人大师Robo HAT MM1是[[rpi|Raspberry Pi]]的开源机器人控制器板。 它通过一个简单的外形提供您需要的所有硬件,消除了启动任何机器人项目的初始障碍。 与许多开源软件库(如CircuitPython、SeeSaw和Arduino IDE)的广泛兼容性为您提供了很多的选型能够让你的项目尽快工作。 硬件原理图和软件将完全可用且开源,没有任何限制。
{{ :mm1hat-2_jpg_project-body.jpg?600 |}}
### 硬件构成
#### 功能和规格
* 兼容的[[rpi|Raspberry Pi]](所有带40Pin插头的型号):
* 型号B+,2B,2B+,3B和3B+
* 型号A+和3A+
* Zero和Zero W
* 外形尺寸:
* 标准HAT格式(宽x深):65mm x 56.5mm
* 传感器:
* IMU([[MPU9250]])中的加速度计、陀螺仪、磁力计
* 电流传感器([[INA219]])
* 有足够的空间为将来增添更多传感器(压力传感器、双IMU)
* 处理器:
* 48MHz的SAM D21G
* 256KB的内部闪存
* 8 MiB [[SPI]]外部闪存
* 连接:
* 24个可编程输入/输出:
* 9个通用I/O.
* 8个16位伺服输出(可编程到最高24位)
* 6个直接连接到Raspberry Pi(软件编程,控制,串行控制台)
* 4个16位RC控制器输入
* NEOPIXEL输出
* JST DroneCode兼容的连接器:
* [[GPS]]
* [[UART]]
* [[SPI]]
* [[I2C]]
* USB到串行传递以与Raspberry Pi'在现场进行通信'
* 供电:
* 板载5V稳压器(用于Raspberry Pi,Servos)
* 板载小型LiPo电池充电器(适用于Raspberry Pi)
* 电池直通(适用于Servo,ESC,Raspberry Pi)
* 单独的为伺服供电的电源(用于从ESC返回供电)
#### 功能框图
{{ :robohat-diagram-one-rev6_jpg_project-body.jpg?1000 |}}
外部:
* A. Inputs for radio controller
* B. Raspberry Pi header (final version not stackable)
* C. SPI connector
* D. GPS connector
* E. I²C external connector
* F. Telemetry / USART connector
* H. Auxiliary battery (4.2 V)
* I. ESC power pass through
* J. Main battery (7-15 V, 1000 mAh capacity)
* K. USB connector
* L. Power-on button
* M. Outputs for servos
{{ :robohat-diagram-two-rev6_jpg_project-body.jpg?1000 |}}
内部
* N. NeoPixel header
* O. E-Stop header
* P. LiPo battery charging
* Q. Reset button
* R. LED
* S. Pads for switching SPI connector
* T. Pads for switching I²C bus
* U. Serial header
{{ :robohat-updated-board-labeled_jpg_project-body.jpg |}}
### 软件平台
#### 已经支持的平台
* CircuitPython(在本扩展板上直接运行)
* SeeSaw(在树莓派上通CircuitPython一起运行)
* Arduino IDE
#### 拟未来支持的平台
* Scratch(正在开发)
* PX4(DroneCode)飞控(正在调研)
* ArduPilot控制(正在调研)
### 应用场景
#### 自动车辆 - DonkeyCar(驴车)、DIY RoboCar、 ArduPilot等
Donkey Car和DIY Robocar社区团体对Robo HAT MM1开发至关重要。 他们已经使用Donkey Car Platform(一种广泛使用的小型自动驾驶汽车套件)对HAT进行了测试,效果非常好。Robo HAT MM1不需要PWM驱动器、外部电源或稳压器,并增加了额外的功能。 Robo HAT MM1包括一个IMU(惯性测量单元) - 可用于测量汽车的运动。 它还包括RC控制器输入,可消除在训练期间使用Raspberry Pi控制汽车所造成的任何延迟。 使用Robo HAT MM1可以简化设置,同时改善整个自动驾驶汽车项目。
{{ :robohatpic1.jpg?600 |}}
#### 教育 - 中小学生
我们已经在学校课程和研讨会中使用Robo HAT MM1(和自动驾驶汽车)作为教育工具。该项目的核心驱动因素之一是澳大利亚学校不断变化的课程 - 所有学生现在必须学习编码作为他们技术课程的一部分(这种变化是在2019年1月发生的)。 基于项目的学习(PBL) - 通过创造或创造某些东西来学习似乎是教授学生编程的最佳方式。 我们想要创建一个平台,可以用来学习编程的基础知识,一直到机器人和自动驾驶汽车以及其他! Robo HAT MM1是我们希望在学校实现更好的编程教育的方式之一。
CircuitPython是实现这一目标的关键部分之一,因为学生可以开始学习Python的基础知识,然后进行更复杂的任务。
{{ :robohatpic2.jpg?600 |}} 跟树莓派搭配使用
{{ :robohatpic3.jpg?600 |}}跟Jetson Nano搭配使用
{{ :robohatmm1-kit-educational_png_project-body.jpg?1000 |}}众筹网站提供的教育套件
#### 创客和骇客
作为制造商,我们希望创建一个能够帮助我们构建更酷项目的平台。 我们想要一个经济实惠的电路板,它具有良好的有用功能。 这包括许多伺服输出、大量输入和功能,以构建新的和创造性的项目。 使用Robo HAT MM1就能做到这一点。Robo HAT MM1是硬件功能和软件灵活性的完美结合 - 使其成为任何机器人项目的必备工具。
{{ :robohatpic4.jpg?600 |}}
### 资源链接
{{ :drone-kit-b-2-clean-1_png_project-body.jpg |}}
####官方网站
* [Robotics Master官方网站](https://roboticsmasters.co/pages/robo-hat-mm1/)
* [CrowdSupply众筹页面](https://www.crowdsupply.com/robotics-masters/robo-hat-mm1)
#### Robotics Masters资源
* [Robotics Masters GitHub](https://github.com/robotics-masters/)
* [Robotics Masters CircuitPython GitHub](https://github.com/robotics-masters/mm1-hat-cpy-native/)
* [Robotics Masters CircuitPython Library](https://github.com/robotics-masters/RoboticsMasters_CircuitPython_MPU9250)
* [Robotics Masters SeeSaw GitHub](https://github.com/robotics-masters/mm1-hat-seesaw)
* [Robotics Masters Donkey Car GitHub](https://github.com/robotics-masters/donkeycar)
* [Robotics Masters ArduPilot GitHub](https://github.com/robotics-masters/ardupilot)
#### 其它相关的支持文档:
* 驴车
* [文档](http://docs.donkeycar.com/)
* [社区](http://www.donkeycar.com/)
* SAMD 21G(M0)
* [信息](https://www.microchip.com/wwwproducts/en/ATsamd21g18)
* [数据表](http://ww1.microchip.com/downloads/en/DeviceDoc/SAMD21-Family-DataSheet-DS40001882D.pdf)
* MPU-9250 9DoF(IMU)
* [信息](https://www.invensense.com/products/motion-tracking/9-axis/mpu-9250/)
* [数据表](http://www.invensense.com/download-pdf/mpu-9250-datasheet/)
* [机器人大师CircuitPython库](https://github.com/robotics-masters/RoboticsMasters_CircuitPython_MPU9250)
* 电流传感器(INA219)
* [数据表](http://www.ti.com/lit/ds/symlink/ina219.pdf)
* CircuitPython
* [文档](https://circuitpython.readthedocs.io/en/3.x/)
* [Adafruit学习教程](https://learn.adafruit.com/welcome-to-circuitpython/overview)
* [GitHub](https://github.com/adafruit/circuitpython)
* [Robotics Masters CircuitPython GitHub](https://github.com/robotics-masters/mm1-hat-cpy-native/)
* SeeSaw
* [Adafruit学习教程](https://learn.adafruit.com/adafruit-seesaw-atsamd09-breakout/overview)
* [GitHub](https://github.com/adafruit/seesaw)
* [机器人大师SeeSaw GitHub](https://github.com/robotics-masters/mm1-hat-seesaw)
硬禾实战营有一个[[tproject1.4|基于树莓派的六足机器人的控制/驱动板项目]],有很大的相似之处,有详细的项目制作流程以及相关的技术文档,也欢迎有这方面经验和兴趣的工程师朋友加入到我们的项目完善的过程中。