0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子工程师 来源:未知 2019-02-17 11:25 次阅读

电机驱动器能够通过I2C接口使用PID算法控制电机,精确控制电机从未如此简单。

项目描述

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

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

主机控制器和电机驱动器之间通过I2C进行通信,发送包括电机速度、转向在内的命令。SAMI自动实现PID控制。SAMI上的电路板执行具体的电机控制算法,从而减轻了主机控制器的负荷。您还可以通过I2C读取电机的状态并对它进行配置。

SAMI能够驱动电机,使轴上负载走完所需的距离或达到一定的角度,然后在达到目标值时自动停止。这是机器人技术的理想选择,简化了执行精确运动控制所需的许多艰苦工作。而且,可以把多个模块连接到同一条I2C总线上,注意,这里的多个模块是指很多电机!

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

项目细节

这是一款设计用来控制微型齿轮电机的智能电机驱动器(也称为SAMI),这块电路板的目标是使用霍尔效应传感器检测到的转速反馈,轻松地在SAMI上实现PID控制。SAMI有自己的微控制器和H桥,能够自己完成电机控制和驱动操作。

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

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

为了感应电机的转速,我使用了磁编码器盘,它沿着磁盘表面极化。因此霍尔效应传感器可以检测磁盘磁场的变化并将信号发送到微控制器上。微控制器使用定时器和中断计算电机转速,微控制器利用转速作为反馈,运行PID控制算法,并处理和主机的通信。

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

此外,它还可以防止因为突然加速或者制动造成齿轮脱载,并避免电流冲击,这样可以保证您宝贵的电机的安全。

提供了一个Arduino库,帮助你方便地使用该智能电机驱动器。你可以快速、方便地把它插入到大量电机上使用。

特征

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

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

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

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

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

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

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

可以把配置保存在EEPROM中;

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

完全可配置;

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

尺寸小;

提供可用的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布局

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

这是一个还在开发阶段的项目,也是一个开源项目,如果您有任何能够改进它的想法,随时欢迎修改。你还可以自行调整硬件和软件设计,以支持更大功率的电机,你还可以增加第二个编码器,甚至可以用它来运行步进电机

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    53

    文章

    8271

    浏览量

    146940
  • PID
    PID
    +关注

    关注

    35

    文章

    1473

    浏览量

    85762
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1495

    浏览量

    124417

原文标题:电机驱动器还能玩出什么花样,这个工程师的小项目告诉你

文章出处:【微信号:wwygzxcpj,微信公众号:电机技术及应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PID电机控制系统(控制原理+控制算法+程序范例)

    推荐课程:张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器(视频+硬件)http://url.elecfans.com/u/73ad899cfd本资料包括PID调节控制
    发表于 03-18 14:18

    求助Labview PID算法控制伺服电机

    哪位大神指导怎么用Labview进行PID控制伺服电机?我知道现在的伺服电机驱动器都有PID自整
    发表于 11-12 19:02

    ZLG7290 I2C接口键盘及LED驱动器

    ZLG7290 I2C接口键盘及LED驱动器:一特点1 I2C 串行接口提供键盘中断信号方便与处理
    发表于 09-22 17:08 12次下载
    ZLG7290 <b class='flag-5'>I2C</b><b class='flag-5'>接口</b>键盘及LED<b class='flag-5'>驱动器</b>

    I2C总线接口的LED驱动器SAA1064及其应用

    SAA1064是Philips公司生产的带I2C总线接口的4位LED驱动器.可用于驱动4位带小数点的七段显示,并可
    发表于 04-30 14:37 21次下载

    基于CPLD的I2C总线接口设计

    在电路设计中,I2C总线是比较常用的两线式串行通信方式,大多数的CPU都擅长于并口操作,不具备直接操作I2C总线接口的能力。为了使不具备I2C总线
    发表于 02-12 16:11 95次下载
    基于CPLD的<b class='flag-5'>I2C</b>总线<b class='flag-5'>接口</b>设计

    模糊PID控制的步进电机细分驱动器设计

    模糊PID控制的步进电机细分驱动器设计-2008。
    发表于 04-06 11:26 20次下载

    通过I2C软件控制双LED驱动器NCP5602

    通过I2C软件控制双LED驱动器NCP5602.PDF
    发表于 04-13 09:13 2次下载

    I2C LCD 器件通过驱动带有 I2C 接口2 线式 16 字符 LCD

    I2C LCD 器件通过驱动带有 I2C 接口2 线式 16 字符 LCD
    发表于 10-10 08:22 13次下载
    <b class='flag-5'>I2C</b> LCD 器件<b class='flag-5'>通过</b><b class='flag-5'>驱动</b>带有 <b class='flag-5'>I2C</b> <b class='flag-5'>接口</b>的 <b class='flag-5'>2</b> 线式 16 字符 LCD

    基于VHDL硬件的I2C接口并行扩展及接口设计

    I2C总线接口器件在视频处理、移动通信等领域的应用已经非常普遍。另外,通用的I2C总线接口器件,如带I2C总线的RAM,ROM,A/D,D/
    发表于 01-20 16:51 2479次阅读
    基于VHDL硬件的<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>并行扩展及<b class='flag-5'>接口</b>设计

    I2C兼容接口的ADP1655双LED闪存驱动器产品手册

    I2C兼容接口的ADP1655双LED闪存驱动器产品手册
    发表于 06-18 09:08 3次下载
    带<b class='flag-5'>I2C</b>兼容<b class='flag-5'>接口</b>的ADP1655双LED闪存<b class='flag-5'>驱动器</b>产品手册

    Tim的I2C智能直流电机驱动器开源分享

    电子发烧友网站提供《Tim的I2C智能直流电机驱动器开源分享.zip》资料免费下载
    发表于 06-08 10:08 0次下载
    Tim的<b class='flag-5'>I2C</b>智能直流<b class='flag-5'>电机</b><b class='flag-5'>驱动器</b>开源分享

    I2C控制器驱动介绍

    控制器驱动 I2C 总线驱动重点是 I2C 适配器驱动,这里要用到两个重要的数据结构:
    的头像 发表于 07-22 15:38 1547次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>控制器</b><b class='flag-5'>驱动</b>介绍

    I2C接口的8位LED驱动器TPIC2810数据表

    电子发烧友网站提供《带I2C接口的8位LED驱动器TPIC2810数据表.pdf》资料免费下载
    发表于 04-09 15:41 0次下载
    带<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>的8位LED<b class='flag-5'>驱动器</b>TPIC2810数据表

    无刷直流电机驱动单元

    控制驱动方案-DRV11873直流无刷电机驱动芯片-支持5V直流无刷电机驱动-内置STM32核
    的头像 发表于 04-13 08:29 777次阅读
    无刷直流<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>单元

    电机驱动器的智能控制算法研究

    电机驱动器作为电机系统的核心组件,其性能和控制技术直接影响电机的运行效率和稳定性。随着工业自动化的快速发展,对
    的头像 发表于 06-25 11:45 1058次阅读