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

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

3天内不再提示

英创信息技术WinCE工控主板的步进电机控制介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-17 09:40 次阅读

步进电机的控制需要对控制脉冲进行精确计数,通常利用CPU的PWM信号作为步进电机控制脉冲,并利用PWM自身的中断功能,每输出一个脉冲产生一次中断,然后计数,以实现对输出脉冲个数的控制。但在WinCE上系统直接实现上述控制过程是有因难的,由于操作系统线程调度,WinCE驱动中对中断的响应会有几十到几百微秒的延时,这显然不能满足高速PWM计数的需求,同时频繁的中断也会对整个系统的性能产生影响。

下图是基于英创工控主板EM9380的步进电机控制示意图。EM9380是英创公司推出的面向实时控制应用的工控主板,预装了正版的WinCE6.0操作系统,在主板上集成了两个CPU,主CPU是450MHz的ARM9,运行WinCE系统,负责通讯管理,人机交互等,从CPU采用了ARM Cortex-M3,专门用做实时控制应用。

EM9380步进电机控制

对于步进电机的控制,用户只需要在熟悉的vs2005(vs2008)开发环境下,通过简单的API函数MCU_PWM_CHANNEL()将控制参考传送给Cortex-M3,就可以实现频率可达100KHz,可计数的PWM脉冲输出。MCU_PWM_CHANNEL()函数说明如下:

// MCU PWM操作:启动/停止PWM通道, 启动参数包括频率、占空比和初始极性
BOOL MCU_PWM_CHANNEL(
HANDLE hMCU,
DWORD dwCh, // PWM通道号, = 3, 4, 5, 6, 7, 8
DWORD dwFreq, // PWM输出频率,单位Hz,=0:停止PWM输出
DWORD dwDuty, // PWM输出占空比,单位.1%, 输入范围= 0-1000
DWORD dwPol, // PWM初始极性,= 0: 低电平, = 1: 高电平
DWORD dwNum=0); // PWM脉冲个数, 缺省值=0:连续输出

EM9380 PWM(PWM3~PWM8)实时控制应用举例:

// 打开MCU驱动,输入参数固定为0
HANDLE hMCU = OpenMCU( 0 );
// 控制PWM3以频率100KHz,每个脉冲25%的低电平输出3个脉冲
MCU_PWM_CHANNEL(hMCU, 3, 100000, 250, 0, 3 );
// 控制PWM4以频率100KHz,每个脉冲25%的高电平输出3个脉冲
MCU_PWM_CHANNEL(hMCU, 4, 100000, 250, 1, 3 );
// 控制PWM5输出5MHz,50%占空比的连接PWM信号,dwNum参数使用缺省值
MCU_PWM_CHANNEL(hMCU, 5, 5000000, 500, 0);

// 控制PWM5停止输出
MCU_PWM_CHANNEL(hMCU, 5, 0, 0, 0);
// 关闭MCU驱动,释放相应资源
CloseMCU( hMCU );

执行上述代码后PWM3与PWM4的输出波形如下:(注:下图只是为了说明pol参考对输出波形的影响,实际上PWM3与PWM4并不是同步输出的,EM9380的其它PWM暂时也不具有同步功能)

PWM输出波形

EM9380可以支持8路PWM输出,其中6路是从从CPU Crotex-M3上引出的,支持PWM输出计数,他们与GPIO管脚复用关系如下:

EM9380 GPIO# PWM通道 备注
GPIO20 PWM1
GPIO21 PWM2
GPIO4 PWM3 可计数
GPIO5 PWM4 可计数
GPIO6 PWM5 可计数
GPIO7 PWM6 可计数
GPIO0 PWM7 可计数
GPIO3 PWM8 可计数

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

    关注

    7

    文章

    6060

    浏览量

    34567
收藏 人收藏

    评论

    相关推荐

    关于PXIE主板控制工控机主板原理资料

    电子发烧友网站提供《关于PXIE主板控制工控机主板原理资料.pdf》资料免费下载
    发表于 02-26 15:22 0次下载

    什么是步进电机的细分控制步进电机为什么要细分,如何细分?

    什么是步进电机的细分控制步进电机为什么要细分,如何细分? 步进
    的头像 发表于 02-18 09:39 898次阅读

    arduino控制步进电机代码

    中,我们将详细介绍如何使用Arduino来控制步进电机的代码。 步进电机通常用于需要精确
    的头像 发表于 02-14 16:29 388次阅读

    步进电机控制方法 步进电机和伺服电机的区别

    步进电机控制方法 步进电机是一种将电信号转化为机械转动的电动机,其输出转角是按照电脉冲控制信号的
    的头像 发表于 01-22 17:18 329次阅读

    步进电机控制方法 步进电机控制器参数设置

    步进电机是一种在控制系统中常见的电机类型,它以步进角度为单位进行旋转,并且可以精确控制位置和速度
    的头像 发表于 01-19 10:50 557次阅读

    工控主板大揭秘:选对主板,让工业控制更高效

    在当今技术依赖的时代,工控电脑在工业和商业场景中越来越普遍。为了确保工控电脑的稳定性和可靠性,选择合适的主板至关重要。国产工控
    的头像 发表于 01-12 14:11 212次阅读

    控制步进电机各种电流应用介绍

    最大相电流(Maximum Phase Current)是指步进电机在正常工作条件下,每个相位所能够承受的最大电流值。 步进电机的相电流是通过电流驱动器或
    的头像 发表于 01-03 08:40 234次阅读

    步进电机控制方法及需要哪些控制信号

    步进电机是一种将电子信号转化为机械运动的电动机,广泛应用于机器人、打印机、数码相机等领域。步进电机由于其精度高、固有扭矩大、容易控制等特点,
    的头像 发表于 12-20 11:21 826次阅读

    步进电机开环控制与闭环控制有什么区别?

    步进电机开环控制与闭环控制有什么区别? 介绍步进电机
    的头像 发表于 10-24 11:49 856次阅读

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    步进电机控制原理是什么?如何实现步进电机控制

    先来看一下硬件原理图,可看到控制步进电机的管脚分别为:GPIO6[2]、GPIO6[3]、GPIO6[4]和GPIO1[15]。使用的是一路四相五线步进
    发表于 08-04 14:45 2223次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>原理是什么?如何实现<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>?

    工控主板常见接口详解

    工控主板作为工业控制系统的核心组件之一,具备丰富的接口和扩展性,以满足各类工业应用的需求。 触翔科技介绍几种常见的工控
    的头像 发表于 07-20 17:16 1889次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>常见接口详解

    基于MCU和DSP的步进电机控制技术

    基于MCU和DSP的步进电机控制技术
    发表于 06-10 22:35

    步进电机控制器原理 步进电机控制器的应用设置

    步进电机控制器是一种能够发出均匀脉冲信号的电子产品,它发出的信号进入步进电机驱动器后,会由驱动器转换成
    发表于 05-05 14:16 4次下载
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器原理 <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器的应用设置

    什么是国产工控主板?国产工控主板主要应用有哪些?

    国产工控主板是在工业场合应用的主板,是由工控机使用的。相较于商用主板,国产工控
    的头像 发表于 04-13 14:40 657次阅读