STMCU小助手
发布时间:2022-12-23 16:00
|
概述 正在做的项目需要用STM32控制步进电机,本篇主要讲解利用STM32定时器外设输出脉冲来控制步进电机转动。 STM32定时器 使用STM32芯片类型:STM32c8t6。
使用外设接口:选用TIM4的CH1通道,对应输出脉冲IO口为PB6。
步进驱动器介绍 (这里以两相步进驱动器为例,详细见说明书) 接口 步进驱动器可分为两部分:环形分配器、功率放大器。 环形分配器:接收3种信号分别为:脉冲信号(PUL),方向信号(DIR),脱机信号(ENA)。 脉冲信号:环形分配器对脉冲信号进行分配,去控制功率放大器相应的晶体管,使步进电机的线圈得电。所以,步进电机要运转就必须有脉冲输入,所以需要一个驱动器来给步进电机的各项绕组依次通电。 方向信号:控制AB通电的相序,A-B顺时针,B-A逆时针 脱机信号:步进电机停止时,AB线圈有一相得电,得电的功能使转子锁住,使转子不能动,需要收去拨动转子的时候,需要给脱机信号,使AB相绕组完全断电,转子处于自由转动状态。(也就是说控制电机停止除了不给脉冲之外,还可以控制脱机信号来锁死电机,此处用不着脱机信号)
细分 为了提高步进电动机控制的精度,现在的步进驱动器都有细分的功能,所谓细分,就是通过驱动器中电路的方法把步距角减小。比如把步进驱动器设置成5细分,假设原来步距角1.8°那么设成5细分后,步距角就是0.36°。也就是说原来一步可以走完的,设置成细分后需要走5步。一般步进电动机的细分表在驱动器上可以直接看到。(设置合适细分能够避免电机转动时震动过大,但过高的细分数会导致电机输出力矩减小)
驱动电源: 需要9-42V直流电源,需要使用变压器将220V交流电转为24V直流电
定时器频率与步进电机的关系 接线 将驱动器PUL+端接入STM32输出脉冲的IO口(PB6),PUL-端接地 将驱动器DIR+端接入STM32的任意一个闲置IO口(这里选PB5),DIR-端接地 驱动器ENA±端不接 A+、A-、B+、B-接入步进电机 电源接到变压器 频率与速度的关系 确定输出脉冲频率与电机转速的关系,对于两相步进电机而言: 转速 = 脉冲频率 * 60 /((360/T)*x) T是步进电机步距角(1.8°),x是驱动器细分倍数(16) 脉冲频率= 时钟频率(72Mhz)/ ((arr+1)*(psc+1)) 根据以上公式,可以得到: Speed = 15r/min时,若确定arr为199,则psc为449 其他速度可根据需要自行设定。 代码 编写流程:TIM4配置 -> DIR对应IO口配置 -> main调用初始化函数并设置占空比
———————————————— 版权声明:Efic |
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
全新OpenSTLinux 6.1版本发布
ST-LINK Utility介绍、下载、安装和使用教程
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
微信公众号
手机版