一种基于STM32单片机的电机控制方法技术

技术编号:24333620 阅读:99 留言:0更新日期:2020-05-29 21:02
本发明专利技术提供一种基于STM32单片机的电机控制方法,利用STM32单片机的定时器设置主从定时器,主定时器用于计数,从定时器输出脉冲,控制电机运动。可以根据自己产品的需求制定控制方案。可以对于伺服电机等高要求的电机或者应用条件下,获得高频的输出结果。主从方式控制电机,并不占用单片机的资源,只是通过一个定时器去触发另一个定时器,从定时器持续输出脉冲,主定时器使用捕获功能进行中断,只有在调速的时候进一次中断配置从定时器的输出脉冲频率。

A motor control method based on STM32 single chip microcomputer

【技术实现步骤摘要】
一种基于STM32单片机的电机控制方法
本专利技术涉及一种基于STM32单片机的电机控制方法,属于自动控制领域,尤其适用于电机的控制。
技术介绍
伺服电机具有快速加减速的能力,通过高峰值扭矩和高扭矩-惯矩比实现这种能力,在机床和自动机器等传统的动作控制应用中表现出卓越的动力反应和精确度,伺服系统一般由伺服电机、驱动器、控制器组成,控制器通过控制驱动器驱动电机工作,控制器控制驱动器的方式分为三种,速度控制方式、矩阵控制方式、位置控制方式,速度控制方式是通过模拟量的输入或脉冲的频率都可以进行转动速度的控制,在有上位控制装置的外环PID控制时速度模式也可以进行定位,但必须把电机的位置信号或直接负载的位置信号给上位反馈以做运算用,转矩控制方式是通过外部模拟量的输入或直接的地址的赋值来设定电机轴对外的输出转矩的大小,位置控制方式一般是通过外部输入的脉冲的频率来确定转动速度的大小,通过脉冲的个数来确定转动的角度,也有些伺服可以通过通讯方式直接对速度和位移进行赋值,传统的控制器有PLC、运动控制卡、计算机,PLC多用于工业控制,体积比较大,控制简单,运动控制卡、计算机多为通用控制,需要进行二次开发,体积也比较大,用到产品上几乎不可能,而本专利技术则是一款基于STM32系列单片机的控制方法,利用STM32单片机的定时器设置主从定时器,主定时器用于计数,从定时器输出脉冲,控制电机运动。可以根据自己产品的需求制定控制方案,小巧实用。
技术实现思路
本专利技术的目的是通过以下技术方案实现的。本专利技术提供一种基于STM32单片机的电机控制方法,其特征在于包括,STM32单片机连接到电机驱动器;电机驱动器连接到电机;将电机的运动曲线转换为单片机输出频率和脉冲数;将STM32单片机的通用定时器和/或高级定时器定义为主定时器;将STM32单片机的通用定时器和/或高级定时器定义为从定时器;从定时器以设置的频率输出脉冲,主定时器计数;达到设定计数值时,主定时器中断,进入主定时器中断函数,修改从定时器的输出频率,从定时器按照修改后的输出频率输出脉冲到电机驱动器,控制电机运动。根据优选的实施方式,所述电机为伺服电机、直线电机、步进电机中的一种。根据优选的实施方式,设定主定时器与从定时器指的是,设定多个定时器的主从关系,主定时器设置为捕获模式,从定时器设置为输出脉冲模式;设定从定时器的初始频率。根据优选的实施方式,STM32单片机指的是STM32F1,STM32F4系列所有型号的单片机。根据优选的实施方式,STM32通过CAN通讯方式与外部通讯。本专利技术提供一种基于STM32的电机控制方法,其特征在于包括,STM32单片机连接到驱动器,驱动器连接到电机;将单片机的通用定时器和/或高级定时器指定为主定时器以及从定时器;从定时器以设置的频率输出脉冲,主定时器计数;达到设定计数值时,主定时器中断,进入主定时器中断函数,修改从定时器的输出频率,从定时器按照修改后的输出频率输出脉冲到电机驱动器,控制电机运动。本专利技术公开一种基于STM32单片机的电机控制方法,包括以下步骤:步骤a:单片机与外部设备通过CAN收发器连接,并启动;步骤b:用户根据需求输入初始速度、加速度、最大速度及运行距离参数;步骤c:单片机依据用户输入的参数计算出运动曲线的每次加减速的频率值、脉冲值;步骤d:单片机启动主定时器,主定时器触发从定时器以初始频率值输出脉冲;步骤e:主定时器对从定时器输出的脉冲进行输入捕获,当输出脉冲值与计算的输出脉冲值相同时,主定时器中断,进入中断函数中,修改从定时器的输出频率,从定时器则继续按照修改后的频率值输出脉冲;步骤f:从定时器的输出脉冲控制电机运动。本专利技术的目的在于提供一种自由灵活、小巧、简单的适用于产品上的一种电机驱动器的控制方法,使用的单片机选用ST公司的STM32F1系列,是一款性价比超高的单片机,功能强大,价格低廉,是市面上使用非常广泛的一款单片机,使用单片机控制伺服驱动器,使得伺服系统的使用更加轻便,它的超高动力反应和精确度可以在非工业设备中得以实现,常规控制使用的是一个定时器通过不断的中断改变输出电平完成控制,造成单片机内存独占、浪费,并且输出频率只能在10Khz以下,对于频率高的伺服电机是无法满足速度需求的。一种基于STM32单片机的电机控制方法区别于常规控制中通过一个定时器的连续的中断去中断函数中修改频率和脉冲值,频率高时会导致单片机内存被占满,其他功能无法进行。使用一个定时器控制电机,是通过定时器的每次中断去改变IO输出电平,输出脉冲,缺点是频繁的中断会占用单片机的大量内存,其他功能无法进行,并且输出频率最高只能达到10kHZ左右,对于伺服这样高频的脉冲需求是不能满足要求的。主从方式控制电机,并不占用单片机的资源,只是通过一个定时器去触发另一个定时器,从定时器持续输出脉冲,主定时器使用捕获功能进行中断,只有在调速的时候进一次中断配置从定时器的输出脉冲频率。本专利技术是基于STM32单片机独有的定时器触发模式功能,主定时器用于计数,即PWM脉冲的捕获计数,从定时器用于输出一定频率的PWM脉冲,这里调速的实现是调整从定时器输出PWM的频率,主定时器计满预定的脉冲数后触发从定时器中断,进行改变输出PWM的频率(如果调速),清除主定时器的计数再次重新计数,如此反复直到运行结束。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。在附图中:附图1.梯形速度曲线图;附图2.电机控制流程图;附图3.实际测试波形图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。除特殊说明外,本专利技术中所涉及的词语均为本领域的常规词语,其含义为本领域的常用含义。用STM32单片机驱动电机属于常见的方法。CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要。CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统具有明显的优越性。<本文档来自技高网...

