# 基于Arduino的SainSmart机械臂控制系统
## 项目简介
本项目是一个基于Arduino平台的开源项目,旨在通过Arduino软件控制SainSmart DIY 6轴机械臂和Sunfounder Rollpaw夹持器。项目使用平滑的Bernstein多项式来实现机械臂的精确控制。
## 项目的主要特性和功能
1. **机械臂控制**:通过Arduino软件控制SainSmart 6轴机械臂,支持多种伺服电机的角度和脉冲宽度控制。
2. **平滑运动**:使用Bernstein多项式实现机械臂的平滑运动,避免突变和抖动。
3. **设备兼容性**:支持多种硬件设备,包括Redboard、DFRobot IO扩展板、6V DC/3A电源、USB Mini-B电缆等。
4. **测试和调试**:提供PC端的测试工具,方便开发者在PC上进行软件测试和调试。
5. **串行控制**:通过串行终端(如`screen`)与机械臂进行交互,支持多种控制命令,如获取和设置伺服角度、脉冲宽度等。
## 安装使用步骤
假设用户已经下载了项目的源码文件:
1. **安装依赖**:
```bash
sudo aptitude install arduino-mk screen google-mock
```
2. **创建初始校准文件**:
```bash
cp calibration.hh.default calibration.hh
```
注意:根据你的机械臂调整校准文件中的限制和偏移,以避免自碰撞。
3. **构建Arduino程序**:
```bash
make
```
注意:你可能需要根据你的Arduino板卡修改`arduino/Makefile`中的`BOARD_TAG`。查看`/usr/share/arduino/hardware/arduino/boards.txt`获取支持的板卡标签。
4. **测试软件**:
你可以在PC上构建并运行测试:
```bash
make check
```
5. **上传到Arduino**:
使用`upload`目标将程序上传到Arduino板:
```bash
make upload
```
警告:在首次连接伺服电机之前,请先编程板卡,以防止异常运动!
6. **控制机械臂**:
你可以使用`screen`串行终端控制机械臂(确保`/dev/ttyUSB0`是正确的端口):
```bash
screen /dev/ttyUSB0 115200
```
示例控制命令包括:
- `o`:检查驱动是否准备好接收更多命令(1=准备,0=忙)
- `t`:获取时间
- `b`:获取基座伺服角度
- `s`:获取肩部伺服角度
- `e`:获取肘部伺服角度
- `r`:获取滚动伺服角度
- `p`:获取俯仰伺服角度
- `w`:获取腕部伺服角度
- `g`:获取夹持器伺服角度
- `B`:获取基座伺服脉冲宽度
- `S`:获取肩部伺服脉冲宽度
- `E`:获取肘部伺服脉冲宽度
- `R`:获取滚动伺服脉冲宽度
- `P`:获取俯仰伺服脉冲宽度
- `W`:获取腕部伺服脉冲宽度
- `G`:获取夹持器伺服脉冲宽度
- `c`:获取当前配置(基座、肩部、肘部、滚动、俯仰和腕部)
- `l`:获取伺服的下限
- `u`:获取伺服的上限
- `45b`:设置基座伺服角度为45度
- `-12.5s`:设置肩部伺服角度为-12.5度
- `10e`:设置肘部伺服角度为10度
- `20r`:设置滚动伺服角度为20度
- `30p`:设置俯仰伺服角度为30度
- `40w`:设置腕部伺服角度为40度
- `0g`:设置夹持器伺服角度为0度
- `2400B`:设置基座伺服脉冲宽度为2400
- `1500S`:设置肩部伺服脉冲宽度为1500
- `720E`:设置肘部伺服脉冲宽度为720
- `1500R`:设置滚动伺服脉冲宽度为1500
- `1500P`:设置俯仰伺服脉冲宽度为1500
- `1500W`:设置腕部伺服脉冲宽度为1500
- `2000G`:设置夹持器伺服脉冲宽度为2000
- `1 2 3 4 5 6c`:设置配置(基座、肩部、肘部、滚动、俯仰和腕部)为1, 2, 3, 4, 5, 和6度
- `1 2 3 4 5 6t`:到达指定配置所需的时间
- `ma`:保存教学点`a`(共有12个教学点从`a`到`l`)
- `'a`:转到教学点`a`
- `da`:显示教学点`a`的配置
- `x`:停止所有伺服(实际上任何未定义的键都可以)
你可以使用`Ctrl-A \\`退出`screen`终端。
## 注意事项
- 自碰撞可能会损坏伺服电机,请谨慎操作。
- 在连接伺服电机之前,请确保电源已正确连接到DFRobot I/O扩展板,以防止板卡电源故障导致异常运动。
## 相关链接
- [SainSmart DIY 6轴机械臂](http://www.sainsmart.com/diy-6-axis-servos-control-palletizing-robot-arm-model-for-arduino-uno-mega2560.html)
- [Sunfounder Rollpaw夹持器](https://www.sunfounder.com/rollpaw.html)
- [Redboard](https://learn.sparkfun.com/tutorials/redboard-vs-uno)
- [DFRobot IO扩展板](https://robosavvy.com/store/dfrobot-io-expansion-shield-for-arduino-v6.html)
- [6V DC/3A电源](http://uk.rs-online.com/web/p/plug-in-power-supply/7424762/)
- [USB Mini-B电缆](https://robosavvy.com/store/sparkfun-usb-mini-b-cable-6-foot.html)
- [Towerpro MG996R伺服电机](http://www.hobbyking.com/hobbyking/store/__6221__Towerpro_MG996R_10kg_Servo_10kg_0_20sec_55g.html)
- [Towerpro SG90 9g伺服电机](http://www.servodatabase.com/servo/towerpro/sg90)
- [2.1 x 5.5mm DC插座](http://www.maplin.co.uk/p/21-x-55mm-dc-socket-plastic-ft96e)
- [JR伺服扩展线](https://www.amazon.co.uk/d/B00P1716VO)
## 致谢
感谢Ian Patient指出使用Bernstein多项式实现平滑机器人运动的思路。
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于Arduino的SainSmart机械臂控制系统.zip
共28个文件
jpg:11个
rb:3个
hh:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 86 浏览量
2024-11-13
23:08:24
上传
评论
收藏 613KB ZIP 举报
温馨提示
# 基于Arduino的SainSmart机械臂控制系统 ## 项目简介 本项目是一个基于Arduino平台的开源项目,旨在通过Arduino软件控制SainSmart DIY 6轴机械臂和Sunfounder Rollpaw夹持器。项目使用平滑的Bernstein多项式来实现机械臂的精确控制。 ## 项目的主要特性和功能 1. 机械臂控制通过Arduino软件控制SainSmart 6轴机械臂,支持多种伺服电机的角度和脉冲宽度控制。 2. 平滑运动使用Bernstein多项式实现机械臂的平滑运动,避免突变和抖动。 3. 设备兼容性支持多种硬件设备,包括Redboard、DFRobot IO扩展板、6V DC3A电源、USB MiniB电缆等。 4. 测试和调试提供PC端的测试工具,方便开发者在PC上进行软件测试和调试。 5. 串行控制通过串行终端(如screen)与机械臂进行交互,支持多种控制命令,如获取和设置伺服角度、脉冲宽度等。
资源推荐
资源详情
资源评论
收起资源包目录
(源码)基于Arduino的SainSmart机械臂控制系统.zip (28个子文件)
dfrobot.jpg 58KB
jr-servo-wire.jpg 26KB
circle.yml 636B
Makefile 924B
client.rb 3KB
etc
screwterminal.jpg 59KB
client.rb 1KB
overview.jpg 99KB
maxima
polynomial.png 3KB
curve.dem 1KB
jrplug.jpg 66KB
arduino
Makefile 343B
sainsmart.ino 3KB
main.rb 2KB
test-suite.cc 21KB
path.hh 2KB
profile.hh 1KB
power-supply.jpg 15KB
dc-socket.jpg 4KB
6axis-size.jpg 30KB
controllerbase.hh 9KB
TODO.md 128B
usb-mini-b.jpg 27KB
rollpaw.jpg 37KB
README.md 5KB
COPYING 1KB
calibration.hh.default 801B
redboard.jpg 199KB
共 28 条
- 1
资源评论
t0_54coder
- 粉丝: 2380
- 资源: 2411
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaweb的网上拍卖系统,采用Spring + SpringMvc+Mysql + Hibernate+ JSP技术
- polygon-mumbai
- Chrome代理 switchyOmega
- GVC-全球价值链参与地位指数,基于ICIO表,(Wang等 2017a)计算方法
- 易语言ADS指纹浏览器管理工具
- 易语言奇易模块5.3.6
- cad定制家具平面图工具-(FG)门板覆盖柜体
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功