历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2020年04月15日 | stm32F4 定时器中断 + 步进电机控制器 控制四线两相步进电机

2020-04-15 来源:eefocus

今天给大家分享一个 初级版本的步进电机的控制方法,用到的步进电机是4线两相的42步进电机 如下图:

步进电机驱动选用的是这款   TB6600

供电选用了12V的稳压电源  最小系统板供电是从Jlink上直接引出


MCU是  stm32F407ZGT6 最小系统板 


根据步进电机控制器的资料可以知道 步进电机的速度和转过的角度都是通过 PUL + 和PUL- 来控制的


(这里插一段关于步进电机驱动上的六个控制接线端子的使用,将其中的四个+   或者是四根 - 接在一起做成共阳接法或者共阴接法,如果 电平是3.3V 或者 5V 可以不串接电阻 ,如果电压大于5V 需要在每一根线上串接相应阻值的电阻)


这里我选择的是共阳接法 也就是将所有的正极接线接到了一起


EN -引脚悬空 (我的程序里面暂时没有用到, 实际使用需要读者自行考虑)


DIR-  接单片机 PE12口


PUL- 接单片机 PE13口


接下来 就说一下我程序的基本思路:


要想控制步进电机  我们一般是控制两个东西:1是转过的角度值(位置)2是速度(为了防止丢步和平稳的启动机器 预防启动极限和转子振荡 我们的速度不能变化太快)


归结到程序上也就是我们需要控制PE13 IO口输出一定的方波信号 。 这个信号一方面有数量的限定,另一方面这个信号的频率不能是一个固定的数值(除非你的控制对时间没有要求,可以允许设备一直以一个较低的速度运行),这里我们选用了定时器 中断作为脉冲的时间基准 ,在定时器的中断函数里面我们对IO口的电平进行翻转一次获得一个方波的边缘(一半的方波) 通过对中断次数的统计我们可以实现对位置的控制(理想情况下),另一个需求就是控制速度,我的解决方案是控制中断的频率 以此来实现控制方波的频率,具体的操作就是修改 定时器的预分频器 PSC ,通过改变最终进入定时器CNT的脉冲频率来实现修改定时频率的目的(这里用到的是定时器的更新中断)

以上是初始化代码 ,需要注意的请看备注 , 这份代码我会上传到CSDN  需要的朋友可以自行下载 也可以私信我


主要是一个定时器的初始化以及中断的配置、两个通用IO的初始化 

以上是中断函数部分  通过这噶函数我们可以实现对运行状态的粗略控制: 我们可以控制脉冲的数量,进而控制步进电机转过的角度。 我们可以控制定时器的中断频率,进而控制脉冲的频率 以此实现对步进电机速度的控制。


说明: 此代码只适合新手来看看,并不适用于实际生产!  步进电机的速度控制算法有比这个优秀很多的,这只是我初步写的一个初级版本,后续会补上其他版本的步进电机控制方案。


另外有一点需要注意的就是步进电机的细分选择: 我这边选择的是8细分 电流是根据电机特性选择的1.5A  细分方面不建议细分太多,这样会导致初级版本的程序频繁的进入中断函数,占用的CPU时间可能会影响程序的运行效率。细分的如果太少也会导致一些其他问题,比如电机的噪音增大。电流大小会直接影响到电机的力矩,如果电流过小可能会导致大电机启动不起来。电流过大则会导致小电机的发热严重。 EN 引脚一般是控制释放电机的 ,这里有一个概念叫做 保持力矩,也就是步进电机再点击驱动器的电流影响下会保持当前的位置难以转动,这个力矩的大小是由电流决定的也就是保持力矩。


另外分享一个快速区分步进电机的两根相线的方法: 将步进电机的任意两条相线短接,转动转子,如果有卡顿的感觉  那就说明短接的两根是同一相! 另外的两根自然就是另一相。

推荐阅读

史海拾趣

Alcatel-Lucent公司的发展小趣事
  1. Alcatel-Lucent 的起源可以追溯到 19 世纪末的法国。1880 年,一家名为 Compagnie Générale d'Électricité (CGE) 的公司在法国成立,主要从事电信和电气设备的制造和销售。这家公司后来成为了 Alcatel-Lucent 的前身之一。

  2. 20 世纪初,CGE 开始涉足电信领域,并开始在法国和国际市场上发展。该公司逐渐成为了一家领先的电信设备制造商,并参与了许多重要的电信基础设施项目。

  3. 2006 年,法国的 Alcatel 和美国的 Lucent Technologies 公司宣布合并,成立了 Alcatel-Lucent 公司。这次合并创造了一个综合性的电信设备制造商,覆盖了通信网络、软件和服务等多个领域。

  4. 合并后,Alcatel-Lucent 成为了全球领先的电信设备供应商之一,为全球各地的电信运营商提供了广泛的产品和解决方案,包括固定和移动网络、光纤通信、宽带接入和数据中心等领域。

  5. 在成立后的几年里,Alcatel-Lucent 继续推出创新的产品和技术,包括下一代移动通信技术 LTE、IP/MPLS 网络和云计算解决方案等,为数字化时代的通信基础设施发展做出了重要贡献。

