Super169 发表于 2015-6-10 23:46:14

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

本帖最后由 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

Super169 发表于 2015-6-11 09:12:44

幻生幻灭 发表于 2015-6-11 09:05 static/image/common/back.gif
Ref
PCA9685

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

原來已經有類似的東西, 先看看.不知價格如何?

Super169 发表于 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元, 可以考虑.
页: [1]
查看完整版本: 以最小系统(或平价 arduino 板子) 改装总线舵机可行吗?