L297298的步进电机工作模式的单片机接口
- 格式:doc
- 大小:438.50 KB
- 文档页数:5
L297的特性是只需要时钟、方向和模式输入信号。
相位是由内部产生的。
因此可以减轻单片机和程序设计的负担。
L298是一种高压、大电流双H桥式驱动器。
L297和L298组成的步进电机控制电路具有以下特点:使用元件少,可靠高体积小,软件开发简单,硬件的费用大大减少。
由L298和光电耦合器TLP521-4构成的直流电机驱动器具有以下特点:软件开发简单,硬件电路少,驱动能力强。
多功能直流/步进电机驱动器可以方便的用短路帽来切换是作为步进电机。
L297/L298直流/步进电机驱动器说明:
1.尺寸:长、宽、高:79*43*33mm.
2.主要芯片:L297、L298.
3.工作电压:控制信号电压直流
4.5V-
5.5V。
电机电压直流5V-30V.
4.最大工作电流:2A。
5.额定功率:25W.
6.具有电源指示.
7.具有信号和转向指示.
8.可单独控制一台双极性两相步进电机或四相单极性步进电机
9.可单独控制两台直流电机。
L297 L298 直流/步进两用电机驱动器:
作为直流电机时的接线图:
作为步进电机时接线说明:
电路原理图:直流电机驱动器
步进电机驱动器。
L297_L298芯片混合式步进电机驱动器说明书1输入输出标准名作用备注2信号输入端+5V 给芯片提供5V工作电压必要3GND 给芯片提供工作地电压必要4CW 控制电机转动方向(1正转0反转)必要5H/F 电机四拍或八拍工作方式(1四拍0八拍)必要6CLK 电机步进脉冲(给一个脉冲电机转动一步)必要7RES 输出逻辑电平复位(输入高电平)必要8CTL 斩波器控制端(保持高电平或悬空)不必要9SY 斩波器输出(扩展使用)不必要10HO 集电极输出端(保持悬空)不必要11信号输出端A 电机绕组A 必要12 B 电机绕组B 必要13 C 电机绕组C 必要14 D 电机绕组D 必要15GND 电机控制电压输入地端必要16VCC 电机控制电压输入正端必要17以上红色1表示高电平、0表示低电平18必要表示必须接线、不必要表示可以悬空简要说明:一、尺寸:71mmX43mm二、主要芯片:L297、L298N三、工作电压:控制信号直流5V;电机电压直流5V~36V四、最大工作电流:2.5A五、额定功率25W特点:1、具有电源指示。
2、转速可调3、抗干扰能力强4、具有过电压和过电流保护5、可单独控制一台步进电机【参考程序】#include<reg52.h>#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int //宏定义无符号整型sbit CW=P1^0; //控制步进电机的方向sbit H_F=P1^1; //控制步进电机的工作方式(1为四拍工作方式,0为八拍工作方式)sbit CLK=P1^2; //控制步进电机的转动速度,一个脉冲电机转动一个步进角。
sbit RES=P1^3; //使能控制(为1时电机运行,为0时电机停止)/*********************************************************************/void delay(uint i)//延时函数{uint j,k;for(j=0;j<i;j++)for(k=0;k<150;k++);}/*********************************主函数************************************/ main(){CW=1; //为1时电机正转,为0时电机反转H_F=0; //1为四拍工作方式,0为八拍工作方式CLK=1; //脉冲输出初始值RES=1; //为1时电机运行,为0时电机停止while(1){CLK=!CLK; //产生脉冲delay(1); //控制速度(改变括号内的阿拉伯数字可以改变转速)《数字越小电机转动越快》}}。
L297的工作原理介绍L297是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。
芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。
该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。
L297的芯片引脚特别紧凑,采用双列直插20脚塑封封装,其引脚见图1,内部方框见图2。
在图2所示的L297的内部方框图中。
变换器是一个重要组成部分。
变换器由一个三倍计算器加某些组合逻辑电路组成,产生一个基本的八格雷码(顺序如图3所示)。
由变换器产生4个输出信号送给后面的输出逻辑部分,输出逻辑提供禁止和斩波器功能所需的相序。
为了获得电动机良好的速度和转矩特性,相序信号是通过2个PWM斩波器控制电动波器包含有一个比较器、一个触发器和一个外部检测电阻,如图4所示,晶片内部的通用振荡器提供斩波频率脉冲。
每个斩波器的触发器由振荡器的脉冲调节,当负载电流提高时检测电阻上的电压相对提高,当电压达到Uref时(Uref是根据峰值负载电流而定的),将触发器重置,切断输出,直至第二个振荡脉冲到来、此线路的输出(即触发器Q输出)是一恒定速率的PWM信号,L297的CONTROL端的输入决定斩波器对相位线A,B,C,D或抑制线INH1和INH2起作用。
CONTROL为高电平时,对A,B,C,D有抑制作用;为低电平时,则对抑制线INH1和INH2有抑制作用,从而可对电动机和转矩进行控制。
图1 L297引脚图图2 L297内部方框电路图图3 L297变换器换出的八步雷格码(顺时针旋转)图4 斩波器线路图5 多个L297同步工作连接图Symbol 符号Parameter 参数Value 数值Unit 单位Vs Supply voltage 电源电压10 V Vi Input signals 输入信号7 V Ptot Total power dissipation 总功率耗散(Tamb = 70℃) 1 W Tstg, Tj Storage and junction temperature 储存和结温-40 to + 150 ℃L297 ELECTRICAL CHARACTERISTICS (Refer to the block diagram Tamb = 25℃, Vs = 5V unless otherwiseSymbol 符号Parameter 参数Test conditions测试条件最小典型最大单位Vs Supply voltage (pin 12) 电源电压 4.75 7 VIs Quiescent supply current静态电源电流(引脚12)Outputs floating 50 80 mAVi Input voltage输入电压(引脚11,17,18,19,20)Low 0.6 VHigh 2 Vs VIi Input current输入电流(引脚11,17,18,19,20)Vi = L 100 μAVi = H 10 μAVen Enable input voltage 使能输入电压(引脚Low 1.3 V1脚(SYNG)——斩波器输出端。
单片机与电机驱动器的接口技术及应用1. 引言单片机与电机驱动器的接口技术在现代电子设备中起着至关重要的作用。
单片机作为一种微型计算机芯片,常用于控制各种电子设备的运行。
而电机驱动器则用于驱动电机进行特定的转动或控制。
本文将深入探讨单片机与电机驱动器的接口技术以及应用,包括常见的接口类型、接口电路设计和接口应用。
2. 单片机与电机驱动器的接口类型单片机与电机驱动器之间的接口类型可以根据应用的需求选择。
常见的接口类型包括并行接口、串行接口和模拟接口。
2.1 并行接口并行接口是指单片机与电机驱动器之间同时传输多位数据的接口。
这种接口通常使用多个引脚进行数据传输,具有较高的传输速率和实时性。
并行接口操作相对简单,适用于控制高速运动的电机。
2.2 串行接口串行接口是指单片机与电机驱动器之间逐位传输数据的接口。
这种接口通常使用较少的引脚进行数据传输,传输速率较低但适用于长距离传输。
串行接口可以采用SPI、I2C、UART等通信协议,根据具体需求选择合适的协议。
2.3 模拟接口模拟接口是指单片机通过模拟电压信号与电机驱动器进行通信的接口。
通常采用模拟输入输出方式,通过模拟信号控制电机的转速和方向。
模拟接口适用于一些特殊的电机控制需求,如无刷直流电机等。
3. 单片机与电机驱动器的接口电路设计接口电路设计是确保单片机与电机驱动器之间正常通信的关键。
以下是一个基本的接口电路设计示例。
3.1 电源电压匹配单片机与电机驱动器的电源电压需要匹配,确保电路正常工作。
如果电源电压不匹配,会导致电机不能正常驱动或单片机工作不稳定。
因此,在接口电路设计中需要注意选择适合的电源电压。
3.2 电平转换电路单片机通常使用的是TTL电平(0V和5V),而电机驱动器可能使用不同的电平标准,如CMOS(0V和3.3V)。
为了确保信号的正常传输,需要使用电平转换电路将单片机输出的电平转换为电机驱动器所需的电平标准。
3.3 电流放大电路单片机的输出电流很小,无法直接驱动电机。
单片机控制步进电机程序设计-回复单片机控制步进电机程序设计是现代电子技术领域的重要研究方向之一。
步进电机广泛应用于工业生产、机械设备、医疗器械等领域,具有定位精度高、控制方便等优势。
本文将从单片机控制步进电机的基本原理、程序设计流程和示例程序三个方面,逐步讲解单片机控制步进电机的程序设计。
一、单片机控制步进电机基本原理步进电机是一种可以控制转动角度和转速的电动机。
它由驱动电路与电机本体两部分组成。
其中,电机本体由定子和转子两部分构成,定子上搭载绕组,转子通过定子和绕组形成磁场的相互作用来实现转动。
驱动电路则负责控制绕组的电流,使电机的转子按照特定的顺序和角度旋转。
单片机作为控制器,通过驱动电路向步进电机的绕组提供电流信号,控制绕组的状态,从而控制步进电机的转动。
具体而言,单片机通过控制输出端口的高低电平来控制驱动电路产生相应的电流信号,进而控制步进电机的转动。
二、单片机控制步进电机程序设计流程单片机控制步进电机的程序设计主要分为以下几个步骤:1. 确定步进电机的工作模式:步进电机有多种工作模式,包括全步进模式、半步进模式等。
根据实际需要选择适合的工作模式。
2. 确定步进电机的转速和转动方向:根据具体需求确定步进电机的转速和转动方向。
一般通过控制输出端口的高低电平和不同的电流信号来实现。
3. 编写程序:根据所选工作模式、转速和转动方向,利用单片机的指令集和控制端口编写相应的程序。
首先需要定义输出端口和相关的变量,然后编写主程序,设置转动方向和转速,最后通过循环控制步进电机的转动。
4. 调试程序:将程序烧录至单片机,连接步进电机及驱动电路,通过调试程序观察步进电机的转动情况,并对程序进行修改优化,直至达到预期的效果。
三、单片机控制步进电机程序设计示例以下是一个简单的单片机控制步进电机程序设计示例:include <reg51.h>define motor P1void delay(unsigned int t){unsigned int i, j;for(i=0; i<t; i++)for(j=0; j<1000; j++);}void main(){motor = 0xFF; 设置所有输出端口为高电平while(1){motor = 0xFF; 正转delay(200);motor = 0x00;delay(200);motor = 0xF0; 反转delay(200);motor = 0x00;delay(200);}}以上示例程序实现了步进电机的定时正反转功能。
单片机与步进电机的接口技术
一.目的与PROTEUS实践
1.用A T89c51单片机控制步进电机启/停、正转、反转。
2.用PROTEUS实现该接口的电路设计和程序设计,并进行实时交互仿真。
二.PROTEUS电路设计
单片机控制步进电机电路原理图如图所示。
1. 从PROTEUS库中选取元器件
(1)AT89C51:单片机
(2)ULN2003A:运放;
(3)MINRES10K:电阻
(4)BUTTON:按钮
(5)CAP、CAP-ELEC:电容、电解电容
(6)CRYSTAL:晶振
(7)MOTOR-STEPPER:单极性步进电机
2.步进电机
单极性步进电机原理图符号及其属性如图所示,各属性值可根据需要修改。
3.放置元器件、放置电源和地、连线、元器件属性设置、电气检测
由驱动器ULN2003A输出到电动机的控制线标注为1C、2C、3C、4C,相应的电动机引脚中断标注为“1C、2C、3C、4C”。
控制电动机的单片机引脚P1.0~P1.3引出的电线依次标注为AB0~AB3。
电路中有3个按键,分别为“K1”键使电动机停止转动;“K2”使电动机正转;“K3”使电动机反转。
三.源程序设计、生成目标代码文件
1.源程序设计
2.生成目标代码
四.仿真
1.加载目标代码文件
打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件,在
“Clock Frequency”栏中输入晶振频率为12MHZ。
2.仿真
单击按钮,启动仿真,运行初始状态电动机不动。
(1)单片机控制电动机正转
(2)单片机控制电动机反转。
ChinascienceandTechndugyReview应用技术基于L297/298步进电机工作模式的单片机接口黄秀成1黄健2(1装甲兵技术学院2吉林华微电子吉林长春130117)[摘要]作为混合式步进电机的驱动器,基于L297/298驱动芯片的组合是较为常见的一种。
本文较为详细论述了基于该种驱动器下混合式步进电机的三种工作模式,给出了相应的单片机接口方案。
[关键词]步进电机、L297/298、单片机中图分类号:TM3文献标识码:A文章编号:1009—914X(2009)3(b)一0000一oo一、引言步进电机是一种将电脉冲转化为角位移的执行机构。
当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步距角)。
通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机分为三种:永磁式(PM),反应式(VR)和混合式(HB)。
永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大;混合式步进电机混合了永磁式和反应式的优点。
它分为两相和五相,两相混合式步进电机步距角一般为1.8度而五相混合式步进电机步距角一般为0.72度。
其中混合式步进电机的应用最为广泛。
每睁警◇母基于L297/298驱动芯片的两相双极性混合式步进电机驱动器,采用恒流斩波:L297/298驱动器方式驱动,每相电流可达2A。
其中L297是步进电机控制器,适用于双极性两相步进电机或单极性四相步进电机的控制。
用L297输出信号可控制L298双桥驱动集成电路,用来驱动电压最高为46V,总电流为4A以下的步进电机。
L297也可用来控制由达林顿管组成的分立电路,以驱动更高电压,更大电流的步进电机。
L297只需要时钟、方向和模式输入信号,相位由内部产生,从而减轻了微处理器和程序设计的负担。
基于单片机和L297,298步进电机驱动器的设计来源:龙人计算机发布者:apple 时间:2009-5-5 阅读:2449次步进电机不能象普通的直流电机,交流电机在常规下使用。
它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。
目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。
1.步进电机控制步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(VR)、永磁式步进电机(PM)和混合式步进电机(HB)。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。
例如:混合式步进电机的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断,这就是所谓脉冲环形分配器。
(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
2.L297和L298组成的步进电机驱动电路SGS公司的L297单片步进电机控制集成电路适用于双极性两相步进电机或四相单极性步进电机的控制,与两片H桥式驱动芯片L298组合,组成完整的步进电机固定斩波频率的PWM恒流斩波驱动器。
L297产生四相驱动信号,用以控制双极性两相步进电机或四相单极性步进电机,可以采用半步、两相励磁、单相励磁三种工作方式控制步进电机,并且控制电机的片内PWM斩波电路允许三种工作方式的切换。
编号:单片机实训 (论文)说明书题目:步进电机控制器院(系):信息与通信学院专业:电子信息工程学生姓名:学号: 0901130324 指导教师:符强严素清2012 年01 月03 日摘要步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,具有快速起动和停止的特点。
其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度, 并能实现正反转和平滑速度调节。
它的运行速度和步距不受电源电压波动及负载的影响, 因而被广泛应用于数模转换、速度控制和位置控制系统。
本文在分析了步进电机的驱动特性、斩波恒流细分驱动原理和混合式步进电机驱动芯片L297/L298的性能、结构的基础上,结合AT89C52单片机,设计出了混合式步进电机驱动电路。
关键词:步进电机;AT89C52单片机;L297/L298驱动。
AbstractStepping motors is a kind of will convert angular displacement or electrical impulses signal line displacement of precision actuator, have fast start and stop characteristics. The driving speed and instructions pulse can strictly synchronization, which has high repositioning precision, and can realize the positive &negative and smooth adjustable speed. Its operation speed and step distance from supply voltage fluctuation and load effect, which have been widely applied in analog-to-digital conversion, speed control and the position control system. Based on the analysis of the stepper motor driving characteristics, a chopper constant-current subdivided driving principle and hybrid stepping motor drive chip L297 / L298 the performance, structure in the foundation, the union AT89C52 single chip computer, designed a hybrid stepping motor driver circuit.Key words:Stepping motor; AT89C52 single chip computer; L297 / L298 driver.目录第一章绪论 (1)1.1课题背景 (1)1.2设计目的与意义 (1)1.3选择方案 (1)1.3.1步进电机概述 (1)1.3.2步进电机工作原理 (2)1.3.3控制方案 (3)第二章步进电机驱动器 ................................... 错误!未定义书签。
用51单片机控制两相四线步进电机最近学习步进电机的驱动原理,照着教材自己实践了一下用ULN2003驱动28BYJ-48两相5线步进电机,可以正常转动。
手头有一个旧光驱,拆开发现里面有三个电机,其中有一个控制激光头寻迹的两相四线步进电机,我就用51的单片机让它也转起来。
一开始照葫芦画瓢用ULN2003驱动,结果发现无论如何也不行。
原来ULN2003基本没输出电流,只能驱动有公共端的两相五线、两相六线步进电机,不能驱动2相4线步进电机。
然后改用L293D驱动,可以转动。
通过按钮控制正反转时发现,按键释放后,电机迅速发热,烫手。
用万用表测量,发现电机A,A-或B,B-直接存在电位差!应该是按键释放时,IN1-IN4没有归零。
找到问题,就容易解决了。
修改程序,可以完美运行,键1按下正转,释放停下,键2按下反转,释放停下。
IN1-IN4分别接P1口的低四位。
工作方式选用8拍。
A 1 1 0 0 0 0 0 1A- 0 0 0 1 1 1 0 0B 0 1 1 1 0 0 0 0B- 0 0 0 0 0 1 1 1附上源程序,仅供参考。
#include#define uint unsigned int#define uchar unsigned charsbit K3=P2^5;sbit K4=P2^4;//k3正转。
k4反转。
释放停止uchar code step_table[]={0x8,0xa,0x2,0x6,0x4,0x5,0x1,0x9};void delay(unsigned int m){unsigned int i,j;for(i=m;i>0;i--)for(j=110;j>0;j--);}void xp()//x轴正转{while(!K3){uint i;for(i=0;i<8;i++){P1=step_table[ i];delay(10);}}P1=0;//按键释放时,反转P1停在table某处,导致电机有电压从而使电机发热,需要归零。
用MCS-51系列单片机作为控制器;采用两相双极性步进电机为控制对象;采用L297/298驱动芯片为步进电机驱动器;用加速、减速、正转、反转4个键进行相应的控制;用LCD显示步进的电机的工作状态。
主程序:#include"LCD1602.h"sbit s1=P1^0; //定义键与51单片机连接的引脚sbit s2=P1^1;sbit s3=P1^2;sbit s4=P1^3;sbit P3_6=P3^6;sbit P3_7=P3^7;uchar Speed;uchar SPEEDdis[4]; //存放转换成液晶显示字符(ASIIC)的数组void delayms (uint x) //延时子函数{uchar i,j;for ( i=x;i--;i>0)for (j=0; j<110; j++);}void disspeed() //显示子程序{unsigned char s=1000*8/Speed;SPEEDdis[0]=s /100+0x30;SPEEDdis[1]=s %100/10+0x30;SPEEDdis[2]=s %100%10+0x30;SPEEDdis[3]='\0'; //最后一个字符是回车符号LCD_Prints(1,0,SPEEDdis);}void main(){IT0=1;EA=1; //开总中断EX0=1; //开外部中断0中断LCD_Initial(); //初始化液晶while(1){delayms(Speed);P3_7=~P3_7;}}void int0() interrupt 0 //按键中断{if(s1==0){if(Speed>50) //加速Speed=Speed-10;elseSpeed=50;s4=1;s2=1;s3=1;disspeed();}if(s2==0) //减速{if(Speed<150)Speed=Speed+10;elseSpeed=150;s1=1;s3=1;s4=1;disspeed();}if(s3==0){P3_6=1; //正转s1=1;s2=1;s4=1;LCD_Prints(5,1,"zhengzhuan");}if(s4==0){P3_6=0; //反转s1=1;s2=1;s3=1;LCD_Prints(5,1,"fanzhuan ");}}LCD程序:#include<reg52.h>#include<intrins.h> //此头文件定义有_nop_()函数#include"LCD1602.h"uchar LCD_Wait(){LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_();LcdEn=0;return DBPort;}#define LCD_COMMAND 0 //命令#define LCD_DA TA 1 //数据#define LCD_CLEAR_SCREEN 0x01 //清屏#define LCD_HOMING 0x02 //光标返回点void LCD_Write(bit style,uchar input)LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();LcdEn=1;_nop_();LcdEn=0;_nop_();LCD_Wait();}#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(uchar DisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}#define LCD_AC_UP 0x02 //地址计数器递增的方式#define LCD_AC_DOWN 0x00 //为缺省设置#define LCD_MOVE 0x01 //画面可平移#define LCD_NO_MOVE 0x00 //画面不可平移void LCD_SetInput(uchar InputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38); //此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示,无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增,画面不动void LCD_Pos(uchar x,uchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40)); }void LCD_Prints(uchar x,uchar y,uchar *str){LCD_Pos(x,y);while(*str!='\0'){LCD_Write(LCD_DA TA,*str);str++;}}。
单片机控制步进电机的原理
单片机控制步进电机是通过对步进电机的相序进行控制,从而实现不同的转动效果。
步进电机通常由定子和转子组成,定子上的绕组接通不同的电流即可实现不同的步进角度。
在单片机控制步进电机过程中,首先需要电源为步进电机提供工作电压。
然后,通过单片机的输出引脚来控制步进电机驱动器的相序,驱动器根据接收到的相序信号,将不同的电流通入步进电机的不同相序绕组,从而引起转子的步进运动。
单片机通常会配置一个时序驱动器,用来产生相序信号。
时序驱动器内部会保存一个相序表,包含所有可能的相序组合。
单片机通过改变时序驱动器的输入信号,来改变驱动器输出的相序信号,从而实现对步进电机的控制。
在实际应用中,单片机一般使用脉冲信号来驱动步进电机。
每个脉冲信号会引起步进电机转动一个固定的角度,这个角度取决于步进电机的结构特性,如步距角等。
通过改变脉冲信号的频率和相序,可以控制步进电机的转速和转向。
例如,正转时,依次给出相序A、B、C、D;反转时,依次给出相序D、C、B、A。
这样,单片机通过控制相序信
号的变化,就能控制步进电机的运动模式。
除此之外,单片机还可以结合其他传感器信息来实现更复杂的步进电机控制。
例如,通过接收光电传感器的信号,可以实现步进电机在指定位置停止;通过接收陀螺仪的信号,可以实现
步进电机的姿态控制等。
总之,单片机控制步进电机的原理是通过改变步进电机的相序,从而控制步进电机的转动效果。
这样的控制方式简单可靠,广泛应用于各种工业自动化和机器人控制领域。
单片机与电机驱动器的接口设计与实现方法概述:单片机与电机驱动器的接口设计是嵌入式系统开发中关键的一环。
通过正确设计和实现单片机与电机驱动器之间的接口,可以实现准确的控制和驱动电机,实现各种电动设备的功能。
本文将介绍单片机与电机驱动器接口设计的基本原理和常用方法。
第一部分:接口设计原理1. 电机驱动原理在开始设计接口之前,有必要了解电机驱动的基本原理。
电机可以通过电流控制实现速度和转向的控制。
通常,电机驱动器是一个专门控制和调节电机电流的设备。
在单片机与电机驱动器之间设计接口时,需要了解电机的型号、额定电流、额定电压等参数,以确保正确的电流输出。
2. 单片机IO口单片机是实现电机控制的核心芯片。
在设计接口时需要考虑单片机的输出能力和电平特性。
通过单片机的IO口,可以控制电机驱动器的工作方式,如正转、反转、停止等。
同时,还需要确定IO口的电平和电流要求,以保证单片机和电机驱动器之间的信号传递的稳定性和准确性。
在选择单片机时应该考虑其IO口的数量和工作能力。
第二部分:常用的接口实现方法1. 数字接口数字接口是通过数字信号进行通信的一种常见方法。
通常使用GPIO(通用输入输出)口来实现数字接口。
通过GPIO口输出高低电平信号,实现电机的控制。
这种接口设计简单、可靠,适合对控制精度要求不高的情况,如一些简单的家电或智能设备。
2. PWM接口PWM(脉宽调制)接口是一种通过长、短脉冲信号的占空比来控制电机速度的方法。
在单片机与电机驱动器之间设计PWM接口时,需要确定PWM信号的频率和占空比。
通过改变占空比可以改变电机的转速。
这种方法适用于对转速要求较高的电机,如无刷直流电机。
但是,由于使用PWM接口需要占用较多的IO口,因此在选择单片机时应该考虑IO口的数量和功能。
3. 模拟接口模拟接口是通过模拟电压信号来控制电机的一种方法。
这种接口设计主要有两种方式:模拟电压控制和模拟电流控制。
在模拟电压控制中,单片机通过DAC (数模转换器)输出模拟电压信号,电机驱动器根据不同的电压值来控制电机的速度和转向。
L297/L298芯片步进电机的单片机控制实现
1 引言
步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。
步进电动机把电脉冲信号变换成角位移以控制转子转动的微特电机。
在自动控制装置中作为执行元件。
每输入一个脉冲信号,步进电动机前进一步,故又称脉冲电动机。
步进电动机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装置。
在数字控制系统中具有精度高,运行可靠。
如采用位置检测和速度反馈,亦可实现闭环控制。
步进电动机已广泛地应用于数字控制系统中,如数模转换装置、数控机床、计算机外围设备、自动记录仪、钟表等之中,另外在工业自动化生产线、印刷设备等中亦有应用。
2 工作原理
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器典型步进电机控制系统如图1 所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。
环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。
环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。
另一类是用硬件构成的环形分配器,通常称为硬环形分配器。
图1 典型步进电机控制框图
3 硬件组成。
L293D 是推挽式四通道H 桥驱动器(带二极管)
600mA输出电流每通道
1.2A峰值输出电流每通道(不可重复,估计将会损坏)
使用简易
温度过高保护
逻辑"0"输入电压为1.5V,可以免除1.5V以下的干扰
内置钳位二极管
L293D 是单块集成电路,高电压,高电流,四通道驱动,设计用来接受DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步近马达),和开关电源晶体管。
简单的使用是作为2个桥,一对通道连接起来有一个使能输入。
分离的输入引脚提供某种逻辑,允许用低电压操作,并且还包括内置的钳位二极管。
这个设备适用于高达5KHz的开关应用。
L293D是16引脚塑料封装,中间的4个引脚是短路的(为了散热)。
最高工作电压为36V,最低工作电压为7V.
输入输出逻辑表:
使用L293D驱动两只直流电机的电路图
L298应用实例
实例一:用L298驱动两台直流减速电机的电路。
引脚6,9可用于PWM控制。
如果机器人项目只要求直行前进,则可将5,10和7,12两对引脚分别接高电平和低电平,仅用单片机的两个端口给出PWM信号控制6,11即可实现直行、转弯、加减速等动作。
500){thi s.resized=true;this.style.width=500;}" align=absMiddle resized="true">
实例二:用L298实现二相步进电机控制。
步进电机的单片机控制方法
步进电机是一种常见的电机类型,它可以通过单片机控制来实现精确的运动控制。
在本文中,我们将介绍步进电机的单片机控制方法。
步进电机的工作原理是通过电磁场的变化来实现转动。
它由多个电磁线圈组成,每个线圈都可以控制电机的一个步进角度。
单片机可以通过控制这些线圈的电流来控制电机的转动。
步进电机的单片机控制方法可以分为两种:全步进控制和微步进控制。
全步进控制是指将电机分为几个步进角度,每个步进角度对应一个电磁线圈的电流控制。
微步进控制是指将电机分为更小的步进角度,通过控制电磁线圈的电流大小来实现更精细的控制。
在全步进控制中,单片机需要控制电机的每个步进角度。
这可以通过控制电磁线圈的电流来实现。
例如,如果要将电机转动一个步进角度,单片机可以将第一个电磁线圈的电流打开,同时将其他电磁线圈的电流关闭。
然后,单片机可以将第二个电磁线圈的电流打开,同时将第一个电磁线圈的电流关闭,以此类推。
在微步进控制中,单片机需要控制电机的更小的步进角度。
这可以通过控制电磁线圈的电流大小来实现。
例如,如果要将电机转动一个微步进角度,单片机可以逐渐增加第一个电磁线圈的电流,同时逐渐减小其他电磁线圈的电流。
然后,单片机可以逐渐增加第二个电磁线圈的电流,同时逐渐减小第一个电磁线圈的电流,以此类推。
步进电机的单片机控制方法可以实现精确的运动控制。
全步进控制和微步进控制都可以通过控制电磁线圈的电流来实现。
在实际应用中,需要根据具体的需求选择合适的控制方法。
单片机控制步进电机原理
单片机控制步进电机的原理是通过单片机的输出脚对步进电机的驱动端依次进行控制,从而使步进电机按照预定的步进模式旋转,并实现准确的定位和运动控制。
步进电机通常由两相、三相或四相绕组以及与之对应的两极、三极或四极磁铁组成。
通过改变绕组中电流的方向和大小,可以引起步进电机转子相对定子的位置变化,从而实现转子的旋转。
在单片机控制步进电机时,首先需要根据步进电机的特性和要求计算出所需的步进模式和步进角度。
然后,通过单片机的输出脚连接到步进电机驱动器,根据步进模式依次控制驱动器的相应控制端。
通常,步进电机驱动器由一个或多个 H 桥电路构成,每个 H 桥电路可以控制一个绕组的方向和电流大小。
单片机的输出脚根据预定的步进模式生成相应的控制信号,通过控制 H 桥电路的开关状态,改变绕组的电流方向和大小,使得步进电机按照预定的步进模式旋转。
具体来说,在单片机的程序中,通过设置输出脚的高低电平或脉冲信号的时间间隔,控制步进电机驱动器的相应控制端。
根据不同的步进模式,可以选择全步进、半步进或微步进等方式进行控制。
通过改变输出脚的状态和时序,可以实现步进电机的正转、反转、加速、减速、定位等功能。
需要注意的是,在单片机控制步进电机时,需要根据步进电机的额定电流和驱动器的额定电流来确定输出脚的驱动能力,以保证步进电机的正常工作。
此外,为了提高步进电机的精度和稳定性,还可以使用编码器或传感器等进行反馈控制。
基于L297/298的步进电机工作模式的单片机接口
2009-2-1 10:24:00向海健供稿
摘要:作为混合式步进电机的驱动器,基于L297/298驱动芯片的组合是较为常见的一种。
本文较为详细得论述了基于该种驱动器下混合式步进电机的三种工作模式,给出了相应的单片机接口方案,在该方案中包括了接口的硬件电路与接口的软件编程。
关键词:步进电机;L297/298;单片机
0 引言
步进电机是一种将电脉冲转化为角位移的执行机构。
当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步距角)。
通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机分为三种:永磁式(PM),反应式(VR)和混合式(HB)。
永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大;混合式步进电机混合了永磁式和反应式的优点。
它分为两相和五相,两相混合式步进电机步距角一般为1.8度而五相混合式步进电机步距角一般为 0.72度。
其中混合式步进电机的应用最为广泛[1]。
图1:L297/298驱动器
基于L297/298驱动芯片的两相双极性混合式步进电机驱动器(见图1),采用恒流斩波图1:L297/298驱动器方式驱动,每相电流可达2A。
其中L297是步进电机控制器,适用于双极性两相步进电机或单极性四相步进电机的控制。
用L297输出信号可控制L298双桥驱动集成电路,用来驱动电压最高为46V,总电流为4A以下的步进电机。
L297也可用来控制由达林顿管组成的分立电路,以驱动更高电压,更大电流的步进电机。
L297只需要时钟、方向和模式输入信号,相位由内部产生,从而减轻了微处理器和程序设计的负担。
L297采用固定斩波频率的PWM恒流斩波方式工作。
L297主要由译码器,两个固定斩波频率的PWM恒流斩波器以及输出控制逻辑组成[2]。
L298是用来驱动步进电机的集成电路,采用双全桥接方式驱动,由
于是双极性驱动,步进电机的定子励磁绕组线圈可以完全利用,使步进电机达到最佳的驱动[3]。
1 原理
基于L297/298驱动器的混合式步进电机有三种不同的工作模式:即半步模式(HALF STEP)(见图2)、整步一相励磁模式(FULL STEP ONE P HASE ON)(见图3)、整步两相励磁模式(FULL STEP TWO PHASE ON)(见图4)。
步进电机工作于半步模式时,其内部定子绕组的励磁是一相与两相相间的,此时步进电机每接受一个脉冲,只转过半个步距角。
步进电机工作于半步模式时,步进电机所获得的转距较常规值偏小。
步进电机工作于整步一相励磁模式时,其内部定子绕组的励磁在任何一个时刻都是一相的,此时步进电机每接受一个脉冲,转过一个步距角。
步进电机工作于整步一相励磁模式时,步进电机获得常规转距。
步进电机工作于整步两相励磁模式时,其内部定子绕组的励磁在任何一个时刻都是两相的,此时步进电机每接受一个脉冲,转过一个步距角。
步进电机工作于整步两相励磁模式时,步进电机获得的转距相对前两种而言是最大的[4]。
L297的核心是其内部的译码器,通过译码器L297产生三种相序信号,以对应三种不同的工作模式。
译码器受L297的方向输入引脚信号
和半步方式/整步方式输入引脚信号所控制。
译码器内部是一个3BIT的计数器,加上一些组合逻辑,产生每周期8步的格雷码时序信号(见图5),此即半步模式的时序信号,此时L297的输入引脚信号取高电平。
若
引脚取低电平,则得到整步工作模式。
如果引脚是在译码器的八步格雷码时序信号的奇数
状态位时取低电平的,则得到整步两相励磁模式;如果引脚是在译码器的八步格雷码时序信号的偶数状态位时取低电平的,则得到整步一相励磁模式。
2 方案
基于L297/298驱动器的混合式步进电机工作模式的单片机接口硬件电路如图所示(见图6)。
在图6中L297的时钟信号输入引
脚接单片机89C51的P1.3引脚,引脚接P1.6,引脚接P1.7。
与该接口硬件电路相配合的软件编程[5]如下:(仅以整步一相励磁模式为例给出汇编语言源程序)
图6:单片机接口硬件电路
…
MOV TMOD,#11H
MOV TH1,#0D8H ;定时器1初始化,10ms中断一次
MOV TL1,#0F0H
CLR P1.7 ;L297内部计数器复位,计数初值为0101
NOP
NOP
SETB P1.7
SETB P1.3 ;第一个时钟的高电平
SETB P1.6 ;设定当前工作模式为半步模式
SETB TR1
LCALL TT ;第一个时钟的低电平
LCALL TT ;第二个时钟的高电平,即时序信号的偶数状态位
NOP
NOP
CLR P1.6 ;置引脚为低电平,当前工作模式为整步一相励磁模式LCALL TT ;第二个时钟的低电平
…
TT: JNB TF1,TT
CLR TF1
CLR TR1
MOV TH1,#0D8H
MOV TL1,#0F0H
CPL P1.3
SETB TR1
RET
…
…
3 结论
该接口方案是针对小型重物的步进电机悬挂系统而设计研究的,接口电路简单,对于混合式步进电机的工作模式可通过软件编程加以方便的切换。
尤其是对于步进电机转距要求不太高的应用场合,还可通过改变步进电机的工作模式,控制步进电机的发热[6]。
本文作者创新点在于较为深入的研究了基于L297/298这种常用步进电机驱动芯片组合在实际应用中的一个还未被充分认识的潜在优势,即L297的三种工作模式,并给出了相应的单片机接口,从而能更好的发挥这种驱动芯片组合在混合式步进电机驱动中的应用潜力,并提高了该驱动组合在不同工作场合下应用的灵活性。
参考文献:
[1]刘宝廷.步进电动机及其驱动控制系统[M]. 哈尔滨工业大学出版社,1997
[2]L297 STEPPER MOTOR CONTROLLERS[Z]. STMicroelectronics,2001
[3]L298 DUAL FULL-BRIDGE DRIVE[Z].STMicroelectronics,2000
[4]AN470 APPLICATION NOTE OF THE L297 STEPPER MOTOR CONTROLLER[Z]. STMicroelectronics,2003
[5]徐惠民,安德宁.单片微型计算机原理、接口及应用(第二版)[M]. 北京邮电大学出版社,2000
[6]杨忠宝,林海波.基于80C196MC的步进电机斩波恒流均匀细分电路的实现[J].微计算机信息,2003,7:27-32。