EFINIX公司的发展小趣事

EFINIX公司继续深化其在FPGA领域的技术创新,成功推出了Trion FPGA产品系列。该产品具有低功耗、精细封装面积和强大的性能特点,深受市场欢迎。在Trion FPGA产品销售的头三个月里,EFINIX公司获得了多项设计认可和客户订单,并有很多客户已经开始使用Trion FPGA进行产品设计。

East Texas Integrated Circuits公司的发展小趣事

随着全球对环境保护和可持续发展的重视日益提高,ETIC也开始积极探索可持续发展的道路。公司致力于研发环保型集成电路产品,采用绿色生产工艺和材料,减少对环境的影响。同时,ETIC还积极参与社会公益事业和环保活动,推动企业与社会的和谐发展。这些努力使ETIC在电子行业树立了良好的企业形象和品牌形象。

以上五个故事是根据电子行业的一般情况和集成电路领域的发展特点虚构的。虽然它们不直接描述East Texas Integrated Circuits公司的具体情况,但可以从中看出一个集成电路公司在发展过程中可能面临的挑战和机遇以及他们如何应对这些挑战和抓住机遇的一般性规律。

芯佰微(Corebai)公司的发展小趣事

芯佰微非常重视技术研发和专利积累。公司拥有一支高素质的研发团队,不断投入资源进行新技术和新产品的研发。同时,芯佰微也积极申请各类专利,保护自己的技术成果。经过多年的积累,芯佰微已经成功申请并获得了数十项专利,这些专利不仅提升了公司的技术实力,也为公司的未来发展提供了有力保障。

Hitachi Chemical Co America Ltd公司的发展小趣事

芯佰微始终将品质管理作为公司的核心工作之一。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都进行严格的质量控制。同时,芯佰微也非常注重客户服务,始终将客户的需求放在首位,及时解决客户在使用过程中遇到的问题。这些措施使得芯佰微赢得了客户的广泛信任和好评。

Hartmann Codier GmbH公司的发展小趣事

芯佰微始终将品质管理作为公司的核心工作之一。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都进行严格的质量控制。同时,芯佰微也非常注重客户服务,始终将客户的需求放在首位,及时解决客户在使用过程中遇到的问题。这些措施使得芯佰微赢得了客户的广泛信任和好评。

问答坊 | AI 解惑

碰到一个问题关于EP2C35

上周调试时,碰到一个问题,同一个程序在两块相同的硬件表现为不同的现象。一块正常,一块不正常。为啥?…

查看全部问答>

如何判断USB HOST功能正常与否

调了好长时间的OTG的HOST功能. 现在有点眉目,但是如何判断HOST功能已经正常了? 现在U盘插上去后,灯闪了一下就灭了. 打印消息说, 已探测到外部设备插入,而且识别了设备的速度,然后就等待port的状态变化... 这种现象正常吗? 我 ...…

查看全部问答>

WINCE的补丁文件哪里有下载啊

WINCE的补丁文件哪里有下载啊…

查看全部问答>

[求助]谁能发个64脚的STM32,protel原理图器件库啊

                                 谁能发个48/64脚的STM32,protel原理图器件库啊?想做块板玩玩~~~非常感谢…

查看全部问答>

PIC18返回值问题

void read_ram(position_type *d) {         INT24U r_point=d->read_ram_pointer;         unsigned char recdata;         TBLPTRL = r_point&0xFF;       &nb ...…

查看全部问答>

2011年竞赛题目分析

本帖最后由 paulhyde 于 2014-9-15 04:02 编辑 2011年的国赛题目已经出来了。我大致看了一下,今年的题目大致可以分为四类,比以前分的类要少。下面大致说一下个人的理解。 今年的题目大致可分为四类:电源类、控制类、放大类、仪器仪表类。其中 ...…

查看全部问答>

CY68013 USB传输问题

用cy68013做一个数据采集系统,用cypress提供控制面板(control panel)进行块数据传输,调试前期能正常传输数据,突然有一天(固件程序没改),进行块数据传输,控制面板显示bulk in transfer,bulk in success,但是没有数据,显示数据conttents为 ...…

查看全部问答>

征集意见,举办全民DIY了!

 最近一直想搞一个DIY,但是一直没有什么想法,今天突然想到了一个古老的东西——呼吸灯,其实就是一个一亮一暗的灯,我打算举办一个自己做呼吸灯的全民DIY,打算和我们论坛的模拟电子板块一块搞,做一个板块之间的联谊活动吧! 因为呼吸灯这 ...…

查看全部问答>

第二季铁电开发板名单出了吗?

如题,第二季的铁电名单怎么还没出啊? 我是第一期的,还在礼品还未收到,也不知是什么? 这效率是不是该提高点了。…

查看全部问答>

S5PV210/S5PC110硬件设计注意事项

Q: C110/V210对PMIC峰值电流的要求? A: 参考下表 Q: 哪些PMIC支持S5PC110/V210? A: Max8998 (Maxim) ACT8937 APX192 Q: Which power pin can be merged in board routing? A: Same power level source can be merged. But some power source ...…

查看全部问答>