0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32步进电机驱动的算法

汽车玩家 来源:CSDN 作者:CSDN 2021-07-23 15:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在脉冲模式下,步进电机启动器的脉冲频率与速度成正比,函数void CalculateSModelLine(float fre[], unsigned short period[], float len, float fre_max, float fre_min, float flexible)主要目的就是生成每一个细分步加速的速度。芯片用的是stm32f103c8t6,驱动器用的是2DM420。

程序流程如下:

  • STM32硬件基本初始化,主要是针对定时器

  • 调用函数CalculateSModelLine()生 成每一个细分步定时器的自动重装载值(实际就是改变脉冲的周期)

  • 打开定时器

  • 更新中断发生,将数组中的数据赋值给定时器的自动重装载寄存器

  • 跳出中断后脉冲频频率就变化了

  • 下一次更新中断产生


对应的计算接口code:

/* calculate the Period and Freq array value, fill the Period value into the Period register during the timer interrupt.

*calculate the acceleration procedure , a totally 1000 elements array.

* parameter fre[]: point to the array that keeps the freq value.

* period[]: point to the array that keeps the timer period value.

* len: the procedure of acceleration length.it is best thing to set the float number, some compile software maybe transfer error if set it as a int

* fre_max: maximum speed, frequency vale.

* fre_min: start minimum speed, frequency vale. mind : 10000000/65535 = 152, so fre_min can't less than 152.

* flexible: flexible value. adjust the S curves

*/

void CalculateSModelLine(float fre[], unsigned short period[], float len, float fre_max, float fre_min, float flexible)

{

int i=0;

float deno ;

float melo ;

float delt = fre_max-fre_min;

for(; i

{

melo = flexible * (i-len/2) / (len/2);

deno = 1.0 / (1 + expf(-melo)); //expf is a library function of exponential(e)

fre[i] = delt * deno + fre_min;

period[i] = (unsigned short)(10000000.0 / fre[i]); // 10000000 is the timer driver frequency

}

return ;

}

文章整合自:CSDN

编辑:ymf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    54

    文章

    9111

    浏览量

    156464
  • 步进电机
    +关注

    关注

    153

    文章

    3271

    浏览量

    152746
  • 脉冲模式
    +关注

    关注

    0

    文章

    3

    浏览量

    6583
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SGM42610/SGM42611步进电机驱动IC:特性、应用与设计要点

    SGM42610/SGM42611步进电机驱动IC:特性、应用与设计要点 在电子工程师的日常设计工作中,步进电机
    的头像 发表于 03-25 19:10 2215次阅读

    SGM42630步进电机驱动芯片:设计与应用详解

    SGM42630步进电机驱动芯片:设计与应用详解 在自动化设备领域,步进电机凭借其精确的位置控制和运动控制能力,成为了众多设备如打印机、扫描
    的头像 发表于 03-25 18:05 436次阅读

    DRV8825步进电机控制器IC:设计与应用详解

    DRV8825步进电机控制器IC:设计与应用详解 在电子工程师的日常工作中,步进电机的控制是一个常见且关键的任务。今天要给大家详细介绍的是德州仪器(TI)的DRV8825
    的头像 发表于 01-11 11:45 1331次阅读

    DRV8884步进电机驱动器:特性、应用与设计要点

    DRV8884步进电机驱动器:特性、应用与设计要点 在工业设备应用中,步进电机驱动器扮演着至关重
    的头像 发表于 01-09 11:05 530次阅读

    德州仪器DRV8436步进电机驱动器:特性、应用与设计深度解析

    德州仪器DRV8436步进电机驱动器:特性、应用与设计深度解析 在当今的工业和消费电子领域,步进电机的应用无处不在,从打印机到机器人,都离不
    的头像 发表于 01-08 11:25 699次阅读

    DRV8424/25步进驱动器:创新科技助力电机控制

    DRV8424/25步进驱动器:创新科技助力电机控制 作为电子工程师,我们在日常的设计工作中,经常会面临为各种应用场景选择合适步进驱动器的挑
    的头像 发表于 01-08 11:15 2346次阅读

    DRV8434步进电机驱动器:高效集成与智能控制的完美结合

    DRV8434步进电机驱动器:高效集成与智能控制的完美结合 在电子工程师的设计领域中,步进电机驱动
    的头像 发表于 01-08 10:55 363次阅读

    德州仪器DRV8428步进电机驱动器:功能特点与应用指南

    德州仪器DRV8428步进电机驱动器:功能特点与应用指南 作为一名电子工程师,在步进电机驱动领域
    的头像 发表于 01-08 10:50 662次阅读

    深入剖析DRV8424/25步进电机驱动器:特性、应用与设计指南

    深入剖析DRV8424/25步进电机驱动器:特性、应用与设计指南 在工业和消费应用的电机驱动领域,步进
    的头像 发表于 01-07 17:55 743次阅读

    EVL6470步进电机驱动评估板技术解析与应用指南

    STMicroelectronics EVL6470步进电机驱动器评估板基于L6470,提供一套既经济划算又易于使用的解决方案,用于驱动用户应用中的
    的头像 发表于 10-17 11:25 791次阅读
    EVL6470<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>评估板技术解析与应用指南

    关于TMC2208与TMC2209的区别及基于STM32F103控制TMC2209模块驱动2相4线步进电机

    技术,TMC2208提供2 - 32微选择,TMC2209支持8 - 64微选择。文章最后提供了STM32F103控制TMC2208/TMC2209驱动42
    的头像 发表于 10-09 17:19 2359次阅读
    关于TMC2208与TMC2209的区别及基于<b class='flag-5'>STM32</b>F103控制TMC2209模块<b class='flag-5'>驱动</b>2相4线<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    DRV8461步进电机驱动器技术解析与应用指南

    Texas Instruments DRV8461步进电机驱动器是宽电压、高功率、高性能步进电机驱动
    的头像 发表于 08-29 14:32 1266次阅读
    DRV8461<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>器技术解析与应用指南

    Analog Devices / Maxim Integrated MAX22204步进电机驱动器数据手册

    Analog Devices MAX22204步进电机驱动器是一款两相步进电机驱动器。它集成了两
    的头像 发表于 06-23 14:58 1060次阅读
    Analog Devices / Maxim Integrated MAX22204<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>器数据手册

    Analog Devices / Maxim Integrated MAX22210步进电机驱动器数据手册

    Analog Devices Inc. MAX22210步进电机驱动器集成了两个36V、3.8AMAX半桥。H桥FET具有非常低的阻抗,可实现高驱动效率并最大限度地减少产生的热量。典型
    的头像 发表于 06-14 14:52 1142次阅读
    Analog Devices / Maxim Integrated MAX22210<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>器数据手册

    HJ4205步进电机驱动电路详解

    HJ4205是一款步进电机驱动电路。包含一个步进电机控制器和内部N沟道MOSFET,来驱动一个双
    的头像 发表于 05-07 16:19 1948次阅读
    HJ4205<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>电路详解