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

网友投稿 2019-02-07 16:57

《硬件改变世界》系列

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

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

https://cdn.china-scratch.com/timg/190209/1AI2HY-0.jpg

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

https://cdn.china-scratch.com/timg/190209/1AI22J7-1.jpg

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

https://cdn.china-scratch.com/timg/190209/1AI35638-2.jpg

对于任何人来说,制作先进的机器人从来没有这么简单过!现在,只需要把SAMI这个模块和你的电机连接到一起即可。
项目细节
这是一款设计用来控制微型齿轮电机的智能电机驱动器(也称为SAMI),这块电路板的目标是使用霍尔效应传感器检测到的转速反馈,轻松地在SAMI上实现PID控制。SAMI有自己的微控制器和H桥,能够自己完成电机控制和驱动操作。

https://cdn.china-scratch.com/timg/190209/1AI3Fb-3.jpg

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

https://cdn.china-scratch.com/timg/190209/1AI32c0-4.jpg

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

https://cdn.china-scratch.com/timg/190209/1AI35319-5.jpg

为了感应电机的转速,我使用了磁编码器盘,它沿着磁盘表面极化。因此霍尔效应传感器可以检测磁盘磁场的变化并将信号发送到微控制器上。微控制器使用定时器和中断计算电机转速,微控制器利用转速作为反馈,运行PID控制算法,并处理和主机的通信。
这款智能电机驱动器的主要设计思想是用在机器人中,通过使用它来控制机器人的轮子,无论表面是否光滑,电池电量是否充足还是机器人负荷重量发生了变化,都可以进行精确的运动控制。
此外,它还可以防止因为突然加速或者制动造成齿轮脱载,并避免电流冲击,这样可以保证您宝贵的电机的安全。

https://cdn.china-scratch.com/timg/190209/1AI31344-6.jpg

提供了一个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连接器。

https://cdn.china-scratch.com/timg/190209/1AI45W9-7.jpg

优点
独立进行电机控制;
可实现更平稳、更精确的动作控制;

https://cdn.china-scratch.com/timg/190209/1AI454L-8.jpg

具有电机保护功能;
解决方案方便易用;
内置电机速度反馈;
高响应速度的PID控制算法,保持电机速度恒定;
避免出现可能损坏电源或电池的瞬态电流峰值;
如果事先指定,可自动停在所需的距离或角度上;
与IMU等其他传感器结合使用时,可实现性能强大的机器人导航解决方案;
开源设计。

安装
要将SAMI安装到电机上,只需要把它和电机的驱动线、反馈线焊接在一起,并如下视频所示放置编码器。
重要提示:您的电机轴上必须留出足够的位置,以便放置编码器!

https://cdn.china-scratch.com/timg/190209/1AI410Q-9.jpg

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

ICSP管脚用于更新固件;

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

https://cdn.china-scratch.com/timg/190209/1AI43443-10.jpg

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

本文源自Hackaday.io,原文可打开链接查看:

https://hackaday.io/project/158429-smart-motor-driver-for-robotics

与非网编译内容,未经许可 ,不得转载!

有人说硬件技术将很快达到极限,而在我们看来,硬件创新,尤其是中国硬件工程师的创新,还远未走到尽头,而只是刚刚开始。作为致力于为全球硬件开发者提供技术共享服务的平台,与非网母公司SupplyFrame旗下最大的全球硬件开发者社区Hackaday.com已连续三年举办全球硬件开发者大赛Hackadayprize,有超过3000多个硬件团队在这个赛事中互动交流、切磋技艺。

这个《硬件改变世界》系列,我们挑选在前几届Hackadayprize大赛中获奖的优秀作品加以展示,硬件技术可以多有意思,硬件开发者可以多有创意,从这些作品中你可以看到。
2019年3月,Hackadayprize中国区赛事将隆重开启,我们很期待看到国内的硬件开发者大开脑洞、大展技艺。你准备好了没,与来自全球的硬件开发者同台PK?

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com