成分
STM8S103F3P6 意法半导体 |
x 1 |
绿色 LED SMD 0805 imp 2012 公制 | x 1 |
蓝色 LED SMD 0805 imp 2012 公制 | × 2 |
100nF 电容器 SMD 0805 imp 2012 公制 | x 1 |
1uF 电容器 SMD 0805 imp 2012 公制 | x 1 |
S8050 | × 2 |
AO3400A 医学博士 |
× 2 |
AO3401A | × 2 |
10k 电阻 SMD 0805 imp 2012 公制 | × 10 |
100R 电阻 SMD 0805 imp 2012 公制 | × 2 |
150R 电阻 SMD 0805 imp 2012 公制 | x 1 |
68R 电阻 SMD 0805 imp 2012 公制 | x 1 |
200R 电阻 SMD 0805 imp 2012 公制 | x 1 |
LL4148 德欧泰克半导体 |
× 2 |
Pin Header 01x02 P2.54mm Male Vertical (Places for more Only 8 required) | × 8 |
排针 01x04 P2.54mm 公头水平 | x 1 |
排针 01x04 P2.54mm 母头水平 | x 1 |
稳压器 BOM 文件中的可选组件,不是必需的。 | x 1 |
描述
Tim 的 I2C 智能直流电机驱动器
我正在做一个需要大约六个电机的项目。但是,有许多直流电机驱动器可用。
我使用的电机是带正交编码器的直流电机。
正交编码器具有 A 和 B 输出,需要连接到微控制器,微控制器使用来自正交编码器的数据来确定电机的位置和方向。
这意味着每个电机将有两个编码器连接到微控制器,外加驱动器连接。
有 I2C 电机驱动器,这会减少电机驱动器的连接,但这些不会比普通电机驱动器做的更多,没有通过 I2C 连接的位置反馈。
我想用来控制电机的微控制器的引脚数量有限。
我还想取消微控制器控制所有电机所必须进行的大量处理。
如果微控制器通过 I2C 连接到电机驱动器,那就太好了。微控制器只有两条电线连接到所有电机驱动器。
如果电机驱动器知道电机的位置并可以通过 I2C 连接将此数据发送回微控制器,那就太好了。
如果微控制器只需要向电机驱动器发送位置命令并且电机驱动器完成所有工作,那就太好了。
如果我们可以将限位开关连接到电机驱动器上,这样它就不会超出它们,那就太好了。
如果可以为电机驱动器提供软限制以使其保持在范围内,那就太好了。
如果可以从站点为电机驱动程序提供一个已知位置,这样它就可以在触发时设置一个已知位置,那就太好了。
我想我已经想出了解决方案。
该电机驱动器通过 I2C 控制。
可以为许多场景配置电机驱动器。
最大电机电压为:30v。
最大电机电流为:1A,可以通过加强 PCB 上的走线来增加,MOSFET 的额定电流为 5.8A。(有点OTT但便宜)
系统电压为:3.3v。如果电源来自更高的电源,则可以选择添加稳压器。
大脑是STM8S103F3P6,作为从属I2C Device。
I2C 地址可设置为 0x01 (1) 至 0x7F (127)。所以理论上 126 个电机可以连接到一个微控制器。
可以在此处找到完整的详细信息:Tim 的 I2C 智能直流电机驱动器 - Hackster.io
这是一个视频,显示有关在 I2C 上发送的命令的信息
这里有一些适合我正在从事的项目的电路板。
代码
Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad/固件
https://github.com/Palingenesis/Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad/tree/master/Firmware
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !