单片机与步进电机细分控制
基于STC单片机的SPWM步进电机细分控制研究与实现

步 驱动 控制 时 有 以下 缺 点 :步 距 角较 大 ,转 速 不
够 平 稳 ,低 速 时 容 易 产 生 振 动 ,机 械 噪 声 较 大 ,
波控 制 信 号 ,绕 组 中 电流 的 闭环 控 制 ,从 而 实 现
1 S WM步进 电机细分驱 动原理 P
11 基于 D/A 换 的细分 驱动 . 转 目前细 分 驱 动都 是 采用 D /A 转 换 的方 式 进
行 细 分 。所 谓 细 分 驱 动就 是把 一 个 机 械 步 距 角 细 分 成 若 干 个 电 的步 距 角 ,当转 子 从 一 个 位 置 转 到
制 领域 用步 进 电机 来 控 制 变得 非 常 简单 ,由 此步 进 电机 已被 广泛 地应 用 ,应用范 围正 不断 扩大 。 但 是 由于 其 结 构 及 运 行 上 的 特 点 使 它存 在 整
驱 动 步 进 电机 , 电机 每 运 行 一 步 ,其 绕 组 内的 电 流 将 从 0突 变 为 3 或 从 3 突变 到 0 A A ,o g
( 湖南广播 电视大学 ,长沙 4 0 0 ) 1 0 4
摘
要 : 步进电动机控制方 法多种多样 ,其驱 动方式与运行性 能关系极大。本文突破 目前通用的D A / 转换细分 电路方 式,创新性提出了一种基于S WM的细分控制方法 ,该细分采用S O805 单 P T 9 1 片机 实现了对步进 电机 的控制。这种细分控 制采 用S WM脉 冲实现 ,使硬 件结构简单 ,调整 P 方便 ,控制精度高 ,运行平稳 ,可靠性和抗干扰能力强 ,应用效果良好。
步进电机的细分

步进电机的细分步进电机是一种将离散的电脉冲信号转化成相应的角位移或线位移的电磁机械装置,它具有转矩大、惯性小、响应频率高等优点,已经在当今工业上得到广泛的应用,但其步矩角较大,一般为1.5o~3o,往往满足不了某些高精密定位、精密加工等方面的要求。
实现细分驱动是减小步距角、提高步进分辨率、增加电机运行平稳性的一种行之有效的方法。
本文在选择了合理的电流波形的基础上,提出了基于Intel 80C196MC 单片机控制的步进电机恒转矩细分驱动方案,其运行功耗小,可靠性高,通用性好,具有很强的实用性。
细分电流波形的选择及量化步进电机的细分控制,从本质上讲是通过对步进电机的励磁绕组中电流的控制,使步进电机内部的合成磁场为均匀的圆形旋转磁场,从而实现步进电机步距角的细分。
一般情况下,合成磁场矢量的幅值决定了步进电机旋转力矩的大小,相邻两合成磁场矢量之间的夹角大小决定了步距角的大小。
因此,要想实现对步进电机的恒转矩均匀细分控制,必须合理控制电机绕组中的电流,使步进电机内部合成磁场的幅值恒定,而且每个进给脉冲所引起的合成磁场的角度变化也要均匀。
我们知道在空间彼此相差2p/m的m相绕组,分别通以相位上相差2p/m而幅值相同的正弦电流,合成的电流矢量便在空间作旋转运动,且幅值保持不变。
这—点对于反应式步进电机来说比较困难,因为反应式步进电机的旋转磁场只与绕组电流的绝对值有关,而与电流的正反流向无关。
以比较经济合理的方式对三相反应式步进电机实现步距角的任意细分,绕组电流波形宜采用如图1所示的形式。
图中,a为电机转子偏离参考点的角度。
ib滞后于ia,ic超前于ia。
此时,合成电流矢量在所有区间b=Ime-ja,从而保证合成磁场幅值恒定,实现电机的恒转矩运行。
且步进电机在这种情况下也最为平稳。
将绕组电流根据细分倍数均匀量化后,所得细分步距角也是均匀的。
为了进一步得到更加均匀的细分步距角,可通过实验测取一组在通入量化电流波形时的步进电机细分步距的数据,然后对其误差进行差值补偿,求得实际的补偿电流曲线。
单片机与步进电机细分控制

单片机与步进电机细分控制
1
步进是纯粹的数字控制电动机,它将电脉冲信号改变为角位移,即给一个脉冲,步进电机就转一个角度,因此十分合适控制,在非超载的状况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变幻的影响,电机则转过一个步距角,同时步进电机惟独周期性的无累积误差,精度高。
步进电动机有如下特点:
1)步进电动机的角位移与输入脉冲数严格成正比。
因此,当它转一圈后,没有累计误差,具有良好的尾随性。
2)由步进电动机与驱动组成的开环数控系统,既容易、便宜,又十分牢靠,同时,它也可以与角度反馈环节组成高性能的闭环数控系统。
3)步进电动机的动态响应快,易于启停、正反转及变速。
4)速度可在相当宽的范围内平稳调节,低速下仍能获得较大转距,因此普通可以不用减速器而挺直驱动负载。
5)步进电机只能通过脉冲电源供电才干运行,不能挺直用法沟通电源和直流电源。
6)步进电机存在振荡和失步现象,必需对控制系统和机械负载实行相应措施。
步进电机具有和机械结构容易的优点,图1是四相六线制步进电机原理图,这类步进电机既可作为四相电机用法,也可以做为两相电机用法,用法灵便,因此应用广泛。
步进电机有两种工作方式:整步方式和半步方式。
以步进角1.8度四相混合式步进电机为例,在整步方式下,步进电机每接收一个脉冲,旋转1.8度,旋转一周,则需要200个脉冲,在半步方式下,步进电机每接收一个脉冲,旋转0.9度,旋转一周,则需要400个脉冲。
控制步进电机旋转必需按一定时序对步进电机引线输入脉冲,以上述四
第1页共4页。
单片机在步进电机细分驱动系统的应用

单片机在步进电机细分驱动系统的应用随着工业自动化的不断发展和技术的不断创新,步进电机成为了目前最为广泛应用的一种控制马达。
而在步进电机的驱动系统中,单片机作为一种高效、灵活的控制芯片,可以通过对步进电机细分驱动实现更加精准、高效、低噪声的控制。
一、步进电机细分驱动系统概述步进电机细分驱动系统是将每一步的动作拆分成多个小步进行控制,从而提高步进电机旋转的精度和平稳度。
常用的细分控制方法有全步进、半步进、四分步、八分步和十六分步等,在步进电机驱动系统控制中,通过不同的细分方式来实现步进电机的精细控制,还可以增加步进电机的转矩,并减小噪声和振动等。
二、单片机在步进电机细分驱动系统中的应用单片机具有高效、灵活、可编程性强和易于集成等特点,可以更好的实现对步进电机的细分控制。
单片机应用于步进电机细分驱动系统时,通过对系统进行编程实现对步进电机的细分控制,可以精确地控制步进电机的旋转角度和速度,控制步进电机运动过程中的步数和旋转方向等,从而达到精细控制的目的。
单片机在步进电机细分驱动系统中可以实现以下功能:1.多种细分方式控制。
通过单片机的编程实现不同的细分方式控制,可以实现全步进、半步进、四分步、八分步和十六分步等多种细分方式,灵活控制步进电机的工作状态。
2.旋转角度和速度控制。
通过单片机的编程实现对步进电机的旋转角度和速度进行控制,可以精确地控制步进电机的运动状态,从而达到要求。
3.步数和旋转方向控制。
通过单片机的编程实现对步数和旋转方向控制,可以实现步进电机的正/反向旋转控制和精确定位功能,提高步进电机的工作精度。
三、单片机在步进电机细分驱动系统中的优势1.高灵活性。
单片机可以根据不同的应用场合和要求进行编程,实现多样化、灵活性高的步进电机细分驱动控制。
2.精细控制能力强。
单片机能够实现精细控制,通过不同的细分方式,实现步进电机旋转角度和速度的控制,提高整个步进电机驱动系统的工作精度。
3.易于集成。
单片机处理器可以集成控制、计算和通讯等多种功能,实现与其他控制系统的无缝衔接,并且便于后续升级和维护。
基于单片机的步进电机控制电路设计