【技术保护点】
1.一种基于STM32单片机的电机控制方法,其特征在于包括,/nSTM32单片机连接到电机驱动器;/n电机驱动器连接到电机;/n将电机的运动曲线转换为单片机输出频率和脉冲数;/n将STM32单片机的通用定时器和/或高级定时器定义为主定时器;/n将STM32单片机的通用定时器和/或高级定时器定义为从定时器;/n从定时器以设置的频率输出脉冲,主定时器计数;/n达到设定计数值时,主定时器中断,进入主定时器中断函数,修改从定时器的输出频率,从定时器按照修改后的输出频率输出脉冲到电机驱动器,控制电机运动。/n

【技术特征摘要】
1.一种基于STM32单片机的电机控制方法,其特征在于包括,
STM32单片机连接到电机驱动器;
电机驱动器连接到电机;
将电机的运动曲线转换为单片机输出频率和脉冲数;
将STM32单片机的通用定时器和/或高级定时器定义为主定时器;
将STM32单片机的通用定时器和/或高级定时器定义为从定时器;
从定时器以设置的频率输出脉冲,主定时器计数;
达到设定计数值时,主定时器中断,进入主定时器中断函数,修改从定时器的输出频率,从定时器按照修改后的输出频率输出脉冲到电机驱动器,控制电机运动。


2.根据权利要求1所述的方法,其特征在于,所述电机为伺服电机、直线电机、步进电机中的一种。


3.根据权利要求1所述的方法,其特征在于,设定主定时器与从定时器指的是,设定多个定时器的主从关系;主定时器设置为捕获模式,从定时器设置为输出脉冲模式;设定从定时器的初始频率。


4.根据权利要求1所述的方法,其特征在于,STM32单片机指的是STM32F1,STM32F4系列所有型号的单片机。


5.根据权利要求1所述的方法,其特征在于,STM32通过CAN通讯方式与外部通讯。


6.一种于STM32的电机控制方法,其特征在于包括,

【专利技术属性】
技术研发人员:李岩陈子天李国栋
申请(专利权)人:赛纳生物科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1