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

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

3天内不再提示

使用SPCE061A对步进电机进行控制的详细资料概述

Wildesbeast 来源:单片机教程网 作者:李通 刘志垠 2020-06-27 10:22 次阅读

本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用 4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。

一、 方案论证与比较

1、 本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相六线制的步进电机(内阻33欧,步进1.8度,额定电压12V)

方案一:使用多个功率放大器件驱动电机

通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。

方案二:使用L298N芯片驱动电机

L298N芯片可以驱动两个二相电机(如图1-1),也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。

图1-1

通过比较,使用L298N芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用L298N驱动电机。而使用L298N时,可以用L297来提供时序信号,可以节省单片机IO口的使用;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。

2、 数码管显示电路的设计

方案一:串行接法

设计中要显示4位数字,用74LS164作为显示驱动,其中带锁存,使用串行接法可以节约IO口资源,但要使用SIO,发送数据时容易控制。

方案二:并行接法

使用并行接法时要对每个数码管用IO口单独输入数据,占用资源较多。

由于设计中用一块单片机进行控制,资源有限,选择了方案一。另外,使用锁存也起到节约资源的作用。

二、步进电机控制原理

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:

(1)控制换相顺序

通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。

(2)控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

(3)控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。

三、理论设计

综和以上选取的方案,总的流程如图3-2所示。

图3-1

1、步进电机驱动电路

通过L298N构成步进电机的驱动电路,电路图如图3-2所示。

通过单片机SPCE061A的IOB8~IOB13对L298N的IN1~IN4口和ENA、ENB口发送方波脉冲信号,起时序图如图3-3所示。

图3-2

图3-3

2、数码管显示电路的设计

数码管的显示驱动使用74LS164,通过SPCE061A的IOB0和IOB1口对DATA和CLK发送数据。

图3-4

3、4x4键盘电路

在设计中,使用了标准的4x4键盘,其电路图如图3-5所示。单片机的A口低8位为键盘的接口。尽管设计要求中只需要4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,我们使用了4x4的键盘。

图3-5

四、程序设计

在进行程序设计的过程中,主要分为五个部分:双机通讯、语音报数、数字显示、步进电机驱动、键盘;其中双机通讯的实现和语音报时比较有特点,将其流程简要介绍如下,其他部分见附的程序。

1、双机通讯

图4-1

我们在实现双机通讯的过程中使用了“三次握手”的方式,这是Intle网中成用的数据通讯确认协议,其流程图如图4-1所示。

2、语音报数

程序设计中语音报数使用的是SACM-A2000,考虑到程序比较简单,首先使用了自动报数方式,但发现不能进行连续报数,于是使用了非自动方式,流程图如图4-2所示。

图4-2

五、结果分析与总结

应该说这次课程设计还是基本达到了设计的要求,但是也存在着未能解决的问题,由于在执行语音程序时对资源的消耗比较大,在语音报数的时候会中断步进电机驱动信号的输出,导致电机停转。为此,我们修改了方案,使用了两块单片机,通过双机通讯来传递信号,遗憾的是问题仍然没有得到解决。

这次步进电机的综合实验我们学到了步进电机、数码管、4*4键盘、语音报数和双机通讯的使用,更重要的是学会了程序出问题时调试的方法,并养成了Debug的习惯,学到了程序出问题后怎样去解决的基本方法。

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

    关注

    6032

    文章

    44513

    浏览量

    632736
  • 功率放大器
    +关注

    关注

    102

    文章

    3517

    浏览量

    131629
  • 步进电机
    +关注

    关注

    150

    文章

    3095

    浏览量

    147327
收藏 人收藏

    评论

    相关推荐

    步进电机如何自适应控制步进电机如何细分驱动控制

    是一种智能控制方法,它可以根据系统参数的变化和外部干扰自动调整控制策略,以实现对系统的稳定和精确控制。在步进电机的自适应
    的头像 发表于 10-23 10:04 320次阅读

    步进电机控制方法与主要应用

    步进电机,作为一种能将电脉冲信号转换为角位移或线位移的执行元件,在自动化控制领域扮演着至关重要的角色。它以其独特的开环控制特性、高精度定位及快速响应能力,广泛应用于打印机、机器人、汽车
    的头像 发表于 06-26 14:45 870次阅读

    基于STM32单片机的步进电机控制系统设计

    系统内使用按键进行步进电机控制,可以控制步进电机
    的头像 发表于 06-25 14:14 918次阅读
    基于STM32单片机的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>系统设计

    什么是步进电机控制器?步进电机控制器电路图

    步进电机控制器是一种专门用于控制步进电机运行的装置。步进
    的头像 发表于 06-20 16:14 1516次阅读
    什么是<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>器电路图

    步进电机控制系统是什么意思

    、高精度定位及良好的重复定位精度,被广泛应用于各种需要精确控制和定位的设备中。本文将从步进电机的工作原理、控制系统组成、控制策略以及应用领域
    的头像 发表于 06-18 18:12 866次阅读

    双极性步进电机的结构与控制模式

    在现代工业控制领域,步进电机以其独特的步进特性和精确的位置控制而备受青睐。其中,双极性步进
    的头像 发表于 06-12 14:40 507次阅读

    步进电机通过什么控制转动角度

    步进电机是一种电磁驱动的旋转电机,它具有精确控制转动角度的特性。步进电机的工作原理是通过改变线圈
    的头像 发表于 06-12 09:49 1284次阅读

    步进电机a+a-b+b-如何改变方向

    a+a-b+b-是一种常见的驱动方式,它通过控制四个线圈的电流,实现电机的正反转和步进运动。 本文将详细介绍
    的头像 发表于 06-12 09:32 4625次阅读

    为什么步进电机要加驱动器

    步进电机作为一种能够实现精确位移控制电机类型,在工业自动化、精密测量、数控机床等领域得到了广泛应用。然而,步进
    的头像 发表于 06-05 17:30 1312次阅读

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

    控制定量的步进角度来进行精确位置控制。细分控制技术可以将电机的每个
    的头像 发表于 02-18 09:39 7102次阅读

    arduino控制步进电机代码

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

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

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

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

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

    arduino如何驱动步进电机

    ,还能轻松驱动步进电机。本文将详细介绍Arduino驱动步进电机的原理、方法和应用。 步进
    的头像 发表于 01-14 16:37 3440次阅读

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

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