L293D直流电机驱动电路图和解答
- 格式:docx
- 大小:584.02 KB
- 文档页数:2
电机驱动l298n原理
L298N是一种常见的电机驱动器,可用于控制直流电机或步
进电机。
它使用了H桥电路的原理。
H桥电路是由四个开关(晶体管或MOSFET)组成的,它们
按特定的方式连接在一起,形成了一个桥形结构。
这种结构可以控制电流的流向和电机的旋转方向。
L298N中的H桥电路分为两个部分,分别用于控制电机的两
个端口。
每个部分都由一个上半H桥和一个下半H桥组成。
当上半H桥的两个开关关闭时,与电机连接的两个端口之间
的电流会开始流动,电机会顺时针旋转。
当下半H桥的两个
开关关闭时,电流改变方向,电机会逆时针旋转。
L298N通过控制这些开关的状态来实现电机的速度和方向控制。
它具有使能信号(ENA, ENB)和方向信号(IN1, IN2,
IN3, IN4)的输入引脚,通过改变这些输入信号的状态,可以
控制电机的转速和转向。
例如,当ENA引脚为高电平,IN1为高电平,IN2为低电平时,上半H桥的两个开关会关闭,电流会从ENA引脚流入
IN1引脚,然后流入电机的一个端口,然后返回到IN2引脚,
最后回到GND。
这样,电机会以某个速度顺时针旋转。
通过改变ENA、IN1和IN2的电平状态,可以控制电机的转
速和方向。
类似地,通过控制ENB、IN3和IN4的电平状态,
可以控制电机的另一个端口。
总之,L298N电机驱动器采用H桥电路的原理,通过控制开关的状态来控制电流的流向和电机的转速和方向。
LED驱动电源电路分析今天给大家简单分析一个(LED驱动)电路,供大家学习。
一,先从一个完整的LED驱动(电路原理)图讲起。
本文所用这张图是从网上获取,并不代表具体某个(产品),主要是想从这个图中,跟大家分享目前典型的恒流驱动电源原理,同时跟大家一起分享大牛对它的理解,希望可以帮到大家。
那么本文只做定性分析,只讨论(信号)的过程,对具体电压(电流)的参数量在这里不作讨论。
图1某款LED驱动电路原理图二、原理分析为了方便分析,把图1分成几个部分来讲1:输入过压保护主要是雷击或者市冲击带来的浪涌。
如果是(DC)电压从“+48V、GNG”两端进来通过R1的电阻,此电阻的作用是限流,若后面的线路出现短路时,R1流过的电流就会增大,随之两端压降跟着增大,当超过1W时就会自动断开,阻值增加至无穷大,从而达到保护输入电路+48V不受到负载的影响)限流后进入整流桥。
图2输入过压(保护电路)R1与RV构成了一个简单过压保护电路,RV是一个压敏元件,是利用具有非线性的(半导体)材料制作的而成,其伏安特性与稳压(二极管)差不多,正常情况显高阻抗状态,流过的电流很少,当电压高到一定的时候(主要是指尖峰浪涌,如打雷的时候高脉冲串通过市电串入进来),压敏RV会显现短路状态,直接截取整个输入总电流,使后面的电路停止工作,此时,由于所有电流将流过R1和RV,因R1只有1W的功率,所以瞬间可以开路,从而保护了整个电路不被损坏。
2、整流滤波电路当交流AC输入时,则桥式整流器是利用二极管的单向导通性进行整流的最常用的电路,将交流电转变为直流电。
当直流DC(+48V)电压直接进入整流桥BD时,输出一个上正下负的直流电压,如果+48V(电源)本身也是直流的,那整流桥的作用就是对输入起到的是极性保护作用,无论输入是上正下负还是上负下正都不会损坏驱动电源,通过C1C2L1进行滤波,图3是一个LCΠ型滤波电路,目的是将整流后的电压波形平滑的直流电。
【简要说明】一、尺寸:长71mmX宽43mmX高28mm二、主要芯片:L297、L298N三、工作电压:控制信号直流4.5~5.5V;电机电压直流5V~30V四、最大工作电流:2A五、额定功率25W六、特点:1、具有电源指示。
2、转速可调3、抗干扰能力强4、具有续流保护和过电流保护5、可单独控制一台步进电机6、可控制两相和四相步进电机7、可控制直径在42mm内的任何,两相和四相步进电机适用场合:单片机学习、电子竞赛、产品开发、毕业设计。
【标注图片】【步进电机控制接线图】步进电机的控制实例步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
一、步进电机最大特点是:1、它是通过输入脉冲信号来进行控制的。
2、电机的总转动角度由输入脉冲数决定。
3、电机的转速由脉冲信号频率决定。
二、步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
(或者其他信号源)三、控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
(注意:如果脉冲频率的速度大于了电机的反应速度,那么步进电机将会出现失步现象)。
四、此板驱动步进电机测试程序说明:以AT89S52单片机控制单元,C语言编程!【接线图】【测试程序】/********************************************************************汇诚科技实现功能:正转_反转_减速_加速程序使用芯片:AT89S52 或者STC89C52晶振:11.0592MHZ编译环境:Keil作者:zhangxinchun淘宝店:汇诚科技【声明】此程序仅用于学习与参考,引用请注明和作者信息!*********************************************************************/ #include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar Y=1; //初始化速度/********************************************************控制位定义********************************************************/sbit shi_neng=P1^0; // 使能控制位sbit fang_shi=P1^1; // 工作方式控制位sbit fang_xiang=P1^2;// 旋转方向控制位sbit mai_chong=P1^3; // 脉冲控制位sbit zheng_zhuan=P2^0; // 正转sbit fan_zhuan=P2^1; // 反转sbit jia_su=P2^2; // 加速sbit jian_su=P2^3; // 减速/********************************************************延时函数********************************************************/ void delay(uchar i)//延时函数{uchar j,k;for(j=0;j<i;j++)for(k=0;k<180;k++);}/********************************************************加速函数********************************************************/ void jia(){Y=Y-1;if(Y<=1){Y=1;}//如果速度值小于等于1,值保持不变}/********************************************************减速函数********************************************************/ void jian(){Y=Y+1;if(Y>=100){Y=100;}}/********************************************************主函数********************************************************/main(){shi_neng=1; // 使能控制位fang_shi=1; // 工作方式控制位fang_xiang=1;// 旋转方向控制位mai_chong=1; // 脉冲控制位while(1){if(zheng_zhuan==0){fang_xiang=1;}if(fan_zhuan==0){fang_xiang=0;}if(jia_su==0){delay(10);while(!jia_su);jia();}if(jian_su==0){delay(10);while(!jian_su);jian();}mai_chong=~mai_chong; //输出时钟脉冲delay(Y); //延时(括号内数值越小,电机转动速度越快)}}/********************************************************结束********************************************************/【应用原理图】L297_L298芯片混合式步进电机驱动器元件清单序号名称标注名型号封装备注1 电阻R1、R3 1K 贴片0805封装2 电阻R2 3.9K 贴片0805封装3 电阻R4、R5 0.5欧姆直插2W4 电阻R6 22K 贴片0805封装5 电容C1 25V0.22uf 直插电容6 电阻C2 50V100UF 电解电容7 发个二极管DS1 红色二极管区分正负极8 整流二极管D1~D8 IN40079 芯片U1 L297 20P直插10 芯片U2 L29811 排针P1 6针12 端子6针【图片展示】/********************************************************实现功能:正转程序使用芯片:AT89S52晶振:11.0592MHZ编译环境:Keil********************************************************/#include<reg52.h> //库文件#define uchar unsigned char //字符型宏定义#define uint unsigned int //整型宏定义uchar tt; //定时器计数初值定义uint sec; //速度值定义uchar Y=30; //初始化速度/********************************************************控制位定义********************************************************/sbit shi_neng=P1^0; // 使能控制位sbit fang_shi=P1^1; // 工作方式控制位sbit fang_xiang=P1^2;// 旋转方向控制位sbit mai_chong=P1^3; // 脉冲控制位sbit zheng_zhuan=P2^0; // 正转sbit fan_zhuan=P2^1; // 反转sbit jia_su=P2^2; // 加速sbit jian_su=P2^3; // 减速/********************************************************************延时函数*********************************************************************/ void delay(uchar t){uchar i,j;for(i=0;i<t;i++){for(j=13;j>0;j--);{ ;}}}/********************************************************************定时中断服务函数*********************************************************************/ void t0(void) interrupt 1 using 0 //定时中断服务函数{tt++; //每过250ust tt 加一if(tt==1) //当tt满足条件时{tt=0; //计满重新再计sec++;if(sec==Y) //括号内数值越小,电机转动速度越快{sec=0; //计满重新再计mai_chong=~mai_chong; //脉冲输出}}}/********************************************************初始化********************************************************/ void init(){TMOD=0x02; //定时器工作在方式2ET0=1;EA=1;TH0=0xFF; //对TH0 TL0 赋值TL0=0xFE;TR0=1; //开始定时sec=0;mai_chong=1; // 脉冲控制位}/********************************************************加速函数********************************************************/ void jia(){Y=Y-2;if(Y<=1){Y=2;}//如果速度值小于等于1,值保持不变}/********************************************************减速函数********************************************************/ void jian(){Y=Y+2;if(Y>=100){Y=100;}}/********************************************************主函数********************************************************/main(){init(); //程序初始化shi_neng=0; // 使能控制位fang_shi=1; // 工作方式控制fang_xiang=1;// 控制方向为正转while(1){if(zheng_zhuan==0){delay(100);shi_neng=1;fang_xiang=0;}if(fan_zhuan==0){delay(100);shi_neng=1;fang_xiang=1;}if(jia_su==0){delay(10);while(!jia_su);jia();}if(jian_su==0){delay(10);while(!jian_su);jian();}}}/********************************************************结束********************************************************/keil参考程序正转_反转_加速_减速_高速#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar Y=1; //初始化速度/********************************************************控制位定义********************************************************/sbit shi_neng=P1^0; // 使能控制位sbit fang_shi=P1^1; // 工作方式控制位sbit fang_xiang=P1^2;// 旋转方向控制位sbit mai_chong=P1^3; // 脉冲控制位sbit zheng_zhuan=P2^0; // 正转sbit fan_zhuan=P2^1; // 反转sbit jia_su=P2^2; // 加速sbit jian_su=P2^3; // 减速/********************************************************延时函数********************************************************/void delay(uchar i)//延时函数{uchar j,k;for(j=0;j<i;j++)for(k=0;k<180;k++);}/********************************************************加速函数********************************************************/ void jia(){Y=Y-1;if(Y<=1){Y=1;}//如果速度值小于等于1,值保持不变}/********************************************************减速函数********************************************************/ void jian(){Y=Y+1;if(Y>=100){Y=100;}}/********************************************************主函数********************************************************/main(){shi_neng=1; // 使能控制位fang_shi=1; // 工作方式控制位fang_xiang=1;// 旋转方向控制位mai_chong=1; // 脉冲控制位while(1){if(zheng_zhuan==0){fang_xiang=1;}if(fan_zhuan==0){fang_xiang=0;}if(jia_su==0){delay(10);while(!jia_su);jia();}if(jian_su==0){delay(10);while(!jian_su);jian();}mai_chong=~mai_chong; //输出时钟脉冲delay(Y); //延时(括号内数值越小,电机转动速度越快)}}AVR系列单片机控制参考程序#include <iom16v.h>#include <macros.h>/**********************************************************************函数数据类型说明**********************************************************************/ #define uchar unsigned char#define uint unsigned int/**********************************************************************延时函数**********************************************************************/ void delay(uint MS){uint i,j;for( i=0;i<MS;i++)for(j=0;j<80;j++); //1141是在8MHz晶振下,通过软件仿真反复实验得到的数值}/**********************************************************************主函数**********************************************************************/ void main(){ uint i;i=10;//改变变量i 的大小可以改变速度,i越大速度越慢DDRB=0XFF;//PORTC=0XFF;PORTB|=BIT(0);//00000001 使能控制开PORTB|=BIT(1);//00000010 四拍工作方式PORTB|=BIT(2);//00000100 正方向旋转while(1){PORTB|=BIT(3);//00001000 脉冲输出delay(i);PORTB&=~BIT(3);delay(i);}}/**********************************************************************结束**********************************************************************/。
基于L297+L298步进电机驱动与控制采用L297+L298构成的步进电机驱动如图5.5.3所示。
PCB图如图5.5.14所示。
L298N可以驱动直流电机和两个二相电机,也可以驱动一个四相电机,可直接通过电源来调节输出电压。
最大输入电流DC 2A,最高输入电压为DC 50V。
最大输出功率25W。
L297译码器能将控制器的控制信号译成所需的相序,再将产生的四相A、B、C、D或抑制线INH1和INH2输入到L298N进行功率放大。
(1)隔离电路设计一般步进电机转速不超过1000r/s,查询资料可得TLP521响应10μs。
计算公式如下:f =v=则选用TL521系列即可达到设计要求,如需提高电机转速,则只需将CLK端的光耦更换为高速光耦。
图中R7~R11为限流电阻,阻值为1K。
光耦的引脚端2、4、6、8、10分别接微控制器的4个I/O 12。
光耦的引脚端20、18、16、14、12与L297连接;当控制I/O口输出低电平时,光耦内部发光二极管导通发光,使光敏三极管导通从而使光耦的引脚端19、17、15、13、11输出低电平,这样就通过光耦将控制器与驱动电路相隔离,起到了保护微控制器的作用。
(2)驱动电路设计步进电机驱动电路采用L297+L298N构成。
L297的基准电压端V REF输入电压的大小控制步进电机输入电流,为保证步进电机最大的额定电流1.5A,如果选择V REF为1V,则要求R12~R15选用10/2W 的电阻。
L297的引脚端功能如下:引脚端10(使能端EN)为芯片的片选信号,高电平有效;引脚端20(复位RST),低电平有效;引脚端19(HALF/FULL)和引脚端17(CW/CCW)都通过上拉电阻链接到高电平;引脚端18(时钟输入CLK)的最大输入时钟频率不能超过5KHz,控制时钟的频率,即可控制电机转动速率;引脚端19(HALF/FULL)决定电机的转动方式,HALF/FULL=0,电机按整步方式运转;HALF/FULL=1,电机按半步方式运转;引脚端17(CW/CCW)控制电机转动方向;CW/CCW=1,电机顺时针旋转;CW/CCW=0,电机逆时针旋转。
l298n引脚图引言本文档将介绍L298N电机驱动模块的引脚图及其功能,帮助读者理解和正确使用该模块。
L298N简介L298N是一款双H桥电机驱动模块,常用于控制直流电机、步进电机和步进电机等。
L298N模块具有高电压操作能力和大功率输出,适用于各种机器人、车辆控制以及其他自动化应用。
引脚图以下是L298N模块的引脚图:l298n引脚图l298n引脚图引脚说明:1.IN1和IN2:输入引脚,控制左边电机的方向和速度。
通过控制这两个引脚的电平来实现正转、反转和制动等功能。
2.IN3和IN4:输入引脚,控制右边电机的方向和速度。
通过控制这两个引脚的电平来实现正转、反转和制动等功能。
3.ENA和ENB:使能引脚,控制左右两边电机的速度。
通过控制这两个引脚的PWM信号来调节电机的速度。
ENA对应左边电机,ENB对应右边电机。
4.OUT1和OUT2:输出引脚,用于连接左边电机。
5.OUT3和OUT4:输出引脚,用于连接右边电机。
6.VCC和GND:电源引脚,用于连接外部电源。
VCC接5V至35V的电源,GND接地。
使用示例下面是一个简单的示例,展示如何使用L298N模块控制直流电机:1. 将直流电机的正极连接到OUT1或OUT2引脚,负极连接到GND引脚。
2. 将ENA引脚与Arduino的PWM引脚相连。
3. 将IN1引脚与Arduino的数字引脚相连,用于控制电机的正转、反转和制动。
4. 将VCC引脚与外部电源正极相连,GND引脚与外部电源负极相连。
5. 编写Arduino代码,通过控制ENA和IN1引脚的电平,来控制电机的速度和方向。
注意事项在使用L298N模块时,请注意以下事项:1.接线时确保极性正确,错误的接线可能导致模块损坏或电机反转方向错误。
2.电源电压必须在规定范围内,超过35V可能损坏L298N模块。
3.当驱动大功率负载时,可能需要加散热器来降低模块温度。
4.在使用PWM调节电机速度时,需要根据具体情况设置正确的占空比。
H桥目录H桥逆变(单相)如图所示单相桥式逆变电路工作原理开关T1、T4闭合,T2、T3断开:u0=Ud;开关T1、T4断开,T2、T3闭合:u0=- Ud; 当以频率fS交替切换开关T1、T4和 T2 、T3 时,则在负载电阻 R上获得交变电压波形(正负交替的方波),其周期 Ts=1/fS,这样,就将直流电压E变成了交流电压uo。
uo含有各次谐波,如果想得到正弦波电压,则可通过滤波器滤波获得。
主电路开关T1~T4,它实际是各种半导体开关器件的一种理想模型。
逆变电路中常用的开关器件有快速晶闸管、可关断晶闸管(GTO)、功率晶体管(GTR)、功率场效应晶体管(MOSFET)、绝缘栅晶体管(IGBT)。
在实际运用中,开关器件存在损耗:导通损耗(conduction losses) 和换相损耗(commutation losses) 和门极损耗(gate losses)。
其中门极损耗极小可忽略不计,而导通损耗和换相损耗随着开关频率的增加而增加。
2控制方式H桥的控制主要分为近似方波控制和脉冲宽度调制(PWM)和级联多电平控制。
近似方波控制即quasi-square-wave control, 输出波形比正负交替方波多了一个零电平(3-level),谐波大为减少。
优点是开关频率较低,缺点是谐波成分高,需要滤波器的成本大。
脉冲宽度调制即Pulse width modulation,分为单极性和双极性pwm. 随着开关频率的升高,输出电压电流波形趋于正弦,谐波成分减小,但是高开关频率带来一系列问题:开关损耗大,电机绝缘压力大,发热等等。
多电平即multi-level inverter,采用级联H桥的方式,使得在同等开关频率下谐波失真降到最小,甚至不需要用滤波器,获得良好的近似正弦输出波形。
3应用于直流电机由两个三极管,一个可以对正极导通实现上拉,另一个可以对负极导通实现下拉。
由两套这样的电路,在同一个电路中,同时一个上拉,另一个下拉,或相反,两者总是保持相反的输出,这样可以在单电源的情况下使负载的极性倒过来。
H桥驱动电路图1中所示为一个典型的直流电机控制电路。
电路得名于“H桥驱动电路”是因为它的形状酷似字母H。
4个三极管组成H的4条垂直腿,而电机就是H中的横杠(注意:图4.12及随后的两个图都只是示意图,而不是完整的电路图,其中三极管的驱动电路没有画出来)。
如图所示,H桥式电机驱动电路包括4个三极管和一个电机。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
图1 H桥驱动电路要使电机运转,必须使对角线上的一对三极管导通。
例如,如图2所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。
按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。
图2 H桥电路驱动电机顺时针转动图3所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。
当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。
图3 H桥驱动电机逆时针转动二、使能控制和方向逻辑驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。
如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。
此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。
基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。
图4 所示就是基于这种考虑的改进电路,它在基本H桥电路的基础上增加了4个与门和2个非门。
4个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。
而2个非门通过提供一种方向输人,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。
(与本节前面的示意图一样,图4所示也不是一个完整的电路图,特别是图中与门和三极管直接连接是不能正常工作的。
直流电机伺服驱动器使用说明一.概况ED系列直流电动机伺服驱动器是针对本公司生产的空心杯系列直流电动机、无刷电动机开发设计的控制器,可对电动机的各种运动功能进行精确的控制,电路采用MOTOROLA公司生产的直流电动机伺服控制芯片,IR公司的MOSFET管做功率驱动组成H桥驱动级,集成度高,体积小,功率密度大,工作稳定可靠,功能齐全,是电机驱动器的最佳选择。
可与E-Drive系列的直流电机、无刷电机等产品配套使用,能为您提供电机运动灵活控制方面完整的解决方案。
二.功能特点简介1. 方便灵活的转速调整及开环闭环的转速控制2. 灵活的转向控制与设定3. 方便的使能控制4. 瞬间的刹车制动控制5. 设有LED工作状态指示6. 能实现多种控制功能的用户控制接口7. 设有编码器信号接口,用户利用外部微处理器能对电机的运动状态及运动位置等进行灵活控制8. 体积小,功率密度大9. 设有多重保护电路使工作稳定可靠10.电路能在瞬间吸收电机因制动及换向造成的冲击电流和反冲电压三.产品电气参数型号:ED-Y1030A1输入电源电压:18V-30V 直流纹波≤5%最高输出电压:28V 脉动最大负载电流:8A 连续过载保护电流:≥10A 最大吸收反冲电流:40A 最大驱动功率:200W 连续外部调速控制输入电压:0—5V控制接口电平:高电平≥4.5V,低电平≤0.8V 最大效率:90%环境温度:-20℃~+40℃,最大温升30℃四、转速控制电压与输出量关系图:五、外形结构尺寸长宽高=76*53*28(mm)安装脚尺寸=76*73(mm)安装孔:63*68(mm)外形结构图:六、控制接口端1.控制接口采用TTL逻辑电平控制,用户可通过外部数字电路或单片微处理器的逻辑电平对电机的各种运动功能进行控制,可利用DA数模转换电路并配合8、9脚的转速信号对电机转速进行闭环控制. 控制逻辑时序如下:2.编码器输出信号的控制:*电路采用光电增量式编码器,用户可通过8、9、10、脚提供的编码器信号对电机的运动进行灵活控制,其中8、9脚为编码器的转动脉冲信号8为A相、9为B相,10脚为编码器零位信号。
L297L298步进电机控制电路图部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改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有抑制作用,从而可对电动机和转矩进行控制。
b5E2RGbCAP图1 L297引脚图图2 L297内部方框电路图图 3 L297变换器换出的八步雷格码<顺时针旋转)图4 斩波器线路图5 多个L297同步工作连接图L297 ABSOLUTE MAXIMUM RATINGS绝对最大额定值:L297 ELECTRICAL CHARACTERISTICS (Refer to the block diagram Tamb = 25℃, Vs = 5V unless otherwisep1EanqFDPwspecified> L297 电气特性:L297各引脚功能说明1脚(SYNG>——斩波器输出端。
我没有自己设计电路来实现“H”桥,而是决定查找一种商用的解决方案。本应用
选择了Unitrode的“293D”电机驱动芯片,因为它连接简单,而且能够控制在各种电
压下向电机、继电器或其他磁性元件提供最大2安培的电流。
图12-8没有实际画出293D的引出线,以“H“桥连接方式,通过将电机的两个导
线连接在芯片的各半边,能够使用293D来控制电机。
第一个也许也是最重要的一项功能是4各驱动器中的每一个都有嵌位二极管来抑制
电机关断时的反EMF。这一点很重要,因为在驱动器关闭时,所有的磁性元件都会产
生大的电压尖峰信号。这些大的尖峰信号是由电流断开时正在消失的磁场引起的。因
此,在线圈的两端接一个二极管,以便防止这些反EMF干扰或者损坏任何的电子元件。
293D的另一个特性是每个驱动器有一个允许信号。不必修改驱动器控制部分,就
能够使用这些信号实现脉宽调制(PWM)速度控制。
293D的晶体管控制会在芯片内产生1.5V的压降,也就是说,如果想让机器人电机
工作在1.5V,因此使用两个1.5V电池串联来控制完全没有问题。
最后一个特点是该芯片能够控制和传递给驱动器的电压范围宽。对于大电流应用系
统,安装该芯片的印制板应该是293D地线引脚周围设计大的散热区。这个区域能够
为该芯片提供更多的铜,以便让电流产生的热辐射出去。
使用293D,能够建立图12-9所示的电路来控制墙角老鼠的两个电机。这个电路是
后面的5各应用示例的基础。后面将只说明硬件的增强以及它们如何与AT89C2051连
接,而不是在此电路的基础上添加。
——飘风抄自《精通80C51程序设计》【Myke Predko编著,田玉敏等译】,
这本书里面的语言是汇编语言,以美语为母语的人说汇编就跟我们说成语似的。兄弟
啊,出个人吧,编本以汉子为基础的程序语言吧。那样的话,中华的技术爱好者比例
将超过60%。而你。会获得大量的财富的。中华人会感激你一辈子的。
L293D,额在长春的电子市场买的,价格是10块钱一个。