电机驱动器如何通过I2C接口使用PID算法控制电机

网友投稿 291 2022-11-05

电机驱动器如何通过I2C接口使用PID算法控制电机

项目描述

这是一款智能电机驱动器(又称SAMI),设计用于运行微型齿轮电机,该电路板的目标是通过相应的转速反馈对该电机实施PID控制。板子上包含了所有必需的组件,因此可以自行工作运行。

供电和命令发送都是通过I2C接口。

对于任何人来说,制作先进的机器人从来没有这么简单过!现在,只需要把SAMI这个模块和你的电机连接到一起即可。

项目细节

主机上的微控制器(或者任何支持I2C端口的系统)通过I2C和智能电机驱动器进行通信,发送包括电机速度、转向在内的命令。SAMI自动实现PID控制算法,保持速度,并在电机的动态运行中增加或减少功率以控制转矩和速度。

此外,该控制器能够驱动电机轴上负载走完所需的距离或角度,然后在达到目标值时自动停止。因此,如果用来驱动一个轮子,你必须同时制定轮子的直径和变速比等参数。

这款智能电机驱动器的主要设计思想是用在机器人中,通过使用它来控制机器人的轮子,无论表面是否光滑,电池电量是否充足还是机器人负荷重量发生了变化,都可以进行精确的运动控制。

特征

安装在微型直流电机的背面,安装方便;

可以轻松控制电机的速度和转向;

达到既定距离或角度时自动停止;

支持多种控制模式,包括带有或者不带自动停止功能的简单PWM控制或PID控制;可添加安全的方向转变功能;

通过I2C进行通信,可以通过软件更改地址;

可同时控制很多电机,最多支持在同一条I2C总线上挂载128个模块;

可以通过软件启动或禁用I2C的内部上拉电阻;

读取电机的实际转速,并检查是否发生了故障;

完全可配置;

易于使用的高精度电机控制;

尺寸小;

提供可用的Arduino库。

技术规格

电机电压可达11v;

最大电机连续电流峰值高达1.7A和1.8A;

逻辑电压范围为3-5v;(稍后的版本经测试后可支持到1.8v范围)

默认I2C地址为0x24;

过流保护和过热保护;

要复位默认的I2C地址,请在上电时将MCLR焊盘连接到地上;

标准1mm 5针JST连接器。

优点

独立进行电机控制;

可实现更平稳、更精确的动作控制;

具有电机保护功能;

解决方案方便易用;

内置电机速度反馈;

高响应速度的PID控制算法,保持电机速度恒定;

如果事先指定,可自动停在所需的距离或角度上;

与IMU等其他传感器结合使用时,可实现性能强大的机器人导航解决方案;

开源设计。

安装

要将SAMI安装到电机上,只需要把它和电机的驱动线、反馈线焊接在一起,并如下视频所示放置编码器。

重要提示:您的电机轴上必须留出足够的位置,以便放置编码器!

管脚

通过JST连接器和SAMI进行通信;

ICSP管脚用于更新固件;

MCLR管脚用于复位模块的默认I2C地址。

PCB厚0.8mm,尺寸为10 mm x 20 mm,双层板。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:BGP路由技术(一)
下一篇:Linux基础入门概念命令大全(超长篇)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~