基于单片机的步进电机控制电路设计
步进电机是一种应用广泛的电机,它的控制方式是通过逐步改变电流来驱动电机转动。
基于单片机的步进电机控制电路设计可以使步进电机的控制更加精确、方便和自动化。
下面将介绍一下如何设计一台基于单片机的步进电机控制电路。
首先,我们需要选择合适的单片机。
对于步进电机控制,需要一个I/O口数目足够的单片机,并且要求计算速度快、性能稳定。
常用的单片机有AT89C51、AVR、PIC、STM32等,其
中STM32拥有强大的计算能力和外设支持,非常适合用于步
进电机控制电路的设计。
接下来,我们需要考虑步进电机的驱动方式。
步进电机可以采用全步进或半步进两种方式驱动。
全步进控制方式会让电机一步步转动,步距为180度,转速慢但精确度高,而半步进控制方式可以让电机先半步,再进入全步进控制,提高了转速同时又保持了较高的精度。
最后,我们需要设计电路连接和代码编写。
在电路连接方面,需要将单片机输出引脚和驱动芯片的控制引脚相连,同时将驱动芯片输出端和电机的相应引脚相连。
在代码编写方面,需要根据所选单片机的指令集来编写步进电机控制引脚输出的程序,实现步进电机转速和方向的控制。
综上所述,基于单片机的步进电机控制电路设计需要选取合适的单片机,选择合适的步进电机驱动方式,并根据电路连接和
代码编写来实现电机的精确控制。
这样设计出的步进电机控制电路可以应用于各种机械设备控制,使之更加智能化和自动化。
基于51单片机的步进电机控制系统设计与实现

步进电机工作原理
步进电机是一种基于磁场的控制系统,工作原理是当电流通过定子绕组时,会 产生一个磁场,该磁场会吸引转子铁芯到相应的位置,从而产生一定的角位移。 步进电机的角位移量与输入的脉冲数量成正比,因此,通过控制输入的脉冲数 量和频率,可以实现精确的角位移和速度控制。同时,步进电机具有较高的分 辨率和灵敏度,可以满足各种高精度应用场景的需求。
二、系统设计
1、硬件设计
本系统主要包括51单片机、步进电机、驱动器、按键和LED显示等部分。其中, 51单片机负责接收按键输入并控制步进电机的运动;步进电机用于驱动负载运 动;驱动器负责将51单片机的输出信号放大,以驱动步进电机。LED显示用于 显示当前步进电机的状态。
2、软件设计
软件部分主要包括按键处理、步进电机控制和LED显示等模块。按键处理模块 负责接收用户输入,并根据输入控制步进电机的运动;步进电机控制模块根据 按键输入和当前步进电机的状态,计算出步进电机下一步的运动状态;LED显 示模块则负责实时更新LED显示。
三、系统实现
1、按键输入的实现
为了实现按键输入,我们需要在主程序中定义按键处理函数。当按键被按下时, 函数将读取按键的值,并将其存储在全局变量中。这样,主程序可以根据按键 的值来控制步进电机的转动。
2、显示输出的实现
为了实现显示输出,我们需要使用单片机的输出口来控制显示模块的输入。在 中断服务程序中,我们根据设定的值来更新显示模块的输出,以反映步进电机 的实时转动状态。
基于单片机的步进电机控制系统需要硬件部分主要包括单片机、步进电机、驱 动器、按键和显示模块等。其中,单片机作为系统的核心,负责处理按键输入、 控制步进电机转动以及显示输出等功能。步进电机选用四相八拍步进电机,驱 动器选择适合该电机的驱动器,按键用于输入设定值,显示模块用于显示当前 步进电机的转动状态。
单片机控制步进电机正反转

