极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11857|回复: 3

以最小系统(或平价 arduino 板子) 改装总线舵机可行吗?

[复制链接]
发表于 2015-6-10 23:46:14 | 显示全部楼层 |阅读模式
本帖最后由 Super169 于 2015-6-10 23:47 编辑

今天看了 迷你强大大 的 新一代的桌面气象站系统, 向大大问及传感器连接时, 大大提到全部用上总线式.

令我突然想到, 如果可以做一块类似的板子, 以总线式连接 arduino, 然後再接上舵机, 是否可以把一般舵机都转成总线呢?

由於之前在连接舵机上, 看到总线舵机在连接上很方便, 一个一个舵机连上去, 主板的连线也比较简单.
但总线舵机非常昂贵, 一般都要数百元.  如果可以把一般舵机改成总线, 就可以省下一大笔了.

我本身是硬小白, 如何用电子元件改成总线真的不会.  但如果配合软件, 应该可行吧.
之前做过一些 arduino 用 i2c 通讯的程式, 如果套用在这个课题上.  
可以用 arduino 当成一个模块, 就称它为 总线模块, 连接舵机 並用以下方式运作:

1) 用 i2c 的方式把 总线模块 跟 主体的 arduino 连接, 并进行通讯
2) 用 4-8 个 I/O 去设定 i2c address (用最简单的二进法就可以了).  
   程式中把接口设定为 input_pullup, 用 gnd 连线去改变值, 把几个接口读取了的值(HIGH/LOW) 再以 二进法 转成地址.  8 个 I/O 就可以设定 256 个地址了.

3) 设定几个简单的指令:
   - 设定舵机角度 (甚至可加入所需时间)
   - 回传当前舵机角度
   
4) 当 总线模块 接收到角度设定的指令, 就向舵机发出指令 (就是执行 servo 库中的设定)

5) 当 总线模块 接收到 回传当前舵机角度的指令, 只要曾经执行过一次角度设定, 就假设最後执行的角度是现在的角度回传.  
   不过, 如果之前执行的指令出了问题, 回传的角度就不是真实角度了.

6) 发挥一点想像, 还可以再设定一些其他指令呢

硬件方面, 只要在 arduino 板子做的 总线模块上加上引出 a4, a5 引脚的接线作桥接, 再加上电源的连线, 就可以再连去其他 总线模块 再连接舵机, 而实现总线连线.

由於我对硬体不熟悉, 只可以用 pro mini 或 nano 等的细小 arduino 板子去做.
之前经常听到大家说的最小系统, 不知是否可以用更简单的方法实现?

这样的话, 一个总线舵机, 只是比一般舵机多 10元左右 (就当是买一块平价 pro mini 我价钱), 绝对值得吧.

大家认为这个想法可行吗?  
回复

使用道具 举报

发表于 2015-6-11 09:05:36 | 显示全部楼层
Ref
PCA9685
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-11 09:12:44 | 显示全部楼层
幻生幻灭 发表于 2015-6-11 09:05
Ref
PCA9685

找到了, 謝謝.  
PCA9685
16-channel, 12-bit PWM Fm+ I2C-bus LED controller

原來已經有類似的東西, 先看看.  不知價格如何?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-11 09:25:22 | 显示全部楼层
原来 adafruit 甚至已有 Servo Driver 出了.....
但价格并不便宜, 要 $14.95 (约 93元).

https://www.adafruit.com/products/815
https://learn.adafruit.com/16-channel-pwm-servo-driver

单买 PCA9685 淘宝上只是数元, 但我不懂如何连接.  
成品的控制器大约 20元, 可以考虑.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 08:24 , Processed in 0.063298 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表