完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文介绍X-CTR100控制器控制步进电机,实现步进电机精确转速控制。 原理 如上图所示,步进电机系统一般包括控制器、驱动器和步进电机三部分。 步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(或步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达调速的目的。因此在需要准确定位或调速控制时均可考虑使用步进电机。 步进电机根据尺寸进行分类,常用小型步进电机有42、57型号。 本文使用42型四线步进电机接口及参数 本文选用电机参数 步进电机种类、参数众多,详细说明请查阅本文参考资料文件夹内容。 驱动器 上图为常用步进电机驱动器,其中DRV8825和A4988为小型步进电机驱动器,驱动电流较小,常用于打印机、3D打印机、雕刻机等设备,支持的3d打印机有Prusa Mendel,ultimaker,printbot,makerbot等 TB6600为大功率驱动器,驱动电流更大,常用于大型设备。 驱动器虽然外形参数各异,驱动方法类似,一般包括EN(使能)、DIR(方向)、PLUS(脉冲)三个控制角。 本文以DRV8825为例进行说明。A4988与DRV8825引脚兼容,性能稍弱,详见下表。 参考:https://reprap.org/wiki/A4988_vs_DRV8825_Chinese_Stepper_Driver_Boards DRV8825 是德州仪器 (TI) 为打印机、 扫描仪和其他自动化设备设计的集成电机驱动芯片。 它集成了 2 个 H 桥电路, 以及片上 1/32 微步进分度器, 可以驱动一个双极型电机,或两个直流有刷电机。 输入电压范围 8.2~45V, 可以提供 1.75A 的有效电流, 并可承受 2.5A的峰值电流(在 24 V、 25° C 的应用环境下 )。低至 0.2Ω 的导通电阻, 保证了芯片良好的热特性。 另外, 还集成了快速响应的短路、 过热、欠压及交叉传导保护功能电路, 能够检测故障状况, 并迅速切断 H 桥, 从而为电机和驱动芯片提供保护 DRV8825相对4988 特点优势: 1、最大电流2.5A。 2、最高支持32细分。 3、4层PCB板,散热性能更好。 4、芯片内阻更小,发热更低,散热性更好。 DRV8825特点: 1、适合驱动8.2V~45V 2.5A以下的步进电机; 2、只有简单的步进和方向控制接口; 3、六个不同的步进模式:全、半、1/4、1/8、1/16、1/32; 4、可调电位器可以调节最大电流输出,从而获得更高的步进率; 5、自动电流衰减模式检测/选择; 6、过热关闭电路、欠压锁定、交叉电流保护; 7、接地短路保护和加载短路保护 DRV8825模块原理图: DRV8825接线示意图 细分设置 电流调节 Rs电阻值市面上一般是0.1 欧(R100),对应的是驱动模块上面S1 S2电阻。这里是0.1欧姆(标号R100=0.1欧)。 但市面DRV8825驱动模块这个Vref出厂基本都是调到1.6V这样算下来,电流I=3.2。这也是很多人用DRV8825驱动模块发烫,电机发烫原因,这样很容易损坏电机和驱动模块。 所以拿到手第一时间把这个Vref参考电压调小到0.5V左右再根据电机参数微调。 Vref电压:电位器金属旋钮到GND的电压。可以通过调节电位器改变。 常见问题 1)DRV8825驱动板可以驱动57电机吗? 4988可以驱动的电机跟尺寸关系不大,主要与工作电流有关,理论上电流小于2A的步进电机都是可以驱动的,不论是42还是57电机。 2)可以驱动多大的电流? 如果DRV8825芯片上没有加散热片,电流最好在1.5以下。如果加散热片,电流可以达到2.5A。 3)步进电机的连接方式是什么? 正如DRV8825板子背面所标识的,连接方式是依次连接步进电机的1B-1A-2A-2B,或者反向为2B-2A-1A-1B,或者1A-1B-2B-2A,其它的方式一次类推。如果你的电机线是标准的红蓝绿黑的颜色,可以按照颜色连接为:红-蓝-绿-黑,或相反:黑-绿-蓝-红。 4)接上电机后,电机不能正常运行,在左右抖动,是什么原因? 电机出现抖动一般有两个原因,一是缺相:可能是DRV8825板子没有焊接好或因为外力导致DRV8825的输出端某一相断开,造成电机缺相从而抖动。也有可能是步进电机接线只用一相没有连接好;而是两相接错:如果步进电机没有按照正确的顺序进行连接,电机也会出现抖动的情况,请按照问题3进行正确的连接 5)电机丢步如何解决? 相电流的大小跟步进电机的扭力有直接关系,如果感觉你的步进电机扭力不足、丢步,可以加大4988板子的电流配置。驱动板是通过一个小的电位器来实现对输出电流的配置的。可以通过用万用表测量电位器中间管脚的电位。电位和电流的关系满足下面的公式:Vref = I_TripMax= Vref/(5*Rs)(模块的Rs电阻为R100).也就是如果你想配置电机工作电流为1A,则电位应该配置在0.5V 6)DRV8825可以驱动两相六线或两相无线的电机吗? 可以,两相连线按照问题3连接,将中间抽头悬空即可。 7)电机停止转动时会有滋滋的电流声。 首先说明的是这是正常现象。步进电机的特点是走特定的角度而不是一直转,所以步进电机都有一个参数,步距角。如果通过细分,可以最小走步距角/细分数的角度,比如步距角为1.8度的步进电机,采用16细分,最小可以走的角度是1.8/16=0.1125度。但由于这个角度非常小,并且不一定在电机物理所在的位置(1.8度为一个物理位置),所以步进电机停止时也需要通电,从而保证电机不会自动跳到物理步距角上。因为这个特性使得步进电机在静止时会有电流声,这属于正常现象,不用担心。 X-SOFT软件生态,X-API文件如下。 高级说明 步进电机主要参数 ① 步进电机的相数:是指电机内部的线圈组数,目前常用的有两相、三相、五相步进电机。 ② 拍数:完成一个磁场周期性变化所需脉冲数或导电状态,用m表示,或指电机转过一个齿距角所需脉冲数。 ③ 保持转矩:是指步进电机通电但没有转动时,定子锁住转子的力矩。 ④ 步距角:对应一个脉冲信号,电机转子转过的角位移。 ⑤ 定位转矩:电机在不通电状态下,电机转子自身的锁定力矩。 ⑥ 失步:电机运转时运转的步数,不等于理论上的步数。 ⑦ 失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。 ⑧ 运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线 。 步进电机的特点 ① 一般步进电机的精度为步距角的3-5%,且不累积; ② 步进电机外表允许的最高温度取决于不同电机磁性材料的退磁点; ③ 步进电机的力矩会随转速的升高而下降( U=E+L(di/dt)+I*R),矩频特性曲线 ④ 空载启动频率:即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。 步进电机的起步速度一般在10~100RPM,伺服电机的起步速度一般在100~300RPM。根据电机大小和负载情况而定,大电机一般对应较低的起步速度。 ⑤ 低频振动特性:步进电动机以连续的步距状态边移动边重复运转。其步距状态的移动会产生1 步距响应。 电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然。步进电机低速转动时振动和噪声大是其固有的缺点,克服两相混合式步进电机在低速运转时的振 动和噪声方法: a. 通过改变减速比等机械传动避开共振区; b. 采用带有细分功能的驱动器; c. 换成步距角更小的步进电机; d. 选用电感较大的电机 e. 换成交流伺服电机,几乎可以完全克服震动和噪声,但成本高; f. 采用小电流、低电压来驱动。 g. 在电机轴上加磁性阻尼器; 例程 本例程实现X-CTR100控制器对步进电机精确转速控制。 由于步进电机特性,很难直接设置高转速,一般需要加减速过程,本例程包括了步进电机加减速运行。 另外还包括零转速和关闭使能状态下的力矩情况。 硬件说明 硬件资源:
使用MicroUSB数据线连接X-CTR100 COM接口。 步进电机控制接口 STEP——PE9(RP接口) DIR——PE4(RP接口) EN——PE5(RP接口) 5V——5V(RP接口) GND——GND(RP接口) 供电接口 12V外接供电电源连接到VIN1或VIN2,驱动器电源也连接至VIN1或VIN2,注意正负极。 步进电机连接转接板,如下图。 软件生态 X-SOFT软件生态,X-API文件如下。 ax_step.c——X-CTR100 步进电机操作源文件 ax_step.h——X-CTR100 步进电机操作头文件 X-API接口函数如下:
控制方法采用硬件定时器TIM1实现,通过在定时器中断中修改ARR周期,实现频率控制,通过CCR1实现50%占空比控制。 速度控制AX_STEP_SetSpeed()接口函数实现。
软件说明 主程序,实现步进电机变速正转、变速反转、和停止,串口有提示信息输出,主程序代码如下。
实现效果 打开X-Assistant软件,可以看到电机运行提示信息,DRV8825调节至32细分。 电机首先加速正转,后恒速运行,后减速到停止;再次电机反转,后恒速,后停止。 然后电机停止转动,此时保持维持力矩;最后关闭使能,维持力矩消失,电流减小。 总结 本文实现了X-CTR100控制器控制步进电机精确转动,实际步进电机系统因项目不同差异较大。 有些步进电机系统的控制远远比该例程复杂,一般包括精确位置闭环控制,相应速度控制,S曲线控制等。 本文采用基础框架是步进电机通用编程框架,复杂功能可以根据项目需要在此基础上添加。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
766 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
486 浏览 1 评论
329 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
269 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
647 浏览 2 评论
1406浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
60浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
108浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
74浏览 3评论
创建了两个task如果一个优先级高 一个优先级低,高优先级的那个一直在做,什么时候会调度到低优先级的呢?
103浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-16 00:57 , Processed in 0.768220 second(s), Total 77, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号