void Motor()
{
unsigned char i;
for(i=0;i<8;i++)
{
GPIO_MOTOR = FFW[i];
Delay(Speed);//调节转速
}
}
当然,这种控制个人觉得是不太精确的,如果只是让一个轴转动180度,则用步进电机外接减速箱,然后接一轴,让电机转一圈,轴转10度或20度,则控制会更精准。
unsigned char code FFZ[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //正转顺序
unsigned char Direction;
void Delay(unsigned int t);
void Motor();
void main()
Delay(10);
GPIO_MOTOR = FFZ[3];
Delay(10);
GPIO_MOTOR = FFZ[4];
Delay(10);
GPIO_MOTOR = FFZ[5];
Delay(10);
GPIO_MOTOR = FFZ[6];
Delay(15);
GPIO_MOTOR = FFZ[7];
{
unsigned char i;
while(1)
{
if(K1==0)//检测按键K1是否按下
{
Delay(10);//消除抖动
if(K1==0)
{
Direction=1;}while((i<200)&&(K1==0))//检测按键是否松开
51单片机驱动步进电机的方法

51单片机驱动步进电机的方法一、步进电机简介步进电机是一种将电脉冲转化为角位移的执行机构,广泛应用于各种自动化设备中。
其工作原理是,当一个脉冲信号输入时,电机转动一个步距角,从而实现电机的精确控制。
二、51单片机驱动步进电机的方法1、硬件连接需要将51单片机与步进电机连接起来。
通常,步进电机需要四个引脚,分别连接到单片机的四个GPIO引脚上。
同时,还需要连接一个驱动器来提高电机的驱动能力。
2、驱动程序编写接下来,需要编写驱动程序来控制步进电机的转动。
在51单片机中,可以使用定时器或延时函数来产生脉冲信号,然后通过GPIO引脚输出给电机。
同时,还需要设置电机的步距角和转向,以保证电机的精确控制。
3、示例程序以下是一个简单的示例程序,用于演示如何使用51单片机驱动步进电机:cinclude <reg52.h> //包含51单片机的头文件sbit motorPin1=P1^0; //定义连接到P1.0引脚的电机引脚sbit motorPin2=P1^1; //定义连接到P1.1引脚的电机引脚sbit motorPin3=P1^2; //定义连接到P1.2引脚的电机引脚sbit motorPin4=P1^3; //定义连接到P1.3引脚的电机引脚void delay(unsigned int time) //延时函数unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<1275;j++);void forward(unsigned int step) //正转函数motorPin1=0;motorPin2=0;motorPin3=0;motorPin4=0; //清零电机引脚delay(step); //延时一段时间motorPin1=1;motorPin3=1;motorPin2=0;motorPin4=0; //设置转向和步距角delay(step); //延时一段时间void backward(unsigned int step) //反转函数motorPin1=0;motorPin2=0;motorPin3=0;motorPin4=0; //清零电机引脚delay(step); //延时一段时间motorPin2=1;motorPin4=1;motorPin3=0;motorPin1=0; //设置转向和步距角delay(step); //延时一段时间void main() //主函数unsigned int step=1000; //设置步距角为1000微步forward(step); //正转一圈backward(step); //反转一圈while(1); //循环等待,保持电机转动状态在这个示例程序中,我们使用了四个GPIO引脚来控制步进电机的转动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机与步进电机细分控制
技术分类:嵌入式系统来源:中电网/ 作者:大庆石油学院关学忠胡松发表时间:2006-08-16
1 步进电机
步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变为角位移,即给一个脉冲,步进电机就转一个角度,因此非常合适单片机控制,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,电机则转过一个步距角,同时步进电机只有周期性的无累积误差,精度高。
步进电动机有如下特点:
1)步进电动机的角位移与输入脉冲数严格成正比。
因此,当它转一圈后,没有累计误差,具有良好的跟随性。
2)由步进电动机与驱动电路组成的开环数控系统,既简单、廉价,又非常可靠,同时,它也可以与角度反馈环节组成高性能的闭环数控系统。
3)步进电动机的动态响应快,易于启停、正反转及变速。
4)速度可在相当宽的范围内平稳调整,低速下仍能获得较大转距,因此一般可以不用减速器而直接驱动负载。
5)步进电机只能通过脉冲电源供电才能运行,不能直接使用交流电源和直流电源。
6)步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应措施。
步进电机具有和机械结构简单的优点,图1是四相六线制步进电机原理图,这类步进电机既可作为四相电机使用,也可以做为两相电机使用,使用灵活,因此应用广泛。
步进电机有两种工作方式:整步方式和半步方式。
以步进角1.8度四相混合式步进电机为例,在整步方式下,步进电机每接收一个脉冲,旋转1.8度,旋转一周,则需要200个脉冲,在半步方式下,步进电机每接收一个脉冲,旋转0.9度,旋转一周,则需要400个脉冲。
控制步进电机旋转必须按一定时序对步进电机引线输入脉冲,以上述四相六线制步进电机为例,其半步工作方式和整步工作方式的控制时序如表1和表2所列。
步进电机在低频工作时,会有振动大、噪声大的缺点。
如果使用细分方式,就能很好的解决这个问题,步进电机的细分控制,从本质上讲是通过对步进电机励磁绕组中电流的控制,使步进电机内部的合成磁场为均匀的圆形旋转磁场,从而实现步进电机步距角的细分,一般情况下,合成磁场矢量的幅值决定了步进电机旋转力矩的大小,相邻两合成磁场矢量之间的夹角大小决定了步距角的大小,步进电机半步工作方式就蕴涵了细分的工作原理。
实现细分方式有多种方法,最常用的是脉宽调制式斩波驱动方式,大多数专用的步进电机驱动芯片都采用这种驱动方式,TA8435就是其中一种芯片。
2 基于TA8435H芯片的步进电机细分方式
2.1 TA8435芯片特点
TA8435是东芝公司生产的单片正弦细分二相步进电机驱动专用芯片,该芯片具有以下特点:
1)工作电压范围宽(10-40V);
2)输出电流可达1.5A(平均)和2.5A(峰值);
3)具有整步、半步、1/4细分、1/8细分运行方式可供选择;
4)采用脉宽调试式斩波驱动方式;
5)具有正/反转控制功能;
p; 6)带有复位和使能引脚;
7)可选择使用单时钟输入或双时钟输入。
从图2中可以看出,TA8435主要由1个解码器,2个桥式驱动电路、2个输出电流控制电路、2个最大电流限制电路、1个斩波器等功能模块组成。
2.2 TA8435细分工作原理
在图3中,第一个CK时钟周期时,解码器打开桥式驱动电路,电流从VMA流经电机的线圈后经RNFA后与地构成回路,由于线圈电感的作用,电流是逐渐增大的,所以RNFB 上的电压也随之上升。
当RNFB上的电压大于比较器正端的电压时,比较器使桥式驱动电路关闭,电机线圈上的电流开始衰减,RNFB上的电压也相应减小;当电压值小于比较器正向电压时,桥式驱动电路又重新导通,如此循环,电流不断的上升和下降形成锯齿波,其波形如图3中IA波形的第1段,另外由于斩波器频率很高,一般在几十KHz,其频率大小与所选用电容有关,在OSC作用下,电流锯齿波纹是非常小的,可以近似认为输出电流是直流。
在第2个时钟周期开始时,输出电流控制电路输出电压Ua达到第2阶段,比较器正向电压也相应为第2阶段的电压,因此,流经步进电机线圈的电流从第1阶段也升至第二阶段2,电流波形如图IA第2部分,第3时钟周期,第4时钟周期TA8435的工作原理与第1、2是一样的,只有又升高比较器正向电压而已,输出电流波形如图IA中第3、4部分。
如此最终形成阶梯电流,加在线圈B上的电流,如图3中IB。
在CK一个时钟周期内,流经线圈A和线圈B的电流共同作用下,步进电机运转一个细分步。
2.3 步进电机的应用
图4是单片机与TA8435相连控制步进电机的原理图,引脚M1和M2决定电机的转动方式:M1=0、M2=0,电机按整步方式运转;M1=1、M2=0,电机按半步方式运转;M1=0、M2=1,电机按1/4细分方式运转;M1=1、M2=1,电机按1/8步细分方式运转,CW/CWW控制电机转动方向,CK1、CK2时钟输入的最大频率不能超过5KHz,控制时钟的频率,即可控制电机转动速率。
REFIN为高电平时,NFA和NFB的输出电压为0.8V,REFIN 为低电平时,NFA和NFB输出电压为0.5V,这2个引脚控制步进电机输入电流,电流大小与NF端外接电阻关系式为:IO=Vref/Rnf。
图4中,设REFIN=1,选用步进电机额定电流为0.4A,R1,R2选用1.6欧姆、2W的大功率电阻,O、C两线不接。
步进电机按二相双极性使用,四相按二相使用时可以提高步进电机的输出转矩,D1-D4快恢复二极管用来泄放绕组电流。
以下是利用TA8435控制步进电机的程序,实现采用1/8细分方式控制步进电机的顺时钟方向转动的功能,利用定时器1向TA8435输出脉冲,用来控制步进电机转速。
3 结论
本文介绍了步进电机的特点和TA8435芯片工作原理,使用细分方式可以提高步进电机的控制精度,降低步进电机的振动和噪声,因此,在低频工作时,可以选用1/4细分或1/8细分模式,以降低系统的振动和噪声,当系统需要在高速工作时,细分模式就有可能达不到要求的速度,这时可以选用整步或半步方式,在速度较高时,在整步或半步工作模式下,步进电机运行稳定,振动小、噪声也小。
TA8435在细分、半步、整步几种工作模式之间的切换是相当容易的,使用TA8435控制步进电机具有价格低、控制简单、工作可靠的特点,所以具有很高的推广价值和广阔的应用前景。