1 概览
注:该文档由北京小芽科技翻译自ROBOTIS官方文档,以下大部分链接将转至ROBOTIS官方技术文档相关产品站点。
OpenRB-150是一款开源的Arduino兼容嵌入式控制器。
该控制器具有与Arduino MKR相同的引脚和外形尺寸,以确保与物理配件的兼容性,并支持使用Arduino IDE编程。
OpenRB-150还具有4个专用的DYNAMIXEL端口,并支持DYNAMIXEL Wizard 2.0测试和校准软件。
注意 :使用OpenRB-150和DYNAMIXEL Wizard需要特殊固件。该固件包含在OpenRB板管理程序包中。
2 规格参数
名目 | 技术参数 |
---|---|
MICROCONTROLLER | SAMD21 Cortex-M0+ 32bit low power ARM® MCU |
BOARD POWER SUPPLY | (USB 3.0) 5 V (VIN -or Terminal) 3.7 ~ 12.6 V |
SUPPORTED BATTERY | Li-Po 1 - 3 cell (3.7 - 11.1 V) XT60 connector ready |
DC CURRENT FOR 3.3V PIN | 300 mA |
DC CURRENT FOR 5V PIN | 300 mA |
DC CURRENT FOR DYNAMIXEL PORTs | 3,000 mA |
CIRCUIT OPERATING VOLTAGE | 3.3 V |
DIGITAL I/O PINS | 24 |
PWM PINS | 12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 - or 18 -, A4 -or 19) |
UART | 2 |
SPI | 1 |
I2C | 1 |
ANALOG INPUT PINS | 7 (ADC 8/10/12 bit) |
ANALOG OUTPUT PINS | 1 (DAC 10 bit) |
EXTERNAL INTERRUPTS | 10 (0, 1, 4, 5, 6, 7, 8, A1 -or 16-, A2 - or 17) |
DC CURRENT PER I/O PIN | 7 mA |
FLASH MEMORY | 256 KB |
FLASH MEMORY FOR BOOTLOADER | 8 KB |
SRAM | 32 KB |
EEPROM | no |
CLOCK SPEED | 32.768 kHz (RTC), 48 MHz |
LED_BUILTIN | 3 |
DYNAMIXEL TTL Port | 4 (Max 1 Mbps) |
Board Dimensions | 25 x 66 mm |
Supported Software | Arduino IDE, DYNAMIXEL Wizard 2.0 |
Supported DYNAMIXEL* | X Series, MX Series, AX Series, P Series |
*
RS-485 通信的舵机需要 DYNAMIXEL Communication Bridge 模块帮助转换才能跟板子连接。*
24V舵机需要单独的电源连接。
- 警告
- USB端口的电流被内置保险丝限制在500mA,过高电流可能导致用于为OpenRB-150供电的USB端口损坏。
- 对于需要快速移动或高扭矩的应用,建议使用单独的电源供电。
- 在将您的DYNAMIXEL舵机连接到OpenRB-150之前,一定要确认它们的工作电压。
3 硬件布局
引脚分布
重置按钮
按 Reset Button
可以重启微控制器,双按 Reset Button
可以重启微控制器进入启动bootloader模式。
OpenRB-150在bootloader模式下将不会加载它的Arduino固件程序。
警告
重置微控制器也将重置任何连接的DYNAMIXEL舵机的电源。
重要的是,只有当电容器处于安全位置时,才能重置微控制器,以避免电容器被重置时可能造成的损害或伤害。
DYNAMIXEL舵机电源选择
DYNAMIXEL端口的电源是由微控制器底部的FET控制的。
FET可以启用和禁用连接端口的电源,默认情况下FET是关闭的,不管OpenRB-150是否通电状态。
当FET打开时,”DXL “红色LED也会打开以确认电源状态。
Terminal VIN
板子提供了一个外接电源端子,能够兼容多种电压电源。
ROBOTIS建议尽可能使用该接线端子进行板子及舵机供电。
要通过Terminal VIN向OpenRB-150控制器供电,请将跳帽设置在VIN(DXL)
一侧,如下图所示。
Terminal VIN 跳帽选择
电源输入电路
注意事项
当电池连接到控制器时,请不要给电池充电。
XT60 连接器
XT60连接器在遥控产品中被广泛使用,它可以 装配在OpenRB-150控制器的背面。
在焊接XT60直角连接器之前,请先拆除接线端子。
XT60 连接器备用口
电源选择跳帽
OpenRB-150可以用三种电源供电。
为了向控制器和DYNAMIXEL正确供电,需要正确设置电源跳帽。
当使用USB或者扩展管脚供电时 | 当使用绿色连接器或者XT60连接器外部供电时 |
---|---|
![]() |
![]() |
DYNAMIXEL 端口
4个DYNAMIXEL舵机端口可用于任何支持半双工TTL的DYNAMIXEL舵机。
当使用RS-485的DYNAMIXEL舵机时,可以使用DYNAMIXEL Communication Bridge转换模块进行连接。
DYNAMIXEL 舵机通信转换模块
串口
分配给 “Serial2 “的串行端口可以用来连接各种设备,可以用于调试代码或控制控制器。
LEDs
三个LED指示OpenRB-150控制器的状态。
PWR
(绿色):只要OpenRB-150有电,这个LED就会亮起。USER
(橙色):这个LED可以通过Arduino代码中的用户管脚32针或LED_BUILTIN来控制。DXL
(红色):当DYNAMIXEL端口通电时,该LED将被打开。
4 管脚定义
1 | // Battery 电池 |
5 供电方式
OpenRB-150 提供三种供电方式,请根据需求选择其中一种:
USB C 供电
VIN扩展管脚供电
Terminal VIN 供电
警告
- 在将任何电源连接到OpenRB-150之前,一定要检查其极性。
不正确的极性会永久性地损坏微控制器。 - 确保根据电源设置跳帽位置。
连接方式例子
5V Dynamixel舵机跟OpenRB-150控制板连接方式
警告
对于需要高速度或高扭矩的应用,请通过Terminal VIN供电。
USB端口不适合作为动态马达操作的电源。
从USB端口抽取过多的电源可能会导致电脑重新启动或损坏。
建议使用一个外部电源,如下图所示。
当使用12V 的TTL(3PIN) DYNAMIXEL舵机时
当使用12V 的RS-485(4PIN) DYNAMIXEL舵机时
6 开发环境
DYNAMIXEL Wizard 2.0
OpenRB-150支持DYNAMIXEL Wizard 2.0。
为了用DYNAMIXEL Wizard 2.0来配置和管理DYNAMIXEL,请上传OpenRB-150 sketch例程中的usb_to_dynamixel
程序代码。
注意
usb_to_dynamixel “程序作为出厂默认固件被上传到OpenRB-150。
usb_to_dynamixel程序支持高达1 Mbps的波特率。
用USB type C数据线连接OpenRB-150,然后上传 usb_to_dynamixel 程序
OpenRB-150支持DYNAMIXEL Wizard 2.0的大部分功能,包括测试DYNAMIXEL、固件管理、数据包分析、数据绘图、控制表备份等。
支持高达1 Mbps的各种波特率
支持DYNAMIXEL 固件恢复(Firmware Recovery)及固件更新
支持数据图形分析
支持分析DYNAMIXEL数据包
安装 Arduino IDE
Linux系统端安装
从Arduino官方下载页面下载Arduino IDE的 “Linux 64 bit “版本。
https://www.arduino.cc/en/software
将下载的文件解压到所需的文件夹中,并在终端执行以下安装脚本。
1
$ ./install.sh
要在Linux平台上运行Arduino IDE,请在终端输入以下命令。
1
$ arduino
Mac系统端安装
- 从Arduino官方下载页面下载Arduino IDE的 “Mac OS X版本”。
https://www.arduino.cc/en/software
- 将下载的Arduino文件拖到
Applications
中. - 运行 Arduino IDE.
Windows系统端安装
- 从Arduino官方下载页面下载Arduino IDE的 “Windows安装程序版本”。
https://www.arduino.cc/en/software
- 运行安装文件。
- 运行 Arduino IDE。
请参阅 Arduino Software Installation instruction video 视频。
安装Board Manager
在Arduino IDE上,从顶部菜单进入 File > Preferences
。
当 “Preferences”窗口出现时,在 “Additional Boards Manager URLs”文本框中复制并粘贴以下地址。
1 | https://raw.githubusercontent.com/ROBOTIS-GIT/OpenRB-150/master/package_openrb_index.json |
Arduino SAMD Board Manager
OpenRB-150需要Arduino SAMD板管理器来构建和上传程序到控制器。按照下面的说明来安装Arduino SAMD板管理器。
- 进入Tools > Board > Boards Manager。
- 搜索
Arduino SAMD
并安装最新版本。
按照下面的说明来安装OpenRB-150板卡管理器。
- 进入Tools > Board > Boards Manager。
- 搜索 “OpenRB “并安装最新版本。
Library API
有三种方法来添加库到Arduino IDE。
- 使用库管理器
- 导入一个.zip库
- 手动安装
每种方式在Arduino官方指南中都有详细描述,如有必要请查阅参考。
下面是一个使用库管理器的例子。
从库管理器中搜索 “DYNAMIXEL2Arduino “并安装该库。
如果DYNAMIXEL2Arduino库已经成功安装,可以在DYNAMIXEL2Arduino类别下找到控制DYNAMIXEL的有用例子。
Dynamixel2Arduino库
Dynamixel2Arduino Class
- begin()
- getPortBaud()
- ping()
- scan()
- getModelNumber()
- setID()
- setProtocol()
- setBaudrate()
- torqueOn()
- torqueOff()
- ledOn()
- ledOff()
- setOperatingMode()
- setGoalPosition()
- getPresentPosition()
- setGoalVelocity()
- getPresentVelocity()
- setGoalPWM()
- getPresentPWM()
- setGoalCurrent()
- getPresentCurrent()
- getTorqueEnableStat()
- readControlTableItem()
- writeControlTableItem()
Master Class
DYNAMIXEL2Arduino类从Master类继承了以下公共函数。
上传 Sketch程序
上传Sketch程序到OpenRB-150,上传方式跟Arduino控制器类似。
通过USB线将OpenRB-150连接到PC上,选择OpenRB-150板和连接到OpenRB-150的端口,然后点击 “Upload “图标。
注意: 如果在上传过程中出现错误,请尝试在引导者模式下(通过双击Reset按钮实现)上传程序。
7 下载
- OpenRB-150 电路原理图(PDF)
- OpenRB-150 2D 图纸(PDF, DWG)
- OpenRB-150 3D 模型(STL, STEP)
- OpenRB-150 开源资料 (GitHub Repo)
- DYNAMIXEL2Arduino 库(GitHub Repo)